Add :term:s for descriptors.
diff --git a/Doc/library/_ast.rst b/Doc/library/_ast.rst
index 9b195be..9383591 100644
--- a/Doc/library/_ast.rst
+++ b/Doc/library/_ast.rst
@@ -14,7 +14,7 @@
The ``_ast`` module helps Python applications to process trees of the Python
abstract syntax grammar. The Python compiler currently provides read-only access
to such trees, meaning that applications can only create a tree for a given
-piece of Python source code; generating byte code from a (potentially modified)
+piece of Python source code; generating :term:`bytecode` from a (potentially modified)
tree is not supported. The abstract syntax itself might change with each Python
release; this module helps to find out programmatically what the current grammar
looks like.
diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst
index a5d4a48..c28fcd3 100644
--- a/Doc/library/ctypes.rst
+++ b/Doc/library/ctypes.rst
@@ -586,8 +586,8 @@
>>> r = RECT(POINT(1, 2), POINT(3, 4))
>>> r = RECT((1, 2), (3, 4))
-Fields descriptors can be retrieved from the *class*, they are useful for
-debugging because they can provide useful information::
+Field :term:`descriptor`\s can be retrieved from the *class*, they are useful
+for debugging because they can provide useful information::
>>> print POINT.x
<Field type=c_long, ofs=0, size=4>
@@ -1197,10 +1197,10 @@
>>>
Why is it printing ``False``? ctypes instances are objects containing a memory
-block plus some descriptors accessing the contents of the memory. Storing a
-Python object in the memory block does not store the object itself, instead the
-``contents`` of the object is stored. Accessing the contents again constructs a
-new Python each time!
+block plus some :term:`descriptor`\s accessing the contents of the memory.
+Storing a Python object in the memory block does not store the object itself,
+instead the ``contents`` of the object is stored. Accessing the contents again
+constructs a new Python object each time!
.. _ctypes-variable-sized-data-types:
@@ -2267,7 +2267,7 @@
Concrete structure and union types must be created by subclassing one of these
types, and at least define a :attr:`_fields_` class variable. ``ctypes`` will
-create descriptors which allow reading and writing the fields by direct
+create :term:`descriptor`\s which allow reading and writing the fields by direct
attribute accesses. These are the
diff --git a/Doc/library/pyclbr.rst b/Doc/library/pyclbr.rst
index 5a77b4e..a052a69 100644
--- a/Doc/library/pyclbr.rst
+++ b/Doc/library/pyclbr.rst
@@ -19,10 +19,10 @@
.. function:: readmodule(module[, path])
Read a module and return a dictionary mapping class names to class descriptor
- objects. The parameter *module* should be the name of a module as a string; it
- may be the name of a module within a package. The *path* parameter should be a
- sequence, and is used to augment the value of ``sys.path``, which is used to
- locate module source code.
+ objects. The parameter *module* should be the name of a module as a string;
+ it may be the name of a module within a package. The *path* parameter should
+ be a sequence, and is used to augment the value of ``sys.path``, which is
+ used to locate module source code.
.. % The 'inpackage' parameter appears to be for internal use only....
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
index c773e9b..44467af 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -1899,8 +1899,7 @@
.. method:: file.fileno()
.. index::
- single: file descriptor
- single: descriptor, file
+ pair: file; descriptor
module: fcntl
Return the integer "file descriptor" that is used by the underlying