Further refinement, to allow this to handle the library reference as
well as the other "manual" documents.
diff --git a/Doc/tools/mkdvi.sh b/Doc/tools/mkdvi.sh
index 2d1c7f3..3269a28 100755
--- a/Doc/tools/mkdvi.sh
+++ b/Doc/tools/mkdvi.sh
@@ -45,11 +45,11 @@
 $latex $part || exit $?
 if [ ! -f mod$part.idx ] ; then
     echo "Not using module index; removing mod$part.ind"
-    rm mod$part.ind
+    rm mod$part.ind || exit $?
 fi
 if [ "$aux" ] ; then
     # make sure the .dvi isn't interpreted as useful:
-    rm $part.dvi
+    rm $part.dvi || exit $?
 else
     if [ -f $part.idx ] ; then
 	# using the index
@@ -57,20 +57,20 @@
 	$srcdir/tools/fix_hack $part.idx || exit $?
 	echo 'makeindex -s '$srcdir'/texinputs/python.ist '$part'.idx'
 	makeindex -s $srcdir/texinputs/python.ist $part.idx || exit $?
+	echo $srcdir'/tools/indfix.py '$part'.ind'
+	$srcdir/tools/indfix.py $part.ind || exit $?
     else
 	# skipping the index; clean up the unused file
 	rm -f $part.ind
     fi
     if [ -f mod$part.idx ] ; then
 	# using the index
-	echo $srcdir'/tools/fix_hack mod'$part'.idx'
-	$srcdir/tools/fix_hack mod$part.idx || exit $?
 	echo 'makeindex -s '$srcdir'/texinputs/python.ist mod'$part'.idx'
 	makeindex -s $srcdir/texinputs/python.ist mod$part.idx || exit $?
     fi
     if [ "$pdf" ] ; then
 	echo $srcdir'/tools/toc2bkm.py '$part
-	$srcdir/tools/toc2bkm.py $part
+	$srcdir/tools/toc2bkm.py $part || exit $?
     fi
     echo "$latex $part"
     $latex $part || exit $?