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
