#15694: Link discussion of file objects to glossary entry.

This is analogous to the link for `flie objects` in the description of
'open' that exists in the 2.7 docs, and adds a similar link to the
io docs.

Patch by Chris Jerdonek.
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index da07762..753541f 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -790,10 +790,13 @@
    :meth:`__index__` method that returns an integer.
 
 
+   .. index::
+      single: file object; open() built-in function
+
 .. function:: open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True)
 
-   Open *file* and return a corresponding stream.  If the file cannot be opened,
-   an :exc:`IOError` is raised.
+   Open *file* and return a corresponding :term:`file object`.  If the file
+   cannot be opened, an :exc:`IOError` is raised.
 
    *file* is either a string or bytes object giving the pathname (absolute or
    relative to the current working directory) of the file to be opened or
@@ -900,7 +903,8 @@
    closed.  If a filename is given *closefd* has no effect and must be ``True``
    (the default).
 
-   The type of file object returned by the :func:`open` function depends on the
+   The type of :term:`file object` returned by the :func:`open` function
+   depends on the
    mode.  When :func:`open` is used to open a file in a text mode (``'w'``,
    ``'r'``, ``'wt'``, ``'rt'``, etc.), it returns a subclass of
    :class:`io.TextIOBase` (specifically :class:`io.TextIOWrapper`).  When used