From 17383b9ad77071b2a15cf3286353281e04e139d2 Mon Sep 17 00:00:00 2001
From: Fred Drake <fdrake@acm.org>
Date: Fri, 17 Nov 2000 19:44:14 +0000
Subject: Added information about the %r string formatting conversion.  Added
 note about the interpretation of radix 0 for int(), and added description of
 the optional radix argument for long().  Based on comments from Reuben Sumner
 <rasumner@users.sourceforge.net>.

This closes bug #121672.
---
 Doc/lib/libfuncs.tex    | 12 ++++++++----
 Doc/lib/libstdtypes.tex | 10 ++++++----
 2 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/Doc/lib/libfuncs.tex b/Doc/lib/libfuncs.tex
index cb5acde..7ffc2ea 100644
--- a/Doc/lib/libfuncs.tex
+++ b/Doc/lib/libfuncs.tex
@@ -331,8 +331,10 @@ module from which it is called).
   representable as a Python integer, possibly embedded in whitespace;
   this behaves identical to \code{string.atoi(\var{x}\optional{,
   \var{radix}})}.  The \var{radix} parameter gives the base for the
-  conversion and may be any integer in the range [2, 36].  If
-  \var{radix} is specified and \var{x} is not a string,
+  conversion and may be any integer in the range [2, 36], or zero.  If
+  \var{radix} is zero, the proper radix is guessed based on the
+  contents of string; the interpretation is the same as for integer
+  literals.  If \var{radix} is specified and \var{x} is not a string,
   \exception{TypeError} is raised.
   Otherwise, the argument may be a plain or
   long integer or a floating point number.  Conversion of floating
@@ -392,11 +394,13 @@ modified; changes may not affect the values of local variables used by
 the interpreter.
 \end{funcdesc}
 
-\begin{funcdesc}{long}{x}
+\begin{funcdesc}{long}{x\optional{, radix}}
   Convert a string or number to a long integer.  If the argument is a
   string, it must contain a possibly signed decimal number of
   arbitrary size, possibly embedded in whitespace;
-  this behaves identical to \code{string.atol(\var{x})}.
+  this behaves identical to \code{string.atol(\var{x})}.  The
+  \var{radix} argument is interpreted in the same way as for
+  \function{int()}, and may only be given when \var{x} is a string.
   Otherwise, the argument may be a plain or
   long integer or a floating point number, and a long integer with
   the same value is returned.    Conversion of floating
diff --git a/Doc/lib/libstdtypes.tex b/Doc/lib/libstdtypes.tex
index 003a454..91dd675 100644
--- a/Doc/lib/libstdtypes.tex
+++ b/Doc/lib/libstdtypes.tex
@@ -601,15 +601,17 @@ The right argument should be a tuple with one item for each argument
 required by the format string; if the string requires a single
 argument, the right argument may also be a single non-tuple
 object.\footnote{A tuple object in this case should be a singleton.
-}  The following format characters are understood:
-\code{\%}, \code{c}, \code{s}, \code{i}, \code{d}, \code{u}, \code{o},
-\code{x}, \code{X}, \code{e}, \code{E}, \code{f}, \code{g}, \code{G}. 
+}  The following format characters are understood: \code{\%},
+\code{c}, \code{r}, \code{s}, \code{i}, \code{d}, \code{u}, \code{o},
+\code{x}, \code{X}, \code{e}, \code{E}, \code{f}, \code{g}, \code{G}.
 Width and precision may be a \code{*} to specify that an integer argument
 specifies the actual width or precision.  The flag characters
 \code{-}, \code{+}, blank, \code{\#} and \code{0} are understood.  The 
 size specifiers \code{h}, \code{l} or \code{L} may be present but are
 ignored.  The \code{\%s} conversion takes any Python object and
-converts it to a string using \code{str()} before formatting it.  The
+converts it to a string using \code{str()} before formatting it; the
+\code{\%r} conversion is similar but applies the \function{repr()}
+function instead.  The
 ANSI features \code{\%p} and \code{\%n} are not supported.  Since
 Python strings have an explicit length, \code{\%s} conversions don't
 assume that \code{'\e0'} is the end of the string.
-- 
cgit v0.12

