From 6cadba718fb39c797f67c34e1755c0f13d4b0a2a Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Wed, 19 Nov 2008 22:38:29 +0000 Subject: Merged revisions 67243,67245,67277-67278,67289 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r67243 | benjamin.peterson | 2008-11-17 15:39:05 -0600 (Mon, 17 Nov 2008) | 1 line a few fixes on the download page ........ r67245 | benjamin.peterson | 2008-11-17 16:05:19 -0600 (Mon, 17 Nov 2008) | 1 line improve __hash__ docs ........ r67277 | skip.montanaro | 2008-11-18 21:35:41 -0600 (Tue, 18 Nov 2008) | 1 line patch from issue 1108 ........ r67278 | georg.brandl | 2008-11-19 01:59:09 -0600 (Wed, 19 Nov 2008) | 2 lines Try to fix problems with verbatim. ........ r67289 | brett.cannon | 2008-11-19 14:29:39 -0600 (Wed, 19 Nov 2008) | 2 lines Ignore .pyc and .pyo files. ........ --- Doc/conf.py | 2 ++ Doc/reference/datamodel.rst | 24 +++++++++++++----------- Doc/tools/sphinxext/download.html | 4 ++-- Lib/doctest.py | 4 ++-- 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/Doc/conf.py b/Doc/conf.py index de944ac..551452b 100644 --- a/Doc/conf.py +++ b/Doc/conf.py @@ -141,6 +141,8 @@ latex_preamble = r''' \strong{Python Software Foundation}\\ Email: \email{docs@python.org} } +\let\Verbatim=\OriginalVerbatim +\let\endVerbatim=\endOriginalVerbatim ''' # Documents to append as an appendix to all manuals. diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst index a531350..94bcb1b 100644 --- a/Doc/reference/datamodel.rst +++ b/Doc/reference/datamodel.rst @@ -1202,20 +1202,22 @@ Basic customization object: dictionary builtin: hash - Called for the key object for dictionary operations, and by the built-in - function :func:`hash`. Should return an integer usable as a hash value - for dictionary operations. The only required property is that objects which - compare equal have the same hash value; it is advised to somehow mix together - (e.g., using exclusive or) the hash values for the components of the object that - also play a part in comparison of objects. + Called by built-in function :func:`hash` and for operations on members of + hashed collections including :class:`set`, :class:`frozenset`, and + :class:`dict`. :meth:`__hash__` should return an integer. The only required + property is that objects which compare equal have the same hash value; it is + advised to somehow mix together (e.g. using exclusive or) the hash values for + the components of the object that also play a part in comparison of objects. If a class does not define an :meth:`__eq__` method it should not define a :meth:`__hash__` operation either; if it defines :meth:`__eq__` but not - :meth:`__hash__`, its instances will not be usable as dictionary keys. If a - class defines mutable objects and implements an :meth:`__eq__` method, it - should not implement :meth:`__hash__`, since the dictionary implementation - requires that a key's hash value is immutable (if the object's hash value - changes, it will be in the wrong hash bucket). + :meth:`__hash__`, its instances will not be usable as items in hashable + collections. If a class defines mutable objects and implements an + :meth:`__eq__` method, it should not implement :meth:`__hash__`, since the + implementation of hashable collections requires that a key's hash value is + immutable (if the object's hash value changes, it will be in the wrong hash + bucket). + User-defined classes have :meth:`__eq__` and :meth:`__hash__` methods by default; with them, all objects compare unequal (except with themselves) diff --git a/Doc/tools/sphinxext/download.html b/Doc/tools/sphinxext/download.html index 59aea63..e5a25f7 100644 --- a/Doc/tools/sphinxext/download.html +++ b/Doc/tools/sphinxext/download.html @@ -14,7 +14,7 @@

To download an archive containing all the documents for this version of Python in one of various formats, follow one of links in this table. The numbers -in the table are the size of the download files in Kilobytes.

+in the table are the size of the download files in megabytes.

@@ -54,7 +54,7 @@ platform. These are created on Unix using the InfoZIP zip program.

Problems

If you have comments or suggestions for the Python documentation, please send -email to docs@python.org.

+email to docs@python.org.

{% endif %} {% endblock %} diff --git a/Lib/doctest.py b/Lib/doctest.py index e8babd2..22052ec 100644 --- a/Lib/doctest.py +++ b/Lib/doctest.py @@ -847,12 +847,12 @@ class DocTestFinder: """ if module is None: return True + elif inspect.getmodule(object) is not None: + return module is inspect.getmodule(object) elif inspect.isfunction(object): return module.__dict__ is object.__globals__ elif inspect.isclass(object): return module.__name__ == object.__module__ - elif inspect.getmodule(object) is not None: - return module is inspect.getmodule(object) elif hasattr(object, '__module__'): return module.__name__ == object.__module__ elif isinstance(object, property): -- cgit v0.12
FormatPacked as .zipPacked as .tar.bz2