builtin -> built-in.
diff --git a/Doc/library/2to3.rst b/Doc/library/2to3.rst
index a87a29c..f37bb05 100644
--- a/Doc/library/2to3.rst
+++ b/Doc/library/2to3.rst
@@ -209,7 +209,7 @@
 .. 2to3fixer:: itertools
 
    Changes usage of :func:`itertools.ifilter`, :func:`itertools.izip`, and
-   :func:`itertools.imap` to their builtin equivalents.
+   :func:`itertools.imap` to their built-in equivalents.
    :func:`itertools.ifilterfalse` is changed to :func:`itertools.filterfalse`.
 
 .. 2to3fixer:: long
diff --git a/Doc/library/__future__.rst b/Doc/library/__future__.rst
index b09246e..29f3109 100644
--- a/Doc/library/__future__.rst
+++ b/Doc/library/__future__.rst
@@ -52,7 +52,7 @@
 :meth:`getOptionalRelease` and :meth:`getMandatoryRelease`.
 
 *CompilerFlag* is the (bitfield) flag that should be passed in the fourth
-argument to the builtin function :func:`compile` to enable the feature in
+argument to the built-in function :func:`compile` to enable the feature in
 dynamically compiled code.  This flag is stored in the :attr:`compiler_flag`
 attribute on :class:`_Feature` instances.
 
diff --git a/Doc/library/_winreg.rst b/Doc/library/_winreg.rst
index 7876f85..c003fe2 100644
--- a/Doc/library/_winreg.rst
+++ b/Doc/library/_winreg.rst
@@ -408,7 +408,7 @@
 The object also support comparison semantics, so handle objects will compare
 true if they both reference the same underlying Windows handle value.
 
