Add a glossary entry for file objects.
diff --git a/Doc/glossary.rst b/Doc/glossary.rst
index 8a36939..5374e73 100644
--- a/Doc/glossary.rst
+++ b/Doc/glossary.rst
@@ -184,6 +184,23 @@
       A module written in C or C++, using Python's C API to interact with the core and
       with user code.
 
+   file object
+      An object exposing a file-oriented API (with methods such as
+      :meth:`read()` or :meth:`write()`) to an underlying resource.
+      Depending on the way it was created, a file object can mediate access
+      to a real on-disk file or to another other type of storage or
+      communication device (for example standard input/output, in-memory
+      buffers, sockets, pipes, etc.).  File objects are also called
+      :dfn:`file-like objects` or :dfn:`streams`.
+
+      There are actually three categories of file objects: raw binary
+      files, buffered binary files and text files.  Their interfaces are
+      defined in the :mod:`io` module.  The canonical way to create a
+      file object is by using the :func:`open` function.
+
+   file-like object
+      A synonym for :term:`file object`.
+
    finder
       An object that tries to find the :term:`loader` for a module. It must
       implement a method named :meth:`find_module`. See :pep:`302` for
diff --git a/Doc/library/socket.rst b/Doc/library/socket.rst
index e3c9723..c061b04 100644
--- a/Doc/library/socket.rst
+++ b/Doc/library/socket.rst
@@ -617,7 +617,7 @@
 
    .. index:: single: I/O control; buffering
 
-   Return a :dfn:`file object` associated with the socket.  The exact
+   Return a :term:`file object` associated with the socket.  The exact
    returned type depends on the arguments given to :meth:`makefile`.  These
    arguments are interpreted the same way as by the built-in :func:`open`
    function.
diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst
index fc64b84..ac94ef2 100644
--- a/Doc/reference/datamodel.rst
+++ b/Doc/reference/datamodel.rst
@@ -781,9 +781,9 @@
       single: stdout (in module sys)
       single: stderr (in module sys)
 
-   A file object represents an open file.  Various shortcuts are available
-   to create file objects: the :func:`open` built-in function, and also
-   :func:`os.popen`, :func:`os.fdopen`, and the :meth:`makefile` method
+   A :term:`file object` represents an open file.  Various shortcuts are
+   available to create file objects: the :func:`open` built-in function, and
+   also :func:`os.popen`, :func:`os.fdopen`, and the :meth:`makefile` method
    of socket objects (and perhaps by other functions or methods provided
    by extension modules).