diff --git a/Doc/Makefile b/Doc/Makefile index f82acebd939..f904e5fbead 100644 --- a/Doc/Makefile +++ b/Doc/Makefile @@ -143,6 +143,7 @@ dist: # archive the A4 latex -rm -r build/latex make latex PAPER=a4 + -sed -i 's/makeindex/makeindex -q/' build/latex/Makefile (cd build/latex; make clean && make all-pdf && make FMT=pdf zip bz2) cp build/latex/docs-pdf.zip dist/python-$(DISTVERSION)-docs-pdf-a4.zip cp build/latex/docs-pdf.tar.bz2 dist/python-$(DISTVERSION)-docs-pdf-a4.tar.bz2 @@ -150,6 +151,7 @@ dist: # archive the letter latex rm -r build/latex make latex PAPER=letter + -sed -i 's/makeindex/makeindex -q/' build/latex/Makefile (cd build/latex; make clean && make all-pdf && make FMT=pdf zip bz2) cp build/latex/docs-pdf.zip dist/python-$(DISTVERSION)-docs-pdf-letter.zip cp build/latex/docs-pdf.tar.bz2 dist/python-$(DISTVERSION)-docs-pdf-letter.tar.bz2 diff --git a/Doc/distutils/apiref.rst b/Doc/distutils/apiref.rst index 7874415f520..0a885983d6a 100644 --- a/Doc/distutils/apiref.rst +++ b/Doc/distutils/apiref.rst @@ -21,7 +21,7 @@ setup script). Indirectly provides the :class:`distutils.dist.Distribution` and .. function:: setup(arguments) The basic do-everything function that does most everything you could ever ask - for from a Distutils method. See XXXXX + for from a Distutils method. The setup function takes a large number of arguments. These are laid out in the following table. diff --git a/Doc/distutils/extending.rst b/Doc/distutils/extending.rst index 972ff02c03e..5a70d031cc6 100644 --- a/Doc/distutils/extending.rst +++ b/Doc/distutils/extending.rst @@ -15,8 +15,8 @@ want to modify existing commands; many simply add a few file extensions that should be copied into packages in addition to :file:`.py` files as a convenience. -Most distutils command implementations are subclasses of the :class:`Command` -class from :mod:`distutils.cmd`. New commands may directly inherit from +Most distutils command implementations are subclasses of the +:class:`distutils.cmd.Command` class. New commands may directly inherit from :class:`Command`, while replacements often derive from :class:`Command` indirectly, directly subclassing the command they are replacing. Commands are required to derive from :class:`Command`. diff --git a/Doc/glossary.rst b/Doc/glossary.rst index 30bd1c2959e..5cf3aee4c43 100644 --- a/Doc/glossary.rst +++ b/Doc/glossary.rst @@ -160,9 +160,9 @@ Glossary must be a duck.") By emphasizing interfaces rather than specific types, well-designed code improves its flexibility by allowing polymorphic substitution. Duck-typing avoids tests using :func:`type` or - :func:`isinstance`. (Note, however, that duck-typing can be complemented - with abstract base classes.) Instead, it typically employs :func:`hasattr` - tests or :term:`EAFP` programming. + :func:`isinstance`. (Note, however, that duck-typing can be complemented + with :term:`abstract base class`\ es.) Instead, it typically employs + :func:`hasattr` tests or :term:`EAFP` programming. EAFP Easier to ask for forgiveness than permission. This common Python coding diff --git a/Doc/library/datetime.rst b/Doc/library/datetime.rst index e8fe81b7b49..15a6616029e 100644 --- a/Doc/library/datetime.rst +++ b/Doc/library/datetime.rst @@ -235,6 +235,14 @@ Supported operations: | ``abs(t)`` | equivalent to +\ *t* when ``t.days >= 0``, and| | | to -*t* when ``t.days < 0``. (2) | +--------------------------------+-----------------------------------------------+ +| ``str(t)`` | Returns a string in the form | +| | ``[D day[s], ][H]H:MM:SS[.UUUUUU]``, where D | +| | is negative for negative ``t``. (5) | ++--------------------------------+-----------------------------------------------+ +| ``repr(t)`` | Returns a string in the form | +| | ``datetime.timedelta(D[, S[, U]])``, where D | +| | is negative for negative ``t``. (5) | ++--------------------------------+-----------------------------------------------+ Notes: @@ -250,6 +258,16 @@ Notes: (4) -*timedelta.max* is not representable as a :class:`timedelta` object. +(5) + String representations of :class:`timedelta` objects are normalized + similarly to their internal representation. This leads to somewhat + unusual results for negative timedeltas. For example: + + >>> timedelta(hours=-5) + datetime.timedelta(-1, 68400) + >>> print(_) + -1 day, 19:00:00 + In addition to the operations listed above :class:`timedelta` objects support certain additions and subtractions with :class:`date` and :class:`datetime` objects (see below).