-Handle objects can be converted to an integer (e.g., using the builtin
+Handle objects can be converted to an integer (e.g., using the built-in
 :func:`int` function), in which case the underlying Windows handle value is
 returned.  You can also use the  :meth:`Detach` method to return the integer
 handle, and also disconnect the Windows handle from the handle object.
diff --git a/Doc/library/ast.rst b/Doc/library/ast.rst
index 5c1d5c4..82ca6e3 100644
--- a/Doc/library/ast.rst
+++ b/Doc/library/ast.rst
@@ -22,7 +22,7 @@
 grammar looks like.
 
 An abstract syntax tree can be generated by passing :data:`ast.PyCF_ONLY_AST` as
-a flag to the :func:`compile` builtin function, or using the :func:`parse`
+a flag to the :func:`compile` built-in function, or using the :func:`parse`
 helper provided in this module.  The result will be a tree of objects whose
 classes all inherit from :class:`ast.AST`.  An abstract syntax tree can be
 compiled into a Python code object using the built-in :func:`compile` function.
diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst
index 1ecd17a..c0d539f 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -509,7 +509,7 @@
 .. class:: defaultdict([default_factory[, ...]])
 
    Returns a new dictionary-like object.  :class:`defaultdict` is a subclass of the
-   builtin :class:`dict` class.  It overrides one method and adds one writable
+   built-in :class:`dict` class.  It overrides one method and adds one writable
    instance variable.  The remaining functionality is the same as for the
    :class:`dict` class and is not documented here.
 
diff --git a/Doc/library/compiler.rst b/Doc/library/compiler.rst
index 0093518..991628a 100644
--- a/Doc/library/compiler.rst
+++ b/Doc/library/compiler.rst
@@ -21,11 +21,11 @@
 generated a concrete syntax tree.  This tree is used to generate an abstract
 syntax tree (AST) and then Python bytecode.
 
-The full functionality of the package duplicates the builtin compiler provided
+The full functionality of the package duplicates the built-in compiler provided
 with the Python interpreter.  It is intended to match its behavior almost
 exactly.  Why implement another compiler that does the same thing?  The package
 is useful for a variety of purposes.  It can be modified more easily than the
-builtin compiler.  The AST it generates is useful for analyzing Python source
+built-in compiler.  The AST it generates is useful for analyzing Python source
 code.
 
 This chapter explains how the various components of the :mod:`compiler` package
@@ -118,7 +118,7 @@
 introduced by Python's precedence rules.
 
 The abstract syntax tree is created by the :mod:`compiler.transformer` module.
-The transformer relies on the builtin Python parser to generate a concrete
+The transformer relies on the built-in Python parser to generate a concrete
 syntax tree.  It generates an abstract syntax tree from the concrete tree.
 
 .. index::
diff --git a/Doc/library/configparser.rst b/Doc/library/configparser.rst
index 2eeefb0..ef27524 100644
--- a/Doc/library/configparser.rst
+++ b/Doc/library/configparser.rst
@@ -56,7 +56,7 @@
 constructor as a dictionary.  Additional defaults  may be passed into the
 :meth:`get` method which will override all others.
 
-Sections are normally stored in a builtin dictionary. An alternative dictionary
+Sections are normally stored in a built-in dictionary. An alternative dictionary
 type can be passed to the :class:`ConfigParser` constructor. For example, if a
 dictionary type is passed that sorts its keys, the sections will be sorted on
 write-back, as will be the keys within each section.
diff --git a/Doc/library/curses.rst b/Doc/library/curses.rst
index c53b105..fa66d1e 100644
--- a/Doc/library/curses.rst
+++ b/Doc/library/curses.rst
@@ -609,9 +609,9 @@
    .. note::
 
       A *character* means a C character (an ASCII code), rather then a Python
-      character (a string of length 1). (This note is true whenever the documentation
-      mentions a character.) The builtin :func:`ord` is handy for conveying strings to
-      codes.
+      character (a string of length 1). (This note is true whenever the
+      documentation mentions a character.) The built-in :func:`ord` is handy for
+      conveying strings to codes.
 
    Paint character *ch* at ``(y, x)`` with attributes *attr*, overwriting any
    character previously painter at that location.  By default, the character
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index 1ae00d5..5fd8114 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -847,7 +847,7 @@
 
    .. note::
 
-      This function is not normally available as a builtin since the name
+      This function is not normally available as a built-in since the name
       ``print`` is recognized as the :keyword:`print` statement.  To disable the
       statement and use the :func:`print` function, use this future statement at
       the top of your module::
diff --git a/Doc/library/future_builtins.rst b/Doc/library/future_builtins.rst
index 7ee7110..16e7d4b 100644
--- a/Doc/library/future_builtins.rst
+++ b/Doc/library/future_builtins.rst
@@ -1,14 +1,14 @@
-:mod:`future_builtins` --- Python 3 builtins
-============================================
+:mod:`future_builtins` --- Python 3 built-ins
+=============================================
 
 .. module:: future_builtins
 .. sectionauthor:: Georg Brandl
 .. versionadded:: 2.6
 
 This module provides functions that exist in 2.x, but have different behavior in
-Python 3, so they cannot be put into the 2.x builtin namespace.
+Python 3, so they cannot be put into the 2.x builtins namespace.
 
-Instead, if you want to write code compatible with Python 3 builtins, import
+Instead, if you want to write code compatible with Python 3 built-ins, import
 them from this module, like this::
 
    from future_builtins import map, filter
@@ -16,17 +16,17 @@
    ... code using Python 3-style map and filter ...
 
 The :term:`2to3` tool that ports Python 2 code to Python 3 will recognize
-this usage and leave the new builtins alone.
+this usage and leave the new built-ins alone.
 
 .. note::
 
-   The Python 3 :func:`print` function is already in the builtins, but cannot be
+   The Python 3 :func:`print` function is already in the built-ins, but cannot be
    accessed from Python 2 code unless you use the appropriate future statement::
 
       from __future__ import print_function
 
 
-Available builtins are:
+Available built-ins are:
 
 .. function:: ascii(object)
 
@@ -42,7 +42,7 @@
 
 .. function:: hex(object)
 
-   Works like the builtin :func:`hex`, but instead of :meth:`__hex__` it will
+   Works like the built-in :func:`hex`, but instead of :meth:`__hex__` it will
    use the :meth:`__index__` method on its argument to get an integer that is
    then converted to hexadecimal.
 
@@ -52,7 +52,7 @@
 
 .. function:: oct(object)
 
-   Works like the builtin :func:`oct`, but instead of :meth:`__oct__` it will
+   Works like the built-in :func:`oct`, but instead of :meth:`__oct__` it will
    use the :meth:`__index__` method on its argument to get an integer that is
    then converted to octal.
 
diff --git a/Doc/library/gc.rst b/Doc/library/gc.rst
index 65f0f39..80a2d92 100644
--- a/Doc/library/gc.rst
+++ b/Doc/library/gc.rst
@@ -48,7 +48,7 @@
       The optional *generation* argument was added.
 
    .. versionchanged:: 2.6
-      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)
       is run.  Not all items in some free lists may be freed due to the
       particular implementation, in particular :class:`int` and :class:`float`.
