Define a new environment, classdesc*, which can be used to document a
class without providing any information about the constructor.  This
should be used for classes which only exist to act as containers rather
than as factories for instances.
diff --git a/Doc/perl/python.perl b/Doc/perl/python.perl
index 7b58d6a..39c9931 100644
--- a/Doc/perl/python.perl
+++ b/Doc/perl/python.perl
@@ -906,6 +906,17 @@
     return handle_classlike_descriptor(@_[0], "class");
 }
 
+sub do_env_classdescstar{
+    local($_) = @_;
+    $THIS_CLASS = next_argument();
+    $idx = make_str_index_entry(
+		"<tt class='class'>$THIS_CLASS</tt> (class in $THIS_MODULE)" );
+    $idx =~ s/ \(.*\)//;
+    return ("<dl><dt><b>class $idx</b>\n<dd>"
+            . $_
+            . '</dl>');
+}
+
 sub do_env_excclassdesc{
     return handle_classlike_descriptor(@_[0], "exception");
 }
diff --git a/Doc/texinputs/python.sty b/Doc/texinputs/python.sty
index 795882d..35f7727 100644
--- a/Doc/texinputs/python.sty
+++ b/Doc/texinputs/python.sty
@@ -623,6 +623,15 @@
       \index{#1@{\py@idxcode{#1}} (class in \py@thismodule)}]
 }{\end{fulllineitems}}
 
+% \begin{classdesc*}{name}
+\newenvironment{classdesc*}[1]{
+  % Using \renewcommand doesn't work for this, for unknown reasons:
+  \global\def\py@thisclass{#1}
+  \begin{fulllineitems}
+    \item[\strong{class }\code{\bfcode{#1}}%
+      \index{#1@{\py@idxcode{#1}} (class in \py@thismodule)}]
+}{\end{fulllineitems}}
+
 % \begin{excclassdesc}{name}{constructor args}
 % but indexes as an exception
 \newenvironment{excclassdesc}[2]{
@@ -633,6 +642,9 @@
       \index{#1@{\py@idxcode{#1}} (exception in \py@thismodule)}]
 }{\end{fulllineitems}}
 
+% There is no corresponding {excclassdesc*} environment.  To describe
+% a class exception without parameters, use the {excdesc} environment.
+
 
 \let\py@classbadkey=\@undefined