Minor nit that fixes a bunch of indexing:  the way the classdesc
environment saves the name of the last class described, method and
member descriptions were not picking it up correctly.  Thus, many
index entries were described as "( method)" instead of "(FooClass
method)".  Multiple entries were collapsed in the index when
methods/members from multiple classes share the same name.
diff --git a/Doc/texinputs/python.sty b/Doc/texinputs/python.sty
index 0df3602..c49e7bf 100644
--- a/Doc/texinputs/python.sty
+++ b/Doc/texinputs/python.sty
@@ -502,7 +502,8 @@
 % classes ----------------------------------------------------------------
 % \begin{classdesc}{name}{constructor args}
 \newenvironment{classdesc}[2]{
-  \renewcommand{\py@thisclass}{#1}
+  % Using \renewcommand doesn't work for this, for unknown reasons:
+  \global\def\py@thisclass{#1}
   \begin{fulllineitems}
     \item[\code{\bfcode{#1}(\py@varvars{#2})}%
       \withsubitem{(class in \py@thismodule)}{\ttindex{#1}}]