diff --git a/Doc/library/gettext.rst b/Doc/library/gettext.rst
index b95eb79..405a382 100644
--- a/Doc/library/gettext.rst
+++ b/Doc/library/gettext.rst
@@ -205,7 +205,7 @@
 
 .. function:: install(domain[, localedir[, unicode [, codeset[, names]]]])
 
-   This installs the function :func:`_` in Python's builtin namespace, based on
+   This installs the function :func:`_` in Python's builtins namespace, based on
    *domain*, *localedir*, and *codeset* which are passed to the function
    :func:`translation`.  The *unicode* flag is passed to the resulting translation
    object's :meth:`install` method.
@@ -220,7 +220,7 @@
       print _('This string will be translated.')
 
    For convenience, you want the :func:`_` function to be installed in Python's
-   builtin namespace, so it is easily accessible in all modules of your
+   builtins namespace, so it is easily accessible in all modules of your
    application.
 
    .. versionchanged:: 2.4
@@ -347,7 +347,7 @@
       it binds :meth:`self.ugettext` instead.  By default, *unicode* is false.
 
       If the *names* parameter is given, it must be a sequence containing the
-      names of functions you want to install in the builtin namespace in
+      names of functions you want to install in the builtins namespace in
       addition to :func:`_`.  Supported names are ``'gettext'`` (bound to
       :meth:`self.gettext` or :meth:`self.ugettext` according to the *unicode*
       flag), ``'ngettext'`` (bound to :meth:`self.ngettext` or
diff --git a/Doc/library/heapq.rst b/Doc/library/heapq.rst
index bf7e3c4..9a44047 100644
--- a/Doc/library/heapq.rst
+++ b/Doc/library/heapq.rst
@@ -147,7 +147,7 @@
 
 The latter two functions perform best for smaller values of *n*.  For larger
 values, it is more efficient to use the :func:`sorted` function.  Also, when
-``n==1``, it is more efficient to use the builtin :func:`min` and :func:`max`
+``n==1``, it is more efficient to use the built-in :func:`min` and :func:`max`
 functions.
 
 
diff --git a/Doc/library/imputil.rst b/Doc/library/imputil.rst
index 86089d2..94194e2 100644
--- a/Doc/library/imputil.rst
+++ b/Doc/library/imputil.rst
@@ -79,7 +79,7 @@
 
 .. class:: BuiltinImporter()
 
-   Emulate the import mechanism for builtin and frozen modules.  This is a
+   Emulate the import mechanism for built-in and frozen modules.  This is a
    sub-class of the :class:`Importer` class.
 
    .. method:: BuiltinImporter.get_code(parent, modname, fqname)
diff --git a/Doc/library/io.rst b/Doc/library/io.rst
index 184e443..3dba0b5 100644
--- a/Doc/library/io.rst
+++ b/Doc/library/io.rst
@@ -10,7 +10,7 @@
 .. versionadded:: 2.6
 
 The :mod:`io` module provides the Python interfaces to stream handling.  The
-builtin :func:`open` function is defined in this module.
+built-in :func:`open` function is defined in this module.
 
 At the top of the I/O hierarchy is the abstract base class :class:`IOBase`.  It
 defines the basic interface to a stream.  Note, however, that there is no
diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst
index 9522865..9e53aa5 100644
--- a/Doc/library/multiprocessing.rst
+++ b/Doc/library/multiprocessing.rst
@@ -1555,8 +1555,8 @@
 
    .. method:: apply(func[, args[, kwds]])
 
-      Equivalent of the :func:`apply` builtin function.  It blocks till the
-      result is ready. Given this blocks - :meth:`apply_async` is better suited
+      Equivalent of the :func:`apply` built-in function.  It blocks till the
+      result is ready.  Given this blocks, :meth:`apply_async` is better suited
       for performing work in parallel. Additionally, the passed
       in function is only executed in one of the workers of the pool.
 
@@ -1571,7 +1571,7 @@
 
    .. method:: map(func, iterable[, chunksize])
 
-      A parallel equivalent of the :func:`map` builtin function (it supports only
+      A parallel equivalent of the :func:`map` built-in function (it supports only
       one *iterable* argument though).  It blocks till the result is ready.
 
       This method chops the iterable into a number of chunks which it submits to
diff --git a/Doc/library/numbers.rst b/Doc/library/numbers.rst
index b0d55a7..580127c 100644
--- a/Doc/library/numbers.rst
+++ b/Doc/library/numbers.rst
@@ -24,7 +24,7 @@
 .. class:: Complex
 
    Subclasses of this type describe complex numbers and include the operations
-   that work on the builtin :class:`complex` type. These are: conversions to
+   that work on the built-in :class:`complex` type. These are: conversions to
    :class:`complex` and :class:`bool`, :attr:`.real`, :attr:`.imag`, ``+``,
    ``-``, ``*``, ``/``, :func:`abs`, :meth:`conjugate`, ``==``, and ``!=``. All
    except ``-`` and ``!=`` are abstract.
diff --git a/Doc/library/pprint.rst b/Doc/library/pprint.rst
index 7bcb3f1..36a2bc4 100644
--- a/Doc/library/pprint.rst
+++ b/Doc/library/pprint.rst
@@ -13,7 +13,7 @@
 If the formatted structures include objects which are not fundamental Python
 types, the representation may not be loadable.  This may be the case if objects
 such as files, sockets, classes, or instances are included, as well as many
-other builtin objects which are not representable as Python constants.
+other built-in objects which are not representable as Python constants.
 
 The formatted representation keeps objects on a single line if it can, and
 breaks them onto multiple lines if they don't fit within the allowed width.
diff --git a/Doc/library/sets.rst b/Doc/library/sets.rst
index 6d974d6..47b2d76 100644
--- a/Doc/library/sets.rst
+++ b/Doc/library/sets.rst
@@ -184,7 +184,7 @@
 Also note, the module also includes a :meth:`union_update` method which is an
 alias for :meth:`update`.  The method is included for backwards compatibility.
 Programmers should prefer the :meth:`update` method because it is supported by
-the builtin :class:`set()` and :class:`frozenset()` types.
+the built-in :class:`set()` and :class:`frozenset()` types.
 
 
 .. _set-example:
diff --git a/Doc/library/sqlite3.rst b/Doc/library/sqlite3.rst
index 392a130..d437028 100644
--- a/Doc/library/sqlite3.rst
+++ b/Doc/library/sqlite3.rst
@@ -840,7 +840,7 @@
 Accessing columns by name instead of by index
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-One useful feature of the :mod:`sqlite3` module is the builtin
+One useful feature of the :mod:`sqlite3` module is the built-in
 :class:`sqlite3.Row` class designed to be used as a row factory.
 
 Rows wrapped with this class can be accessed both by index (like tuples) and
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
index 2e47c59..091cae4 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -277,7 +277,7 @@
 :func:`long`, :func:`float`, and :func:`complex` can be used to produce numbers
 of a specific type.
 
-All builtin numeric types support the following operations. See
+All built-in numeric types support the following operations. See
 :ref:`power` and later sections for the operators' priorities.
 
 +--------------------+---------------------------------+--------+
@@ -675,7 +675,7 @@
 single item tuple must have a trailing comma, such as ``(d,)``.
 
 Buffer objects are not directly supported by Python syntax, but can be created
-by calling the builtin function :func:`buffer`.  They don't support
+by calling the built-in function :func:`buffer`.  They don't support
 concatenation or repetition.
 
 Objects of type xrange are similar to buffers in that there is no specific syntax to
@@ -1632,7 +1632,7 @@
 order of insertion.  Accordingly, sets do not support indexing, slicing, or
 other sequence-like behavior.
 
-There are currently two builtin set types, :class:`set` and :class:`frozenset`.
+There are currently two built-in set types, :class:`set` and :class:`frozenset`.
 The :class:`set` type is mutable --- the contents can be changed using methods
 like :meth:`add` and :meth:`remove`.  Since it is mutable, it has no hash value
 and cannot be used as either a dictionary key or as an element of another set.
diff --git a/Doc/library/string.rst b/Doc/library/string.rst
index 3231d13..0b9b1fb 100644
--- a/Doc/library/string.rst
+++ b/Doc/library/string.rst
@@ -312,7 +312,7 @@
 
 "Format specifications" are used within replacement fields contained within a
 format string to define how individual values are presented (see
-:ref:`formatstrings`.)  They can also be passed directly to the builtin
+:ref:`formatstrings`.)  They can also be passed directly to the built-in
 :func:`format` function.  Each formattable type may define how the format
 specification is to be interpreted.
 
diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst
index 8616d5d..0005792 100644
--- a/Doc/library/sys.rst
+++ b/Doc/library/sys.rst
@@ -816,7 +816,7 @@
 
    ``'c_call'``
       A C function is about to be called.  This may be an extension function or
-      a builtin.  *arg* is the C function object.
+      a built-in.  *arg* is the C function object.
 
    ``'c_return'``
       A C function has returned. *arg* is ``None``.
diff --git a/Doc/library/undoc.rst b/Doc/library/undoc.rst
index f62c96a..b8b66c6 100644
--- a/Doc/library/undoc.rst
+++ b/Doc/library/undoc.rst
@@ -113,7 +113,7 @@
    :deprecated:
 
 
-Importing :mod:`icopen` will replace the builtin :meth:`open` with a version
+Importing :mod:`icopen` will replace the built-in :meth:`open` with a version
 that uses Internet Config to set file type and creator for new files.
 
 .. deprecated:: 2.6
diff --git a/Doc/library/weakref.rst b/Doc/library/weakref.rst
index 2ca864f..5dcb030 100644
--- a/Doc/library/weakref.rst
+++ b/Doc/library/weakref.rst
@@ -65,7 +65,7 @@
 .. versionchanged:: 2.4
    Added support for files, sockets, arrays, and patterns.
 
-Several builtin types such as :class:`list` and :class:`dict` do not directly
+Several built-in types such as :class:`list` and :class:`dict` do not directly
 support weak references but can add support through subclassing::
 
    class Dict(dict):
diff --git a/Doc/library/xmlrpclib.rst b/Doc/library/xmlrpclib.rst
index 647cda9..ee99950 100644
--- a/Doc/library/xmlrpclib.rst
+++ b/Doc/library/xmlrpclib.rst
@@ -94,7 +94,7 @@
    :exc:`ProtocolError` used to signal an error in the HTTP/HTTPS transport layer.
    Both :exc:`Fault` and :exc:`ProtocolError` derive from a base class called
    :exc:`Error`.  Note that even though starting with Python 2.2 you can subclass
-   builtin types, the xmlrpclib module currently does not marshal instances of such
+   built-in types, the xmlrpclib module currently does not marshal instances of such
    subclasses.
 
    When passing strings, characters special to XML such as ``<``, ``>``, and ``&``
diff --git a/Doc/library/zipimport.rst b/Doc/library/zipimport.rst
index d659efe..791aba4 100644
--- a/Doc/library/zipimport.rst
+++ b/Doc/library/zipimport.rst
@@ -12,7 +12,7 @@
 This module adds the ability to import Python modules (:file:`\*.py`,
 :file:`\*.py[co]`) and packages from ZIP-format archives. It is usually not
 needed to use the :mod:`zipimport` module explicitly; it is automatically used
-by the builtin :keyword:`import` mechanism for ``sys.path`` items that are paths
+by the built-in :keyword:`import` mechanism for ``sys.path`` items that are paths
 to ZIP archives.
 
 Typically, ``sys.path`` is a list of directory names as strings.  This module