diff --git a/doc/html/man/captoinfo.1m.html b/doc/html/man/captoinfo.1m.html
index 91b3150..c0cdbf9 100644
--- a/doc/html/man/captoinfo.1m.html
+++ b/doc/html/man/captoinfo.1m.html
@@ -1,8 +1,7 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <!-- 
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc.              *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -28,56 +27,58 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: captoinfo.1m,v 1.22 2007/06/02 20:40:07 tom Exp @
+  * @Id: captoinfo.1m,v 1.25 2010/12/04 18:36:44 tom Exp @
 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
 <TITLE>captoinfo 1m</TITLE>
 <link rev=made href="mailto:bug-ncurses@gnu.org">
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 </HEAD>
 <BODY>
-<H1>captoinfo 1m</H1>
-<HR>
+<H1 class="no-header">captoinfo 1m</H1>
 <PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
 <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>                                             <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
 
 
 
 
 </PRE>
-<H2>NAME</H2><PRE>
+<H2><a name="h2-NAME">NAME</a></H2><PRE>
        <STRONG>captoinfo</STRONG>  - convert a <EM>termcap</EM> description into a <EM>terminfo</EM>
        description
 
 
 </PRE>
-<H2>SYNOPSIS</H2><PRE>
+<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>captoinfo</STRONG> [<STRONG>-v</STRONG><EM>n</EM> <EM>width</EM>]  [<STRONG>-V</STRONG>] [<STRONG>-1</STRONG>] [<STRONG>-w</STRONG> <EM>width</EM>] <EM>file</EM> . . .
 
 
 </PRE>
-<H2>DESCRIPTION</H2><PRE>
-       <STRONG>captoinfo</STRONG> looks in <EM>file</EM>  for  <STRONG>termcap</STRONG>  descriptions.   For
-       each  one  found,  an  equivalent  <STRONG>terminfo</STRONG> description is
-       written to standard output.  Termcap <STRONG>tc</STRONG>  capabilities  are
-       translated directly to terminfo <STRONG>use</STRONG> capabilities.
+<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <STRONG>captoinfo</STRONG> looks  in  each  given  text  <EM>file</EM>  for  <STRONG>termcap</STRONG>
+       descriptions.   For each one found, an equivalent <STRONG>terminfo</STRONG>
+       description is written to  standard  output.   Termcap  <STRONG>tc</STRONG>
+       capabilities are translated directly to terminfo <STRONG>use</STRONG> capa-
+       bilities.
 
        If no <EM>file</EM> is given, then the environment variable <STRONG>TERMCAP</STRONG>
-       is used for the filename or entry.  If <STRONG>TERMCAP</STRONG> is  a  full
+       is  used  for the filename or entry.  If <STRONG>TERMCAP</STRONG> is a full
        pathname to a file, only the terminal whose name is speci-
-       fied in the environment variable <STRONG>TERM</STRONG>  is  extracted  from
-       that  file.   If  the  environment variable <STRONG>TERMCAP</STRONG> is not
+       fied  in  the  environment variable <STRONG>TERM</STRONG> is extracted from
+       that file.  If the environment  variable  <STRONG>TERMCAP</STRONG>  is  not
        set, then the file <STRONG>/usr/share/terminfo</STRONG> is read.
 
-       <STRONG>-v</STRONG>   print out tracing information on  standard  error  as
+       <STRONG>-v</STRONG>   print  out  tracing  information on standard error as
             the program runs.
 
-       <STRONG>-V</STRONG>   print  out the version of the program in use on stan-
+       <STRONG>-V</STRONG>   print out the version of the program in use on  stan-
             dard error and exit.
 
-       <STRONG>-1</STRONG>   cause the fields to print out one to a line.   Other-
+       <STRONG>-1</STRONG>   cause  the fields to print out one to a line.  Other-
             wise, the fields will be printed several to a line to
             a maximum width of 60 characters.
 
@@ -85,22 +86,21 @@
 
 
 </PRE>
-<H2>FILES</H2><PRE>
-       /usr/share/terminfo Compiled     terminal      description
-                           database.
+<H2><a name="h2-FILES">FILES</a></H2><PRE>
+       /usr/share/terminfo Compiled  terminal  description  data-
+                           base.
 
 
 </PRE>
