#15831: document multiple signatures on different lines. Patch by Chris Jerdonek.
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index 8d80271..a86e768 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -753,11 +753,16 @@
the result is always a list.
-.. function:: max(iterable[, args...][key])
+.. function:: max(iterable[, key])
+ max(arg1, arg2, *args[, key])
- With a single argument *iterable*, return the largest item of a non-empty
- iterable (such as a string, tuple or list). With more than one argument, return
- the largest of the arguments.
+ Return the largest item in an iterable or the largest of two or more
+ arguments.
+
+ If one positional argument is provided, *iterable* must be a non-empty
+ iterable (such as a non-empty string, tuple or list). The largest item
+ in the iterable is returned. If two or more positional arguments are
+ provided, the largest of the positional arguments is returned.
The optional *key* argument specifies a one-argument ordering function like that
used for :meth:`list.sort`. The *key* argument, if supplied, must be in keyword
@@ -774,11 +779,16 @@
:ref:`typememoryview` for more information.
-.. function:: min(iterable[, args...][key])
+.. function:: min(iterable, *[, key])
+ min(arg1, arg2, *args[, key])
- With a single argument *iterable*, return the smallest item of a non-empty
- iterable (such as a string, tuple or list). With more than one argument, return
- the smallest of the arguments.
+ Return the smallest item in an iterable or the smallest of two or more
+ arguments.
+
+ If one positional argument is provided, *iterable* must be a non-empty
+ iterable (such as a non-empty string, tuple or list). The smallest item
+ in the iterable is returned. If two or more positional arguments are
+ provided, the smallest of the positional arguments is returned.
The optional *key* argument specifies a one-argument ordering function like that
used for :meth:`list.sort`. The *key* argument, if supplied, must be in keyword
@@ -918,16 +928,16 @@
accidents.)
-.. function:: print([object, ...], sep=' ', end='\\n', file=sys.stdout)
+.. function:: print(*objects, sep=' ', end='\\n', file=sys.stdout)
- Print *object*\(s) to the stream *file*, separated by *sep* and followed by
+ Print *objects* to the stream *file*, separated by *sep* and followed by
*end*. *sep*, *end* and *file*, if present, must be given as keyword
arguments.
All non-keyword arguments are converted to strings like :func:`str` does and
written to the stream, separated by *sep* and followed by *end*. Both *sep*
and *end* must be strings; they can also be ``None``, which means to use the
- default values. If no *object* is given, :func:`print` will just write
+ default values. If no *objects* are given, :func:`print` will just write
*end*.
The *file* argument must be an object with a ``write(string)`` method; if it
@@ -1025,7 +1035,8 @@
The ``getter``, ``setter``, and ``deleter`` attributes were added.
-.. function:: range([start,] stop[, step])
+.. function:: range(stop)
+ range(start, stop[, step])
This is a versatile function to create lists containing arithmetic progressions.
It is most often used in :keyword:`for` loops. The arguments must be plain
@@ -1221,7 +1232,8 @@
``x.foobar = 123``.
-.. function:: slice([start,] stop[, step])
+.. function:: slice(stop)
+ slice(start, stop[, step])
.. index:: single: Numerical Python
@@ -1497,7 +1509,8 @@
dictionary are ignored.
-.. function:: xrange([start,] stop[, step])
+.. function:: xrange(stop)
+ xrange(start, stop[, step])
This function is very similar to :func:`range`, but returns an "xrange object"
instead of a list. This is an opaque sequence type which yields the same values