-<H2>TRANSLATIONS FROM NONSTANDARD CAPABILITIES</H2><PRE>
-       Some  obsolete nonstandard capabilities will automatically
-       be translated into  standard  (SVr4/XSI  Curses)  terminfo
-       capabilities  by  <STRONG>captoinfo</STRONG>.   Whenever one of these auto-
-       matic translations is done,  the  program  will  issue  an
+<H2><a name="h2-TRANSLATIONS-FROM-NONSTANDARD-CAPABILITIES">TRANSLATIONS FROM NONSTANDARD CAPABILITIES</a></H2><PRE>
+       Some obsolete nonstandard capabilities will  automatically
+       be  translated  into  standard  (SVr4/XSI Curses) terminfo
+       capabilities by <STRONG>captoinfo</STRONG>.  Whenever one  of  these  auto-
+       matic  translations  is  done,  the  program will issue an
        notification to stderr, inviting the user to check that it
-       has not mistakenly translated  a  completely  unknown  and
+       has  not  mistakenly  translated  a completely unknown and
        random capability and/or syntax error.
 
-
        Nonstd   Std    From           Terminfo
         name    name                 capability
        -----------------------------------------------
@@ -134,11 +134,10 @@
        FC       Sf     Tek     set_foreground
        HS       mh     Iris    enter_dim_mode
 
-       XENIX  termcap  also used to have a set of extension capa-
-       bilities for forms drawing, designed to take advantage  of
+       XENIX termcap also used to have a set of  extension  capa-
+       bilities  for forms drawing, designed to take advantage of
        the IBM PC high-half graphics.  They were as follows:
 
-
        Cap          Graphic
        -----------------------------
        G2    upper left
@@ -165,14 +164,14 @@
        Gc    intersection
        GG    acs magic cookie count
 
-       If  the  single-line  capabilities occur in an entry, they
-       will automatically be composed into an <EM>acsc</EM>  string.   The
+       If the single-line capabilities occur in  an  entry,  they
+       will  automatically  be composed into an <EM>acsc</EM> string.  The
        double-line capabilities and <STRONG>GG</STRONG> are discarded with a warn-
        ing message.
 
        IBM's AIX has a terminfo facility descended from SVr1 ter-
-       minfo but incompatible with the SVr4 format. The following
-       AIX extensions are automatically translated:
+       minfo but incompatible with the SVr4 format.  The  follow-
+       ing AIX extensions are automatically translated:
 
         IBM    XSI
        -------------
@@ -183,44 +182,52 @@
        font2   s2ds
        font3   s3ds
 
-       Additionally, the AIX <EM>box1</EM> capability  will  be  automati-
+       Additionally,  the  AIX  <EM>box1</EM> capability will be automati-
        cally translated to an <EM>acsc</EM> string.
 
-       Hewlett-Packard's  terminfo  library supports two nonstan-
-       dard terminfo capabilities <EM>meml</EM>  (memory  lock)  and  <EM>memu</EM>
-       (memory  unlock).   These will be discarded with a warning
+       Hewlett-Packard's terminfo library supports  two  nonstan-
+       dard  terminfo  capabilities  <EM>meml</EM>  (memory lock) and <EM>memu</EM>
+       (memory unlock).  These will be discarded with  a  warning
        message.
 
 
 </PRE>
-<H2>NOTES</H2><PRE>
-       This utility is actually a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, running in  <EM>-I</EM>
+<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       This  utility is actually a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, running in <EM>-I</EM>
        mode.  You can use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and  <STRONG>-x</STRONG>.
 
-       The  trace option is not identical to SVr4's.  Under SVr4,
-       instead of following the <STRONG>-v</STRONG> with  a  trace  level  n,  you
+       The trace option is not identical to SVr4's.  Under  SVr4,
+       instead  of  following  the  <STRONG>-v</STRONG>  with a trace level n, you
        repeat it n times.
 
 
 </PRE>
-<H2>SEE ALSO</H2><PRE>
+<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20081011).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150808).
 
 
 </PRE>
-<H2>AUTHOR</H2><PRE>
-       Eric S. Raymond &lt;esr@snark.thyrsus.com&gt;
+<H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+       Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and
+       Thomas E. Dickey &lt;dickey@invisible-island.net&gt;
 
 
 
                                                           <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
 </PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-TRANSLATIONS-FROM-NONSTANDARD-CAPABILITIES">TRANSLATIONS FROM NONSTANDARD CAPABILITIES</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
 </BODY>
 </HTML>
