]> ncurses.scripts.mit.edu Git - ncurses.git/commitdiff
ncurses 6.4 - patch 20240113
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 14 Jan 2024 01:19:03 +0000 (01:19 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 14 Jan 2024 01:19:03 +0000 (01:19 +0000)
+ improve formatting/style of manpages (patches by Branden Robinson).
+ modify dist.mk to avoid passing developer's comments in manpages into
  the generated html documentation.
+ use ansi+local, ansi+local1, ansi+pp, ansi+rca, ansi+rca2, ansi+sgr
  to trim -TD
+ restore padding for wy520* and vt320-k311 (report by Sven Joachim).

61 files changed:
NEWS
VERSION
dist.mk
doc/html/man/captoinfo.1m.html
doc/html/man/clear.1.html
doc/html/man/curs_add_wch.3x.html
doc/html/man/curs_attr.3x.html
doc/html/man/curs_inch.3x.html
doc/html/man/curs_mouse.3x.html
doc/html/man/curs_printw.3x.html
doc/html/man/curs_scanw.3x.html
doc/html/man/curs_scr_dump.3x.html
doc/html/man/curs_sp_funcs.3x.html
doc/html/man/curs_termcap.3x.html
doc/html/man/curs_terminfo.3x.html
doc/html/man/curs_threads.3x.html
doc/html/man/curs_variables.3x.html
doc/html/man/form_driver.3x.html
doc/html/man/infocmp.1m.html
doc/html/man/ncurses.3x.html
doc/html/man/panel.3x.html
doc/html/man/scr_dump.5.html
doc/html/man/tabs.1.html
doc/html/man/term.5.html
doc/html/man/term.7.html
doc/html/man/terminfo.5.html
doc/html/man/toe.1m.html
doc/html/man/tput.1.html
doc/html/man/tset.1.html
doc/html/man/user_caps.5.html
include/Caps
include/Caps.aix4
include/Caps.hpux11
include/Caps.keys
include/Caps.osf1r5
include/Caps.uwin
man/MKterminfo.sh
man/curs_add_wch.3x
man/curs_attr.3x
man/curs_inch.3x
man/curs_mouse.3x
man/curs_terminfo.3x
man/curs_threads.3x
man/form_driver.3x
man/infocmp.1m
man/manhtml.externs
man/ncurses.3x
man/term.5
man/terminfo.head
man/terminfo.tail
man/toe.1m
man/tput.1
man/user_caps.5
misc/terminfo.src
package/debian-mingw/changelog
package/debian-mingw64/changelog
package/debian/changelog
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.spec
package/ncursest.spec

diff --git a/NEWS b/NEWS
index cfcc1d3bd4ec7500502997a72bb664df5785258c..49bbd33c0db797a57dd1821927ee9562711ff4cc 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -26,7 +26,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.4062 2024/01/06 23:40:56 tom Exp $
+-- $Id: NEWS,v 1.4064 2024/01/13 22:02:10 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -46,6 +46,14 @@ See the AUTHORS file for the corresponding full names.
 Changes through 1.9.9e did not credit all contributions;
 it is not possible to add this information.
 
+20240113
+       + improve formatting/style of manpages (patches by Branden Robinson).
+       + modify dist.mk to avoid passing developer's comments in manpages into
+         the generated html documentation.
+       + use ansi+local, ansi+local1, ansi+pp, ansi+rca, ansi+rca2, ansi+sgr
+         to trim -TD
+       + restore padding for wy520* and vt320-k311 (report by Sven Joachim).
+
 20240106
        + use ansi+arrows, ansi+apparrows, ansi+csr, ansi+erase, ansi+idc,
          ansi+idc1, ansi+idl, ansi+idl1, ansi+inittabs to trim -TD
diff --git a/VERSION b/VERSION
index bb21a273b8bdf96f37dad5c052e6a18bc2b5a183..4b0762cf39455991a9c9cba171b5247caeff3418 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:10 6.4     20240106
+5:0:10 6.4     20240113
diff --git a/dist.mk b/dist.mk
index ba3338a461345f6bd173dadc476ffe220cbefce7..cd175e6241889d67505109d1d0e530b96f377c35 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -26,7 +26,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: dist.mk,v 1.1591 2024/01/06 11:19:36 tom Exp $
+# $Id: dist.mk,v 1.1593 2024/01/13 21:07:51 tom Exp $
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
@@ -38,7 +38,7 @@ SHELL = /bin/sh
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 6
 NCURSES_MINOR = 4
-NCURSES_PATCH = 20240106
+NCURSES_PATCH = 20240113
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
@@ -135,8 +135,9 @@ manhtml:
           if [ -f doc/html/$$g ]; then chmod +w doc/html/$$g; fi;\
           echo "Converting $$m to HTML" ;\
           echo '<!--' > doc/html/man/$$g ;\
-          $${EGREP-grep -E} '^.\\"[^#]' $$f | \
-               sed     -e 's/\$$/@/g' \
+               sed     -e '/^\.[a-zA-Z]/,99999d' $$f | \
+               $${EGREP-grep -E} '^.\\"[^#]' | \
+               sed     -e 's/\$$/@/g' \
                        -e 's/^.../  */' \
                        -e 's/</\&lt;/g' \
                        -e 's/>/\&gt;/g' \
index 634df2ec8d1b79b2b0f735a2371bbabd57fd016d..fea882a22475b314a3cb96dcbfbc6e3e81f5eaf7 100644 (file)
   * authorization.                                                           *
   ****************************************************************************
   * @Id: captoinfo.1m,v 1.58 2023/12/23 16:28:31 tom Exp @
-  * TODO: There are about 40 box drawing code points in CCSID 437;
-  * were there no XENIX capabilities for the mixed single- and double-
-  * line intersections?
-  * TODO: GG doesn't seem to fit with the others; explain it.
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
index 528a60bccc986ba8074fd7b4c3c376529095eeb4..0d64aea2bc28fc9907cb1fcc50ecfdcacd49105f 100644 (file)
@@ -28,9 +28,6 @@
   * authorization.                                                           *
   ****************************************************************************
   * @Id: clear.1,v 1.46 2023/12/16 20:32:22 tom Exp @
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=2BSD/src/clear.c
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=Net2/usr/src/usr.bin/\
-  *   tput/clear.sh
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
index e9ed953db76e230aa08101dfefcd665842388570..565227c3b96f4ffb569375dcd186b99f8658d37d 100644 (file)
@@ -1,7 +1,7 @@
 <!--
   * t
   ****************************************************************************
-  * Copyright 2019-2021,2023 Thomas E. Dickey                                *
+  * Copyright 2019-2023,2024 Thomas E. Dickey                                *
   * Copyright 2001-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_add_wch.3x,v 1.50 2023/12/23 16:08:25 tom Exp @
+  * @Id: curs_add_wch.3x,v 1.53 2024/01/13 22:05:39 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 https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_add_wch 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_add_wch 3x 2024-01-13 ncurses 6.4 Library calls</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_add_wch 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_add_wch 3x 2024-01-13 ncurses 6.4 Library calls</H1>
 <PRE>
 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
 
        lines  and  other  frequently  used  special characters.  These symbols
        correspond to the same VT100 line-drawing set as <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>.
 
-       <STRONG>ACS</STRONG>               <STRONG>Unicode</STRONG>    <STRONG>ASCII</STRONG>     <STRONG>acsc</STRONG>    <STRONG>Glyph</STRONG>
-       <STRONG>Name</STRONG>              <STRONG>Default</STRONG>    <STRONG>Default</STRONG>   <STRONG>char</STRONG>    <STRONG>Name</STRONG>
+                       <STRONG>Unicode</STRONG>   <STRONG>ASCII</STRONG>     <STRONG>acsc</STRONG>
 
+
+       <STRONG>ACS</STRONG> <STRONG>Name</STRONG>        <STRONG>Default</STRONG>   <STRONG>Default</STRONG>   <STRONG>Char</STRONG>   <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
        ------------------------------------------------------------------------
-       WACS_BLOCK        0x25ae     #         0       solid square block
-       WACS_BOARD        0x2592     #         h       board of squares
-       WACS_BTEE         0x2534     +         v       bottom tee
-       WACS_BULLET       0x00b7     o         ~       bullet
-       WACS_CKBOARD      0x2592     :         a       checker board (stipple)
-       WACS_DARROW       0x2193     v         .       arrow pointing down
-       WACS_DEGREE       0x00b0     '         f       degree symbol
-       WACS_DIAMOND      0x25c6     +         `       diamond
-       WACS_GEQUAL       0x2265     &gt;         &gt;       greater-than-or-equal-to
-       WACS_HLINE        0x2500     -         q       horizontal line
-       WACS_LANTERN      0x2603     #         i       lantern symbol
-       WACS_LARROW       0x2190     &lt;         ,       arrow pointing left
-       WACS_LEQUAL       0x2264     &lt;         y       less-than-or-equal-to
-       WACS_LLCORNER     0x2514     +         m       lower left-hand corner
-       WACS_LRCORNER     0x2518     +         j       lower right-hand corner
-       WACS_LTEE         0x2524     +         t       left tee
-       WACS_NEQUAL       0x2260     !         |       not-equal
-       WACS_PI           0x03c0     *         {       greek pi
-       WACS_PLMINUS      0x00b1     #         g       plus/minus
-       WACS_PLUS         0x253c     +         n       plus
-       WACS_RARROW       0x2192     &gt;         +       arrow pointing right
-       WACS_RTEE         0x251c     +         u       right tee
-       WACS_S1           0x23ba     -         o       scan line 1
-       WACS_S3           0x23bb     -         p       scan line 3
-       WACS_S7           0x23bc     -         r       scan line 7
-       WACS_S9           0x23bd     _         s       scan line 9
-       WACS_STERLING     0x00a3     f         }       pound-sterling symbol
-       WACS_TTEE         0x252c     +         w       top tee
-       WACS_UARROW       0x2191     ^         -       arrow pointing up
-       WACS_ULCORNER     0x250c     +         l       upper left-hand corner
-       WACS_URCORNER     0x2510     +         k       upper right-hand corner
-       WACS_VLINE        0x2502     |         x       vertical line
+       <STRONG>WACS_BLOCK</STRONG>      0x25ae    #         0      solid square block
+       <STRONG>WACS_BOARD</STRONG>      0x2592    #         h      board of squares
+       <STRONG>WACS_BTEE</STRONG>       0x2534    +         v      bottom tee
+       <STRONG>WACS_BULLET</STRONG>     0x00b7    o         ~      bullet
+       <STRONG>WACS_CKBOARD</STRONG>    0x2592    :         a      checker board (stipple)
+       <STRONG>WACS_DARROW</STRONG>     0x2193    v         .      arrow pointing down
+       <STRONG>WACS_DEGREE</STRONG>     0x00b0    '         f      degree symbol
+       <STRONG>WACS_DIAMOND</STRONG>    0x25c6    +         `      diamond
+       <STRONG>WACS_GEQUAL</STRONG>     0x2265    &gt;         &gt;      greater-than-or-equal-to
+       <STRONG>WACS_HLINE</STRONG>      0x2500    -         q      horizontal line
+       <STRONG>WACS_LANTERN</STRONG>    0x2603    #         i      lantern symbol
+       <STRONG>WACS_LARROW</STRONG>     0x2190    &lt;         ,      arrow pointing left
+       <STRONG>WACS_LEQUAL</STRONG>     0x2264    &lt;         y      less-than-or-equal-to
+       <STRONG>WACS_LLCORNER</STRONG>   0x2514    +         m      lower left-hand corner
+       <STRONG>WACS_LRCORNER</STRONG>   0x2518    +         j      lower right-hand corner
+       <STRONG>WACS_LTEE</STRONG>       0x2524    +         t      left tee
+       <STRONG>WACS_NEQUAL</STRONG>     0x2260    !         |      not-equal
+       <STRONG>WACS_PI</STRONG>         0x03c0    *         {      greek pi
+       <STRONG>WACS_PLMINUS</STRONG>    0x00b1    #         g      plus/minus
+       <STRONG>WACS_PLUS</STRONG>       0x253c    +         n      plus
+       <STRONG>WACS_RARROW</STRONG>     0x2192    &gt;         +      arrow pointing right
+       <STRONG>WACS_RTEE</STRONG>       0x251c    +         u      right tee
+       <STRONG>WACS_S1</STRONG>         0x23ba    -         o      scan line 1
+       <STRONG>WACS_S3</STRONG>         0x23bb    -         p      scan line 3
+       <STRONG>WACS_S7</STRONG>         0x23bc    -         r      scan line 7
+       <STRONG>WACS_S9</STRONG>         0x23bd    _         s      scan line 9
+       <STRONG>WACS_STERLING</STRONG>   0x00a3    f         }      pound-sterling symbol
+       <STRONG>WACS_TTEE</STRONG>       0x252c    +         w      top tee
+       <STRONG>WACS_UARROW</STRONG>     0x2191    ^         -      arrow pointing up
+       <STRONG>WACS_ULCORNER</STRONG>   0x250c    +         l      upper left-hand corner
+       <STRONG>WACS_URCORNER</STRONG>   0x2510    +         k      upper right-hand corner
+       <STRONG>WACS_VLINE</STRONG>      0x2502    |         x      vertical line
 
        The wide-character configuration of <EM>ncurses</EM> also  defines  symbols  for
        thick lines (<STRONG>acsc</STRONG> "J" to "V"):
 
-       <STRONG>ACS</STRONG>               <STRONG>Unicode</STRONG>   <STRONG>ASCII</STRONG>     <STRONG>acsc</STRONG>    <STRONG>Glyph</STRONG>
-       <STRONG>Name</STRONG>              <STRONG>Default</STRONG>   <STRONG>Default</STRONG>   <STRONG>char</STRONG>    <STRONG>Name</STRONG>
-       -----------------------------------------------------------------------
-       WACS_T_BTEE       0x253b    +         V       thick tee pointing up
-       WACS_T_HLINE      0x2501    -         Q       thick horizontal line
-       WACS_T_LLCORNER   0x2517    +         M       thick lower left corner
-       WACS_T_LRCORNER   0x251b    +         J       thick lower right corner
-       WACS_T_LTEE       0x252b    +         T       thick tee pointing right
-       WACS_T_PLUS       0x254b    +         N       thick large plus
-       WACS_T_RTEE       0x2523    +         U       thick tee pointing left
-       WACS_T_TTEE       0x2533    +         W       thick tee pointing down
-       WACS_T_ULCORNER   0x250f    +         L       thick upper left corner
-       WACS_T_URCORNER   0x2513    +         K       thick upper right corner
-       WACS_T_VLINE      0x2503    |         X       thick vertical line
+                         <STRONG>Unicode</STRONG>   <STRONG>ASCII</STRONG>     <STRONG>acsc</STRONG>
+       <STRONG>ACS</STRONG> <STRONG>Name</STRONG>          <STRONG>Default</STRONG>   <STRONG>Default</STRONG>   <STRONG>Char</STRONG>   <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>WACS_T_BTEE</STRONG>       0x253b    +         V      thick tee pointing up
+       <STRONG>WACS_T_HLINE</STRONG>      0x2501    -         Q      thick horizontal line
+       <STRONG>WACS_T_LLCORNER</STRONG>   0x2517    +         M      thick lower left corner
+       <STRONG>WACS_T_LRCORNER</STRONG>   0x251b    +         J      thick lower right corner
+       <STRONG>WACS_T_LTEE</STRONG>       0x252b    +         T      thick tee pointing right
+       <STRONG>WACS_T_PLUS</STRONG>       0x254b    +         N      thick large plus
+       <STRONG>WACS_T_RTEE</STRONG>       0x2523    +         U      thick tee pointing left
+       <STRONG>WACS_T_TTEE</STRONG>       0x2533    +         W      thick tee pointing down
+       <STRONG>WACS_T_ULCORNER</STRONG>   0x250f    +         L      thick upper left corner
+       <STRONG>WACS_T_URCORNER</STRONG>   0x2513    +         K      thick upper right corner
+       <STRONG>WACS_T_VLINE</STRONG>      0x2503    |         X      thick vertical line
 
        and for double-lines (<STRONG>acsc</STRONG> "A" to "I"):
 
-       <STRONG>ACS</STRONG>               <STRONG>Unicode</STRONG>   <STRONG>ASCII</STRONG>     <STRONG>acsc</STRONG>    <STRONG>Glyph</STRONG>
-       <STRONG>Name</STRONG>              <STRONG>Default</STRONG>   <STRONG>Default</STRONG>   <STRONG>char</STRONG>    <STRONG>Name</STRONG>
+                         <STRONG>Unicode</STRONG>   <STRONG>ASCII</STRONG>     <STRONG>acsc</STRONG>
+       <STRONG>ACS</STRONG> <STRONG>Name</STRONG>          <STRONG>Default</STRONG>   <STRONG>Default</STRONG>   <STRONG>Char</STRONG>   <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
        ------------------------------------------------------------------------
-       WACS_D_BTEE       0x2569    +         H       double tee pointing up
-       WACS_D_HLINE      0x2550    -         R       double horizontal line
-       WACS_D_LLCORNER   0x255a    +         D       double lower left corner
-       WACS_D_LRCORNER   0x255d    +         A       double lower right corner
-       WACS_D_LTEE       0x2560    +         F       double tee pointing right
-       WACS_D_PLUS       0x256c    +         E       double large plus
-       WACS_D_RTEE       0x2563    +         G       double tee pointing left
-       WACS_D_TTEE       0x2566    +         I       double tee pointing down
-
-       WACS_D_ULCORNER   0x2554    +         C       double upper left corner
-       WACS_D_URCORNER   0x2557    +         B       double upper right corner
-       WACS_D_VLINE      0x2551    |         Y       double vertical line
+       <STRONG>WACS_D_BTEE</STRONG>       0x2569    +         H      double tee pointing up
+       <STRONG>WACS_D_HLINE</STRONG>      0x2550    -         R      double horizontal line
+       <STRONG>WACS_D_LLCORNER</STRONG>   0x255a    +         D      double lower left corner
+       <STRONG>WACS_D_LRCORNER</STRONG>   0x255d    +         A      double lower right corner
+       <STRONG>WACS_D_LTEE</STRONG>       0x2560    +         F      double tee pointing right
+       <STRONG>WACS_D_PLUS</STRONG>       0x256c    +         E      double large plus
+       <STRONG>WACS_D_RTEE</STRONG>       0x2563    +         G      double tee pointing left
+
+       <STRONG>WACS_D_TTEE</STRONG>       0x2566    +         I      double tee pointing down
+       <STRONG>WACS_D_ULCORNER</STRONG>   0x2554    +         C      double upper left corner
+       <STRONG>WACS_D_URCORNER</STRONG>   0x2557    +         B      double upper right corner
+       <STRONG>WACS_D_VLINE</STRONG>      0x2551    |         Y      double vertical line
 
        Unicode's  descriptions  for  these  characters  differs  slightly from
        <EM>ncurses</EM>, by introducing the term "light"  (along  with  less  important
 
 
 
-ncurses 6.4                       2023-12-23                  <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ncurses 6.4                       2024-01-13                  <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index e813235c3e3d371ff70893cdad92ccca55c80029..a497bf8f586b6bc637ccc5f13074cd6b6e3f1f9e 100644 (file)
@@ -1,7 +1,7 @@
 <!--
   * t
   ****************************************************************************
-  * Copyright 2018-2022,2023 Thomas E. Dickey                                *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
   * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_attr.3x,v 1.93 2023/12/23 16:08:25 tom Exp @
-  * ---------------------------------------------------------------------------
-  * ---------------------------------------------------------------------------
-  * ---------------------------------------------------------------------------
-  * ---------------------------------------------------------------------------
-  * ---------------------------------------------------------------------------
-  * ---------------------------------------------------------------------------
-  * ---------------------------------------------------------------------------
-  * ---------------------------------------------------------------------------
-  * ---------------------------------------------------------------------------
-  * ---------------------------------------------------------------------------
-  * ---------------------------------------------------------------------------
-  * ---------------------------------------------------------------------------
-  * ---------------------------------------------------------------------------
-  * ---------------------------------------------------------------------------
-  * ---------------------------------------------------------------------------
+  * @Id: curs_attr.3x,v 1.96 2024/01/13 22:05:39 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 https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_attr 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_attr 3x 2024-01-13 ncurses 6.4 Library calls</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_attr 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_attr 3x 2024-01-13 ncurses 6.4 Library calls</H1>
 <PRE>
 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>                    Library calls                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
 
               <STRONG>Name</STRONG>           <STRONG>Description</STRONG>
               -----------------------------------------------------------------
               <STRONG>A_NORMAL</STRONG>       Normal display (no highlight)
-              <STRONG>A_STANDOUT</STRONG>     Best highlighting mode of the terminal.
+              <STRONG>A_STANDOUT</STRONG>     Best highlighting mode of the terminal
               <STRONG>A_UNDERLINE</STRONG>    Underlining
               <STRONG>A_REVERSE</STRONG>      Reverse video
               <STRONG>A_BLINK</STRONG>        Blinking
        (which also support the attributes recognized by <STRONG>attron</STRONG>, etc.):
 
               <STRONG>Name</STRONG>            <STRONG>Description</STRONG>
-              -----------------------------------------
+              -----------------------------------------------------------------
               <STRONG>WA_HORIZONTAL</STRONG>   Horizontal highlight
               <STRONG>WA_LEFT</STRONG>         Left highlight
               <STRONG>WA_LOW</STRONG>          Low highlight
        the newer set of names:
 
               <STRONG>Name</STRONG>            <STRONG>Description</STRONG>
-              ------------------------------------------------------------
+              -----------------------------------------------------------------
               <STRONG>WA_NORMAL</STRONG>       Normal display (no highlight)
-              <STRONG>WA_STANDOUT</STRONG>     Best highlighting mode of the terminal.
+              <STRONG>WA_STANDOUT</STRONG>     Best highlighting mode of the terminal
               <STRONG>WA_UNDERLINE</STRONG>    Underlining
               <STRONG>WA_REVERSE</STRONG>      Reverse video
               <STRONG>WA_BLINK</STRONG>        Blinking
        alternate  character  set implementation.  A 32-bit library can be used
        on a 64-bit system, but not necessarily the reverse.
 
-              <STRONG>Year</STRONG>   <STRONG>System</STRONG>        <STRONG>Arch</STRONG>    <STRONG>Color</STRONG>   <STRONG>Char</STRONG>   <STRONG>Notes</STRONG>
-              ----------------------------------------------------------------
-              1992   Solaris 5.2   32      6       17     SVr4 curses
-              1992   HP-UX 9       32      no      8      SVr2 curses
-              1992   AIX 3.2       32      no      23     SVr2 curses
-              1994   OSF/1 r3      32      no      23     SVr2 curses
-              1995   HP-UX 10.00   32      6       16     SVr3 "curses_colr"
-              1995   HP-UX 10.00   32      6       8      SVr4, X/Open curses
-              1995   Solaris 5.4   32/64   7       16     X/Open curses
-              1996   AIX 4.2       32      7       16     X/Open curses
-              1996   OSF/1 r4      32      6       16     X/Open curses
-              1997   HP-UX 11.00   32      6       8      X/Open curses
-              2000   U/Win         32/64   7/31    16     uses <STRONG>chtype</STRONG>
+                                     <STRONG>Bits</STRONG>
+       <STRONG>Year</STRONG>  <STRONG>System</STRONG>        <STRONG>Arch</STRONG>   <STRONG>Color</STRONG>  <STRONG>Char</STRONG>  <STRONG>Notes</STRONG>
+       ------------------------------------------------------------------------
+       1992  Solaris 5.2   32     6      17    SVr4 <EM>curses</EM>
+       1992  HP-UX 9       32     no     8     SVr2 <EM>curses</EM>
+       1992  AIX 3.2       32     no     23    SVr2 <EM>curses</EM>
+       1994  OSF/1 r3      32     no     23    SVr2 <EM>curses</EM>
+       1995  HP-UX 10.00   32     6      16    SVr3 <EM>curses</EM><STRONG>_</STRONG><EM>colr</EM>
+       1995  HP-UX 10.00   32     6      8     SVr4, X/Open <EM>curses</EM>
+       1995  Solaris 5.4   32/64  7      16    X/Open <EM>curses</EM>
+       1996  AIX 4.2       32     7      16    X/Open <EM>curses</EM>
+       1996  OSF/1 r4      32     6      16    X/Open <EM>curses</EM>
+       1997  HP-UX 11.00   32     6      8     X/Open <EM>curses</EM>
+       2000  U/Win         32/64  7/31   16    uses <EM>chtype</EM>
 
        Notes:
 
 
 
 
-ncurses 6.4                       2023-12-23                     <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ncurses 6.4                       2024-01-13                     <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index b4bcd57bfb4359bfa054dc877c0023aa81f979cf..669392867645234b89d137d59bf94a9c3994464a 100644 (file)
@@ -1,7 +1,7 @@
 <!--
   * t
   ****************************************************************************
-  * Copyright 2018-2022,2023 Thomas E. Dickey                                *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
   * Copyright 1998-2010,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_inch.3x,v 1.41 2023/12/16 21:08:16 tom Exp @
+  * @Id: curs_inch.3x,v 1.44 2024/01/13 22:05:39 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 https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_inch 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_inch 3x 2024-01-13 ncurses 6.4 Library calls</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_inch 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_inch 3x 2024-01-13 ncurses 6.4 Library calls</H1>
 <PRE>
 <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>                    Library calls                   <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
 
        The  following  bit  masks  may  be  AND-ed with characters returned by
        <STRONG>winch</STRONG>.
 
-       <STRONG>A_CHARTEXT</STRONG>     Bit mask to extract character
-       <STRONG>A_ATTRIBUTES</STRONG>   Bit mask to extract attributes
-       <STRONG>A_COLOR</STRONG>        Bit mask to extract color pair field information
+       <STRONG>Name</STRONG>           <STRONG>Description</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>A_CHARTEXT</STRONG>     Extract character
+       <STRONG>A_ATTRIBUTES</STRONG>   Extract attributes
+       <STRONG>A_COLOR</STRONG>        Extract color pair information
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
 
 
 
-ncurses 6.4                       2023-12-16                     <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+ncurses 6.4                       2024-01-13                     <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index a608a3503795691b8bbcf9390d0a06025cd9e4e8..4ea351f3d0ae2a41f2e31a687d00a264608a51d2 100644 (file)
@@ -1,7 +1,7 @@
 <!--
   * t
   ****************************************************************************
-  * Copyright 2018-2022,2023 Thomas E. Dickey                                *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
   * Copyright 1998-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_mouse.3x,v 1.83 2023/12/23 20:37:56 tom Exp @
+  * @Id: curs_mouse.3x,v 1.86 2024/01/13 22:05:39 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 https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_mouse 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_mouse 3x 2024-01-13 ncurses 6.4 Library calls</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_mouse 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_mouse 3x 2024-01-13 ncurses 6.4 Library calls</H1>
 <PRE>
 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
 
        Here are the mouse event type masks which may be defined:
 
        <STRONG>Name</STRONG>                     <STRONG>Description</STRONG>
-       ---------------------------------------------------------------------
+       ------------------------------------------------------------------------
        <STRONG>BUTTON1_PRESSED</STRONG>          mouse button 1 down
        <STRONG>BUTTON1_RELEASED</STRONG>         mouse button 1 up
        <STRONG>BUTTON1_CLICKED</STRONG>          mouse button 1 clicked
 
        <STRONG>BUTTON1_DOUBLE_CLICKED</STRONG>   mouse button 1 double clicked
        <STRONG>BUTTON1_TRIPLE_CLICKED</STRONG>   mouse button 1 triple clicked
-       ---------------------------------------------------------------------
+       ------------------------------------------------------------------------
        <STRONG>BUTTON2_PRESSED</STRONG>          mouse button 2 down
        <STRONG>BUTTON2_RELEASED</STRONG>         mouse button 2 up
        <STRONG>BUTTON2_CLICKED</STRONG>          mouse button 2 clicked
        <STRONG>BUTTON2_DOUBLE_CLICKED</STRONG>   mouse button 2 double clicked
        <STRONG>BUTTON2_TRIPLE_CLICKED</STRONG>   mouse button 2 triple clicked
-       ---------------------------------------------------------------------
+       ------------------------------------------------------------------------
        <STRONG>BUTTON3_PRESSED</STRONG>          mouse button 3 down
        <STRONG>BUTTON3_RELEASED</STRONG>         mouse button 3 up
        <STRONG>BUTTON3_CLICKED</STRONG>          mouse button 3 clicked
        <STRONG>BUTTON3_DOUBLE_CLICKED</STRONG>   mouse button 3 double clicked
        <STRONG>BUTTON3_TRIPLE_CLICKED</STRONG>   mouse button 3 triple clicked
-       ---------------------------------------------------------------------
+       ------------------------------------------------------------------------
        <STRONG>BUTTON4_PRESSED</STRONG>          mouse button 4 down
        <STRONG>BUTTON4_RELEASED</STRONG>         mouse button 4 up
        <STRONG>BUTTON4_CLICKED</STRONG>          mouse button 4 clicked
        <STRONG>BUTTON4_DOUBLE_CLICKED</STRONG>   mouse button 4 double clicked
        <STRONG>BUTTON4_TRIPLE_CLICKED</STRONG>   mouse button 4 triple clicked
-       ---------------------------------------------------------------------
+       ------------------------------------------------------------------------
        <STRONG>BUTTON5_PRESSED</STRONG>          mouse button 5 down
        <STRONG>BUTTON5_RELEASED</STRONG>         mouse button 5 up
        <STRONG>BUTTON5_CLICKED</STRONG>          mouse button 5 clicked
        <STRONG>BUTTON5_DOUBLE_CLICKED</STRONG>   mouse button 5 double clicked
        <STRONG>BUTTON5_TRIPLE_CLICKED</STRONG>   mouse button 5 triple clicked
-       ---------------------------------------------------------------------
+       ------------------------------------------------------------------------
        <STRONG>BUTTON_SHIFT</STRONG>             shift was down during button state change
        <STRONG>BUTTON_CTRL</STRONG>              control was down during button state change
        <STRONG>BUTTON_ALT</STRONG>               alt was down during button state change
        <STRONG>ALL_MOUSE_EVENTS</STRONG>         report all button state changes
        <STRONG>REPORT_MOUSE_POSITION</STRONG>    report mouse movement
-       ---------------------------------------------------------------------
+       ------------------------------------------------------------------------
 
 
 </PRE><H3><a name="h3-getmouse">getmouse</a></H3><PRE>
 
        <STRONG>o</STRONG>   Its "terminfo" manual page lists capabilities for the feature.
 
-               buttons           btns    BT       Number of buttons on the mouse
-               get_mouse         getm    Gm       Curses should get button events
-               key_mouse         kmous   Km       0631, Mouse event has occurred
-               mouse_info        minfo   Mi       Mouse status information
-               req_mouse_pos     reqmp   RQ       Request mouse position report
+               <STRONG>buttons</STRONG>         <STRONG>btns</STRONG>    <STRONG>BT</STRONG>   Number of buttons on the mouse
+               <STRONG>get_mouse</STRONG>       <STRONG>getm</STRONG>    <STRONG>Gm</STRONG>   Curses should get button events
+               <STRONG>key_mouse</STRONG>       <STRONG>kmous</STRONG>   <STRONG>Km</STRONG>   0631, Mouse event has occurred
+               <STRONG>mouse_info</STRONG>      <STRONG>minfo</STRONG>   <STRONG>Mi</STRONG>   Mouse status information
+               <STRONG>req_mouse_pos</STRONG>   <STRONG>reqmp</STRONG>   <STRONG>RQ</STRONG>   Request mouse position report
 
        <STRONG>o</STRONG>   The  interface  made assumptions (as does <EM>ncurses</EM>) about the escape
            sequences sent to and received from the terminal.
 
 
 
-ncurses 6.4                       2023-12-23                    <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
+ncurses 6.4                       2024-01-13                    <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 9a312a058cfe3ee7fc3e4a8f5e57475c00c8c3c1..44ada64dcd5e2a0f4a6d76586abd685c17a860a5 100644 (file)
   * authorization.                                                           *
   ****************************************************************************
   * @Id: curs_printw.3x,v 1.47 2023/12/23 14:41:07 tom Exp @
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/src/lib/\
-  *   libcurses/printw.c
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/include/\
-  *  varargs.h
-  * either header declares "va_list", but only one can be used
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
index 2c549ce4c4220a960a78461c4c769016508ce687..b7da265df44a5074bc1c2a9a0eb42548e3c40b2b 100644 (file)
   * authorization.                                                           *
   ****************************************************************************
   * @Id: curs_scanw.3x,v 1.47 2023/12/23 14:41:50 tom Exp @
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/src/lib/\
-  *  libcurses/scanw.c
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/include/\
-  *  varargs.h
-  * either header declares "va_list", but only one can be used
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
index 298722f1858696e3df73c440270bfedbda525f45..15753f736f49cc19db40a7a9ef9cf9d44b19e44d 100644 (file)
@@ -28,7 +28,6 @@
   * authorization.                                                           *
   ****************************************************************************
   * @Id: curs_scr_dump.3x,v 1.37 2023/12/30 21:34:11 tom Exp @
-  * SVID 4, p. 529
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
index e943b6c5946317a175d641d4d169ec190d06f12f..480f998aada290697f244d29efcfe6781f038fa4 100644 (file)
@@ -28,9 +28,6 @@
   * authorization.                                                           *
   ****************************************************************************
   * @Id: curs_sp_funcs.3x,v 1.46 2023/12/23 16:26:05 tom Exp @
-  * ***************************************************************************
-  * ***************************************************************************
-  * ***************************************************************************
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
index 5babcda795194e4b73ad88d6e84d67cbebe6c586..f7d0608c3e2eac887af74cb313f4265e4709d7c7 100644 (file)
   * authorization.                                                           *
   ****************************************************************************
   * @Id: curs_termcap.3x,v 1.81 2023/12/30 21:27:22 tom Exp @
-  * See &lt;https://minnie.tuhs.org/cgi-bin/utree.pl?file=2BSD/src/\
-  *   termlib/termcap.c&gt;.
-  * See https://www.oreilly.com/openbook/opensources/book/kirkmck.html
-  * for much BSD release history.
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=1BSD/s7/ttycap.c
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=1BSD/man7/ttycap.7
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=2BSD/src/termlib/
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=2BSD/bin/etc/termcap
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=3BSD/usr/src/lib/\
-  *   libtermlib/
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=3BSD/usr/man/man3/\
-  *   termlib.3
-  * ...except in the source tree...
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/src/lib/\
-  *   libtermlib/makefile
-  * Observe the `tncktc()`, `tnamatch()`, `tskip()`, and `tdecode()`
-  * entry points disappearing from termcap.c.
-  * 2BSD became a branch retaining support for non-virtual memory
-  * systems (such as the PDP-11) whereas most BSD development focused on
-  * the VAX and other VM-enabled systems starting with 3BSD.
-  * This man page previously located a termcap.h in 2BSD, but that may
-  * be confusion arising from its backport to 2.9BSD (and still present
-  * in surviving sources for 2.11BSD, the "end of the line" for that
-  * branch's development).
-  * Observe the copyright notice in
-  *   https://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD/usr/contrib/\
-  *     jove/Makefile
-  * --much too late for 2BSD (1979).
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
index 6084b51ee038fc2bd69831b5875042577dbd4337..4ae87c03a173357b6680f5d035e0696bfcc781fa 100644 (file)
@@ -1,7 +1,7 @@
 <!--
   * t
   ****************************************************************************
-  * Copyright 2018-2022,2023 Thomas E. Dickey                                *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
   * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_terminfo.3x,v 1.125 2023/12/30 23:46:56 tom Exp @
-  * ***************************************************************************
-  * ***************************************************************************
-  * ***************************************************************************
-  * ***************************************************************************
-  * ***************************************************************************
-  * ***************************************************************************
-  * ***************************************************************************
-  * ***************************************************************************
-  * ***************************************************************************
-  * ***************************************************************************
-  * X/Open Curses Issue 7, p. 161
-  * ***************************************************************************
+  * @Id: curs_terminfo.3x,v 1.129 2024/01/13 22:15:55 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 https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_terminfo 3x 2023-12-30 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_terminfo 3x 2024-01-13 ncurses 6.4 Library calls</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_terminfo 3x 2023-12-30 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_terminfo 3x 2024-01-13 ncurses 6.4 Library calls</H1>
 <PRE>
 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>                Library calls               <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
 
 
        <STRONG>int</STRONG> <STRONG>mvcur(int</STRONG> <EM>oldrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newcol</EM><STRONG>);</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>tigetflag(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>tigetnum(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
-       <STRONG>char</STRONG> <STRONG>*tigetstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>tigetflag(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>cap-code</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>tigetnum(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>cap-code</EM><STRONG>);</STRONG>
+       <STRONG>char</STRONG> <STRONG>*tigetstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>cap-code</EM><STRONG>);</STRONG>
 
        <STRONG>char</STRONG> <STRONG>*tiparm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> ...<STRONG>);</STRONG>
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These low-level routines must be called by programs that have  to  deal
-       directly   with  the  <EM>terminfo</EM>  database  to  handle  certain  terminal
-       capabilities,  such  as  programming  function  keys.   For  all  other
-       functionality,  <EM>curses</EM>  routines  are  more  suitable  and their use is
-       recommended.
+       These low-level functions must be called by programs that deal directly
+       with  the  <EM>terminfo</EM>  database  to handle certain terminal capabilities,
+       such as programming function keys.  For all other functionality, <EM>curses</EM>
+       functions are more suitable and their use is recommended.
 
-       None of these functions use  (or  are  aware  of)  multibyte  character
+       None  of  these  functions  use  (or  are aware of) multibyte character
        strings such as UTF-8.
 
        <STRONG>o</STRONG>   Capability names and codes use the POSIX portable character set.
 
-       <STRONG>o</STRONG>   Capability  string  values  have  no  associated encoding; they are
+       <STRONG>o</STRONG>   Capability string values have  no  associated  encoding;  they  are
            strings of 8-bit characters.
 
 
 </PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
        Initially, <STRONG>setupterm</STRONG> should be called.  The high-level <EM>curses</EM> functions
-       <STRONG>initscr</STRONG>  and  <STRONG>newterm</STRONG> call <STRONG>setupterm</STRONG> to initialize the low-level set of
+       <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG> call <STRONG>setupterm</STRONG> to initialize the low-level  set  of
        terminal-dependent variables listed in <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>.
 
-       Applications can use the terminal  capabilities  either  directly  (via
+       Applications  can  use  the  terminal capabilities either directly (via
        header  definitions),  or  by  special  functions.   The  header  files
-       <EM>curses.h</EM> and <EM>term.h</EM> should be included  (in  that  order)  to  get  the
+       <EM>curses.h</EM>  and  <EM>term.h</EM>  should  be  included  (in that order) to get the
        definitions for these strings, numbers, and flags.
 
-       The  <EM>terminfo</EM>  variables <STRONG>lines</STRONG> and <STRONG>columns</STRONG> are initialized by <STRONG>setupterm</STRONG>
-       as follows:
+       The <EM>terminfo</EM> variables <STRONG>lines</STRONG> and <STRONG>columns</STRONG> are initialized  by  <STRONG>setupterm</STRONG>
+       as follows.
 
-       <STRONG>o</STRONG>   If <STRONG>use_env(FALSE)</STRONG> has been called, values  for  <STRONG>lines</STRONG>  and  <STRONG>columns</STRONG>
+       <STRONG>o</STRONG>   If  <STRONG>use_env(FALSE)</STRONG>  has  been  called, values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG>
            specified in <EM>terminfo</EM> are used.
 
-       <STRONG>o</STRONG>   Otherwise,  if  the  environment variables <EM>LINES</EM> and <EM>COLUMNS</EM> exist,
+       <STRONG>o</STRONG>   Otherwise, if the environment variables <EM>LINES</EM>  and  <EM>COLUMNS</EM>  exist,
            their values are used.  If these environment variables do not exist
-           and  the program is running in a window, the current window size is
-           used.  Otherwise, if the environment variables do  not  exist,  the
+           and the program is running in a window, the current window size  is
+           used.   Otherwise,  if  the environment variables do not exist, the
            values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG> specified in the <EM>terminfo</EM> database are
            used.
 
-       Parameterized strings should be passed  through  <STRONG>tparm</STRONG>  to  instantiate
-       them.   All  <EM>terminfo</EM> strings (including the output of <STRONG>tparm</STRONG>) should be
-       printed with <STRONG>tputs</STRONG> or <STRONG>putp</STRONG>.  Call <STRONG>reset_shell_mode</STRONG> to restore  the  tty
-       modes before exiting [see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>].
+       Parameterized  strings  should  be  passed through <STRONG>tparm</STRONG> to instantiate
+       them.  All <EM>terminfo</EM> strings (including the output of <STRONG>tparm</STRONG>)  should  be
+       sent  to the terminal device with <STRONG>tputs</STRONG> or <STRONG>putp</STRONG>.  Call <STRONG>reset_shell_mode</STRONG>
+       to restore the terminal modes before exiting; see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>.
 
-       Programs which use cursor addressing should
+       Programs that use cursor addressing should
 
        <STRONG>o</STRONG>   output <STRONG>enter_ca_mode</STRONG> upon startup and
 
        <STRONG>o</STRONG>   output <STRONG>exit_ca_mode</STRONG> before exiting.
 
-       Programs which execute shell subprocesses should
+       Programs that execute shell subprocesses should
 
-       <STRONG>o</STRONG>   call  <STRONG>reset_shell_mode</STRONG>  and output <STRONG>exit_ca_mode</STRONG> before the shell is
+       <STRONG>o</STRONG>   call <STRONG>reset_shell_mode</STRONG> and output <STRONG>exit_ca_mode</STRONG> before the  shell  is
            called and
 
-       <STRONG>o</STRONG>   output <STRONG>enter_ca_mode</STRONG> and call <STRONG>reset_prog_mode</STRONG> after returning  from
+       <STRONG>o</STRONG>   output  <STRONG>enter_ca_mode</STRONG> and call <STRONG>reset_prog_mode</STRONG> after returning from
            the shell.
 
-       The  <STRONG>setupterm</STRONG> routine reads in the <EM>terminfo</EM> database, initializing the
-       <EM>terminfo</EM> structures, but does not  set  up  the  output  virtualization
-       structures used by <EM>curses.</EM>  These are its parameters:
+       <STRONG>setupterm</STRONG> reads in the <EM>terminfo</EM>  database,  initializing  the  <EM>terminfo</EM>
+       structures,  but  does  not set up the output virtualization structures
+       used by <EM>curses.</EM>  Its parameters follow.
 
           <EM>term</EM> is the terminal type, a character string.  If <EM>term</EM> is null, the
-               environment variable <EM>TERM</EM> is used.
+               environment variable <EM>TERM</EM> is read.
 
           <EM>filedes</EM>
-               is the file descriptor used for getting  and  setting  terminal
+               is  the  file  descriptor used for getting and setting terminal
                I/O modes.
 
-               Higher-level  applications use <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG> for initializing the
-               terminal, passing an output <EM>stream</EM> rather  than  a  <EM>descriptor</EM>.
-               In   curses,  the  two  are  the  same  because  <STRONG>newterm</STRONG>  calls
-               <STRONG>setupterm</STRONG>, passing the file descriptor derived from its  output
+               Higher-level applications use  <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>  to  initialize  the
+               terminal,  passing  an  output <EM>stream</EM> rather than a <EM>descriptor.</EM>
+               In  <EM>curses,</EM>  the  two  are  the  same  because  <STRONG>newterm</STRONG>   calls
+               <STRONG>setupterm</STRONG>,  passing the file descriptor derived from its output
                stream parameter.
 
           <EM>errret</EM>
-               points  to  an  optional  location where an error status can be
-               returned to the caller.  If <EM>errret</EM> is not null, then  <STRONG>setupterm</STRONG>
-               returns  <STRONG>OK</STRONG>  or  <STRONG>ERR</STRONG>  and  stores a status value in the integer
-               pointed to by <EM>errret</EM>.  A  return  value  of  <STRONG>OK</STRONG>  combined  with
+               points to an optional location where an  error  status  can  be
+               returned  to the caller.  If <EM>errret</EM> is not null, then <STRONG>setupterm</STRONG>
+               returns <STRONG>OK</STRONG> or <STRONG>ERR</STRONG> and stores a  status  value  in  the  integer
+               pointed  to  by  <EM>errret.</EM>   A  return  value of <STRONG>OK</STRONG> combined with
                status of <STRONG>1</STRONG> in <EM>errret</EM> is normal.
 
-               If <STRONG>ERR</STRONG> is returned, examine <EM>errret</EM>:
+               If <STRONG>ERR</STRONG> is returned, examine <EM>errret:</EM>
 
-               <STRONG>1</STRONG>    means  that  the  terminal is hardcopy, cannot be used for
-                    <EM>curses</EM> applications.
+               <STRONG>1</STRONG>    means that the terminal is hardcopy, and  cannot  be  used
+                    for <EM>curses</EM> applications.
 
-                    <STRONG>setupterm</STRONG> determines if the entry is a  hardcopy  type  by
-                    checking the <STRONG>hc</STRONG> (<STRONG>hardcopy</STRONG>) capability.
+                    <STRONG>setupterm</STRONG>  determines  if  the entry is a hardcopy type by
+                    checking the <STRONG>hardcopy</STRONG> (<STRONG>hc</STRONG>) capability.
 
-               <STRONG>0</STRONG>    means  that the terminal could not be found, or that it is
-                    a generic type, having too little information  for  <EM>curses</EM>
+               <STRONG>0</STRONG>    means that the terminal could not be found, or that it  is
+                    a  generic  type, having too little information for <EM>curses</EM>
                     applications to run.
 
-                    <STRONG>setupterm</STRONG>  determines  if  the  entry is a generic type by
-                    checking the <STRONG>gn</STRONG> (<STRONG>generic_type</STRONG>) capability.
+                    <STRONG>setupterm</STRONG> determines if the entry is  a  generic  type  by
+                    checking the <STRONG>generic_type</STRONG> (<STRONG>gn</STRONG>) capability.
 
                <STRONG>-1</STRONG>   means that the <EM>terminfo</EM> database could not be found.
 
-               If <EM>errret</EM> is null,  <STRONG>setupterm</STRONG>  prints  an  error  message  upon
+               If  <EM>errret</EM>  is  null,  <STRONG>setupterm</STRONG>  reports an error message upon
                finding an error and exits.  Thus, the simplest call is:
 
-                      <STRONG>setupterm((char</STRONG> <STRONG>*)0,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0);</STRONG>
+                      setupterm((char *)0, 1, (int *)0);
 
                which uses all the defaults and sends the output to <STRONG>stdout</STRONG>.
 
 
 </PRE><H3><a name="h3-The-Terminal-State">The Terminal State</a></H3><PRE>
-       The  <STRONG>setupterm</STRONG>  routine  stores its information about the terminal in a
-       <EM>TERMINAL</EM> structure pointed to by the global variable <STRONG>cur_term</STRONG>.   If  it
-       detects  an error, or decides that the terminal is unsuitable (hardcopy
-       or generic), it discards this information, making it not  available  to
+       <STRONG>setupterm</STRONG> stores its information  about  the  terminal  in  a  <EM>TERMINAL</EM>
+       structure pointed to by the global variable <STRONG>cur_term</STRONG>.  If it detects an
+       error,  or  decides  that  the  terminal  is  unsuitable  (hardcopy  or
+       generic),  it  discards  this  information,  making it not available to
        applications.
 
-       If  <STRONG>setupterm</STRONG>  is called repeatedly for the same terminal type, it will
+       If <STRONG>setupterm</STRONG> is called repeatedly for the same terminal type,  it  will
        reuse  the  information.   It  maintains  only  one  copy  of  a  given
-       terminal's  capabilities  in  memory.   If  it  is called for different
-       terminal types,  <STRONG>setupterm</STRONG>  allocates  new  storage  for  each  set  of
+       terminal's capabilities in memory.   If  it  is  called  for  different
+       terminal  types,  <STRONG>setupterm</STRONG>  allocates  new  storage  for  each  set of
        terminal capabilities.
 
-       <STRONG>set_curterm</STRONG>  sets  <STRONG>cur_term</STRONG>  to  <EM>nterm,</EM>  and  makes all of the <EM>terminfo</EM>
-       Boolean, numeric, and string variables use the values from  <EM>nterm.</EM>   It
+       <STRONG>set_curterm</STRONG> sets <STRONG>cur_term</STRONG> to <EM>nterm,</EM>  and  makes  all  of  the  <EM>terminfo</EM>
+       Boolean,  numeric,  and string variables use the values from <EM>nterm.</EM>  It
        returns the old value of <STRONG>cur_term</STRONG>.
 
-       <STRONG>del_curterm</STRONG>  routine  frees  the space pointed to by <EM>oterm</EM> and makes it
-       available  for  further  use.   If  <EM>oterm</EM>  is  the  same  as  <STRONG>cur_term</STRONG>,
-       references  to  any  of  the  <EM>terminfo</EM>  Boolean,  numeric,  and  string
-       variables thereafter  may  refer  to  invalid  memory  locations  until
-       another <STRONG>setupterm</STRONG> has been called.
+       <STRONG>del_curterm</STRONG> frees the space pointed to by <EM>oterm</EM> and makes it  available
+       for  further  use.  If <EM>oterm</EM> is the same as <STRONG>cur_term</STRONG>, references to any
+       of the <EM>terminfo</EM> Boolean, numeric, and string variables  thereafter  may
+       refer  to  invalid  memory  locations  until another <STRONG>setupterm</STRONG> has been
+       called.
 
-       The  <STRONG>restartterm</STRONG>  routine  is  similar to <STRONG>setupterm</STRONG> and <STRONG>initscr</STRONG>, except
-       that it is called after restoring  memory  to  a  previous  state  (for
-       example,   when   reloading  a  game  saved  as  a  core  image  dump).
-       <STRONG>restartterm</STRONG> assumes that the windows and the input and  output  options
-       are  the  same as when memory was saved, but the terminal type and baud
-       rate may be different.   Accordingly,  <STRONG>restartterm</STRONG>  saves  various  tty
-       state bits, calls <STRONG>setupterm</STRONG>, and then restores the bits.
+       <STRONG>restartterm</STRONG> is similar to <STRONG>setupterm</STRONG> and  <STRONG>initscr</STRONG>,  except  that  it  is
+       called  after  restoring  memory to a previous state (for example, when
+       reloading a game saved as a core image dump).  <STRONG>restartterm</STRONG> assumes that
+       the  windows  and  the  input  and  output options are the same as when
+       memory was saved, but the terminal type and baud rate may be different.
+       Accordingly,  <STRONG>restartterm</STRONG>  saves  various  terminal  state  bits, calls
+       <STRONG>setupterm</STRONG>, and then restores the bits.
 
 
 </PRE><H3><a name="h3-Formatting-Output">Formatting Output</a></H3><PRE>
-       The  <STRONG>tparm</STRONG>  routine  instantiates the string <EM>str</EM> with parameters <EM>pi</EM>.  A
-       pointer is returned to the result of <EM>str</EM> with the  parameters  applied.
-       Application  developers  should  keep  in  mind  these  quirks  of  the
-       interface:
+       <STRONG>tparm</STRONG> instantiates the string <EM>str</EM> with parameters  <EM>pi.</EM>   A  pointer  is
+       returned to the result of <EM>str</EM> with the parameters applied.  Application
+       developers should keep in mind these quirks of the interface:
 
        <STRONG>o</STRONG>   Although <STRONG>tparm</STRONG>'s actual parameters may be integers or strings,  the
-           prototype expects <STRONG>long</STRONG> (integer) values.
+           prototype expects <EM>long</EM> (integer) values.
 
        <STRONG>o</STRONG>   Aside  from  the  <STRONG>set_attributes</STRONG>  (<STRONG>sgr</STRONG>)  capability,  most terminal
            capabilities require no more than one or two parameters.
 
        Both <STRONG>tparm</STRONG> and <STRONG>tiparm</STRONG> assume that  the  application  passes  parameters
        consistent  with the terminal description.  Two extensions are provided
-       as alternatives to deal with untrusted data:
+       as alternatives to deal with untrusted data.
 
        <STRONG>o</STRONG>   <STRONG>tiparm_s</STRONG> is an extension which is a safer formatting function  than
-           <STRONG>tparm</STRONG> or <STRONG>tiparm</STRONG>, because it allows the developer to tell the curses
+           <STRONG>tparm</STRONG> or <STRONG>tiparm</STRONG>, because it allows the developer to tell the <EM>curses</EM>
            library how many parameters to expect in the  parameter  list,  and
            which may be string parameters.
 
            The  <EM>mask</EM>  parameter has one bit set for each of the parameters (up
-           to 9) which will be passed as char* rather than numbers.
+           to 9) passed as <EM>char</EM> pointers rather than numbers.
 
        <STRONG>o</STRONG>   The  extension  <STRONG>tiscan_s</STRONG>  allows  the  application  to  inspect   a
-           formatting capability to see what the curses library would assume.
+           formatting capability to see what the <EM>curses</EM> library would assume.
 
 
 </PRE><H3><a name="h3-Output-Functions">Output Functions</a></H3><PRE>
        as <STRONG>$&lt;</STRONG><EM>n</EM><STRONG>&gt;</STRONG>, where <EM>n</EM> is a nonnegative integral count of milliseconds.  If <EM>n</EM>
        exceeds 30,000 (thirty seconds), it is capped at that value.
 
-       The <STRONG>tputs</STRONG> routine interprets time-delay information in the  string  <EM>str</EM>
-       and outputs it, executing the delays:
+       <STRONG>tputs</STRONG> interprets time-delay information in the string <EM>str</EM>  and  outputs
+       it, executing the delays:
 
-       <STRONG>o</STRONG>   The  <EM>str</EM> parameter must be a terminfo string variable or the return
-           value from <STRONG>tparm</STRONG>, <STRONG>tiparm</STRONG>, <STRONG>tgetstr</STRONG>, or <STRONG>tgoto</STRONG>.
+       <STRONG>o</STRONG>   The  <EM>str</EM> parameter must be a <EM>terminfo</EM> string variable or the return
+           value of <STRONG>tparm</STRONG>, <STRONG>tiparm</STRONG>, <STRONG>tgetstr</STRONG>, or <STRONG>tgoto</STRONG>.
 
            The <STRONG>tgetstr</STRONG> and <STRONG>tgoto</STRONG> functions are part of the <EM>termcap</EM>  interface,
-           which  happens  to  share  this  function  name  with  the <EM>terminfo</EM>
-           interface.
+           which happens to share these function names with the <EM>terminfo</EM> API.
 
-       <STRONG>o</STRONG>   <EM>affcnt</EM> is the number of lines affected, or 1 if not applicable.
+       <STRONG>o</STRONG>   <EM>affcnt</EM> is the number of lines affected, or <STRONG>1</STRONG> if not applicable.
 
        <STRONG>o</STRONG>   <EM>putc</EM> is a <EM>putchar</EM>-like function to which the characters are passed,
            one at a time.
 
-           If  <STRONG>tputs</STRONG>  processes  a  time-delay,  it  uses the <STRONG><A HREF="curs_util.3x.html">delay_output(3x)</A></STRONG>
-           function, routing any resulting  padding  characters  through  this
+           If <STRONG>tputs</STRONG> processes  a  time-delay,  it  uses  the  <STRONG><A HREF="curs_util.3x.html">delay_output(3x)</A></STRONG>
+           function,  routing  any  resulting  padding characters through this
            function.
 
-       The  <STRONG>putp</STRONG>  routine  calls  <STRONG>tputs(</STRONG><EM>str</EM><STRONG>,</STRONG>  <STRONG>1,</STRONG> <STRONG>putchar)</STRONG>.  The output of <STRONG>putp</STRONG>
-       always goes to <STRONG>stdout</STRONG>, rather than the <EM>filedes</EM> specified in <STRONG>setupterm</STRONG>.
+       <STRONG>putp</STRONG> calls "<STRONG>tputs(</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>putchar)</STRONG>".  The output of <STRONG>putp</STRONG> always goes to
+       <STRONG>stdout</STRONG>, rather than the <EM>filedes</EM> specified in <STRONG>setupterm</STRONG>.
 
-       The <STRONG>vidputs</STRONG> routine displays the string on the terminal  in  the  video
-       attribute mode <EM>attrs</EM>, which is any combination of the attributes listed
-       in <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.  The characters are passed to the <EM>putchar</EM>-like  function
-       <EM>putc</EM>.
+       <STRONG>vidputs</STRONG> displays the string on the terminal in the video attribute mode
+       <EM>attrs,</EM> which is any combination of the attributes listed in <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+       The characters are passed to the <EM>putchar</EM>-like function <EM>putc.</EM>
 
-       The <STRONG>vidattr</STRONG> routine is like the <STRONG>vidputs</STRONG> routine, except that it outputs
-       through <EM>putchar</EM>.
+       <STRONG>vidattr</STRONG> is like <STRONG>vidputs</STRONG>, except that it outputs through <STRONG>putchar(3)</STRONG>.
 
-       <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> correspond to <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG>,  respectively.
-       They  use multiple parameters to represent the character attributes and
+       <STRONG>vid_attr</STRONG>  and <STRONG>vid_puts</STRONG> correspond to <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG>, respectively.
+       They use multiple parameters to represent the character attributes  and
        color; namely,
 
        <STRONG>o</STRONG>   <EM>attrs,</EM> of type <EM>attr</EM><STRONG>_</STRONG><EM>t,</EM> for the attributes and
 
        <STRONG>o</STRONG>   <EM>pair,</EM> of type <EM>short,</EM> for the color pair number.
 
-       Use the attribute constants  prefixed  with  "<STRONG>WA_</STRONG>"  with  <STRONG>vid_attr</STRONG>  and
+       Use  the  attribute  constants  prefixed  with  "<STRONG>WA_</STRONG>" with <STRONG>vid_attr</STRONG> and
        <STRONG>vid_puts</STRONG>.
 
-       X/Open  Curses  reserves  the <EM>opts</EM> argument for future use, saying that
-       applications must provide a null pointer for  that  argument;  but  see
+       X/Open Curses reserves the <EM>opts</EM> argument for future  use,  saying  that
+       applications  must  provide  a  null pointer for that argument; but see
        section "EXTENSIONS" below.
 
-       The  <STRONG>mvcur</STRONG>  routine  provides low-level cursor motion.  It takes effect
-       immediately (rather than at the next refresh).  Unlike the  other  low-
-       level  output  functions,  which either write to the standard output or
-       pass an output function parameter, <STRONG>mvcur</STRONG> uses an output file descriptor
-       derived from the output stream parameter of <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>.
+       <STRONG>mvcur</STRONG> provides low-level cursor motion.  It  takes  effect  immediately
+       (rather  than  at the next refresh).  Unlike the other low-level output
+       functions, which either write to the standard output or pass an  output
+       function  parameter,  <STRONG>mvcur</STRONG> uses an output file descriptor derived from
+       the output stream parameter of <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>.
 
-       While <STRONG>putp</STRONG> and <STRONG>mvcur</STRONG> are low-level functions which do not use the high-
-       level curses state, they are declared in <EM>curses.h</EM> because System V  did
-       this (see <EM>HISTORY</EM>).
+       While <STRONG>putp</STRONG> and <STRONG>mvcur</STRONG> are low-level functions that do not use high-level
+       <EM>curses</EM>  state,  <EM>ncurses</EM>  declares them in <EM>curses.h</EM> because System V did
+       this (see section "HISTORY" below).
 
 
 </PRE><H3><a name="h3-Terminal-Capability-Functions">Terminal Capability Functions</a></H3><PRE>
-       The  <STRONG>tigetflag</STRONG>,  <STRONG>tigetnum</STRONG> and <STRONG>tigetstr</STRONG> routines return the value of the
-       capability corresponding to the <EM>terminfo</EM> <EM>capname</EM> passed to  them,  such
-       as  <STRONG>xenl</STRONG>.  The <EM>capname</EM> for each capability is given in the table column
-       entitled <EM>capname</EM> code in the capabilities section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+       <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG>, and <STRONG>tigetstr</STRONG> return the value  of  the  capability
+       corresponding  to  the <EM>terminfo</EM> <EM>cap-code,</EM> such as <STRONG>xenl</STRONG>, passed to them.
+       The <EM>cap-code</EM> for each capability is given in the table column  entitled
+       <EM>cap-code</EM> code in the capabilities section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       These routines return special values to denote errors.
+       These functions return special values to denote errors.
 
-       The <STRONG>tigetflag</STRONG> routine returns
+       <STRONG>tigetflag</STRONG> returns
 
-       <STRONG>-1</STRONG>     if <EM>capname</EM> is not a Boolean capability, or
+       <STRONG>-1</STRONG>     if <EM>cap-code</EM> is not a Boolean capability, or
 
        <STRONG>0</STRONG>      if it is canceled or absent from the terminal description.
 
-       The <STRONG>tigetnum</STRONG> routine returns
+       <STRONG>tigetnum</STRONG> returns
 
-       <STRONG>-2</STRONG>     if <EM>capname</EM> is not a numeric capability, or
+       <STRONG>-2</STRONG>     if <EM>cap-code</EM> is not a numeric capability, or
 
        <STRONG>-1</STRONG>     if it is canceled or absent from the terminal description.
 
-       The <STRONG>tigetstr</STRONG> routine returns
+       <STRONG>tigetstr</STRONG> returns
 
        <STRONG>(char</STRONG> <STRONG>*)-1</STRONG>
-              if <EM>capname</EM> is not a string capability, or
+              if <EM>cap-code</EM> is not a string capability, or
 
        <STRONG>0</STRONG>      if it is canceled or absent from the terminal description.
 
 
 </PRE><H3><a name="h3-Releasing-Memory">Releasing Memory</a></H3><PRE>
        Each successful call to <STRONG>setupterm</STRONG> allocates memory to hold the terminal
-       description.   As  a  side-effect,  it  sets  <STRONG>cur_term</STRONG> to point to this
+       description.  As a side effect, it  sets  <STRONG>cur_term</STRONG>  to  point  to  this
        memory.  If an application calls
 
-              <STRONG>del_curterm(cur_term);</STRONG>
+              del_curterm(cur_term);
 
        the memory will be freed.
 
-       The formatting functions <STRONG>tparm</STRONG> and <STRONG>tiparm</STRONG> extend the storage  allocated
-       by <STRONG>setupterm</STRONG>:
+       The  formatting functions <STRONG>tparm</STRONG> and <STRONG>tiparm</STRONG> extend the storage allocated
+       by <STRONG>setupterm</STRONG> as follows.
 
-       <STRONG>o</STRONG>   the  "static"  terminfo variables [a-z].  Before <EM>ncurses</EM> 6.3, those
-           were shared by all screens.  With <EM>ncurses</EM> 6.3, those are  allocated
-           per screen.  See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
+       <STRONG>o</STRONG>   They add the "static" <EM>terminfo</EM>  variables  [a-z].   Before  <EM>ncurses</EM>
+           6.3, those were shared by all screens.  With <EM>ncurses</EM> 6.3, those are
+           allocated per screen.  See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       <STRONG>o</STRONG>   to  improve performance, <EM>ncurses</EM> 6.3 caches the result of analyzing
-           terminfo strings for their parameter types.  That is  stored  as  a
+       <STRONG>o</STRONG>   To improve performance, <EM>ncurses</EM> 6.3 caches the result of  analyzing
+           <EM>terminfo</EM>  strings  for  their parameter types.  That is stored as a
            binary tree referenced from the <EM>TERMINAL</EM> structure.
 
        The higher-level <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG> functions use <STRONG>setupterm</STRONG>.  Normally
-       they do not free this memory, but it is possible to do that  using  the
+       they  do  not free this memory, but it is possible to do that using the
        <STRONG><A HREF="curs_initscr.3x.html">delscreen(3x)</A></STRONG> function.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       X/Open defines no failure conditions.  In <EM>ncurses,</EM>
+       X/Open Curses defines no failure conditions.  In <EM>ncurses,</EM>
 
-       <STRONG>del_curterm</STRONG>
-            returns an error if its terminal parameter is null.
+       <STRONG>del_curtem</STRONG>
+            fails if its terminal parameter is null.
 
-       <STRONG>putp</STRONG> calls <STRONG>tputs</STRONG>, returning the same error-codes.
+       <STRONG>putp</STRONG> calls <STRONG>tputs</STRONG>, returning the same error codes.
 
        <STRONG>restartterm</STRONG>
-            returns  an  error  if the associated call to <STRONG>setupterm</STRONG> returns an
-            error.
+            fails if the associated call to <STRONG>setupterm</STRONG> returns an error.
 
        <STRONG>setupterm</STRONG>
-            returns an error if it cannot allocate enough  memory,  or  create
-            the  initial  windows  (<STRONG>stdscr</STRONG>,  <STRONG>curscr</STRONG>,  and  <STRONG>newscr</STRONG>) Other error
-            conditions are documented above.
+            fails if it cannot allocate enough memory, or create  the  initial
+            windows  (<STRONG>stdscr</STRONG>,  <STRONG>curscr</STRONG>,  and <STRONG>newscr</STRONG>) Other error conditions are
+            documented above.
 
        <STRONG>tparm</STRONG>
-            returns  a  null  if  the  capability  would  require   unexpected
-            parameters,  e.g.,  too many, too few, or incorrect types (strings
-            where integers are expected, or vice versa).
+            returns a null pointer if the capability would require  unexpected
+            parameters;  that  is,  too  many,  too  few,  or  incorrect types
+            (strings where integers are expected, or vice versa).
 
        <STRONG>tputs</STRONG>
-            returns an error if the string parameter is  null.   It  does  not
-            detect  I/O  errors:  X/Open  Curses states that <STRONG>tputs</STRONG> ignores the
-            return value of the output function <EM>putc</EM>.
+            fails if the string parameter is null.  It  does  not  detect  I/O
+            errors:  X/Open  Curses states that <STRONG>tputs</STRONG> ignores the return value
+            of the output function <EM>putc</EM>.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
 
 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
        The functions marked as extensions were designed for <EM>ncurses,</EM>  and  are
-       not  found  in SVr4 <EM>curses</EM>, 4.4BSD <EM>curses</EM>, or any other previous curses
+       not  found  in SVr4 <EM>curses</EM>, 4.4BSD <EM>curses</EM>, or any other previous <EM>curses</EM>
        implementation.
 
        <EM>ncurses</EM> allows <EM>opts</EM> to be a pointer to <EM>int,</EM> which  overrides  the  <EM>pair</EM>
        Other  implementions  may not declare the capability name arrays.  Some
        provide them without declaring them.  X/Open does not specify them.
 
-       Extended terminal capability names, as defined  by  "<STRONG>tic</STRONG> <STRONG>-x</STRONG>",  are  not
+       Extended terminal capability names, as defined by  "<STRONG>tic</STRONG>  <STRONG>-x</STRONG>",  are  not
        stored in the arrays described here.
 
 
 
            This implementation uses a  variable  argument  list,  but  can  be
            configured  to use the fixed-parameter list.  Portable applications
-           should provide 9 parameters after the format; zeroes are  fine  for
-           this purpose.
+           should provide nine parameters after the format;  zeroes  are  fine
+           for this purpose.
 
            In  response  to review comments by Thomas E. Dickey, X/Open Curses
            Issue 7 proposed the <STRONG>tiparm</STRONG> function in mid-2009.
            the parameter use the same amount of  stack  as  a  pointer.   That
            approach  dates  back  to the mid-1980s, before C was standardized.
            Since then, there is a standard (and pointers are not  required  to
-           fit in a long).
+           fit in a <EM>long</EM>).
 
        <STRONG>o</STRONG>   Providing  the  right  number of parameters for a variadic function
            such  as  <STRONG>tiparm</STRONG>  can  be  a  problem,  in  particular  for  string
-           parameters.   However,  only a few terminfo capabilities use string
-           parameters (e.g., the ones used for programmable function keys).
+           parameters.   However,  only a few <EM>terminfo</EM> capabilities use string
+           parameters (for instance, the ones used for  programmable  function
+           keys).
 
            The <EM>ncurses</EM> library checks usage of these capabilities, and returns
-           an  error  if  the capability mishandles string parameters.  But it
-           cannot check if a calling program provides  strings  in  the  right
+           an error if the capability mishandles string  parameters.   But  it
+           cannot  check  if  a  calling program provides strings in the right
            places for the <STRONG>tparm</STRONG> calls.
 
-           The  <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>  program  checks  its use of these capabilities with a
+           The <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> program checks its use of  these  capabilities  with  a
            table, so that it calls <STRONG>tparm</STRONG> correctly.
 
    <STRONG>Special</STRONG> <EM>TERM</EM> <STRONG>treatment</STRONG>
-       If configured to use the terminal-driver, e.g., for the MinGW port,
+       If configured to use the terminal driver, as with the MinGW port,
 
-       <STRONG>o</STRONG>   <STRONG>setupterm</STRONG> interprets a missing/empty <EM>TERM</EM> variable as  the  special
+       <STRONG>o</STRONG>   <STRONG>setupterm</STRONG>  interprets  a missing/empty <EM>TERM</EM> variable as the special
            value "unknown".
 
-           SVr4 curses uses the special value "dumb".
+           SVr4 <EM>curses</EM> uses the special value "dumb".
 
-           The  difference  between  the two is that the former uses the <STRONG>gn</STRONG> (-
-           <STRONG>generic_type</STRONG>) terminfo capability, while the latter  does  not.   A
-           generic terminal is unsuitable for full-screen applications.
+           The difference  between  the  two  is  that  the  former  uses  the
+           <STRONG>generic_type</STRONG>  (<STRONG>gn</STRONG>)  <EM>terminfo</EM> capability, while the latter does not.
+           generic terminal is unsuitable for full-screen applications.
 
-       <STRONG>o</STRONG>   <STRONG>setupterm</STRONG>  allows explicit use of the the windows console driver by
-           checking if <STRONG>$TERM</STRONG> is set to "#win32con" or an abbreviation of  that
+       <STRONG>o</STRONG>   <STRONG>setupterm</STRONG> allows explicit use of the the windows console driver  by
+           checking  if <STRONG>$TERM</STRONG> is set to "#win32con" or an abbreviation of that
            string.
 
 
 </PRE><H3><a name="h3-Other-Portability-Issues">Other Portability Issues</a></H3><PRE>
-       In  SVr4,  <STRONG>set_curterm</STRONG>  returns  an  <EM>int,</EM> <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>.  We have chosen to
+       In SVr4, <STRONG>set_curterm</STRONG> returns an <EM>int,</EM> <STRONG>OK</STRONG> or  <STRONG>ERR</STRONG>.   We  have  chosen  to
        implement the X/Open Curses semantics.
 
        In SVr4, the third argument of <STRONG>tputs</STRONG> has the type "<STRONG>int</STRONG> <STRONG>(*putc)(char)</STRONG>".
 
-       At least one implementation of X/Open Curses (Solaris) returns a  value
-       other  than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG> from <STRONG>tputs</STRONG>.  It instead returns the length of the
+       At  least one implementation of X/Open Curses (Solaris) returns a value
+       other than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG> from <STRONG>tputs</STRONG>.  It instead returns the length of  the
        string, and does no error checking.
 
-       X/Open Curses notes that after calling <STRONG>mvcur</STRONG>, the <EM>curses</EM> state may  not
-       match  the  actual terminal state, and that an application should touch
-       and refresh the window  before  resuming  normal  <EM>curses</EM>  calls.   Both
+       X/Open  Curses notes that after calling <STRONG>mvcur</STRONG>, the <EM>curses</EM> state may not
+       match the actual terminal state, and that an application  should  touch
+       and  refresh  the  window  before  resuming  normal <EM>curses</EM> calls.  Both
        <EM>ncurses</EM> and SVr4 <EM>curses</EM> implement <STRONG>mvcur</STRONG> using the <EM>SCREEN</EM> data allocated
        in either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>.  So though it is documented as a <EM>terminfo</EM>
        function, <STRONG>mvcur</STRONG> is really a <EM>curses</EM> function that is not well specified.
 
-       X/Open  notes  that after calling <STRONG>mvcur</STRONG>, the curses state may not match
-       the actual terminal state, and that an  application  should  touch  and
-       refresh  the  window before resuming normal curses calls.  Both <EM>ncurses</EM>
-       and System V Release 4 curses implement <STRONG>mvcur</STRONG>  using  the  <EM>SCREEN</EM>  data
-       allocated  in either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>.  So though it is documented as
-       a terminfo function, <STRONG>mvcur</STRONG> is really a curses  function  which  is  not
-       well specified.
+       X/Open notes that after calling <STRONG>mvcur</STRONG>, the <EM>curses</EM> state may  not  match
+       the  actual  terminal  state,  and that an application should touch and
+       refresh the window before resuming normal <EM>curses</EM> calls.   Both  <EM>ncurses</EM>
+       and  SVr4  <EM>curses</EM>  implement  <STRONG>mvcur</STRONG>  using the <EM>SCREEN</EM> data allocated in
+       either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>.  So though it is documented  as  a  <EM>terminfo</EM>
+       function, <STRONG>mvcur</STRONG> is really a <EM>curses</EM> function that is not well specified.
 
        X/Open  Curses  states that the old location must be given for <STRONG>mvcur</STRONG> to
        accommodate terminals that lack absolute cursor  positioning.   <EM>ncurses</EM>
        allows the caller to use -1 for either or both old coordinates.  The -1
        tells <EM>ncurses</EM> that the old location is unknown, and that  it  must  use
-       only  absolute  motion  (such  as <EM>cursor</EM><STRONG>_</STRONG><EM>address</EM>) rather than the least
-       costly combination of absolute and relative motion.
+       only  absolute  motion,  as  with  the <STRONG>cursor_address</STRONG> (<STRONG>cup</STRONG>) capability,
+       rather than the least  costly  combination  of  absolute  and  relative
+       motion.
 
 
 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
-       SVr2 (1984) introduced the <EM>terminfo</EM> feature.   Its  programming  manual
+       SVr2  (1984)  introduced  the <EM>terminfo</EM> feature.  Its programming manual
        mentioned the following low-level functions.
 
        <STRONG>Function</STRONG>    <STRONG>Description</STRONG>
        ------------------------------------------------------------------------
-       <STRONG>fixterm</STRONG>     restore tty to "in curses" state
-       <STRONG>gettmode</STRONG>    establish current tty modes
+
+       <STRONG>fixterm</STRONG>     restore terminal to "in <EM>curses</EM>" state
+       <STRONG>gettmode</STRONG>    establish current terminal modes
        <STRONG>mvcur</STRONG>       low level cursor motion
        <STRONG>putp</STRONG>        use <STRONG>tputs</STRONG> to send characters via <EM>putchar</EM>
-       <STRONG>resetterm</STRONG>   set tty modes to "out of curses" state
-       <STRONG>resetty</STRONG>     reset tty flags to stored value
-       <STRONG>saveterm</STRONG>    save current modes as "in curses" state
-       <STRONG>savetty</STRONG>     store current tty flags
+       <STRONG>resetterm</STRONG>   set terminal modes to "out of <EM>curses</EM>" state
+       <STRONG>resetty</STRONG>     reset terminal flags to stored value
+       <STRONG>saveterm</STRONG>    save current modes as "in <EM>curses</EM>" state
+       <STRONG>savetty</STRONG>     store current terminal flags
        <STRONG>setterm</STRONG>     establish terminal with given type
        <STRONG>setupterm</STRONG>   establish terminal with given type
        <STRONG>tparm</STRONG>       interpolate parameters into string capability
        <STRONG>vidattr</STRONG>     like <STRONG>vidputs</STRONG>, but output through <EM>putchar</EM>
        <STRONG>vidputs</STRONG>     write string to terminal, applying specified attributes
 
-       The  programming  manual  also mentioned functions provided for <EM>termcap</EM>
+       The programming manual also mentioned functions  provided  for  <EM>termcap</EM>
        compatibility (commenting that they "may go away at a later date").
 
        <STRONG>Function</STRONG>   <STRONG>Description</STRONG>
        <STRONG>tgoto</STRONG>      apply parameters to given capability
        <STRONG>tputs</STRONG>      write characters via a function parameter, applying padding
 
-       Early <EM>terminfo</EM> programs obtained capability values  from  the  <EM>TERMINAL</EM>
+       Early  <EM>terminfo</EM>  programs  obtained capability values from the <EM>TERMINAL</EM>
        structure initialized by <STRONG>setupterm</STRONG>.
 
-       SVr3   (1987)   extended  <EM>terminfo</EM>  by  adding  functions  to  retrieve
-       capability values (like the <EM>termcap</EM> interface), and reusing  <STRONG>tgoto</STRONG>  and
+       SVr3  (1987)  extended  <EM>terminfo</EM>  by  adding  functions   to   retrieve
+       capability  values  (like the <EM>termcap</EM> interface), and reusing <STRONG>tgoto</STRONG> and
        <STRONG>tputs</STRONG>.
 
        <STRONG>Function</STRONG>    <STRONG>Description</STRONG>
        <STRONG>tigetnum</STRONG>    get numeric entry for given <EM>id</EM>
        <STRONG>tigetstr</STRONG>    get string entry for given <EM>id</EM>
 
-       SVr3  also  replaced several of the SVr2 <EM>terminfo</EM> functions that had no
+       SVr3 also replaced several of the SVr2 <EM>terminfo</EM> functions that  had  no
        counterpart in the <EM>termcap</EM> interface, documenting them as obsolete.
 
        <STRONG>Function</STRONG>    <STRONG>Replaced</STRONG> <STRONG>by</STRONG>
        saveterm    def_prog_mode
        setterm     setupterm
 
-       SVr3 kept the <STRONG>mvcur</STRONG>, <STRONG>vidattr</STRONG>, and <STRONG>vidputs</STRONG> functions, along  with  <STRONG>putp</STRONG>,
-       <STRONG>tparm</STRONG>,  and  <STRONG>tputs</STRONG>.   The latter were needed to support padding, and to
-       handle capabilities accessed by functions such as <STRONG>vidattr</STRONG>  (which  used
+       SVr3  kept  the <STRONG>mvcur</STRONG>, <STRONG>vidattr</STRONG>, and <STRONG>vidputs</STRONG> functions, along with <STRONG>putp</STRONG>,
+       <STRONG>tparm</STRONG>, and <STRONG>tputs</STRONG>.  The latter were needed to support  padding,  and  to
+       handle  capabilities  accessed by functions such as <STRONG>vidattr</STRONG> (which used
        more than the two parameters supported by <STRONG>tgoto</STRONG>).
 
-       SVr3   introduced   the   functions   for  switching  between  terminal
-       descriptions;  for  example,  <STRONG>set_curterm</STRONG>.   Some   changes   reflected
+       SVr3  introduced  the  functions   for   switching   between   terminal
+       descriptions;   for   example,  <STRONG>set_curterm</STRONG>.   Some  changes  reflected
        incremental improvements to the SVr2 library.
 
-       <STRONG>o</STRONG>   The  <EM>TERMINAL</EM>  type  definition  was introduced in SVr3.01, for the
+       <STRONG>o</STRONG>   The <EM>TERMINAL</EM> type definition was introduced  in  SVr3.01,  for  the
            <EM>term</EM> structure provided in SVr2.
 
-       <STRONG>o</STRONG>   Various global variables such as <STRONG>boolnames</STRONG> were  mentioned  in  the
-           programming  manual  at  this  point, though the variables had been
+       <STRONG>o</STRONG>   Various  global  variables  such as <STRONG>boolnames</STRONG> were mentioned in the
+           programming manual at this point, though  the  variables  had  been
            provided in SVr2.
 
        SVr4 (1989) added the <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> functions.
 
-       Other low-level functions are declared in the <EM>curses</EM>  header  files  of
-       Unix  systems,  but  none are documented.  Those noted as "obsolete" by
+       Other  low-level  functions  are declared in the <EM>curses</EM> header files of
+       Unix systems, but none are documented.  Those noted  as  "obsolete"  by
        SVr3 remained in use by System V's <STRONG>vi(1)</STRONG> editor.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,   <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>,   <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,   <STRONG>putc(3)</STRONG>,  <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>,  <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,   <STRONG>putc(3)</STRONG>,   <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>,
        <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
 
 
-ncurses 6.4                       2023-12-30                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ncurses 6.4                       2024-01-13                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 7dad4feaafd796b9eecf6a92aabf1b4fd44bc540..b2ed03c305af04c4b379b12af6cf452bffe011c0 100644 (file)
@@ -1,7 +1,7 @@
 <!--
   * t
   ****************************************************************************
-  * Copyright 2021-2022,2023 Thomas E. Dickey                                *
+  * Copyright 2021-2023,2024 Thomas E. Dickey                                *
   * Copyright 2008-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_threads.3x,v 1.51 2023/12/23 16:22:25 tom Exp @
-  * ***************************************************************************
-  * ***************************************************************************
+  * @Id: curs_threads.3x,v 1.54 2024/01/13 22:05:39 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 https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_threads 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_threads 3x 2024-01-13 ncurses 6.4 Library calls</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_threads 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_threads 3x 2024-01-13 ncurses 6.4 Library calls</H1>
 <PRE>
 <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
 
        The following table lists the scope  of  each  symbol  in  the  <EM>ncurses</EM>
        library when configured to support multi-threaded applications.
 
-            <STRONG>Symbol</STRONG>                  <STRONG>Scope</STRONG>
-            -------------------------------------------------------------
-            <STRONG>BC</STRONG>                      global
-            <STRONG>COLORS</STRONG>                  screen (read-only)
-            <STRONG>COLOR_PAIR</STRONG>              reentrant
-            <STRONG>COLOR_PAIRS</STRONG>             screen (read-only)
-            <STRONG>COLS</STRONG>                    screen (read-only)
-            <STRONG>ESCDELAY</STRONG>                screen (read-only; see <STRONG>set_escdelay</STRONG>)
-            <STRONG>LINES</STRONG>                   screen (read-only)
-            <STRONG>PAIR_NUMBER</STRONG>             reentrant
-            <STRONG>PC</STRONG>                      global
-            <STRONG>SP</STRONG>                      global
-            <STRONG>TABSIZE</STRONG>                 screen (read-only; see <STRONG>set_tabsize</STRONG>)
-            <STRONG>UP</STRONG>                      global
-            <STRONG>acs_map</STRONG>                 screen (read-only)
-            <STRONG>add_wch</STRONG>                 window (<STRONG>stdscr</STRONG>)
-            <STRONG>add_wchnstr</STRONG>             window (<STRONG>stdscr</STRONG>)
-            <STRONG>add_wchstr</STRONG>              window (<STRONG>stdscr</STRONG>)
-            <STRONG>addch</STRONG>                   window (<STRONG>stdscr</STRONG>)
-            <STRONG>addchnstr</STRONG>               window (<STRONG>stdscr</STRONG>)
-            <STRONG>addchstr</STRONG>                window (<STRONG>stdscr</STRONG>)
-            <STRONG>addnstr</STRONG>                 window (<STRONG>stdscr</STRONG>)
-            <STRONG>addnwstr</STRONG>                window (<STRONG>stdscr</STRONG>)
-            <STRONG>addstr</STRONG>                  window (<STRONG>stdscr</STRONG>)
-            <STRONG>addwstr</STRONG>                 window (<STRONG>stdscr</STRONG>)
-            <STRONG>assume_default_colors</STRONG>   screen
-            <STRONG>attr_get</STRONG>                window (<STRONG>stdscr</STRONG>)
-            <STRONG>attr_off</STRONG>                window (<STRONG>stdscr</STRONG>)
-            <STRONG>attr_on</STRONG>                 window (<STRONG>stdscr</STRONG>)
-            <STRONG>attr_set</STRONG>                window (<STRONG>stdscr</STRONG>)
-            <STRONG>attroff</STRONG>                 window (<STRONG>stdscr</STRONG>)
-            <STRONG>attron</STRONG>                  window (<STRONG>stdscr</STRONG>)
-            <STRONG>attrset</STRONG>                 window (<STRONG>stdscr</STRONG>)
-            <STRONG>baudrate</STRONG>                screen
-            <STRONG>beep</STRONG>                    screen
-            <STRONG>bkgd</STRONG>                    window (<STRONG>stdscr</STRONG>)
-            <STRONG>bkgdset</STRONG>                 window (<STRONG>stdscr</STRONG>)
-            <STRONG>bkgrnd</STRONG>                  window (<STRONG>stdscr</STRONG>)
-            <STRONG>bkgrndset</STRONG>               window (<STRONG>stdscr</STRONG>)
-            <STRONG>boolcodes</STRONG>               global (read-only)
-            <STRONG>boolfnames</STRONG>              global (read-only)
-            <STRONG>boolnames</STRONG>               global (read-only)
-            <STRONG>border</STRONG>                  window (<STRONG>stdscr</STRONG>)
-            <STRONG>border_set</STRONG>              window (<STRONG>stdscr</STRONG>)
-            <STRONG>box</STRONG>                     window (<STRONG>stdscr</STRONG>)
-            <STRONG>box_set</STRONG>                 window (<STRONG>stdscr</STRONG>)
-            <STRONG>can_change_color</STRONG>        terminal
-            <STRONG>cbreak</STRONG>                  screen
-
-            <STRONG>chgat</STRONG>                   window (<STRONG>stdscr</STRONG>)
-            <STRONG>clear</STRONG>                   window (<STRONG>stdscr</STRONG>)
-            <STRONG>clearok</STRONG>                 window
-            <STRONG>clrtobot</STRONG>                window (<STRONG>stdscr</STRONG>)
-            <STRONG>clrtoeol</STRONG>                window (<STRONG>stdscr</STRONG>)
-            <STRONG>color_content</STRONG>           screen
-            <STRONG>color_set</STRONG>               window (<STRONG>stdscr</STRONG>)
-            <STRONG>copywin</STRONG>                 window (locks source, target)
-            <STRONG>cur_term</STRONG>                terminal
-            <STRONG>curs_set</STRONG>                screen
-            <STRONG>curscr</STRONG>                  screen (read-only)
-            <STRONG>curses_version</STRONG>          global (read-only)
-            <STRONG>def_prog_mode</STRONG>           terminal
-            <STRONG>def_shell_mode</STRONG>          terminal
-            <STRONG>define_key</STRONG>              screen
-            <STRONG>del_curterm</STRONG>             screen
-            <STRONG>delay_output</STRONG>            screen
-            <STRONG>delch</STRONG>                   window (<STRONG>stdscr</STRONG>)
-            <STRONG>deleteln</STRONG>                window (<STRONG>stdscr</STRONG>)
-            <STRONG>delscreen</STRONG>               global (locks screen list, screen)
-            <STRONG>delwin</STRONG>                  global (locks window list)
-            <STRONG>derwin</STRONG>                  screen
-            <STRONG>doupdate</STRONG>                screen
-            <STRONG>dupwin</STRONG>                  screen (locks window)
-            <STRONG>echo</STRONG>                    screen
-            <STRONG>echo_wchar</STRONG>              window (<STRONG>stdscr</STRONG>)
-            <STRONG>echochar</STRONG>                window (<STRONG>stdscr</STRONG>)
-            <STRONG>endwin</STRONG>                  screen
-            <STRONG>erase</STRONG>                   window (<STRONG>stdscr</STRONG>)
-            <STRONG>erasechar</STRONG>               window (<STRONG>stdscr</STRONG>)
-            <STRONG>erasewchar</STRONG>              window (<STRONG>stdscr</STRONG>)
-            <STRONG>filter</STRONG>                  global
-            <STRONG>flash</STRONG>                   terminal
-            <STRONG>flushinp</STRONG>                screen
-            <STRONG>get_wch</STRONG>                 screen (input operation)
-            <STRONG>get_wstr</STRONG>                screen (input operation)
-            <STRONG>getattrs</STRONG>                window
-            <STRONG>getbegx</STRONG>                 window
-            <STRONG>getbegy</STRONG>                 window
-            <STRONG>getbkgd</STRONG>                 window
-            <STRONG>getbkgrnd</STRONG>               window
-            <STRONG>getcchar</STRONG>                reentrant
-            <STRONG>getch</STRONG>                   screen (input operation)
-            <STRONG>getcurx</STRONG>                 window
-            <STRONG>getcury</STRONG>                 window
-            <STRONG>getmaxx</STRONG>                 window
-            <STRONG>getmaxy</STRONG>                 window
-            <STRONG>getmouse</STRONG>                screen (input operation)
-            <STRONG>getn_wstr</STRONG>               screen (input operation)
-            <STRONG>getnstr</STRONG>                 screen (input operation)
-            <STRONG>getparx</STRONG>                 window
-            <STRONG>getpary</STRONG>                 window
-            <STRONG>getstr</STRONG>                  screen (input operation)
-            <STRONG>getwin</STRONG>                  screen (input operation)
-            <STRONG>halfdelay</STRONG>               screen
-            <STRONG>has_colors</STRONG>              terminal
-            <STRONG>has_ic</STRONG>                  terminal
-            <STRONG>has_il</STRONG>                  terminal
-            <STRONG>has_key</STRONG>                 screen
-            <STRONG>hline</STRONG>                   window (<STRONG>stdscr</STRONG>)
-            <STRONG>hline_set</STRONG>               window (<STRONG>stdscr</STRONG>)
-            <STRONG>idcok</STRONG>                   window
-            <STRONG>idlok</STRONG>                   window
-            <STRONG>immedok</STRONG>                 window
-            <STRONG>in_wch</STRONG>                  window (<STRONG>stdscr</STRONG>)
-            <STRONG>in_wchnstr</STRONG>              window (<STRONG>stdscr</STRONG>)
-
-            <STRONG>in_wchstr</STRONG>               window (<STRONG>stdscr</STRONG>)
-            <STRONG>inch</STRONG>                    window (<STRONG>stdscr</STRONG>)
-            <STRONG>inchnstr</STRONG>                window (<STRONG>stdscr</STRONG>)
-            <STRONG>inchstr</STRONG>                 window (<STRONG>stdscr</STRONG>)
-            <STRONG>init_color</STRONG>              screen
-            <STRONG>init_pair</STRONG>               screen
-            <STRONG>initscr</STRONG>                 global (locks screen list)
-            <STRONG>innstr</STRONG>                  window (<STRONG>stdscr</STRONG>)
-            <STRONG>innwstr</STRONG>                 window (<STRONG>stdscr</STRONG>)
-            <STRONG>ins_nwstr</STRONG>               window (<STRONG>stdscr</STRONG>)
-            <STRONG>ins_wch</STRONG>                 window (<STRONG>stdscr</STRONG>)
-            <STRONG>ins_wstr</STRONG>                window (<STRONG>stdscr</STRONG>)
-            <STRONG>insch</STRONG>                   window (<STRONG>stdscr</STRONG>)
-            <STRONG>insdelln</STRONG>                window (<STRONG>stdscr</STRONG>)
-            <STRONG>insertln</STRONG>                window (<STRONG>stdscr</STRONG>)
-            <STRONG>insnstr</STRONG>                 window (<STRONG>stdscr</STRONG>)
-            <STRONG>insstr</STRONG>                  window (<STRONG>stdscr</STRONG>)
-            <STRONG>instr</STRONG>                   window (<STRONG>stdscr</STRONG>)
-            <STRONG>intrflush</STRONG>               terminal
-            <STRONG>inwstr</STRONG>                  window (<STRONG>stdscr</STRONG>)
-            <STRONG>is_cleared</STRONG>              window
-            <STRONG>is_idcok</STRONG>                window
-            <STRONG>is_idlok</STRONG>                window
-            <STRONG>is_immedok</STRONG>              window
-            <STRONG>is_keypad</STRONG>               window
-            <STRONG>is_leaveok</STRONG>              window
-            <STRONG>is_linetouched</STRONG>          window
-            <STRONG>is_nodelay</STRONG>              window
-            <STRONG>is_notimeout</STRONG>            window
-            <STRONG>is_scrollok</STRONG>             window
-            <STRONG>is_syncok</STRONG>               window
-            <STRONG>is_term_resized</STRONG>         terminal
-            <STRONG>is_wintouched</STRONG>           window
-            <STRONG>isendwin</STRONG>                screen
-            <STRONG>key_defined</STRONG>             screen
-            <STRONG>key_name</STRONG>                global (static data)
-            <STRONG>keybound</STRONG>                screen
-            <STRONG>keyname</STRONG>                 global (static data)
-            <STRONG>keyok</STRONG>                   screen
-            <STRONG>keypad</STRONG>                  window
-            <STRONG>killchar</STRONG>                terminal
-            <STRONG>killwchar</STRONG>               terminal
-            <STRONG>leaveok</STRONG>                 window
-            <STRONG>longname</STRONG>                screen
-            <STRONG>mcprint</STRONG>                 terminal
-            <STRONG>meta</STRONG>                    screen
-            <STRONG>mouse_trafo</STRONG>             window (<STRONG>stdscr</STRONG>)
-            <STRONG>mouseinterval</STRONG>           screen
-            <STRONG>mousemask</STRONG>               screen
-            <STRONG>move</STRONG>                    window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvadd_wch</STRONG>               window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvadd_wchnstr</STRONG>           window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvadd_wchstr</STRONG>            window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvaddch</STRONG>                 window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvaddchnstr</STRONG>             window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvaddchstr</STRONG>              window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvaddnstr</STRONG>               window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvaddnwstr</STRONG>              window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvaddstr</STRONG>                window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvaddwstr</STRONG>               window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvchgat</STRONG>                 window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvcur</STRONG>                   screen
-            <STRONG>mvdelch</STRONG>                 window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvderwin</STRONG>                window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvget_wch</STRONG>               screen (input operation)
-            <STRONG>mvget_wstr</STRONG>              screen (input operation)
-
-            <STRONG>mvgetch</STRONG>                 screen (input operation)
-            <STRONG>mvgetn_wstr</STRONG>             screen (input operation)
-            <STRONG>mvgetnstr</STRONG>               screen (input operation)
-            <STRONG>mvgetstr</STRONG>                screen (input operation)
-            <STRONG>mvhline</STRONG>                 window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvhline_set</STRONG>             window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvin_wch</STRONG>                window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvin_wchnstr</STRONG>            window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvin_wchstr</STRONG>             window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvinch</STRONG>                  window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvinchnstr</STRONG>              window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvinchstr</STRONG>               window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvinnstr</STRONG>                window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvinnwstr</STRONG>               window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvins_nwstr</STRONG>             window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvins_wch</STRONG>               window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvins_wstr</STRONG>              window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvinsch</STRONG>                 window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvinsnstr</STRONG>               window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvinsstr</STRONG>                window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvinstr</STRONG>                 window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvinwstr</STRONG>                window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvprintw</STRONG>                window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvscanw</STRONG>                 screen
-            <STRONG>mvvline</STRONG>                 window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvvline_set</STRONG>             window (<STRONG>stdscr</STRONG>)
-            <STRONG>mvwadd_wch</STRONG>              window
-            <STRONG>mvwadd_wchnstr</STRONG>          window
-            <STRONG>mvwadd_wchstr</STRONG>           window
-            <STRONG>mvwaddch</STRONG>                window
-            <STRONG>mvwaddchnstr</STRONG>            window
-            <STRONG>mvwaddchstr</STRONG>             window
-            <STRONG>mvwaddnstr</STRONG>              window
-            <STRONG>mvwaddnwstr</STRONG>             window
-            <STRONG>mvwaddstr</STRONG>               window
-            <STRONG>mvwaddwstr</STRONG>              window
-            <STRONG>mvwchgat</STRONG>                window
-            <STRONG>mvwdelch</STRONG>                window
-            <STRONG>mvwget_wch</STRONG>              screen (input operation)
-            <STRONG>mvwget_wstr</STRONG>             screen (input operation)
-            <STRONG>mvwgetch</STRONG>                screen (input operation)
-            <STRONG>mvwgetn_wstr</STRONG>            screen (input operation)
-            <STRONG>mvwgetnstr</STRONG>              screen (input operation)
-            <STRONG>mvwgetstr</STRONG>               screen (input operation)
-            <STRONG>mvwhline</STRONG>                window
-            <STRONG>mvwhline_set</STRONG>            window
-            <STRONG>mvwin</STRONG>                   window
-            <STRONG>mvwin_wch</STRONG>               window
-            <STRONG>mvwin_wchnstr</STRONG>           window
-            <STRONG>mvwin_wchstr</STRONG>            window
-            <STRONG>mvwinch</STRONG>                 window
-            <STRONG>mvwinchnstr</STRONG>             window
-            <STRONG>mvwinchstr</STRONG>              window
-            <STRONG>mvwinnstr</STRONG>               window
-            <STRONG>mvwinnwstr</STRONG>              window
-            <STRONG>mvwins_nwstr</STRONG>            window
-            <STRONG>mvwins_wch</STRONG>              window
-            <STRONG>mvwins_wstr</STRONG>             window
-            <STRONG>mvwinsch</STRONG>                window
-            <STRONG>mvwinsnstr</STRONG>              window
-            <STRONG>mvwinsstr</STRONG>               window
-            <STRONG>mvwinstr</STRONG>                window
-            <STRONG>mvwinwstr</STRONG>               window
-            <STRONG>mvwprintw</STRONG>               window
-            <STRONG>mvwscanw</STRONG>                screen
-            <STRONG>mvwvline</STRONG>                window
-
-            <STRONG>mvwvline_set</STRONG>            window
-            <STRONG>napms</STRONG>                   reentrant
-            <STRONG>newpad</STRONG>                  global (locks window list)
-            <STRONG>newscr</STRONG>                  screen (read-only)
-            <STRONG>newterm</STRONG>                 global (locks screen list)
-            <STRONG>newwin</STRONG>                  global (locks window list)
-            <STRONG>nl</STRONG>                      screen
-            <STRONG>nocbreak</STRONG>                screen
-            <STRONG>nodelay</STRONG>                 window
-            <STRONG>noecho</STRONG>                  screen
-            <STRONG>nofilter</STRONG>                global
-            <STRONG>nonl</STRONG>                    screen
-            <STRONG>noqiflush</STRONG>               terminal
-            <STRONG>noraw</STRONG>                   screen
-            <STRONG>notimeout</STRONG>               window
-            <STRONG>numcodes</STRONG>                global (read-only)
-            <STRONG>numfnames</STRONG>               global (read-only)
-            <STRONG>numnames</STRONG>                global (read-only)
-            <STRONG>ospeed</STRONG>                  global
-            <STRONG>overlay</STRONG>                 window (locks source, target)
-            <STRONG>overwrite</STRONG>               window (locks source, target)
-            <STRONG>pair_content</STRONG>            screen
-            <STRONG>pecho_wchar</STRONG>             screen
-            <STRONG>pechochar</STRONG>               screen
-            <STRONG>pnoutrefresh</STRONG>            screen
-            <STRONG>prefresh</STRONG>                screen
-            <STRONG>printw</STRONG>                  window
-            <STRONG>putp</STRONG>                    global
-            <STRONG>putwin</STRONG>                  window
-            <STRONG>qiflush</STRONG>                 terminal
-            <STRONG>raw</STRONG>                     screen
-            <STRONG>redrawwin</STRONG>               window
-            <STRONG>refresh</STRONG>                 screen
-            <STRONG>reset_prog_mode</STRONG>         screen
-            <STRONG>reset_shell_mode</STRONG>        screen
-            <STRONG>resetty</STRONG>                 terminal
-            <STRONG>resize_term</STRONG>             screen (locks window list)
-            <STRONG>resizeterm</STRONG>              screen
-            <STRONG>restartterm</STRONG>             screen
-            <STRONG>ripoffline</STRONG>              global (static data)
-            <STRONG>savetty</STRONG>                 terminal
-            <STRONG>scanw</STRONG>                   screen
-            <STRONG>scr_dump</STRONG>                screen
-            <STRONG>scr_init</STRONG>                screen
-            <STRONG>scr_restore</STRONG>             screen
-            <STRONG>scr_set</STRONG>                 screen
-            <STRONG>scrl</STRONG>                    window (<STRONG>stdscr</STRONG>)
-            <STRONG>scroll</STRONG>                  window
-            <STRONG>scrollok</STRONG>                window
-            <STRONG>set_curterm</STRONG>             screen
-            <STRONG>set_escdelay</STRONG>            screen
-            <STRONG>set_tabsize</STRONG>             screen
-            <STRONG>set_term</STRONG>                global (locks screen list, screen)
-            <STRONG>setcchar</STRONG>                reentrant
-            <STRONG>setscrreg</STRONG>               window (<STRONG>stdscr</STRONG>)
-            <STRONG>setupterm</STRONG>               global
-            <STRONG>slk_attr</STRONG>                screen
-            <STRONG>slk_attr_off</STRONG>            screen
-            <STRONG>slk_attr_on</STRONG>             screen
-            <STRONG>slk_attr_set</STRONG>            screen
-            <STRONG>slk_attroff</STRONG>             screen
-            <STRONG>slk_attron</STRONG>              screen
-            <STRONG>slk_attrset</STRONG>             screen
-            <STRONG>slk_clear</STRONG>               screen
-            <STRONG>slk_color</STRONG>               screen
-            <STRONG>slk_init</STRONG>                screen
-
-            <STRONG>slk_label</STRONG>               screen
-            <STRONG>slk_noutrefresh</STRONG>         screen
-            <STRONG>slk_refresh</STRONG>             screen
-            <STRONG>slk_restore</STRONG>             screen
-            <STRONG>slk_set</STRONG>                 screen
-            <STRONG>slk_touch</STRONG>               screen
-            <STRONG>slk_wset</STRONG>                screen
-            <STRONG>standend</STRONG>                window
-            <STRONG>standout</STRONG>                window
-            <STRONG>start_color</STRONG>             screen
-            <STRONG>stdscr</STRONG>                  screen (read-only)
-            <STRONG>strcodes</STRONG>                global (read-only)
-            <STRONG>strfnames</STRONG>               global (read-only)
-            <STRONG>strnames</STRONG>                global (read-only)
-            <STRONG>subpad</STRONG>                  window
-            <STRONG>subwin</STRONG>                  window
-            <STRONG>syncok</STRONG>                  window
-            <STRONG>term_attrs</STRONG>              screen
-            <STRONG>termattrs</STRONG>               screen
-            <STRONG>termname</STRONG>                terminal
-            <STRONG>tgetent</STRONG>                 global
-            <STRONG>tgetflag</STRONG>                global
-            <STRONG>tgetnum</STRONG>                 global
-            <STRONG>tgetstr</STRONG>                 global
-            <STRONG>tgoto</STRONG>                   global
-            <STRONG>tigetflag</STRONG>               terminal
-            <STRONG>tigetnum</STRONG>                terminal
-            <STRONG>tigetstr</STRONG>                terminal
-            <STRONG>timeout</STRONG>                 window (<STRONG>stdscr</STRONG>)
-            <STRONG>touchline</STRONG>               window
-            <STRONG>touchwin</STRONG>                window
-            <STRONG>tparm</STRONG>                   global (static data)
-            <STRONG>tputs</STRONG>                   screen
-            <STRONG>trace</STRONG>                   global (static data)
-            <STRONG>ttytype</STRONG>                 screen (read-only)
-            <STRONG>typeahead</STRONG>               screen
-            <STRONG>unctrl</STRONG>                  screen
-            <STRONG>unget_wch</STRONG>               screen (input operation)
-            <STRONG>ungetch</STRONG>                 screen (input operation)
-            <STRONG>ungetmouse</STRONG>              screen (input operation)
-            <STRONG>untouchwin</STRONG>              window
-            <STRONG>use_default_colors</STRONG>      screen
-            <STRONG>use_env</STRONG>                 global (static data)
-            <STRONG>use_extended_names</STRONG>      global (static data)
-            <STRONG>use_legacy_coding</STRONG>       screen
-            <STRONG>use_screen</STRONG>              global (locks screen list, screen)
-            <STRONG>use_window</STRONG>              global (locks window list, window)
-            <STRONG>vid_attr</STRONG>                screen
-            <STRONG>vid_puts</STRONG>                screen
-            <STRONG>vidattr</STRONG>                 screen
-            <STRONG>vidputs</STRONG>                 screen
-            <STRONG>vline</STRONG>                   window (<STRONG>stdscr</STRONG>)
-            <STRONG>vline_set</STRONG>               window (<STRONG>stdscr</STRONG>)
-            <STRONG>vw_printw</STRONG>               window
-            <STRONG>vw_scanw</STRONG>                screen
-            <STRONG>vwprintw</STRONG>                window
-            <STRONG>vwscanw</STRONG>                 screen
-            <STRONG>wadd_wch</STRONG>                window
-            <STRONG>wadd_wchnstr</STRONG>            window
-            <STRONG>wadd_wchstr</STRONG>             window
-            <STRONG>waddch</STRONG>                  window
-            <STRONG>waddchnstr</STRONG>              window
-            <STRONG>waddchstr</STRONG>               window
-            <STRONG>waddnstr</STRONG>                window
-            <STRONG>waddnwstr</STRONG>               window
-            <STRONG>waddstr</STRONG>                 window
-
-            <STRONG>waddwstr</STRONG>                window
-            <STRONG>wattr_get</STRONG>               window
-            <STRONG>wattr_off</STRONG>               window
-            <STRONG>wattr_on</STRONG>                window
-            <STRONG>wattr_set</STRONG>               window
-            <STRONG>wattroff</STRONG>                window
-            <STRONG>wattron</STRONG>                 window
-            <STRONG>wattrset</STRONG>                window
-            <STRONG>wbkgd</STRONG>                   window
-            <STRONG>wbkgdset</STRONG>                window
-            <STRONG>wbkgrnd</STRONG>                 window
-            <STRONG>wbkgrndset</STRONG>              window
-            <STRONG>wborder</STRONG>                 window
-            <STRONG>wborder_set</STRONG>             window
-            <STRONG>wchgat</STRONG>                  window
-            <STRONG>wclear</STRONG>                  window
-            <STRONG>wclrtobot</STRONG>               window
-            <STRONG>wclrtoeol</STRONG>               window
-            <STRONG>wcolor_set</STRONG>              window
-            <STRONG>wcursyncup</STRONG>              screen (affects window plus parents)
-            <STRONG>wdelch</STRONG>                  window
-            <STRONG>wdeleteln</STRONG>               window
-            <STRONG>wecho_wchar</STRONG>             window
-            <STRONG>wechochar</STRONG>               window
-            <STRONG>wenclose</STRONG>                window
-            <STRONG>werase</STRONG>                  window
-            <STRONG>wget_wch</STRONG>                screen (input operation)
-            <STRONG>wget_wstr</STRONG>               screen (input operation)
-            <STRONG>wgetbkgrnd</STRONG>              window
-            <STRONG>wgetch</STRONG>                  screen (input operation)
-            <STRONG>wgetdelay</STRONG>               window
-            <STRONG>wgetn_wstr</STRONG>              screen (input operation)
-            <STRONG>wgetnstr</STRONG>                screen (input operation)
-            <STRONG>wgetparent</STRONG>              window
-            <STRONG>wgetscrreg</STRONG>              window
-            <STRONG>wgetstr</STRONG>                 screen (input operation)
-            <STRONG>whline</STRONG>                  window
-            <STRONG>whline_set</STRONG>              window
-            <STRONG>win_wch</STRONG>                 window
-            <STRONG>win_wchnstr</STRONG>             window
-            <STRONG>win_wchstr</STRONG>              window
-            <STRONG>winch</STRONG>                   window
-            <STRONG>winchnstr</STRONG>               window
-            <STRONG>winchstr</STRONG>                window
-            <STRONG>winnstr</STRONG>                 window
-            <STRONG>winnwstr</STRONG>                window
-            <STRONG>wins_nwstr</STRONG>              window
-            <STRONG>wins_wch</STRONG>                window
-            <STRONG>wins_wstr</STRONG>               window
-            <STRONG>winsch</STRONG>                  window
-            <STRONG>winsdelln</STRONG>               window
-            <STRONG>winsertln</STRONG>               window
-            <STRONG>winsnstr</STRONG>                window
-            <STRONG>winsstr</STRONG>                 window
-            <STRONG>winstr</STRONG>                  window
-            <STRONG>winwstr</STRONG>                 window
-            <STRONG>wmouse_trafo</STRONG>            window
-            <STRONG>wmove</STRONG>                   window
-            <STRONG>wnoutrefresh</STRONG>            screen
-            <STRONG>wprintw</STRONG>                 window
-            <STRONG>wredrawln</STRONG>               window
-            <STRONG>wrefresh</STRONG>                screen
-            <STRONG>wresize</STRONG>                 window (locks window list)
-            <STRONG>wscanw</STRONG>                  screen
-            <STRONG>wscrl</STRONG>                   window
-            <STRONG>wsetscrreg</STRONG>              window
-
-            <STRONG>wstandend</STRONG>               window
-            <STRONG>wstandout</STRONG>               window
-            <STRONG>wsyncdown</STRONG>               screen (affects window plus parents)
-            <STRONG>wsyncup</STRONG>                 screen (affects window plus parents)
-            <STRONG>wtimeout</STRONG>                window
-            <STRONG>wtouchln</STRONG>                window
-            <STRONG>wunctrl</STRONG>                 global (static data)
-            <STRONG>wvline</STRONG>                  window
-            <STRONG>wvline_set</STRONG>              window
+       <STRONG>Symbol</STRONG>                 <STRONG>Scope</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>BC</STRONG>                     global
+       <STRONG>COLORS</STRONG>                 screen (read-only)
+       <STRONG>COLOR_PAIR</STRONG>             reentrant
+       <STRONG>COLOR_PAIRS</STRONG>            screen (read-only)
+       <STRONG>COLS</STRONG>                   screen (read-only)
+       <STRONG>ESCDELAY</STRONG>               screen (read-only; see <STRONG>set_escdelay</STRONG>)
+       <STRONG>LINES</STRONG>                  screen (read-only)
+       <STRONG>PAIR_NUMBER</STRONG>            reentrant
+       <STRONG>PC</STRONG>                     global
+       <STRONG>SP</STRONG>                     global
+       <STRONG>TABSIZE</STRONG>                screen (read-only; see <STRONG>set_tabsize</STRONG>)
+       <STRONG>UP</STRONG>                     global
+       <STRONG>acs_map</STRONG>                screen (read-only)
+       <STRONG>add_wch</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>add_wchnstr</STRONG>            window (<STRONG>stdscr</STRONG>)
+       <STRONG>add_wchstr</STRONG>             window (<STRONG>stdscr</STRONG>)
+       <STRONG>addch</STRONG>                  window (<STRONG>stdscr</STRONG>)
+       <STRONG>addchnstr</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>addchstr</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>addnstr</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>addnwstr</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>addstr</STRONG>                 window (<STRONG>stdscr</STRONG>)
+       <STRONG>addwstr</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>assume_default_colors</STRONG>  screen
+       <STRONG>attr_get</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>attr_off</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>attr_on</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>attr_set</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>attroff</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>attron</STRONG>                 window (<STRONG>stdscr</STRONG>)
+       <STRONG>attrset</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>baudrate</STRONG>               screen
+       <STRONG>beep</STRONG>                   screen
+       <STRONG>bkgd</STRONG>                   window (<STRONG>stdscr</STRONG>)
+       <STRONG>bkgdset</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>bkgrnd</STRONG>                 window (<STRONG>stdscr</STRONG>)
+       <STRONG>bkgrndset</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>boolcodes</STRONG>              global (read-only)
+       <STRONG>boolfnames</STRONG>             global (read-only)
+       <STRONG>boolnames</STRONG>              global (read-only)
+       <STRONG>border</STRONG>                 window (<STRONG>stdscr</STRONG>)
+       <STRONG>border_set</STRONG>             window (<STRONG>stdscr</STRONG>)
+       <STRONG>box</STRONG>                    window (<STRONG>stdscr</STRONG>)
+       <STRONG>box_set</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>can_change_color</STRONG>       terminal
+       <STRONG>cbreak</STRONG>                 screen
+
+       <STRONG>chgat</STRONG>                  window (<STRONG>stdscr</STRONG>)
+       <STRONG>clear</STRONG>                  window (<STRONG>stdscr</STRONG>)
+       <STRONG>clearok</STRONG>                window
+       <STRONG>clrtobot</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>clrtoeol</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>color_content</STRONG>          screen
+       <STRONG>color_set</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>copywin</STRONG>                window (locks source, target)
+       <STRONG>cur_term</STRONG>               terminal
+       <STRONG>curs_set</STRONG>               screen
+       <STRONG>curscr</STRONG>                 screen (read-only)
+       <STRONG>curses_version</STRONG>         global (read-only)
+       <STRONG>def_prog_mode</STRONG>          terminal
+       <STRONG>def_shell_mode</STRONG>         terminal
+       <STRONG>define_key</STRONG>             screen
+       <STRONG>del_curterm</STRONG>            screen
+       <STRONG>delay_output</STRONG>           screen
+       <STRONG>delch</STRONG>                  window (<STRONG>stdscr</STRONG>)
+       <STRONG>deleteln</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>delscreen</STRONG>              global (locks screen list, screen)
+       <STRONG>delwin</STRONG>                 global (locks window list)
+       <STRONG>derwin</STRONG>                 screen
+       <STRONG>doupdate</STRONG>               screen
+       <STRONG>dupwin</STRONG>                 screen (locks window)
+       <STRONG>echo</STRONG>                   screen
+       <STRONG>echo_wchar</STRONG>             window (<STRONG>stdscr</STRONG>)
+       <STRONG>echochar</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>endwin</STRONG>                 screen
+       <STRONG>erase</STRONG>                  window (<STRONG>stdscr</STRONG>)
+       <STRONG>erasechar</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>erasewchar</STRONG>             window (<STRONG>stdscr</STRONG>)
+       <STRONG>filter</STRONG>                 global
+       <STRONG>flash</STRONG>                  terminal
+       <STRONG>flushinp</STRONG>               screen
+       <STRONG>get_wch</STRONG>                screen (input operation)
+       <STRONG>get_wstr</STRONG>               screen (input operation)
+       <STRONG>getattrs</STRONG>               window
+       <STRONG>getbegx</STRONG>                window
+       <STRONG>getbegy</STRONG>                window
+       <STRONG>getbkgd</STRONG>                window
+       <STRONG>getbkgrnd</STRONG>              window
+       <STRONG>getcchar</STRONG>               reentrant
+       <STRONG>getch</STRONG>                  screen (input operation)
+       <STRONG>getcurx</STRONG>                window
+       <STRONG>getcury</STRONG>                window
+       <STRONG>getmaxx</STRONG>                window
+       <STRONG>getmaxy</STRONG>                window
+       <STRONG>getmouse</STRONG>               screen (input operation)
+       <STRONG>getn_wstr</STRONG>              screen (input operation)
+       <STRONG>getnstr</STRONG>                screen (input operation)
+       <STRONG>getparx</STRONG>                window
+       <STRONG>getpary</STRONG>                window
+       <STRONG>getstr</STRONG>                 screen (input operation)
+       <STRONG>getwin</STRONG>                 screen (input operation)
+       <STRONG>halfdelay</STRONG>              screen
+       <STRONG>has_colors</STRONG>             terminal
+       <STRONG>has_ic</STRONG>                 terminal
+       <STRONG>has_il</STRONG>                 terminal
+       <STRONG>has_key</STRONG>                screen
+       <STRONG>hline</STRONG>                  window (<STRONG>stdscr</STRONG>)
+       <STRONG>hline_set</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>idcok</STRONG>                  window
+       <STRONG>idlok</STRONG>                  window
+       <STRONG>immedok</STRONG>                window
+       <STRONG>in_wch</STRONG>                 window (<STRONG>stdscr</STRONG>)
+       <STRONG>in_wchnstr</STRONG>             window (<STRONG>stdscr</STRONG>)
+
+       <STRONG>in_wchstr</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>inch</STRONG>                   window (<STRONG>stdscr</STRONG>)
+       <STRONG>inchnstr</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>inchstr</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>init_color</STRONG>             screen
+       <STRONG>init_pair</STRONG>              screen
+       <STRONG>initscr</STRONG>                global (locks screen list)
+       <STRONG>innstr</STRONG>                 window (<STRONG>stdscr</STRONG>)
+       <STRONG>innwstr</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>ins_nwstr</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>ins_wch</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>ins_wstr</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>insch</STRONG>                  window (<STRONG>stdscr</STRONG>)
+       <STRONG>insdelln</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>insertln</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>insnstr</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>insstr</STRONG>                 window (<STRONG>stdscr</STRONG>)
+       <STRONG>instr</STRONG>                  window (<STRONG>stdscr</STRONG>)
+       <STRONG>intrflush</STRONG>              terminal
+       <STRONG>inwstr</STRONG>                 window (<STRONG>stdscr</STRONG>)
+       <STRONG>is_cleared</STRONG>             window
+       <STRONG>is_idcok</STRONG>               window
+       <STRONG>is_idlok</STRONG>               window
+       <STRONG>is_immedok</STRONG>             window
+       <STRONG>is_keypad</STRONG>              window
+       <STRONG>is_leaveok</STRONG>             window
+       <STRONG>is_linetouched</STRONG>         window
+       <STRONG>is_nodelay</STRONG>             window
+       <STRONG>is_notimeout</STRONG>           window
+       <STRONG>is_scrollok</STRONG>            window
+       <STRONG>is_syncok</STRONG>              window
+       <STRONG>is_term_resized</STRONG>        terminal
+       <STRONG>is_wintouched</STRONG>          window
+       <STRONG>isendwin</STRONG>               screen
+       <STRONG>key_defined</STRONG>            screen
+       <STRONG>key_name</STRONG>               global (static data)
+       <STRONG>keybound</STRONG>               screen
+       <STRONG>keyname</STRONG>                global (static data)
+       <STRONG>keyok</STRONG>                  screen
+       <STRONG>keypad</STRONG>                 window
+       <STRONG>killchar</STRONG>               terminal
+       <STRONG>killwchar</STRONG>              terminal
+       <STRONG>leaveok</STRONG>                window
+       <STRONG>longname</STRONG>               screen
+       <STRONG>mcprint</STRONG>                terminal
+       <STRONG>meta</STRONG>                   screen
+       <STRONG>mouse_trafo</STRONG>            window (<STRONG>stdscr</STRONG>)
+       <STRONG>mouseinterval</STRONG>          screen
+       <STRONG>mousemask</STRONG>              screen
+       <STRONG>move</STRONG>                   window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvadd_wch</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvadd_wchnstr</STRONG>          window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvadd_wchstr</STRONG>           window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvaddch</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvaddchnstr</STRONG>            window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvaddchstr</STRONG>             window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvaddnstr</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvaddnwstr</STRONG>             window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvaddstr</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvaddwstr</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvchgat</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvcur</STRONG>                  screen
+       <STRONG>mvdelch</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvderwin</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvget_wch</STRONG>              screen (input operation)
+       <STRONG>mvget_wstr</STRONG>             screen (input operation)
+
+       <STRONG>mvgetch</STRONG>                screen (input operation)
+       <STRONG>mvgetn_wstr</STRONG>            screen (input operation)
+       <STRONG>mvgetnstr</STRONG>              screen (input operation)
+       <STRONG>mvgetstr</STRONG>               screen (input operation)
+       <STRONG>mvhline</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvhline_set</STRONG>            window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvin_wch</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvin_wchnstr</STRONG>           window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvin_wchstr</STRONG>            window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvinch</STRONG>                 window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvinchnstr</STRONG>             window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvinchstr</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvinnstr</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvinnwstr</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvins_nwstr</STRONG>            window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvins_wch</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvins_wstr</STRONG>             window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvinsch</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvinsnstr</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvinsstr</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvinstr</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvinwstr</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvprintw</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvscanw</STRONG>                screen
+       <STRONG>mvvline</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvvline_set</STRONG>            window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvwadd_wch</STRONG>             window
+       <STRONG>mvwadd_wchnstr</STRONG>         window
+       <STRONG>mvwadd_wchstr</STRONG>          window
+       <STRONG>mvwaddch</STRONG>               window
+       <STRONG>mvwaddchnstr</STRONG>           window
+       <STRONG>mvwaddchstr</STRONG>            window
+       <STRONG>mvwaddnstr</STRONG>             window
+       <STRONG>mvwaddnwstr</STRONG>            window
+       <STRONG>mvwaddstr</STRONG>              window
+       <STRONG>mvwaddwstr</STRONG>             window
+       <STRONG>mvwchgat</STRONG>               window
+       <STRONG>mvwdelch</STRONG>               window
+       <STRONG>mvwget_wch</STRONG>             screen (input operation)
+       <STRONG>mvwget_wstr</STRONG>            screen (input operation)
+       <STRONG>mvwgetch</STRONG>               screen (input operation)
+       <STRONG>mvwgetn_wstr</STRONG>           screen (input operation)
+       <STRONG>mvwgetnstr</STRONG>             screen (input operation)
+       <STRONG>mvwgetstr</STRONG>              screen (input operation)
+       <STRONG>mvwhline</STRONG>               window
+       <STRONG>mvwhline_set</STRONG>           window
+       <STRONG>mvwin</STRONG>                  window
+       <STRONG>mvwin_wch</STRONG>              window
+       <STRONG>mvwin_wchnstr</STRONG>          window
+       <STRONG>mvwin_wchstr</STRONG>           window
+       <STRONG>mvwinch</STRONG>                window
+       <STRONG>mvwinchnstr</STRONG>            window
+       <STRONG>mvwinchstr</STRONG>             window
+       <STRONG>mvwinnstr</STRONG>              window
+       <STRONG>mvwinnwstr</STRONG>             window
+       <STRONG>mvwins_nwstr</STRONG>           window
+       <STRONG>mvwins_wch</STRONG>             window
+       <STRONG>mvwins_wstr</STRONG>            window
+       <STRONG>mvwinsch</STRONG>               window
+       <STRONG>mvwinsnstr</STRONG>             window
+       <STRONG>mvwinsstr</STRONG>              window
+       <STRONG>mvwinstr</STRONG>               window
+       <STRONG>mvwinwstr</STRONG>              window
+       <STRONG>mvwprintw</STRONG>              window
+       <STRONG>mvwscanw</STRONG>               screen
+       <STRONG>mvwvline</STRONG>               window
+
+       <STRONG>mvwvline_set</STRONG>           window
+       <STRONG>napms</STRONG>                  reentrant
+       <STRONG>newpad</STRONG>                 global (locks window list)
+       <STRONG>newscr</STRONG>                 screen (read-only)
+       <STRONG>newterm</STRONG>                global (locks screen list)
+       <STRONG>newwin</STRONG>                 global (locks window list)
+       <STRONG>nl</STRONG>                     screen
+       <STRONG>nocbreak</STRONG>               screen
+       <STRONG>nodelay</STRONG>                window
+       <STRONG>noecho</STRONG>                 screen
+       <STRONG>nofilter</STRONG>               global
+       <STRONG>nonl</STRONG>                   screen
+       <STRONG>noqiflush</STRONG>              terminal
+       <STRONG>noraw</STRONG>                  screen
+       <STRONG>notimeout</STRONG>              window
+       <STRONG>numcodes</STRONG>               global (read-only)
+       <STRONG>numfnames</STRONG>              global (read-only)
+       <STRONG>numnames</STRONG>               global (read-only)
+       <STRONG>ospeed</STRONG>                 global
+       <STRONG>overlay</STRONG>                window (locks source, target)
+       <STRONG>overwrite</STRONG>              window (locks source, target)
+       <STRONG>pair_content</STRONG>           screen
+       <STRONG>pecho_wchar</STRONG>            screen
+       <STRONG>pechochar</STRONG>              screen
+       <STRONG>pnoutrefresh</STRONG>           screen
+       <STRONG>prefresh</STRONG>               screen
+       <STRONG>printw</STRONG>                 window
+       <STRONG>putp</STRONG>                   global
+       <STRONG>putwin</STRONG>                 window
+       <STRONG>qiflush</STRONG>                terminal
+       <STRONG>raw</STRONG>                    screen
+       <STRONG>redrawwin</STRONG>              window
+       <STRONG>refresh</STRONG>                screen
+       <STRONG>reset_prog_mode</STRONG>        screen
+       <STRONG>reset_shell_mode</STRONG>       screen
+       <STRONG>resetty</STRONG>                terminal
+       <STRONG>resize_term</STRONG>            screen (locks window list)
+       <STRONG>resizeterm</STRONG>             screen
+       <STRONG>restartterm</STRONG>            screen
+       <STRONG>ripoffline</STRONG>             global (static data)
+       <STRONG>savetty</STRONG>                terminal
+       <STRONG>scanw</STRONG>                  screen
+       <STRONG>scr_dump</STRONG>               screen
+       <STRONG>scr_init</STRONG>               screen
+       <STRONG>scr_restore</STRONG>            screen
+       <STRONG>scr_set</STRONG>                screen
+       <STRONG>scrl</STRONG>                   window (<STRONG>stdscr</STRONG>)
+       <STRONG>scroll</STRONG>                 window
+       <STRONG>scrollok</STRONG>               window
+       <STRONG>set_curterm</STRONG>            screen
+       <STRONG>set_escdelay</STRONG>           screen
+       <STRONG>set_tabsize</STRONG>            screen
+       <STRONG>set_term</STRONG>               global (locks screen list, screen)
+       <STRONG>setcchar</STRONG>               reentrant
+       <STRONG>setscrreg</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>setupterm</STRONG>              global
+       <STRONG>slk_attr</STRONG>               screen
+       <STRONG>slk_attr_off</STRONG>           screen
+       <STRONG>slk_attr_on</STRONG>            screen
+       <STRONG>slk_attr_set</STRONG>           screen
+       <STRONG>slk_attroff</STRONG>            screen
+       <STRONG>slk_attron</STRONG>             screen
+       <STRONG>slk_attrset</STRONG>            screen
+       <STRONG>slk_clear</STRONG>              screen
+       <STRONG>slk_color</STRONG>              screen
+       <STRONG>slk_init</STRONG>               screen
+
+       <STRONG>slk_label</STRONG>              screen
+       <STRONG>slk_noutrefresh</STRONG>        screen
+       <STRONG>slk_refresh</STRONG>            screen
+       <STRONG>slk_restore</STRONG>            screen
+       <STRONG>slk_set</STRONG>                screen
+       <STRONG>slk_touch</STRONG>              screen
+       <STRONG>slk_wset</STRONG>               screen
+       <STRONG>standend</STRONG>               window
+       <STRONG>standout</STRONG>               window
+       <STRONG>start_color</STRONG>            screen
+       <STRONG>stdscr</STRONG>                 screen (read-only)
+       <STRONG>strcodes</STRONG>               global (read-only)
+       <STRONG>strfnames</STRONG>              global (read-only)
+       <STRONG>strnames</STRONG>               global (read-only)
+       <STRONG>subpad</STRONG>                 window
+       <STRONG>subwin</STRONG>                 window
+       <STRONG>syncok</STRONG>                 window
+       <STRONG>term_attrs</STRONG>             screen
+       <STRONG>termattrs</STRONG>              screen
+       <STRONG>termname</STRONG>               terminal
+       <STRONG>tgetent</STRONG>                global
+       <STRONG>tgetflag</STRONG>               global
+       <STRONG>tgetnum</STRONG>                global
+       <STRONG>tgetstr</STRONG>                global
+       <STRONG>tgoto</STRONG>                  global
+       <STRONG>tigetflag</STRONG>              terminal
+       <STRONG>tigetnum</STRONG>               terminal
+       <STRONG>tigetstr</STRONG>               terminal
+       <STRONG>timeout</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>touchline</STRONG>              window
+       <STRONG>touchwin</STRONG>               window
+       <STRONG>tparm</STRONG>                  global (static data)
+       <STRONG>tputs</STRONG>                  screen
+       <STRONG>trace</STRONG>                  global (static data)
+       <STRONG>ttytype</STRONG>                screen (read-only)
+       <STRONG>typeahead</STRONG>              screen
+       <STRONG>unctrl</STRONG>                 screen
+       <STRONG>unget_wch</STRONG>              screen (input operation)
+       <STRONG>ungetch</STRONG>                screen (input operation)
+       <STRONG>ungetmouse</STRONG>             screen (input operation)
+       <STRONG>untouchwin</STRONG>             window
+       <STRONG>use_default_colors</STRONG>     screen
+       <STRONG>use_env</STRONG>                global (static data)
+       <STRONG>use_extended_names</STRONG>     global (static data)
+       <STRONG>use_legacy_coding</STRONG>      screen
+       <STRONG>use_screen</STRONG>             global (locks screen list, screen)
+       <STRONG>use_window</STRONG>             global (locks window list, window)
+       <STRONG>vid_attr</STRONG>               screen
+       <STRONG>vid_puts</STRONG>               screen
+       <STRONG>vidattr</STRONG>                screen
+       <STRONG>vidputs</STRONG>                screen
+       <STRONG>vline</STRONG>                  window (<STRONG>stdscr</STRONG>)
+       <STRONG>vline_set</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>vw_printw</STRONG>              window
+       <STRONG>vw_scanw</STRONG>               screen
+       <STRONG>vwprintw</STRONG>               window
+       <STRONG>vwscanw</STRONG>                screen
+       <STRONG>wadd_wch</STRONG>               window
+       <STRONG>wadd_wchnstr</STRONG>           window
+       <STRONG>wadd_wchstr</STRONG>            window
+       <STRONG>waddch</STRONG>                 window
+       <STRONG>waddchnstr</STRONG>             window
+       <STRONG>waddchstr</STRONG>              window
+       <STRONG>waddnstr</STRONG>               window
+       <STRONG>waddnwstr</STRONG>              window
+       <STRONG>waddstr</STRONG>                window
+
+       <STRONG>waddwstr</STRONG>               window
+       <STRONG>wattr_get</STRONG>              window
+       <STRONG>wattr_off</STRONG>              window
+       <STRONG>wattr_on</STRONG>               window
+       <STRONG>wattr_set</STRONG>              window
+       <STRONG>wattroff</STRONG>               window
+       <STRONG>wattron</STRONG>                window
+       <STRONG>wattrset</STRONG>               window
+       <STRONG>wbkgd</STRONG>                  window
+       <STRONG>wbkgdset</STRONG>               window
+       <STRONG>wbkgrnd</STRONG>                window
+       <STRONG>wbkgrndset</STRONG>             window
+       <STRONG>wborder</STRONG>                window
+       <STRONG>wborder_set</STRONG>            window
+       <STRONG>wchgat</STRONG>                 window
+       <STRONG>wclear</STRONG>                 window
+       <STRONG>wclrtobot</STRONG>              window
+       <STRONG>wclrtoeol</STRONG>              window
+       <STRONG>wcolor_set</STRONG>             window
+       <STRONG>wcursyncup</STRONG>             screen (affects window plus parents)
+       <STRONG>wdelch</STRONG>                 window
+       <STRONG>wdeleteln</STRONG>              window
+       <STRONG>wecho_wchar</STRONG>            window
+       <STRONG>wechochar</STRONG>              window
+       <STRONG>wenclose</STRONG>               window
+       <STRONG>werase</STRONG>                 window
+       <STRONG>wget_wch</STRONG>               screen (input operation)
+       <STRONG>wget_wstr</STRONG>              screen (input operation)
+       <STRONG>wgetbkgrnd</STRONG>             window
+       <STRONG>wgetch</STRONG>                 screen (input operation)
+       <STRONG>wgetdelay</STRONG>              window
+       <STRONG>wgetn_wstr</STRONG>             screen (input operation)
+       <STRONG>wgetnstr</STRONG>               screen (input operation)
+       <STRONG>wgetparent</STRONG>             window
+       <STRONG>wgetscrreg</STRONG>             window
+       <STRONG>wgetstr</STRONG>                screen (input operation)
+       <STRONG>whline</STRONG>                 window
+       <STRONG>whline_set</STRONG>             window
+       <STRONG>win_wch</STRONG>                window
+       <STRONG>win_wchnstr</STRONG>            window
+       <STRONG>win_wchstr</STRONG>             window
+       <STRONG>winch</STRONG>                  window
+       <STRONG>winchnstr</STRONG>              window
+       <STRONG>winchstr</STRONG>               window
+       <STRONG>winnstr</STRONG>                window
+       <STRONG>winnwstr</STRONG>               window
+       <STRONG>wins_nwstr</STRONG>             window
+       <STRONG>wins_wch</STRONG>               window
+       <STRONG>wins_wstr</STRONG>              window
+       <STRONG>winsch</STRONG>                 window
+       <STRONG>winsdelln</STRONG>              window
+       <STRONG>winsertln</STRONG>              window
+       <STRONG>winsnstr</STRONG>               window
+       <STRONG>winsstr</STRONG>                window
+       <STRONG>winstr</STRONG>                 window
+       <STRONG>winwstr</STRONG>                window
+       <STRONG>wmouse_trafo</STRONG>           window
+       <STRONG>wmove</STRONG>                  window
+       <STRONG>wnoutrefresh</STRONG>           screen
+       <STRONG>wprintw</STRONG>                window
+       <STRONG>wredrawln</STRONG>              window
+       <STRONG>wrefresh</STRONG>               screen
+       <STRONG>wresize</STRONG>                window (locks window list)
+       <STRONG>wscanw</STRONG>                 screen
+       <STRONG>wscrl</STRONG>                  window
+       <STRONG>wsetscrreg</STRONG>             window
+
+       <STRONG>wstandend</STRONG>              window
+       <STRONG>wstandout</STRONG>              window
+       <STRONG>wsyncdown</STRONG>              screen (affects window plus parents)
+       <STRONG>wsyncup</STRONG>                screen (affects window plus parents)
+       <STRONG>wtimeout</STRONG>               window
+       <STRONG>wtouchln</STRONG>               window
+       <STRONG>wunctrl</STRONG>                global (static data)
+       <STRONG>wvline</STRONG>                 window
+       <STRONG>wvline_set</STRONG>             window
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
 
 
 
-ncurses 6.4                       2023-12-23                  <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
+ncurses 6.4                       2024-01-13                  <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index bf28182034571bc90145c0e7f0db2347e8efeb80..03274343ed4562aefb21b752100f4f9263fdcd4c 100644 (file)
@@ -28,7 +28,6 @@
   * authorization.                                                           *
   ****************************************************************************
   * @Id: curs_variables.3x,v 1.43 2024/01/05 21:46:58 tom Exp @
-  * SVID 4, Volume 3, p. 408
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
index fa6d88ac29d8070dd3ba45ba3badbeaef688d6a7..623208562eada5b082b178059ca0546bd77757e7 100644 (file)
@@ -1,7 +1,7 @@
 <!--
   * t
   ****************************************************************************
-  * Copyright 2018-2022,2023 Thomas E. Dickey                                *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
   * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_driver.3x,v 1.54 2023/12/23 16:08:25 tom Exp @
+  * @Id: form_driver.3x,v 1.57 2024/01/13 22:05:39 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 https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_driver 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_driver 3x 2024-01-13 ncurses 6.4 Library calls</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">form_driver 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_driver 3x 2024-01-13 ncurses 6.4 Library calls</H1>
 <PRE>
 <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
 
        The form driver requests are as follows:
 
        <STRONG>Name</STRONG>               <STRONG>Description</STRONG>
-       ---------------------------------------------------------------------
-       REQ_BEG_FIELD      Move to the beginning of the field.
-       REQ_BEG_LINE       Move to the beginning of the line.
-       REQ_CLR_EOF        Clear to end of field from cursor.
-       REQ_CLR_EOL        Clear to end of line from cursor.
-       REQ_CLR_FIELD      Clear the entire field.
-       REQ_DEL_CHAR       Delete character at the cursor.
-       REQ_DEL_LINE       Delete line at the cursor.
-       REQ_DEL_PREV       Delete character before the cursor.
-       REQ_DEL_WORD       Delete blank-delimited word at the cursor.
-       REQ_DOWN_CHAR      Move down in the field.
-       REQ_DOWN_FIELD     Move down to a field.
-       REQ_END_FIELD      Move to the end of the field.
-       REQ_END_LINE       Move to the end of the line.
-       REQ_FIRST_FIELD    Move to the first field.
-       REQ_FIRST_PAGE     Move to the first page.
-       REQ_INS_CHAR       Insert a blank at the cursor.
-       REQ_INS_LINE       Insert a blank line at the cursor.
-       REQ_INS_MODE       Enter insert mode.
-       REQ_LAST_FIELD     Move to the last field.
-       REQ_LAST_PAGE      Move to the last field.
-       REQ_LEFT_CHAR      Move left in the field.
-       REQ_LEFT_FIELD     Move left to a field.
-       REQ_NEW_LINE       Insert or overlay a new line.
-       REQ_NEXT_CHAR      Move to the next char.
-
-       REQ_NEXT_CHOICE    Display next field choice.
-       REQ_NEXT_FIELD     Move to the next field.
-       REQ_NEXT_LINE      Move to the next line.
-       REQ_NEXT_PAGE      Move to the next page.
-       REQ_NEXT_PAGE      Move to the next page.
-       REQ_NEXT_WORD      Move to the next word.
-       REQ_OVL_MODE       Enter overlay mode.
-       REQ_PREV_CHAR      Move to the previous char.
-       REQ_PREV_CHOICE    Display previous field choice.
-       REQ_PREV_FIELD     Move to the previous field.
-       REQ_PREV_LINE      Move to the previous line.
-       REQ_PREV_PAGE      Move to the previous page.
-       REQ_PREV_WORD      Move to the previous word.
-       REQ_RIGHT_CHAR     Move right in the field.
-       REQ_RIGHT_FIELD    Move right to a field.
-       REQ_SCR_BCHAR      Scroll the field backward a character.
-       REQ_SCR_BHPAGE     Scroll the field backward half a page.
-       REQ_SCR_BLINE      Scroll the field backward a line.
-       REQ_SCR_BPAGE      Scroll the field backward a page.
-       REQ_SCR_FCHAR      Scroll the field forward a character.
-       REQ_SCR_FHPAGE     Scroll the field forward half a page.
-       REQ_SCR_FLINE      Scroll the field forward a line.
-       REQ_SCR_FPAGE      Scroll the field forward a page.
-       REQ_SCR_HBHALF     Horizontal scroll the field backward half a line.
-       REQ_SCR_HBLINE     Horizontal scroll the field backward a line.
-       REQ_SCR_HFHALF     Horizontal scroll the field forward half a line.
-       REQ_SCR_HFLINE     Horizontal scroll the field forward a line.
-       REQ_SFIRST_FIELD   Move to the sorted first field.
-       REQ_SLAST_FIELD    Move to the sorted last field.
-       REQ_SNEXT_FIELD    Move to the sorted next field.
-       REQ_SPREV_FIELD    Move to the sorted previous field.
-       REQ_UP_CHAR        Move up in the field.
-       REQ_UP_FIELD       Move up to a field.
-       REQ_VALIDATION     Validate field.
+       ------------------------------------------------------------------------
+       <STRONG>REQ_BEG_FIELD</STRONG>      Move to beginning of field.
+       <STRONG>REQ_BEG_LINE</STRONG>       Move to beginning of the line.
+       <STRONG>REQ_CLR_EOF</STRONG>        Clear to end of field from cursor.
+       <STRONG>REQ_CLR_EOL</STRONG>        Clear to end of line from cursor.
+       <STRONG>REQ_CLR_FIELD</STRONG>      Clear the entire field.
+       <STRONG>REQ_DEL_CHAR</STRONG>       Delete character at the cursor.
+       <STRONG>REQ_DEL_LINE</STRONG>       Delete line at the cursor.
+       <STRONG>REQ_DEL_PREV</STRONG>       Delete character before the cursor.
+       <STRONG>REQ_DEL_WORD</STRONG>       Delete blank-delimited word at cursor.
+       <STRONG>REQ_DOWN_CHAR</STRONG>      Move down in field.
+       <STRONG>REQ_DOWN_FIELD</STRONG>     Move down to a field.
+       <STRONG>REQ_END_FIELD</STRONG>      Move to the end of field.
+       <STRONG>REQ_END_LINE</STRONG>       Move to the end of the line.
+       <STRONG>REQ_FIRST_FIELD</STRONG>    Move to the first field.
+       <STRONG>REQ_FIRST_PAGE</STRONG>     Move to the first page.
+       <STRONG>REQ_INS_CHAR</STRONG>       Insert a blank at the cursor.
+       <STRONG>REQ_INS_LINE</STRONG>       Insert a blank line at the cursor.
+       <STRONG>REQ_INS_MODE</STRONG>       Enter insert mode.
+       <STRONG>REQ_LAST_FIELD</STRONG>     Move to the last field.
+       <STRONG>REQ_LAST_PAGE</STRONG>      Move to the last field.
+       <STRONG>REQ_LEFT_CHAR</STRONG>      Move left in field.
+       <STRONG>REQ_LEFT_FIELD</STRONG>     Move left to a field.
+       <STRONG>REQ_NEW_LINE</STRONG>       Insert or overlay a new line.
+       <STRONG>REQ_NEXT_CHAR</STRONG>      Move to the next char.
+
+       <STRONG>REQ_NEXT_CHOICE</STRONG>    Display next field choice.
+       <STRONG>REQ_NEXT_FIELD</STRONG>     Move to the next field.
+       <STRONG>REQ_NEXT_LINE</STRONG>      Move to the next line.
+       <STRONG>REQ_NEXT_PAGE</STRONG>      Move to the next page.
+       <STRONG>REQ_NEXT_PAGE</STRONG>      Move to the next page.
+       <STRONG>REQ_NEXT_WORD</STRONG>      Move to the next word.
+       <STRONG>REQ_OVL_MODE</STRONG>       Enter overlay mode.
+       <STRONG>REQ_PREV_CHAR</STRONG>      Move to the previous char.
+       <STRONG>REQ_PREV_CHOICE</STRONG>    Display previous field choice.
+       <STRONG>REQ_PREV_FIELD</STRONG>     Move to the previous field.
+       <STRONG>REQ_PREV_LINE</STRONG>      Move to the previous line.
+       <STRONG>REQ_PREV_PAGE</STRONG>      Move to the previous page.
+       <STRONG>REQ_PREV_WORD</STRONG>      Move to the previous word.
+       <STRONG>REQ_RIGHT_CHAR</STRONG>     Move right in field.
+       <STRONG>REQ_RIGHT_FIELD</STRONG>    Move right to a field.
+       <STRONG>REQ_SCR_BCHAR</STRONG>      Scroll field backward 1 character.
+       <STRONG>REQ_SCR_BHPAGE</STRONG>     Scroll field backward 1/2 page.
+       <STRONG>REQ_SCR_BLINE</STRONG>      Scroll field backward 1 line.
+       <STRONG>REQ_SCR_BPAGE</STRONG>      Scroll field backward 1 page.
+       <STRONG>REQ_SCR_FCHAR</STRONG>      Scroll field forward 1 character.
+       <STRONG>REQ_SCR_FHPAGE</STRONG>     Scroll field forward 1/2 page.
+       <STRONG>REQ_SCR_FLINE</STRONG>      Scroll field forward 1 line.
+       <STRONG>REQ_SCR_FPAGE</STRONG>      Scroll field forward 1 page.
+       <STRONG>REQ_SCR_HBHALF</STRONG>     Horizontal scroll field backward 1/2 line.
+       <STRONG>REQ_SCR_HBLINE</STRONG>     Horizontal scroll field backward 1 line.
+       <STRONG>REQ_SCR_HFHALF</STRONG>     Horizontal scroll field forward 1/2 line.
+       <STRONG>REQ_SCR_HFLINE</STRONG>     Horizontal scroll field forward 1 line.
+       <STRONG>REQ_SFIRST_FIELD</STRONG>   Move to the sorted first field.
+       <STRONG>REQ_SLAST_FIELD</STRONG>    Move to the sorted last field.
+       <STRONG>REQ_SNEXT_FIELD</STRONG>    Move to the sorted next field.
+       <STRONG>REQ_SPREV_FIELD</STRONG>    Move to the sorted previous field.
+       <STRONG>REQ_UP_CHAR</STRONG>        Move up in field.
+       <STRONG>REQ_UP_FIELD</STRONG>       Move up to a field.
+       <STRONG>REQ_VALIDATION</STRONG>     Validate field.
 
        If  the  second argument is a printable character, the driver places it
        in the current position in the current field.  If  it  is  one  of  the
 
 
 
-ncurses 6.4                       2023-12-23                   <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+ncurses 6.4                       2024-01-13                   <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 4752033bad1e5b5cb6248cdd0616ea278e2f3320..a7caa52c54516592fd6b8ef5ccf496c7ab16b7d3 100644 (file)
@@ -1,7 +1,7 @@
 <!--
   * t
   ****************************************************************************
-  * Copyright 2018-2022,2023 Thomas E. Dickey                                *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
   * Copyright 1998-2017,2018 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: infocmp.1m,v 1.104 2023/12/30 21:36:32 tom Exp @
+  * @Id: infocmp.1m,v 1.107 2024/01/13 22:05:39 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 https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>infocmp 1m 2023-12-30 ncurses 6.4 User commands</TITLE>
+<TITLE>infocmp 1m 2024-01-13 ncurses 6.4 User commands</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">infocmp 1m 2023-12-30 ncurses 6.4 User commands</H1>
+<H1 class="no-header">infocmp 1m 2024-01-13 ncurses 6.4 User commands</H1>
 <PRE>
 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>                      User commands                     <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
 
        The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will  produce  a  source  listing  for  each
        terminal named.
 
-            <STRONG>-I</STRONG>   use the <STRONG>terminfo</STRONG> names
-            <STRONG>-L</STRONG>   use the long C variable name listed in &lt;<STRONG>term.h</STRONG>&gt;
-            <STRONG>-C</STRONG>   use the <STRONG>termcap</STRONG> names
-            <STRONG>-r</STRONG>   when using <STRONG>-C</STRONG>, put out all capabilities in <STRONG>termcap</STRONG> form
-            <STRONG>-K</STRONG>   modifies the <STRONG>-C</STRONG> option, improving BSD-compatibility.
+                   <STRONG>-I</STRONG>   use <EM>terminfo</EM> capability codes
+                   <STRONG>-L</STRONG>   use "long" capability names
+                   <STRONG>-C</STRONG>   use <EM>termcap</EM> capability codes
+                   <STRONG>-r</STRONG>   with <STRONG>-C</STRONG>, include nonstandard capabilities
+                   <STRONG>-K</STRONG>   with <STRONG>-C</STRONG>, improve BSD compatibility
 
        If  no  <EM>terminal-types</EM> are given, the environment variable <EM>TERM</EM> will be
        used for the terminal name.
        Some  common  <STRONG>terminfo</STRONG>  parameter sequences, their <STRONG>termcap</STRONG> equivalents,
        and some terminal types which commonly have such sequences, are:
 
-           <STRONG>terminfo</STRONG>                    <STRONG>termcap</STRONG>   Representative Terminals
-           ---------------------------------------------------------------
-           <STRONG>%p1%c</STRONG>                       <STRONG>%.</STRONG>        adm
-           <STRONG>%p1%d</STRONG>                       <STRONG>%d</STRONG>        hp, ANSI standard, vt100
-           <STRONG>%p1%'x'%+%c</STRONG>                 <STRONG>%+x</STRONG>       concept
-           <STRONG>%i</STRONG>                          <STRONG>%i</STRONG>q       ANSI standard, vt100
-           <STRONG>%p1%?%'x'%&gt;%t%p1%'y'%+%;</STRONG>    <STRONG>%&gt;xy</STRONG>      concept
-           <STRONG>%p2</STRONG> is printed before <STRONG>%p1</STRONG>   <STRONG>%r</STRONG>        hp
+                 <STRONG><EM>terminfo</EM></STRONG>                   <STRONG><EM>termcap</EM></STRONG>   Terminal Types
+                 ----------------------------------------------------
+                 <STRONG>%p1%c</STRONG>                      <STRONG>%.</STRONG>        ansi-m
+                 <STRONG>%p1%d</STRONG>                      <STRONG>%d</STRONG>        ansi, vt100
+                 <STRONG>%p1%'</STRONG> <STRONG>'%+%c</STRONG>                <STRONG>%+x</STRONG>       vt52
+                 <STRONG>%i</STRONG>                         <STRONG>%iq</STRONG>       ansi, vt100
+                 <STRONG>%p1%?%'x'%&gt;%t%p1%'y'%+%;</STRONG>   <STRONG>%&gt;xy</STRONG>      annarbor4080
+                 <STRONG>%p2</STRONG>...<STRONG>%p1</STRONG>                  <STRONG>%r</STRONG>        hpgeneric
 
 
 </PRE><H3><a name="h3-Use_Option_u_">Use= Option [-u]</a></H3><PRE>
 
 
 
-ncurses 6.4                       2023-12-30                       <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+ncurses 6.4                       2024-01-13                       <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index adc7badbc8f5cfd41cf8e6a2aff30feeaa0d3800..1192282dd35aad325e4fd656fb48744bc3f446f7 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: ncurses.3x,v 1.195 2024/01/05 21:46:58 tom Exp @
-  * X/Open Curses Issue 7 assumes some optimization will be done, but
-  * does not mandate it in any way.
-  * See X/Open Curses Issue 4, Version 2, pp. 227-234.
-  * See X/Open Curses Issue 7, pp. 311-318.
-  * XXX: What's missing?  GBR counts untic(1), and that's all.
+  * @Id: ncurses.3x,v 1.197 2024/01/13 20:30:39 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 https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>ncurses 3x 2024-01-05 ncurses 6.4 Library calls</TITLE>
+<TITLE>ncurses 3x 2024-01-13 ncurses 6.4 Library calls</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">ncurses 3x 2024-01-05 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">ncurses 3x 2024-01-13 ncurses 6.4 Library calls</H1>
 <PRE>
 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>                      Library calls                     <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
 
@@ -65,7 +60,7 @@
        method of updating  character  screens  with  reasonable  optimization.
        This  implementation  is  "new  curses"  (<EM>ncurses</EM>)  and is the approved
        replacement for 4.4BSD classic curses,  which  has  been  discontinued.
-       This describes <EM>ncurses</EM> version 6.4 (patch 20240106).
+       This describes <EM>ncurses</EM> version 6.4 (patch 20240113).
 
        The  <EM>ncurses</EM>  library emulates the curses library of System V Release 4
        Unix ("SVr4"), and XPG4 (X/Open Portability Guide) curses  (also  known
 
 
 </PRE><H3><a name="h3-Effects-of-GUIs-and-Environment-Variables">Effects of GUIs and Environment Variables</a></H3><PRE>
-       The selection of an approprate value of <EM>TERM</EM> in the process environment
-       is essential to correct <EM>curses</EM> and <EM>terminfo</EM> library operation.  A well-
-       configured  system  selects a correct <EM>TERM</EM> value automatically; <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
-       may assist with troubleshooting exotic situations.
-
-       If the environment variables <EM>LINES</EM> and  <EM>COLUMNS</EM>  are  set,  or  if  the
-       <EM>curses</EM>  program  is executing in a graphical windowing environment, the
-       information obtained thence overrides that obtained  by  <EM>terminfo</EM>.   An
+       The   selection  of  an  appropriate  value  of  <EM>TERM</EM>  in  the  process
+       environment  is  essential  to  correct  <EM>curses</EM>  and  <EM>terminfo</EM>  library
+       operation.   A  well-configured  system  selects  a  correct <EM>TERM</EM> value
+       automatically;  <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>  may   assist   with   troubleshooting   exotic
+       situations.
+
+       If  the  environment  variables  <EM>LINES</EM>  and  <EM>COLUMNS</EM> are set, or if the
+       <EM>curses</EM> program is executing in a graphical windowing  environment,  the
+       information  obtained  thence  overrides that obtained by <EM>terminfo</EM>.  An
        <EM>ncurses</EM> extension supports resizable terminals; see <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
 
-       If  the  environment  variable  <EM>TERMINFO</EM>  is  defined, a <EM>curses</EM> program
-       checks first for  a  terminal  type  description  in  the  location  it
+       If the environment variable  <EM>TERMINFO</EM>  is  defined,  a  <EM>curses</EM>  program
+       checks  first  for  a  terminal  type  description  in  the location it
        identifies.   <EM>TERMINFO</EM>  is  useful  for  developing  experimental  type
-       descriptions or when write permission  to  <EM>/usr/share/terminfo</EM>  is  not
+       descriptions  or  when  write  permission to <EM>/usr/share/terminfo</EM> is not
        available.
 
        See section "ENVIRONMENT" below.
 
 
 </PRE><H3><a name="h3-Naming-Conventions">Naming Conventions</a></H3><PRE>
-       Many  <EM>curses</EM>  functions have two or more versions.  Those prefixed with
-       "w" require a  window  argument.   Four  functions  prefixed  with  "p"
-       require  a  pad  argument.  Those without a prefix generally operate on
+       Many <EM>curses</EM> functions have two or more versions.  Those  prefixed  with
+       "w"  require  a  window  argument.   Four  functions  prefixed with "p"
+       require a pad argument.  Those without a prefix  generally  operate  on
        <STRONG>stdscr</STRONG>.
 
-       In function synopses, <EM>ncurses</EM> man pages apply the  following  names  to
+       In  function  synopses,  <EM>ncurses</EM> man pages apply the following names to
        parameters.
 
                         <EM>bf</EM>    <EM>bool</EM> (<STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>)
 
 
 </PRE><H3><a name="h3-Wide-and-Non-wide-Character-Configurations">Wide and Non-wide Character Configurations</a></H3><PRE>
-       This  manual  page describes functions that appear in any configuration
-       of the library.  There  are  two  common  configurations;  see  section
+       This manual page describes functions that appear in  any  configuration
+       of  the  library.   There  are  two  common configurations; see section
        "ALTERNATE CONFIGURATIONS" below.
 
        <EM>ncurses</EM>   is the library in its "non-wide" configuration, handling only
-                 eight-bit characters.  It stores a  character  combined  with
+                 eight-bit  characters.   It  stores a character combined with
                  attributes in a <EM>chtype</EM> datum, which is often an alias of <EM>int.</EM>
 
-                 Attributes  alone  (with  no  corresponding character) can be
-                 stored in variables of <EM>chtype</EM>  or  <EM>attr</EM><STRONG>_</STRONG><EM>t</EM>  type.   In  either
+                 Attributes alone (with no  corresponding  character)  can  be
+                 stored  in  variables  of  <EM>chtype</EM>  or <EM>attr</EM><STRONG>_</STRONG><EM>t</EM> type.  In either
                  case, they are represented as an integral bit mask.
 
                  Each cell of a <EM>WINDOW</EM> is stored as a <EM>chtype.</EM>
 
-       <EM>ncursesw</EM>  is  the  library  in  its "wide" configuration, which handles
+       <EM>ncursesw</EM>  is the library in its  "wide"  configuration,  which  handles
                  character encodings requiring a larger data type than <EM>char</EM> (a
                  byte-sized type) can represent.  It adds about one third more
                  calls  using  additional  data  types  that  can  store  such
                  <EM>multibyte</EM> characters.
 
-                 <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>  corresponds  to the non-wide configuration's <EM>chtype.</EM>
-                          It always a structure type, because it  stores  more
-                          data  than  fits into an integral type.  A character
+                 <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>  corresponds to the non-wide configuration's  <EM>chtype.</EM>
+                          It  always  a structure type, because it stores more
+                          data than fits into an integral type.   A  character
                           code  may  not  be  representable  as  a  <EM>char,</EM>  and
-                          moreover  more  than one character may occupy a cell
-                          (as with accent marks and other  diacritics).   Each
-                          character  is  of  type <EM>wchar</EM><STRONG>_</STRONG><EM>t;</EM> a complex character
+                          moreover more than one character may occupy  a  cell
+                          (as  with  accent marks and other diacritics).  Each
+                          character is of type <EM>wchar</EM><STRONG>_</STRONG><EM>t;</EM>  a  complex  character
                           contains one spacing character and zero or more non-
                           spacing  characters  (see  below).   Attributes  and
-                          color data are stored  in  separate  fields  of  the
+                          color  data  are  stored  in  separate fields of the
                           structure, not combined as in <EM>chtype.</EM>
 
                  Each cell of a <EM>WINDOW</EM> is stored as a <EM>cchar</EM><STRONG>_</STRONG><EM>t.</EM>
 
-                 The   <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG>   and  <STRONG><A HREF="curs_getcchar.3x.html">getcchar(3x)</A></STRONG>  functions  store  and
+                 The  <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG>  and  <STRONG><A HREF="curs_getcchar.3x.html">getcchar(3x)</A></STRONG>  functions   store   and
                  retrieve the data from a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> structure.  The wide library
-                 API  of <EM>ncurses</EM> depends on two data types standardized by ISO
+                 API of <EM>ncurses</EM> depends on two data types standardized by  ISO
                  C95.
 
-                 <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>  stores a wide character.  Like <EM>chtype,</EM> it may be  an
-                          alias  of <EM>int.</EM>  Depending on the character encoding,
-                          a wide character may be  <EM>spacing,</EM>  meaning  that  it
-                          occupies  a  character  cell by itself and typically
-                          accompanies  cursor  advancement,  or   <EM>non-spacing,</EM>
-                          meaning  that it occupies the same cell as a spacing
-                          character, is often regarded as a "modifier" of  the
-                          base  glyph  with  which  it combines, and typically
+                 <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>  stores  a wide character.  Like <EM>chtype,</EM> it may be an
+                          alias of <EM>int.</EM>  Depending on the character  encoding,
+                          a  wide  character  may  be <EM>spacing,</EM> meaning that it
+                          occupies a character cell by  itself  and  typically
+                          accompanies   cursor  advancement,  or  <EM>non-spacing,</EM>
+                          meaning that it occupies the same cell as a  spacing
+                          character,  is often regarded as a "modifier" of the
+                          base glyph with which  it  combines,  and  typically
                           does not advance the cursor.
 
-                 <EM>wint</EM><STRONG>_</STRONG><EM>t</EM>   can  store  a  <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>   or   the   constant   <STRONG>WEOF</STRONG>,
-                          analogously  to the <EM>int</EM>-sized character manipulation
+                 <EM>wint</EM><STRONG>_</STRONG><EM>t</EM>   can   store   a   <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>   or  the  constant  <STRONG>WEOF</STRONG>,
+                          analogously to the <EM>int</EM>-sized character  manipulation
                           functions of ISO C and its constant <STRONG>EOF</STRONG>.
 
-                 The  wide  library   provides   additional   functions   that
-                 complement  those  in  the non-wide library where the size of
-                 the underlying character type  is  significant.   A  somewhat
-                 regular  naming  convention relates many of the wide variants
-                 to their non-wide counterparts;  where  a  non-wide  function
-                 name  contains  "ch"  or "str", prefix it with "_w" to obtain
+                 The   wide   library   provides   additional  functions  that
+                 complement those in the non-wide library where  the  size  of
+                 the  underlying  character  type  is significant.  A somewhat
+                 regular naming convention relates many of the  wide  variants
+                 to  their  non-wide  counterparts;  where a non-wide function
+                 name contains "ch" or "str", prefix it with  "_w"  to  obtain
                  the wide counterpart.  For example, <STRONG>waddch</STRONG> becomes <STRONG>wadd_wch</STRONG>.
 
-                 This convention is inapplicable  to  some  non-wide  function
+                 This  convention  is  inapplicable  to some non-wide function
                  names,  so  other  transformations  are  used  for  the  wide
                  configuration: in the window background management functions,
-                 "bkgd"   becomes  "bkgrnd";  the  window  border-drawing  and
+                 "bkgd"  becomes  "bkgrnd";  the  window  border-drawing   and
                  -clearing functions are suffixed with "_set".
 
 
 </PRE><H3><a name="h3-Function-Name-Index">Function Name Index</a></H3><PRE>
        The following table lists the <EM>curses</EM> functions provided in the non-wide
-       and  wide  APIs  and  the  corresponding  man pages that describe them.
-       Those flagged with  "*"  are  <EM>ncurses</EM>-specific,  neither  described  by
+       and wide APIs and the  corresponding  man  pages  that  describe  them.
+       Those  flagged  with  "*"  are  <EM>ncurses</EM>-specific,  neither described by
        X/Open Curses nor present in SVr4.
 
                     <STRONG><EM>curses</EM></STRONG> Function Name     Man Page
                     ---------------------------------------------
                     COLOR_PAIR               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
-
                     PAIR_NUMBER              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
                     add_wch                  <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
                     add_wchnstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
                     erasechar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
                     erasewchar               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
                     exit_curses              <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+
                     exit_terminfo            <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
                     extended_color_content   <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
                     extended_pair_content    <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
-
                     extended_slk_color       <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
                     filter                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
                     find_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
                     insdelln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
                     insertln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
                     insnstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+
                     insstr                   <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
                     instr                    <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
                     intrflush                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
                     inwstr                   <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-
                     is_cbreak                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
                     is_cleared               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
                     is_echo                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
                     mvin_wch                 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
                     mvin_wchnstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
                     mvin_wchstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+
                     mvinch                   <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
                     mvinchnstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
                     mvinchstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
                     mvinnstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
                     mvinnwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-
                     mvins_nwstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
                     mvins_wch                <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
                     mvins_wstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
                     nl                       <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
                     nocbreak                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
                     nodelay                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+
                     noecho                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
                     nofilter                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
                     nonl                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
                     noqiflush                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
                     noraw                    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
                     notimeout                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-
                     overlay                  <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
                     overwrite                <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
                     pair_content             <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
                     start_color              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
                     subpad                   <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
                     subwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+
                     syncok                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
                     term_attrs               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
                     termattrs                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
                     tgetent                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
                     tgetflag                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
                     tgetnum                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
-
                     tgetstr                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
                     tgoto                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
                     tigetflag                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
                     wbkgrnd                  <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
                     wbkgrndset               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
                     wborder                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+
                     wborder_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
                     wchgat                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
                     wclear                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
                     wcolor_set               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
                     wcursyncup               <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
                     wdelch                   <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
-
                     wdeleteln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
                     wecho_wchar              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
                     wechochar                <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
                     wvline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
                     wvline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
 
-       Depending  on  the  configuration,  additional sets of functions may be
+       Depending on the configuration, additional sets  of  functions  may  be
        available:
 
           <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> - curses memory-leak checking
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Unless otherwise noted, functions that return an integer return  <STRONG>OK</STRONG>  on
+       Unless  otherwise  noted, functions that return an integer return <STRONG>OK</STRONG> on
        success and <STRONG>ERR</STRONG> on failure.  Functions that return pointers return <STRONG>NULL</STRONG>
-       on failure.  Typically, <EM>ncurses</EM> treats  a  null  pointer  passed  as  a
+       on  failure.   Typically,  <EM>ncurses</EM>  treats  a  null pointer passed as a
        function parameter as a failure.
 
-       Functions  with a "mv" prefix first perform cursor movement using <STRONG>wmove</STRONG>
-       and fail  if  the  position  is  outside  the  window,  or  (for  "mvw"
+       Functions with a "mv" prefix first perform cursor movement using  <STRONG>wmove</STRONG>
+       and  fail  if  the  position  is  outside  the  window,  or  (for "mvw"
        functions) if the <EM>WINDOW</EM> pointer is null.
 
 
 </PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
-       The  following  environment  symbols  are  useful  for  customizing the
-       runtime behavior of the <EM>ncurses</EM> library.  The most important ones  have
+       The following  environment  symbols  are  useful  for  customizing  the
+       runtime  behavior of the <EM>ncurses</EM> library.  The most important ones have
        been already discussed in detail.
 
 
-</PRE><H3><a name="h3-CC-command-character"><EM>CC</EM> command-character</a></H3><PRE>
-       When  set,  change  the  <STRONG>command_character</STRONG>  (<STRONG>cmdch</STRONG>) capability value of
-       loaded <EM>terminfo</EM> entries to the value of this variable.  Very few  <EM>term-</EM>
+</PRE><H3><a name="h3-CC-_command-character_"><EM>CC</EM> (command character)</a></H3><PRE>
+       When set, change the  <STRONG>command_character</STRONG>  (<STRONG>cmdch</STRONG>)  capability  value  of
+       loaded  <EM>terminfo</EM> entries to the value of this variable.  Very few <EM>term-</EM>
        <EM>info</EM> entries provide this feature.
 
        Because this name is also used in development environments to represent
 
 </PRE><H3><a name="h3-BAUDRATE"><EM>BAUDRATE</EM></a></H3><PRE>
        The  debugging  library  checks  this  environment  variable  when  the
-       application has redirected output to a file.   The  variable's  numeric
-       value  is  used  for  the baudrate.  If no value is found, <EM>ncurses</EM> uses
+       application  has  redirected  output to a file.  The variable's numeric
+       value is used for the baudrate.  If no value  is  found,  <EM>ncurses</EM>  uses
        9600.  This allows testers to construct repeatable test-cases that take
        into account costs that depend on baudrate.
 
 
 </PRE><H3><a name="h3-COLUMNS"><EM>COLUMNS</EM></a></H3><PRE>
        Specify the width of the screen in characters.  Applications running in
-       a windowing environment usually are able to obtain  the  width  of  the
-       window  in  which they are executing.  If neither the <EM>COLUMNS</EM> value nor
-       the terminal's screen size is available, <EM>ncurses</EM> uses  the  size  which
+       a  windowing  environment  usually  are able to obtain the width of the
+       window in which they are executing.  If neither the <EM>COLUMNS</EM>  value  nor
+       the  terminal's  screen  size is available, <EM>ncurses</EM> uses the size which
        may be specified in the terminfo database (i.e., the <STRONG>cols</STRONG> capability).
 
-       It  is  important  that  your  application  use  a correct size for the
-       screen.  This is not always possible because your  application  may  be
-       running  on a host which does not honor NAWS (Negotiations About Window
+       It is important that your  application  use  a  correct  size  for  the
+       screen.   This  is  not always possible because your application may be
+       running on a host which does not honor NAWS (Negotiations About  Window
        Size),  or  because  you  are  temporarily  running  as  another  user.
-       However,  setting  <EM>COLUMNS</EM>  and/or <EM>LINES</EM> overrides the library's use of
+       However, setting <EM>COLUMNS</EM> and/or <EM>LINES</EM> overrides the  library's  use  of
        the screen size obtained from the operating system.
 
-       Either <EM>COLUMNS</EM> or <EM>LINES</EM> symbols may be specified  independently.   This
-       is   mainly   useful  to  circumvent  legacy  misfeatures  of  terminal
-       descriptions, e.g., xterm which commonly specifies a  65  line  screen.
-       For  best results, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified in a terminal
+       Either  <EM>COLUMNS</EM>  or <EM>LINES</EM> symbols may be specified independently.  This
+       is  mainly  useful  to  circumvent  legacy  misfeatures   of   terminal
+       descriptions,  e.g.,  xterm  which commonly specifies a 65 line screen.
+       For best results, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified in a  terminal
        description for terminals which are run as emulations.
 
-       Use the <STRONG>use_env</STRONG> function to disable all  use  of  external  environment
+       Use  the  <STRONG>use_env</STRONG>  function  to disable all use of external environment
        (but not including system calls) to determine the screen size.  Use the
        <STRONG>use_tioctl</STRONG> function to update <EM>COLUMNS</EM> or <EM>LINES</EM> to match the screen size
        obtained from system calls or the terminal database.
 
 </PRE><H3><a name="h3-ESCDELAY"><EM>ESCDELAY</EM></a></H3><PRE>
        Specifies the total time, in milliseconds, for which <EM>ncurses</EM> will await
-       a character sequence, e.g., a function key.  The  default  value,  1000
-       milliseconds,  is enough for most uses.  However, it is made a variable
+       a  character  sequence,  e.g., a function key.  The default value, 1000
+       milliseconds, is enough for most uses.  However, it is made a  variable
        to accommodate unusual applications.
 
-       The most common instance where you may wish to change this value is  to
-       work  with  slow hosts, e.g., running on a network.  If the host cannot
-       read characters rapidly enough, it will have the same effect as if  the
-       terminal  did  not  send  characters  rapidly enough.  The library will
+       The  most common instance where you may wish to change this value is to
+       work with slow hosts, e.g., running on a network.  If the  host  cannot
+       read  characters rapidly enough, it will have the same effect as if the
+       terminal did not send characters  rapidly  enough.   The  library  will
        still see a timeout.
 
-       Note that xterm mouse events are  built  up  from  character  sequences
-       received  from  the  xterm.   If  your  application  makes heavy use of
-       multiple-clicking, you may wish to lengthen this default value  because
-       the  timeout  applies  to the composed multi-click event as well as the
+       Note  that  xterm  mouse  events  are built up from character sequences
+       received from the xterm.   If  your  application  makes  heavy  use  of
+       multiple-clicking,  you may wish to lengthen this default value because
+       the timeout applies to the composed multi-click event as  well  as  the
        individual clicks.
 
        In addition to the environment variable, this implementation provides a
-       global  variable  with the same name.  Portable applications should not
-       rely upon the presence of <STRONG>ESCDELAY</STRONG> in  either  form,  but  setting  the
-       environment  variable  rather  than the global variable does not create
+       global variable with the same name.  Portable applications  should  not
+       rely  upon  the  presence  of  <STRONG>ESCDELAY</STRONG> in either form, but setting the
+       environment variable rather than the global variable  does  not  create
        problems when compiling an application.
 
 
 </PRE><H3><a name="h3-HOME"><EM>HOME</EM></a></H3><PRE>
-       Tells <EM>ncurses</EM> where your home directory is.  That is where it may  read
+       Tells  <EM>ncurses</EM> where your home directory is.  That is where it may read
        and write auxiliary terminal descriptions:
 
            $HOME/.termcap
 
 
 </PRE><H3><a name="h3-LINES"><EM>LINES</EM></a></H3><PRE>
-       Like  <EM>COLUMNS</EM>,  specify  the  height  of the screen in characters.  See
+       Like <EM>COLUMNS</EM>, specify the height of  the  screen  in  characters.   See
        <EM>COLUMNS</EM> for a detailed description.
 
 
 </PRE><H3><a name="h3-MOUSE_BUTTONS_123"><EM>MOUSE_BUTTONS_123</EM></a></H3><PRE>
-       This applies only to the OS/2 EMX port.   It  specifies  the  order  of
-       buttons  on  the  mouse.   OS/2 numbers a 3-button mouse inconsistently
+       This  applies  only  to  the  OS/2 EMX port.  It specifies the order of
+       buttons on the mouse.  OS/2 numbers  a  3-button  mouse  inconsistently
        from other platforms:
 
            1 = left
            3 = middle.
 
        This variable lets you customize the mouse.  The variable must be three
-       numeric  digits  1-3  in  any  order,  e.g.,  123 or 321.  If it is not
+       numeric digits 1-3 in any order, e.g.,  123  or  321.   If  it  is  not
        specified, <EM>ncurses</EM> uses 132.
 
 
 </PRE><H3><a name="h3-NCURSES_ASSUMED_COLORS"><EM>NCURSES_ASSUMED_COLORS</EM></a></H3><PRE>
-       Override the compiled-in assumption that the terminal's default  colors
-       are   white-on-black   (see   <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>).   You  may  set  the
-       foreground and background color values with this  environment  variable
-       by  proving  a  2-element list: foreground,background.  For example, to
-       tell <EM>ncurses</EM> to not assume anything  about  the  colors,  set  this  to
-       "-1,-1".   To  make  it  green-on-black, set it to "2,0".  Any positive
+       Override  the compiled-in assumption that the terminal's default colors
+       are  white-on-black  (see  <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>).   You   may   set   the
+       foreground  and  background color values with this environment variable
+       by proving a 2-element list: foreground,background.   For  example,  to
+       tell  <EM>ncurses</EM>  to  not  assume  anything  about the colors, set this to
+       "-1,-1".  To make it green-on-black, set it  to  "2,0".   Any  positive
        value from zero to the terminfo <STRONG>max_colors</STRONG> value is allowed.
 
 
 </PRE><H3><a name="h3-NCURSES_CONSOLE2"><EM>NCURSES_CONSOLE2</EM></a></H3><PRE>
        This applies only to the MinGW port of <EM>ncurses</EM>.
 
-       The <STRONG>Console2</STRONG> program's handling  of  the  Microsoft  Console  API  call
-       <STRONG>CreateConsoleScreenBuffer</STRONG>  is  defective.   Applications which use this
+       The  <STRONG>Console2</STRONG>  program's  handling  of  the  Microsoft Console API call
+       <STRONG>CreateConsoleScreenBuffer</STRONG> is defective.  Applications  which  use  this
        will hang.  However, it is possible to simulate the action of this call
-       by  mapping  coordinates,  explicitly saving and restoring the original
-       screen contents.  Setting the environment variable <STRONG>NCGDB</STRONG> has  the  same
+       by mapping coordinates, explicitly saving and  restoring  the  original
+       screen  contents.   Setting the environment variable <STRONG>NCGDB</STRONG> has the same
        effect.
 
 
 </PRE><H3><a name="h3-NCURSES_GPM_TERMS"><EM>NCURSES_GPM_TERMS</EM></a></H3><PRE>
        This applies only to <EM>ncurses</EM> configured to use the GPM interface.
 
-       If  present, the environment variable is a list of one or more terminal
-       names against which the <EM>TERM</EM> environment variable is matched.   Setting
-       it  to  an  empty  value disables the GPM interface; using the built-in
+       If present, the environment variable is a list of one or more  terminal
+       names  against which the <EM>TERM</EM> environment variable is matched.  Setting
+       it to an empty value disables the GPM  interface;  using  the  built-in
        support for xterm, etc.
 
        If the environment variable is absent, <EM>ncurses</EM> will attempt to open GPM
 
 
 </PRE><H3><a name="h3-NCURSES_NO_HARD_TABS"><EM>NCURSES_NO_HARD_TABS</EM></a></H3><PRE>
-       <EM>ncurses</EM>  may use tabs as part of cursor movement optimization.  In some
-       cases, your terminal driver may not handle these  properly.   Set  this
+       <EM>ncurses</EM> may use tabs as part of cursor movement optimization.  In  some
+       cases,  your  terminal  driver may not handle these properly.  Set this
        environment variable to any value to disable the feature.  You can also
        adjust your <STRONG>stty(1)</STRONG> settings to avoid the problem.
 
 
 </PRE><H3><a name="h3-NCURSES_NO_MAGIC_COOKIE"><EM>NCURSES_NO_MAGIC_COOKIE</EM></a></H3><PRE>
-       Some terminals  use  a  magic-cookie  feature  which  requires  special
-       handling  to  make  highlighting  and  other  video  attributes display
+       Some  terminals  use  a  magic-cookie  feature  which  requires special
+       handling to  make  highlighting  and  other  video  attributes  display
        properly.   You  can  suppress  the  highlighting  entirely  for  these
        terminals by setting this environment variable to any value.
 
 
 </PRE><H3><a name="h3-NCURSES_NO_PADDING"><EM>NCURSES_NO_PADDING</EM></a></H3><PRE>
-       Most  of the terminal descriptions in the terminfo database are written
-       for real "hardware" terminals.   Many  people  use  terminal  emulators
+       Most of the terminal descriptions in the terminfo database are  written
+       for  real  "hardware"  terminals.   Many  people use terminal emulators
        which run in a windowing environment and use curses-based applications.
-       Terminal emulators can duplicate all of  the  important  aspects  of  a
-       hardware  terminal,  but  they  do  not have the same limitations.  The
-       chief limitation of a hardware terminal from  the  standpoint  of  your
-       application  is  the  management  of  dataflow, i.e., timing.  Unless a
-       hardware terminal is interfaced into  a  terminal  concentrator  (which
-       does  flow  control),  it  (or  your application) must manage dataflow,
-       preventing overruns.  The cheapest solution (no hardware cost)  is  for
-       your  program  to do this by pausing after operations that the terminal
+       Terminal  emulators  can  duplicate  all  of the important aspects of a
+       hardware terminal, but they do not  have  the  same  limitations.   The
+       chief  limitation  of  a  hardware terminal from the standpoint of your
+       application is the management of  dataflow,  i.e.,  timing.   Unless  a
+       hardware  terminal  is  interfaced  into a terminal concentrator (which
+       does flow control), it (or  your  application)  must  manage  dataflow,
+       preventing  overruns.   The cheapest solution (no hardware cost) is for
+       your program to do this by pausing after operations that  the  terminal
        does slowly, such as clearing the display.
 
-       As a result, many terminal  descriptions  (including  the  vt100)  have
-       delay  times embedded.  You may wish to use these descriptions, but not
+       As  a  result,  many  terminal  descriptions (including the vt100) have
+       delay times embedded.  You may wish to use these descriptions, but  not
        want to pay the performance penalty.
 
-       Set the <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>PADDING</EM> environment  variable  to  disable  all  but
-       mandatory  padding.   Mandatory  padding  is  used as a part of special
+       Set  the  <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>PADDING</EM>  environment  variable  to disable all but
+       mandatory padding.  Mandatory padding is used  as  a  part  of  special
        control sequences such as <STRONG>flash</STRONG>.
 
 
 
           <STRONG>o</STRONG>   continued though 5.9 patch 20130126
 
-       <EM>ncurses</EM> enabled buffered output during terminal  initialization.   This
-       was  done  (as  in  SVr4  curses) for performance reasons.  For testing
-       purposes, both of <EM>ncurses</EM> and certain applications,  this  feature  was
-       made  optional.  Setting the <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>SETBUF</EM> variable disabled output
-       buffering, leaving the output in the original (usually  line  buffered)
+       <EM>ncurses</EM>  enabled  buffered output during terminal initialization.  This
+       was done (as in SVr4 curses)  for  performance  reasons.   For  testing
+       purposes,  both  of  <EM>ncurses</EM> and certain applications, this feature was
+       made optional.  Setting the <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>SETBUF</EM> variable disabled  output
+       buffering,  leaving  the output in the original (usually line buffered)
        mode.
 
-       In  the  current implementation, <EM>ncurses</EM> performs its own buffering and
-       does not require this workaround.  It does not modify the buffering  of
+       In the current implementation, <EM>ncurses</EM> performs its own  buffering  and
+       does  not require this workaround.  It does not modify the buffering of
        the standard output.
 
-       The  reason  for the change was to make the behavior for interrupts and
-       other  signals   more   robust.    One   drawback   is   that   certain
+       The reason for the change was to make the behavior for  interrupts  and
+       other   signals   more   robust.    One   drawback   is   that  certain
        nonconventional programs would mix ordinary <STRONG>stdio(3)</STRONG> calls with <EM>ncurses</EM>
-       calls and (usually) work.  This is no longer possible since <EM>ncurses</EM>  is
-       not  using the buffered standard output but its own output (to the same
-       file descriptor).  As a special case, the low-level calls such as  <STRONG>putp</STRONG>
+       calls  and (usually) work.  This is no longer possible since <EM>ncurses</EM> is
+       not using the buffered standard output but its own output (to the  same
+       file  descriptor).  As a special case, the low-level calls such as <STRONG>putp</STRONG>
        still use the standard output.  But high-level curses calls do not.
 
 
 </PRE><H3><a name="h3-NCURSES_NO_UTF8_ACS"><EM>NCURSES_NO_UTF8_ACS</EM></a></H3><PRE>
-       During  initialization,  the  <EM>ncurses</EM>  library checks for special cases
+       During initialization, the <EM>ncurses</EM> library  checks  for  special  cases
        where VT100 line-drawing (and the corresponding alternate character set
-       capabilities)  described  in  the  terminfo  are  known  to be missing.
-       Specifically, when  running  in  a  UTF-8  locale,  the  Linux  console
-       emulator  and  the GNU screen program ignore these.  <EM>ncurses</EM> <EM>checks</EM> <EM>the</EM>
-       <EM>TERM</EM> <EM>environment</EM> <EM>variable</EM> <EM>for</EM> <EM>these.</EM>   <EM>For</EM>  <EM>other</EM>  <EM>special</EM>  <EM>cases,</EM>  <EM>you</EM>
-       <EM>should</EM>  <EM>set</EM> <EM>this</EM> <EM>environment</EM> <EM>variable.</EM>  <EM>Doing</EM> <EM>this</EM> <EM>tells</EM> <EM>ncurses</EM> <EM>to</EM> <EM>use</EM>
+       capabilities) described in  the  terminfo  are  known  to  be  missing.
+       Specifically,  when  running  in  a  UTF-8  locale,  the  Linux console
+       emulator and the GNU screen program ignore these.  <EM>ncurses</EM>  <EM>checks</EM>  <EM>the</EM>
+       <EM>TERM</EM>  <EM>environment</EM>  <EM>variable</EM>  <EM>for</EM>  <EM>these.</EM>   <EM>For</EM> <EM>other</EM> <EM>special</EM> <EM>cases,</EM> <EM>you</EM>
+       <EM>should</EM> <EM>set</EM> <EM>this</EM> <EM>environment</EM> <EM>variable.</EM>  <EM>Doing</EM> <EM>this</EM> <EM>tells</EM> <EM>ncurses</EM> <EM>to</EM>  <EM>use</EM>
        <EM>Unicode</EM> <EM>values</EM> <EM>which</EM> <EM>correspond</EM> <EM>to</EM> <EM>the</EM> <EM>VT100</EM> <EM>line-drawing</EM> <EM>glyphs.</EM>  <EM>That</EM>
-       <EM>works</EM>  <EM>for</EM>  <EM>the</EM> <EM>special</EM> <EM>cases</EM> <EM>cited,</EM> <EM>and</EM> <EM>is</EM> <EM>likely</EM> <EM>to</EM> <EM>work</EM> <EM>for</EM> <EM>terminal</EM>
+       <EM>works</EM> <EM>for</EM> <EM>the</EM> <EM>special</EM> <EM>cases</EM> <EM>cited,</EM> <EM>and</EM> <EM>is</EM> <EM>likely</EM> <EM>to</EM> <EM>work</EM>  <EM>for</EM>  <EM>terminal</EM>
        <EM>emulators.</EM>
 
-       When setting this variable, you should  set  it  to  a  nonzero  value.
-       Setting  it  to zero (or to a nonnumber) disables the special check for
+       When  setting  this  variable,  you  should  set it to a nonzero value.
+       Setting it to zero (or to a nonnumber) disables the special  check  for
        "linux" and "screen".
 
-       As an alternative to the environment variable, <EM>ncurses</EM>  checks  for  an
-       extended  terminfo  capability  <STRONG>U8</STRONG>.  This is a numeric capability which
+       As  an  alternative  to the environment variable, <EM>ncurses</EM> checks for an
+       extended terminfo capability <STRONG>U8</STRONG>.  This is a  numeric  capability  which
        can be compiled using <STRONG>tic</STRONG> <STRONG>-x</STRONG>.  For example
 
           # linux console, if patched to provide working
           xterm-utf8|xterm relying on UTF-8 line-graphics,
                   U8#1, use=xterm,
 
-       The name "U8" is chosen to be two characters, to permit it to  be  used
+       The  name  "U8" is chosen to be two characters, to permit it to be used
        by applications that use <EM>ncurses</EM>' termcap interface.
 
 
 </PRE><H3><a name="h3-NCURSES_TRACE"><EM>NCURSES_TRACE</EM></a></H3><PRE>
-       During   initialization,  the  <EM>ncurses</EM>  debugging  library  checks  the
-       <EM>NCURSES</EM><STRONG>_</STRONG><EM>TRACE</EM> environment variable.  If it is  defined,  to  a  numeric
-       value,  <EM>ncurses</EM>  calls  the  <STRONG>trace</STRONG>  function,  using  that value as the
+       During  initialization,  the  <EM>ncurses</EM>  debugging  library  checks   the
+       <EM>NCURSES</EM><STRONG>_</STRONG><EM>TRACE</EM>  environment  variable.   If  it is defined, to a numeric
+       value, <EM>ncurses</EM> calls the  <STRONG>trace</STRONG>  function,  using  that  value  as  the
        argument.
 
-       The argument values, which are defined  in  <STRONG>curses.h</STRONG>,  provide  several
-       types   of   information.   When  running  with  traces  enabled,  your
+       The  argument  values,  which  are defined in <STRONG>curses.h</STRONG>, provide several
+       types  of  information.   When  running  with  traces   enabled,   your
        application will write the file <STRONG>trace</STRONG> to the current directory.
 
        See <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> for more information.
 
 
 </PRE><H3><a name="h3-TERM"><EM>TERM</EM></a></H3><PRE>
-       Denotes your terminal type.  Each terminal  type  is  distinct,  though
+       Denotes  your  terminal  type.   Each terminal type is distinct, though
        many are similar.
 
-       <EM>TERM</EM>  is commonly set by terminal emulators to help applications find a
-       workable  terminal  description.   Some  of  those  choose  a   popular
+       <EM>TERM</EM> is commonly set by terminal emulators to help applications find  a
+       workable   terminal  description.   Some  of  those  choose  a  popular
        approximation, e.g., "ansi", "vt100", "xterm" rather than an exact fit.
        Not  infrequently,  your  application  will  have  problems  with  that
        approach, e.g., incorrect function-key definitions.
 
-       If  you set <EM>TERM</EM> in your environment, it has no effect on the operation
-       of the terminal emulator.  It only affects the  way  applications  work
-       within  the  terminal.   Likewise,  as a general rule (<STRONG>xterm(1)</STRONG> being a
-       rare exception), terminal emulators which allow you to specify <EM>TERM</EM>  as
-       a  parameter  or  configuration  value  do not change their behavior to
+       If you set <EM>TERM</EM> in your environment, it has no effect on the  operation
+       of  the  terminal  emulator.  It only affects the way applications work
+       within the terminal.  Likewise, as a general  rule  (<STRONG>xterm(1)</STRONG>  being  a
+       rare  exception), terminal emulators which allow you to specify <EM>TERM</EM> as
+       a parameter or configuration value do  not  change  their  behavior  to
        match that setting.
 
 
 </PRE><H3><a name="h3-TERMCAP"><EM>TERMCAP</EM></a></H3><PRE>
-       If the <EM>ncurses</EM>  library  has  been  configured  with  <EM>termcap</EM>  support,
-       <EM>ncurses</EM>  will  check for a terminal's description in termcap form if it
+       If  the  <EM>ncurses</EM>  library  has  been  configured  with <EM>termcap</EM> support,
+       <EM>ncurses</EM> will check for a terminal's description in termcap form  if  it
        is not available in the terminfo database.
 
        The <EM>TERMCAP</EM> environment variable contains either a terminal description
-       (with  newlines  stripped  out),  or  a  file  name  telling  where the
+       (with newlines  stripped  out),  or  a  file  name  telling  where  the
        information denoted by the <EM>TERM</EM> environment variable exists.  In either
-       case,  setting  it  directs  <EM>ncurses</EM> to ignore the usual place for this
+       case, setting it directs <EM>ncurses</EM> to ignore the  usual  place  for  this
        information, e.g., /etc/termcap.
 
 
 </PRE><H3><a name="h3-TERMINFO"><EM>TERMINFO</EM></a></H3><PRE>
-       <EM>ncurses</EM> can be configured to read  from  multiple  terminal  databases.
-       The  <EM>TERMINFO</EM>  variable overrides the location for the default terminal
-       database.  Terminal descriptions (in terminal  format)  are  stored  in
+       <EM>ncurses</EM>  can  be  configured  to read from multiple terminal databases.
+       The <EM>TERMINFO</EM> variable overrides the location for the  default  terminal
+       database.   Terminal  descriptions  (in  terminal format) are stored in
        terminal databases:
 
        <STRONG>o</STRONG>   Normally these are stored in a directory tree, using subdirectories
            named by the first letter of the terminal names therein.
 
            This is the scheme used in System V, which legacy Unix systems use,
-           and  the  <EM>TERMINFO</EM> variable is used by <EM>curses</EM> applications on those
+           and the <EM>TERMINFO</EM> variable is used by <EM>curses</EM> applications  on  those
            systems to override the default location of the terminal database.
 
-       <STRONG>o</STRONG>   If <EM>ncurses</EM> is built to use hashed databases,  then  each  entry  in
+       <STRONG>o</STRONG>   If  <EM>ncurses</EM>  is  built  to use hashed databases, then each entry in
            this list may be the path of a hashed database file, e.g.,
 
                /usr/share/terminfo.db
 
                /usr/share/terminfo/
 
-           The  hashed  database  uses  less disk-space and is a little faster
-           than the directory tree.  However,  some  applications  assume  the
-           existence  of  the  directory tree, reading it directly rather than
+           The hashed database uses less disk-space and  is  a  little  faster
+           than  the  directory  tree.   However, some applications assume the
+           existence of the directory tree, reading it  directly  rather  than
            using the terminfo library calls.
 
-       <STRONG>o</STRONG>   If <EM>ncurses</EM> is built  with  a  support  for  reading  termcap  files
-           directly,  then  an entry in this list may be the path of a termcap
+       <STRONG>o</STRONG>   If  <EM>ncurses</EM>  is  built  with  a  support  for reading termcap files
+           directly, then an entry in this list may be the path of  a  termcap
            file.
 
        <STRONG>o</STRONG>   If the <EM>TERMINFO</EM> variable begins with "hex:" or "b64:", <EM>ncurses</EM> uses
-           the  remainder of that variable as a compiled terminal description.
+           the remainder of that variable as a compiled terminal  description.
            You might produce the base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>:
 
                TERMINFO="$(infocmp -0 -Q2 -q)"
                export TERMINFO
 
-           The compiled description is used if it corresponds to the  terminal
+           The  compiled description is used if it corresponds to the terminal
            identified by the <EM>TERM</EM> variable.
 
-       Setting  <EM>TERMINFO</EM> is the simplest, but not the only way to set location
-       of the default  terminal  database.   The  complete  list  of  database
+       Setting <EM>TERMINFO</EM> is the simplest, but not the only way to set  location
+       of  the  default  terminal  database.   The  complete  list of database
        locations in order follows:
 
-          <STRONG>o</STRONG>   the  last  terminal  database to which <EM>ncurses</EM> wrote, if any, is
+          <STRONG>o</STRONG>   the last terminal database to which <EM>ncurses</EM> wrote,  if  any,  is
               searched first
 
           <STRONG>o</STRONG>   the location specified by the <EM>TERMINFO</EM> environment variable
 
           <STRONG>o</STRONG>   locations listed in the <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variable
 
-          <STRONG>o</STRONG>   one or more locations whose names are  configured  and  compiled
+          <STRONG>o</STRONG>   one  or  more  locations whose names are configured and compiled
               into the <EM>ncurses</EM> library, i.e.,
 
-             <STRONG>o</STRONG>   /usr/share/terminfo   (corresponding   to  the  <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM>
+             <STRONG>o</STRONG>   /usr/share/terminfo  (corresponding  to   the   <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM>
                  variable)
 
              <STRONG>o</STRONG>   /usr/share/terminfo (corresponding to the <EM>TERMINFO</EM> variable)
 
 
 </PRE><H3><a name="h3-TERMINFO_DIRS"><EM>TERMINFO_DIRS</EM></a></H3><PRE>
-       Specifies a list of locations  to  search  for  terminal  descriptions.
-       Each  location  in  the list is a terminal database as described in the
-       section on the <EM>TERMINFO</EM> variable.  The  list  is  separated  by  colons
+       Specifies  a  list  of  locations  to search for terminal descriptions.
+       Each location in the list is a terminal database as  described  in  the
+       section  on  the  <EM>TERMINFO</EM>  variable.   The list is separated by colons
        (i.e., ":") on Unix, semicolons on OS/2 EMX.
 
-       There  is  no  corresponding  feature  in  System  V terminfo; it is an
+       There is no corresponding feature  in  System  V  terminfo;  it  is  an
        extension developed for <EM>ncurses</EM>.
 
 
 </PRE><H3><a name="h3-TERMPATH"><EM>TERMPATH</EM></a></H3><PRE>
-       If <EM>TERMCAP</EM> does not hold a file name then <EM>ncurses</EM> checks  the  <EM>TERMPATH</EM>
-       environment  variable.  This is a list of filenames separated by spaces
+       If  <EM>TERMCAP</EM>  does not hold a file name then <EM>ncurses</EM> checks the <EM>TERMPATH</EM>
+       environment variable.  This is a list of filenames separated by  spaces
        or colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
 
-       If the <EM>TERMPATH</EM> environment variable is not set, <EM>ncurses</EM> looks  in  the
+       If  the  <EM>TERMPATH</EM> environment variable is not set, <EM>ncurses</EM> looks in the
        files
 
            /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap,
        in that order.
 
        The library may be configured to disregard the following variables when
-       the current user is the superuser (root), or if  the  application  uses
+       the  current  user  is the superuser (root), or if the application uses
        setuid or setgid permissions:
 
            $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
 
 
 </PRE><H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
-       Many  different  <EM>ncurses</EM> configurations are possible, determined by the
-       options given to the <EM>configure</EM> script when building the  library.   Run
-       the  script  with  the  <STRONG>--help</STRONG> option to peruse them all.  A few are of
+       Many different <EM>ncurses</EM> configurations are possible, determined  by  the
+       options  given  to the <EM>configure</EM> script when building the library.  Run
+       the script with the <STRONG>--help</STRONG> option to peruse them all.   A  few  are  of
        particular significance to the application developer employing <EM>ncurses.</EM>
 
        --disable-overwrite
 
                 <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-            This option is used to avoid filename conflicts  when  <EM>ncurses</EM>  is
+            This  option  is  used to avoid filename conflicts when <EM>ncurses</EM> is
             not the main implementation of curses of the computer.  If <EM>ncurses</EM>
-            is installed  disabling  overwrite,  it  puts  its  headers  in  a
+            is  installed  disabling  overwrite,  it  puts  its  headers  in a
             subdirectory, e.g.,
 
                 <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
 
-            It  also  omits  a  symbolic  link  which  would  allow you to use
+            It also omits a  symbolic  link  which  would  allow  you  to  use
             <STRONG>-lcurses</STRONG> to build executables.
 
        --enable-widec
-            The  configure  script   renames   the   library   and   (if   the
-            <STRONG>--disable-overwrite</STRONG>  option  is  used)  puts the header files in a
-            different subdirectory.  All of  the  library  names  have  a  "w"
+            The   configure   script   renames   the   library   and  (if  the
+            <STRONG>--disable-overwrite</STRONG> option is used) puts the  header  files  in  a
+            different  subdirectory.   All  of  the  library  names have a "w"
             appended to them, i.e., instead of
 
                 <STRONG>-lncurses</STRONG>
 
                 <STRONG>-lncursesw</STRONG>
 
-            You  must  also  enable  the wide-character features in the header
-            file when compiling for the  wide-character  library  to  use  the
-            extended  (wide-character)  functions.   The  symbol which enables
+            You must also enable the wide-character  features  in  the  header
+            file  when  compiling  for  the  wide-character library to use the
+            extended (wide-character) functions.   The  symbol  which  enables
             these features has changed since XSI Curses, Issue 4:
 
-            <STRONG>o</STRONG>   Originally, the wide-character  feature  required  the  symbol
+            <STRONG>o</STRONG>   Originally,  the  wide-character  feature  required the symbol
                 <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG>  but  that  was  only  valid  for  XPG4
                 (1996).
 
-            <STRONG>o</STRONG>   Later, that was deemed conflicting with <STRONG>_XOPEN_SOURCE</STRONG>  defined
+            <STRONG>o</STRONG>   Later,  that was deemed conflicting with <STRONG>_XOPEN_SOURCE</STRONG> defined
                 to 500.
 
-            <STRONG>o</STRONG>   As  of  mid-2018,  none of the features in this implementation
-                require a <STRONG>_XOPEN_SOURCE</STRONG> feature greater  than  600.   However,
+            <STRONG>o</STRONG>   As of mid-2018, none of the features  in  this  implementation
+                require  a  <STRONG>_XOPEN_SOURCE</STRONG>  feature greater than 600.  However,
                 X/Open Curses, Issue 7 (2009) recommends defining it to 700.
 
-            <STRONG>o</STRONG>   Alternatively,   you   can  enable  the  feature  by  defining
-                <STRONG>NCURSES_WIDECHAR</STRONG> with the caveat that some other  header  file
-                than  <STRONG>curses.h</STRONG>  may require a specific value for <STRONG>_XOPEN_SOURCE</STRONG>
+            <STRONG>o</STRONG>   Alternatively,  you  can  enable  the  feature   by   defining
+                <STRONG>NCURSES_WIDECHAR</STRONG>  with  the caveat that some other header file
+                than <STRONG>curses.h</STRONG> may require a specific value  for  <STRONG>_XOPEN_SOURCE</STRONG>
                 (or a system-specific symbol).
 
-            The <EM>curses.h</EM> header file installed for the wide-character  library
-            is  designed  to be compatible with the non-wide library's header.
-            Only the size of the <EM>WINDOW</EM> structure  differs;  few  applications
+            The  <EM>curses.h</EM> header file installed for the wide-character library
+            is designed to be compatible with the non-wide  library's  header.
+            Only  the  size  of the <EM>WINDOW</EM> structure differs; few applications
             require more than pointers to <EM>WINDOW</EM>s.
 
             If  the  headers  are  installed  allowing  overwrite,  the  wide-
-            character library's headers should be  installed  last,  to  allow
+            character  library's  headers  should  be installed last, to allow
             applications to be built using either library from the same set of
             headers.
 
        --with-pthread
-            The configure script renames the  library.   All  of  the  library
-            names  have  a  "t"  appended  to  them  (before  any "w" added by
+            The  configure  script  renames  the  library.  All of the library
+            names have a "t"  appended  to  them  (before  any  "w"  added  by
             <STRONG>--enable-widec</STRONG>).
 
             The global variables such as <STRONG>LINES</STRONG> are replaced by macros to allow
             read-only access.  At the same time, setter-functions are provided
-            to set these values.  Some applications  (very  few)  may  require
+            to  set  these  values.   Some applications (very few) may require
             changes to work with this convention.
 
        --with-shared
        --with-debug
 
        --with-profile
-            The  shared  and  normal  (static)  library  names differ by their
-            suffixes, e.g., <STRONG>libncurses.so</STRONG> and  <STRONG>libncurses.a</STRONG>.   The  debug  and
-            profiling  libraries  add  a  "_g"  and  a  "_p" to the root names
+            The shared and normal  (static)  library  names  differ  by  their
+            suffixes,  e.g.,  <STRONG>libncurses.so</STRONG>  and  <STRONG>libncurses.a</STRONG>.  The debug and
+            profiling libraries add a "_g"  and  a  "_p"  to  the  root  names
             respectively, e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
 
        --with-termlib
-            Low-level functions which do not depend upon whether  the  library
+            Low-level  functions  which do not depend upon whether the library
             supports wide-characters, are provided in the tinfo library.
 
-            By  doing  this, it is possible to share the tinfo library between
-            wide/normal configurations as well  as  reduce  the  size  of  the
+            By doing this, it is possible to share the tinfo  library  between
+            wide/normal  configurations  as  well  as  reduce  the size of the
             library when only low-level functions are needed.
 
             Those functions are described in these pages:
             <STRONG>o</STRONG>   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> - miscellaneous <EM>curses</EM> utility routines
 
        --with-trace
-            The  <STRONG>trace</STRONG>  function normally resides in the debug library, but it
-            is sometimes useful to  configure  this  in  the  shared  library.
+            The <STRONG>trace</STRONG> function normally resides in the debug library,  but  it
+            is  sometimes  useful  to  configure  this  in the shared library.
             Configure scripts should check for the function's existence rather
             than assuming it is always in the debug library.
 
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       X/Open Curses permits most functions it specifies to be made  available
+       X/Open  Curses permits most functions it specifies to be made available
        as macros as well.  <EM>ncurses</EM> does so
 
        <STRONG>o</STRONG>   for functions that return values via their parameters,
 
        <STRONG>o</STRONG>   to support obsolete features,
 
-       <STRONG>o</STRONG>   to  reuse functions (for example, those that move the cursor before
+       <STRONG>o</STRONG>   to reuse functions (for example, those that move the cursor  before
            another operation), and
 
        <STRONG>o</STRONG>   a few special cases.
 
-       If the standard  output  file  descriptor  of  an  <EM>ncurses</EM>  program  is
-       redirected  to  something  that  is  not a terminal device, the library
-       writes screen updates to the standard error file descriptor.  This  was
+       If  the  standard  output  file  descriptor  of  an  <EM>ncurses</EM> program is
+       redirected to something that is not  a  terminal  device,  the  library
+       writes  screen updates to the standard error file descriptor.  This was
        an undocumented feature of SVr3.
 
-       See  subsection  "Header  files"  below  regarding  symbols  exposed by
+       See subsection  "Header  files"  below  regarding  symbols  exposed  by
        inclusion of <EM>curses.h</EM>.
 
 
 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
-       <EM>ncurses</EM> enables an application  to  capture  mouse  events  on  certain
+       <EM>ncurses</EM>  enables  an  application  to  capture  mouse events on certain
        terminals, including <EM>xterm;</EM> see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>.
 
-       <EM>ncurses</EM>  provides  a  means of responding to window resizing events, as
-       when running in a GUI terminal emulator application such as <EM>xterm;</EM>  see
+       <EM>ncurses</EM> provides a means of responding to window  resizing  events,  as
+       when  running in a GUI terminal emulator application such as <EM>xterm;</EM> see
        <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
 
        <EM>ncurses</EM> allows an application to query the terminal for the presence of
        a wide variety of special keys; see <STRONG><A HREF="curs_getch.3x.html">has_key(3x)</A></STRONG>.
 
        <EM>ncurses</EM> extends the fixed set of function key capabilities specified by
-       X/Open   Curses  by  allowing  the  application  programmer  to  define
-       additional   key   sequences   at    runtime;    see    <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>,
+       X/Open  Curses  by  allowing  the  application  programmer  to   define
+       additional    key    sequences    at   runtime;   see   <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>,
        <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>, and <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>.
 
-       <EM>ncurses</EM>   can   exploit  the  capabilities  of  terminals  implementing
-       ISO 6429/ECMA-48  SGR 39  and  SGR 49   sequences,   which   allow   an
-       application  to  reset  the  terminal  to  its  original foreground and
-       background colors.  From a user's perspective, the application is  able
-       to  draw colored text on a background whose color is set independently,
+       <EM>ncurses</EM>  can  exploit  the  capabilities  of   terminals   implementing
+       ISO 6429/ECMA-48   SGR 39   and   SGR 49   sequences,  which  allow  an
+       application to reset  the  terminal  to  its  original  foreground  and
+       background  colors.  From a user's perspective, the application is able
+       to draw colored text on a background whose color is set  independently,
        providing better control over color contrasts.  See <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>.
 
-       An <EM>ncurses</EM> application can choose  to  hide  the  internal  details  of
-       <EM>WINDOW</EM>   structures,   instead   using   accessor   functions  such  as
+       An  <EM>ncurses</EM>  application  can  choose  to  hide the internal details of
+       <EM>WINDOW</EM>  structures,  instead   using   accessor   functions   such   as
        <STRONG><A HREF="curs_opaque.3x.html">is_scrollok(3x)</A></STRONG>.
 
-       <EM>ncurses</EM> enables an  application  to  direct  application  output  to  a
+       <EM>ncurses</EM>  enables  an  application  to  direct  application  output to a
        printer attached to the terminal device; see <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>.
 
-       <EM>ncurses</EM>  offers <STRONG><A HREF="curs_slk.3x.html">slk_attr(3x)</A></STRONG> as a counterpart of <STRONG><A HREF="curs_attr.3x.html">attr_get(3x)</A></STRONG> for soft-
-       label key lines, and <STRONG><A HREF="curs_slk.3x.html">extended_slk_color(3x)</A></STRONG> as a form of  <STRONG><A HREF="curs_slk.3x.html">slk_color(3x)</A></STRONG>
-       that  can  gather  color  information  from  them  when many colors are
+       <EM>ncurses</EM> offers <STRONG><A HREF="curs_slk.3x.html">slk_attr(3x)</A></STRONG> as a counterpart of <STRONG><A HREF="curs_attr.3x.html">attr_get(3x)</A></STRONG> for  soft-
+       label  key lines, and <STRONG><A HREF="curs_slk.3x.html">extended_slk_color(3x)</A></STRONG> as a form of <STRONG><A HREF="curs_slk.3x.html">slk_color(3x)</A></STRONG>
+       that can gather color  information  from  them  when  many  colors  are
        supported.
 
-       Some extensions are only available if <EM>ncurses</EM> is  compiled  to  support
+       Some  extensions  are  only available if <EM>ncurses</EM> is compiled to support
        them; see section "ALTERNATE CONFIGURATIONS" above.
 
-       <STRONG>o</STRONG>   Rudimentary   support   for   multi-threaded  applications  may  be
+       <STRONG>o</STRONG>   Rudimentary  support  for  multi-threaded   applications   may   be
            available; see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>.
 
-       <STRONG>o</STRONG>   Functions that ease the  management  of  multiple  screens  can  be
+       <STRONG>o</STRONG>   Functions  that  ease  the  management  of  multiple screens can be
            exposed; see <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>.
 
        <STRONG>o</STRONG>   The compiler option <STRONG>-DUSE_GETCAP</STRONG> causes the library to fall back to
            reading <EM>/etc/termcap</EM> if the terminal setup code cannot find a <EM>term-</EM>
-           <EM>info</EM>  entry  corresponding  to  <EM>TERM.</EM>   Use  of this feature is not
-           recommended, as it essentially includes an entire <EM>termcap</EM>  compiler
-           in  the  <EM>ncurses</EM>  startup  code,  at  a  cost  in  memory usage and
+           <EM>info</EM> entry corresponding to <EM>TERM.</EM>   Use  of  this  feature  is  not
+           recommended,  as it essentially includes an entire <EM>termcap</EM> compiler
+           in the <EM>ncurses</EM>  startup  code,  at  a  cost  in  memory  usage  and
            application launch latency.
 
-       <EM>PDCurses</EM>  and  NetBSD  <EM>curses</EM>  incorporate  some  <EM>ncurses</EM>   extensions.
+       <EM>PDCurses</EM>   and  NetBSD  <EM>curses</EM>  incorporate  some  <EM>ncurses</EM>  extensions.
        Individual man pages indicate where this is the case.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
        X/Open Curses defines two levels of conformance, "base" and "enhanced".
        The latter includes several additional features, such as wide-character
-       and  color support.  <EM>ncurses</EM> intends base-level conformance with X/Open
+       and color support.  <EM>ncurses</EM> intends base-level conformance with  X/Open
        Curses, and supports nearly all its enhanced features.
 
-       Differences between X/Open Curses and <EM>ncurses</EM>  are  documented  in  the
+       Differences  between  X/Open  Curses  and <EM>ncurses</EM> are documented in the
        "PORTABILITY" sections of applicable man pages.
 
 
 </PRE><H3><a name="h3-Error-Checking">Error Checking</a></H3><PRE>
-       In  many cases, X/Open Curses is vague about error conditions, omitting
+       In many cases, X/Open Curses is vague about error conditions,  omitting
        some of the SVr4 documentation.
 
-       Unlike other  implementations,  this  one  checks  parameters  such  as
-       pointers  to  <EM>WINDOW</EM>  structures to ensure they are not null.  The main
-       reason for providing this  behavior  is  to  guard  against  programmer
-       error.   The  standard interface does not provide a way for the library
-       to tell an application which of several possible errors were  detected.
-       Relying  on  this  (or  some other) extension will adversely affect the
+       Unlike  other  implementations,  this  one  checks  parameters  such as
+       pointers to <EM>WINDOW</EM> structures to ensure they are not  null.   The  main
+       reason  for  providing  this  behavior  is  to guard against programmer
+       error.  The standard interface does not provide a way for  the  library
+       to  tell an application which of several possible errors were detected.
+       Relying on this (or some other) extension  will  adversely  affect  the
        portability of curses applications.
 
 
 </PRE><H3><a name="h3-Padding-Differences">Padding Differences</a></H3><PRE>
-       In historic curses versions, delays embedded in  the  capabilities  <STRONG>cr</STRONG>,
-       <STRONG>ind</STRONG>,  <STRONG>cub1</STRONG>,  <STRONG>ff</STRONG>  and <STRONG>tab</STRONG> activated corresponding delay bits in the Unix
+       In  historic  curses  versions, delays embedded in the capabilities <STRONG>cr</STRONG>,
+       <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding delay bits  in  the  Unix
        tty driver.  In this implementation, all padding is done by sending NUL
-       bytes.   This  method  is  slightly  more  expensive,  but  narrows the
-       interface to the Unix kernel significantly and increases the  package's
+       bytes.  This  method  is  slightly  more  expensive,  but  narrows  the
+       interface  to the Unix kernel significantly and increases the package's
        portability correspondingly.
 
 
 </PRE><H3><a name="h3-Header-Files">Header Files</a></H3><PRE>
-       The  header  file <EM>curses.h</EM> itself includes the header files <EM>stdio.h</EM> and
+       The header file <EM>curses.h</EM> itself includes the header files  <EM>stdio.h</EM>  and
        <EM>unctrl.h</EM>.
 
        X/Open Curses has more to say, but does not finish the story:
 
-           The inclusion of &lt;curses.h&gt; may make visible all symbols  from  the
+           The  inclusion  of &lt;curses.h&gt; may make visible all symbols from the
            headers &lt;stdio.h&gt;, &lt;term.h&gt;, &lt;termios.h&gt;, and &lt;wchar.h&gt;.
 
        Here is a more complete story:
 
-       <STRONG>o</STRONG>   Starting   with  BSD  curses,  all  implementations  have  included
+       <STRONG>o</STRONG>   Starting  with  BSD  curses,  all  implementations  have   included
            &lt;stdio.h&gt;.
 
-           BSD curses included &lt;curses.h&gt;  and  &lt;unctrl.h&gt;  from  an  internal
+           BSD  curses  included  &lt;curses.h&gt;  and  &lt;unctrl.h&gt; from an internal
            header file <EM>curses.ext</EM> ("ext" abbreviated "externs").
 
-           BSD  curses  used  &lt;stdio.h&gt; internally (for <STRONG>printw</STRONG> and <STRONG>scanw</STRONG>), but
+           BSD curses used &lt;stdio.h&gt; internally (for <STRONG>printw</STRONG>  and  <STRONG>scanw</STRONG>),  but
            nothing in &lt;curses.h&gt; itself relied upon &lt;stdio.h&gt;.
 
-       <STRONG>o</STRONG>   SVr2 curses added <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>, which relies upon  &lt;stdio.h&gt;.   That
+       <STRONG>o</STRONG>   SVr2  curses  added <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>, which relies upon &lt;stdio.h&gt;.  That
            is, the function prototype uses <STRONG>FILE</STRONG>.
 
            SVr4 curses added <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG>, which also use &lt;stdio.h&gt;.
 
            X/Open Curses documents all three of these functions.
 
-           SVr4  curses  and  X/Open  Curses  do  not require the developer to
+           SVr4 curses and X/Open Curses  do  not  require  the  developer  to
            include  &lt;stdio.h&gt;  before  including  &lt;curses.h&gt;.   Both  document
            curses showing &lt;curses.h&gt; as the only required header.
 
            As a result, standard &lt;curses.h&gt; will always include &lt;stdio.h&gt;.
 
-       <STRONG>o</STRONG>   X/Open  Curses  is  inconsistent  with  respect  to  SVr4 regarding
+       <STRONG>o</STRONG>   X/Open Curses  is  inconsistent  with  respect  to  SVr4  regarding
            &lt;unctrl.h&gt;.
 
-           As  noted  in  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,  <EM>ncurses</EM>  includes  &lt;unctrl.h&gt;   from
+           As   noted  in  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,  <EM>ncurses</EM>  includes  &lt;unctrl.h&gt;  from
            &lt;curses.h&gt; (like SVr4).
 
        <STRONG>o</STRONG>   X/Open's comments about &lt;term.h&gt; and &lt;termios.h&gt; may refer to HP-UX
            HP-UX curses includes &lt;term.h&gt; from &lt;curses.h&gt; to declare <STRONG>setupterm</STRONG>
            in curses.h, but <EM>ncurses</EM> (and Solaris curses) do not.
 
-           AIX  curses includes &lt;term.h&gt; and &lt;termios.h&gt;.  Again, <EM>ncurses</EM> (and
+           AIX curses includes &lt;term.h&gt; and &lt;termios.h&gt;.  Again, <EM>ncurses</EM>  (and
            Solaris curses) do not.
 
-       <STRONG>o</STRONG>   X/Open says that &lt;curses.h&gt; <EM>may</EM> include &lt;term.h&gt;, but there  is  no
+       <STRONG>o</STRONG>   X/Open  says  that &lt;curses.h&gt; <EM>may</EM> include &lt;term.h&gt;, but there is no
            requirement that it do that.
 
            Some  programs  use  functions  declared  in  both  &lt;curses.h&gt;  and
-           &lt;term.h&gt;, and must include both headers in the same  module.   Very
-           old  versions  of  AIX  curses required including &lt;curses.h&gt; before
+           &lt;term.h&gt;,  and  must include both headers in the same module.  Very
+           old versions of AIX curses  required  including  &lt;curses.h&gt;  before
            including &lt;term.h&gt;.
 
-           Because <EM>ncurses</EM> header files include the headers needed  to  define
+           Because  <EM>ncurses</EM>  header files include the headers needed to define
            datatypes used in the headers, <EM>ncurses</EM> header files can be included
-           in any order.  But for portability, you should  include  &lt;curses.h&gt;
+           in  any  order.  But for portability, you should include &lt;curses.h&gt;
            before &lt;term.h&gt;.
 
-       <STRONG>o</STRONG>   X/Open  Curses  says  <EM>"may</EM> <EM>make</EM> <EM>visible"</EM> because including a header
+       <STRONG>o</STRONG>   X/Open Curses says <EM>"may</EM> <EM>make</EM> <EM>visible"</EM> because  including  a  header
            file does not necessarily make all symbols in it visible (there are
            ifdef's to consider).
 
-           For  instance,  in  <EM>ncurses</EM> &lt;wchar.h&gt; <EM>may</EM> be included if the proper
-           symbol is defined, and if <EM>ncurses</EM> is configured for  wide-character
-           support.   If  the  header  is  included,  its  symbols may be made
-           visible.  That depends on the value used for <STRONG>_XOPEN_SOURCE</STRONG>  feature
+           For instance, in <EM>ncurses</EM> &lt;wchar.h&gt; <EM>may</EM> be included  if  the  proper
+           symbol  is defined, and if <EM>ncurses</EM> is configured for wide-character
+           support.  If the header  is  included,  its  symbols  may  be  made
+           visible.   That depends on the value used for <STRONG>_XOPEN_SOURCE</STRONG> feature
            test macro.
 
-       <STRONG>o</STRONG>   X/Open  Curses  documents  one  required header, in a special case:
-           &lt;stdarg.h&gt;  before  &lt;curses.h&gt;  to  prototype  the  <STRONG>vw_printw</STRONG>   and
-           <STRONG>vw_scanw</STRONG>  functions  (as  well  as  the  obsolete  the <STRONG>vwprintw</STRONG> and
+       <STRONG>o</STRONG>   X/Open Curses documents one required header,  in  a  special  case:
+           &lt;stdarg.h&gt;   before  &lt;curses.h&gt;  to  prototype  the  <STRONG>vw_printw</STRONG>  and
+           <STRONG>vw_scanw</STRONG> functions (as  well  as  the  obsolete  the  <STRONG>vwprintw</STRONG>  and
            <STRONG>vwscanw</STRONG> functions).  Each of those uses a <STRONG>va_list</STRONG> parameter.
 
-           The two obsolete functions were  introduced  in  SVr3.   The  other
-           functions  were  introduced  in  X/Open  Curses.   In between, SVr4
-           curses provided for  the  possibility  that  an  application  might
+           The  two  obsolete  functions  were  introduced in SVr3.  The other
+           functions were introduced  in  X/Open  Curses.   In  between,  SVr4
+           curses  provided  for  the  possibility  that  an application might
            include either &lt;varargs.h&gt; or &lt;stdarg.h&gt;.  Initially, that was done
-           by using <STRONG>void*</STRONG> for the <STRONG>va_list</STRONG> parameter.  Later,  a  special  type
-           (defined  in &lt;stdio.h&gt;) was introduced, to allow for compiler type-
+           by  using  <STRONG>void*</STRONG>  for the <STRONG>va_list</STRONG> parameter.  Later, a special type
+           (defined in &lt;stdio.h&gt;) was introduced, to allow for compiler  type-
            checking.  That special type is always available, because &lt;stdio.h&gt;
            is always included by &lt;curses.h&gt;.
 
            None of the X/Open Curses implementations require an application to
-           include &lt;stdarg.h&gt;  before  &lt;curses.h&gt;  because  they  either  have
-           allowed  for  a  special type, or (like <EM>ncurses</EM>) include &lt;stdarg.h&gt;
+           include  &lt;stdarg.h&gt;  before  &lt;curses.h&gt;  because  they  either have
+           allowed for a special type, or (like  <EM>ncurses</EM>)  include  &lt;stdarg.h&gt;
            directly to provide a portable interface.
 
 
 
 
 
-ncurses 6.4                       2024-01-05                       <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+ncurses 6.4                       2024-01-13                       <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -1523,7 +1518,7 @@ ncurses 6.4                       2024-01-05                       <STRONG><A HR
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
 <li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a>
 <ul>
-<li><a href="#h3-CC-command-character">CC command-character</a></li>
+<li><a href="#h3-CC-_command-character_">CC (command character)</a></li>
 <li><a href="#h3-BAUDRATE">BAUDRATE</a></li>
 <li><a href="#h3-COLUMNS">COLUMNS</a></li>
 <li><a href="#h3-ESCDELAY">ESCDELAY</a></li>
index a6720a40746e4e3aba218fb25a93bee6546a4d36..501165372661f34c0a3449036f9fc85df18f7f36 100644 (file)
   * authorization.                                                           *
   ****************************************************************************
   * @Id: panel.3x,v 1.61 2023/12/23 16:22:25 tom Exp @
-  * ---------
-  * ---------
-  * ---------
-  * ---------
-  * ---------
-  * ---------
-  * ---------
-  * ---------
-  * ---------
-  * ---------
-  * ---------
-  * ---------
-  * ---------
-  * ---------
-  * ---------
-  * ---------
-  * ---------
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
index e460448cbb8eb22a5b2685ee5c6c5c1b6aec0766..0295c9d53b3d5eeee807065e084f50e2ae7b0f6c 100644 (file)
@@ -28,7 +28,6 @@
   * authorization.                                                           *
   ****************************************************************************
   * @Id: scr_dump.5,v 1.42 2023/12/30 22:06:36 tom Exp @
-  *SH SYNOPSIS
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
index e97dbb15bae2a541c572c5ba63237c4a0e16b234..c279313bb9eaf2b072e067abab38dfdb6ed809ad 100644 (file)
   * authorization.                                                           *
   ****************************************************************************
   * @Id: tabs.1,v 1.52 2023/12/23 16:08:25 tom Exp @
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=PWB1/sys/source/s2/\
-  *   tabs.c
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/tabs.c
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=3BSD/usr/src/cmd/\
-  *   tabs.c
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=SysVR4/cmd/tabs/tabs.c
-  * https://pubs.opengroup.org/onlinepubs/009604499/utilities/tabs.html
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
index 6c5b96a6b1825d6b0a340ad946c726a601aa9f66..bbcbe644cd311eb08d10363e599d2b7e68719adf 100644 (file)
@@ -1,7 +1,7 @@
 <!--
   * t
   ****************************************************************************
-  * Copyright 2018-2021,2023 Thomas E. Dickey                                *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
   * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: term.5,v 1.70 2023/12/30 21:36:32 tom Exp @
+  * @Id: term.5,v 1.73 2024/01/13 22:05:39 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 https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>term 5 2023-12-30 ncurses 6.4 File formats</TITLE>
+<TITLE>term 5 2024-01-13 ncurses 6.4 File formats</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">term 5 2023-12-30 ncurses 6.4 File formats</H1>
+<H1 class="no-header">term 5 2024-01-13 ncurses 6.4 File formats</H1>
 <PRE>
 <STRONG><A HREF="term.5.html">term(5)</A></STRONG>                          File formats                          <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
 
        As  an  example,  here  is  a description for the Lear-Siegler ADM-3, a
        popular though rather stupid early terminal:
 
-           adm3a|lsi adm3a,
-                   am,
-                   cols#80, lines#24,
-                   bel=^G, clear=\032$&lt;1&gt;, cr=^M, cub1=^H, cud1=^J,
-                   cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
-                   home=^^, ind=^J,
+       adm3a|lsi adm3a,
+               am,
+               cols#80, lines#24,
+               bel=^G, clear=\032$&lt;1&gt;, cr=^M, cub1=^H, cud1=^J,
+               cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+               home=^^, ind=^J,
 
        and a hexadecimal dump of the compiled terminal description:
 
-     0000  1a 01 10 00 02 00 03 00  82 00 31 00 61 64 6d 33  ........ ..1.adm3
-     0010  61 7c 6c 73 69 20 61 64  6d 33 61 00 00 01 50 00  a|lsi ad m3a...P.
-     0020  ff ff 18 00 ff ff 00 00  02 00 ff ff ff ff 04 00  ........ ........
-     0030  ff ff ff ff ff ff ff ff  0a 00 25 00 27 00 ff ff  ........ ..%.'...
-     0040  29 00 ff ff ff ff 2b 00  ff ff 2d 00 ff ff ff ff  ).....+. ..-.....
-     0050  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-     0060  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-     0070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-     0080  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-     0090  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-     00a0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-     00b0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-     00c0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-     00d0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-     00e0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-     00f0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-     0100  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-     0110  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-     0120  ff ff ff ff ff ff 2f 00  07 00 0d 00 1a 24 3c 31  ....../. .....$&lt;1
-     0130  3e 00 1b 3d 25 70 31 25  7b 33 32 7d 25 2b 25 63  &gt;..=%p1% {32}%+%c
-     0140  25 70 32 25 7b 33 32 7d  25 2b 25 63 00 0a 00 1e  %p2%{32} %+%c....
-     0150  00 08 00 0c 00 0b 00 0a  00                       ........ .
+       0000  1a 01 10 00 02 00 03 00  82 00 31 00 61 64 6d 33  ........ ..1.adm3
+       0010  61 7c 6c 73 69 20 61 64  6d 33 61 00 00 01 50 00  a|lsi ad m3a...P.
+       0020  ff ff 18 00 ff ff 00 00  02 00 ff ff ff ff 04 00  ........ ........
+       0030  ff ff ff ff ff ff ff ff  0a 00 25 00 27 00 ff ff  ........ ..%.'...
+       0040  29 00 ff ff ff ff 2b 00  ff ff 2d 00 ff ff ff ff  ).....+. ..-.....
+       0050  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
+       0060  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
+       0070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
+       0080  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
+       0090  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
+       00a0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
+       00b0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
+       00c0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
+       00d0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
+       00e0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
+       00f0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
+       0100  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
+       0110  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
+       0120  ff ff ff ff ff ff 2f 00  07 00 0d 00 1a 24 3c 31  ....../. .....$&lt;1
+       0130  3e 00 1b 3d 25 70 31 25  7b 33 32 7d 25 2b 25 63  &gt;..=%p1% {32}%+%c
+       0140  25 70 32 25 7b 33 32 7d  25 2b 25 63 00 0a 00 1e  %p2%{32} %+%c....
+       0150  00 08 00 0c 00 0b 00 0a  00                       ........ .
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
 
 
 
-ncurses 6.4                       2023-12-30                           <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
+ncurses 6.4                       2024-01-13                           <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 616f52646728802ac2332beac39d98f3b69be782..9f834d26c1a746d40aa52bdd9b31d5a13386597d 100644 (file)
@@ -28,7 +28,6 @@
   * authorization.                                                           *
   ****************************************************************************
   * @Id: term.7,v 1.46 2023/12/02 20:51:25 tom Exp @
-  *SH SYNOPSIS
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
index a223e7e97d813f5f7f984188983a648911274bd4..5c8bc28be5cf72ebf229fffe017c47f1ea9c7718 100644 (file)
@@ -5,7 +5,7 @@
   * Note: this must be run through tbl before nroff.
   * The magic cookie on the first line triggers this under some man programs.
   ****************************************************************************
-  * Copyright 2018-2021,2023 Thomas E. Dickey                                *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
   * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: terminfo.head,v 1.60 2023/12/30 22:21:45 tom Exp @
-  * Head of terminfo man page ends here
-  ****************************************************************************
-  * Copyright 2018-2022,2023 Thomas E. Dickey                                *
-  * Copyright 1998-2016,2017 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            *
-  * "Software"), to deal in the Software without restriction, including      *
-  * without limitation the rights to use, copy, modify, merge, publish,      *
-  * distribute, distribute with modifications, sublicense, and/or sell       *
-  * copies of the Software, and to permit persons to whom the Software is    *
-  * furnished to do so, subject to the following conditions:                 *
-  *                                                                          *
-  * The above copyright notice and this permission notice shall be included  *
-  * in all copies or substantial portions of the Software.                   *
-  *                                                                          *
-  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
-  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
-  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
-  * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
-  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
-  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
-  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
-  *                                                                          *
-  * Except as contained in this notice, the name(s) of the above copyright   *
-  * holders shall not be used in advertising or otherwise to promote the     *
-  * sale, use or other dealings in this Software without prior written       *
-  * authorization.                                                           *
-  ****************************************************************************
-  * @Id: terminfo.tail,v 1.141 2023/12/30 21:36:32 tom Exp @
-  *.in -2
-  *.in +2
-  *.in -2
-  *.in +2
+  * @Id: terminfo.head,v 1.63 2024/01/13 23:07:27 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 https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>terminfo 5 2023-12-30 ncurses 6.4 File formats</TITLE>
+<TITLE>terminfo 5 2024-01-13 ncurses 6.4 File formats</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">terminfo 5 2023-12-30 ncurses 6.4 File formats</H1>
+<H1 class="no-header">terminfo 5 2024-01-13 ncurses 6.4 File formats</H1>
 <PRE>
 <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>                      File formats                      <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
        have, by specifying how to perform screen operations, and by specifying
        padding requirements and initialization sequences.
 
-       This manual describes <EM>ncurses</EM> version 6.4 (patch 20240106).
+       This manual describes <EM>ncurses</EM> version 6.4 (patch 20240113).
 
 
 </PRE><H3><a name="h3-terminfo-Entry-Syntax"><EM>terminfo</EM> Entry Syntax</a></H3><PRE>
        suffix.   Thus,  a  vt100  in  132-column  mode  would be vt100-w.  The
        following suffixes should be used where possible:
 
-            <STRONG>Suffix</STRONG>                  <STRONG>Meaning</STRONG>                   <STRONG>Example</STRONG>
-            -------------------------------------------------------------
-            -<EM>nn</EM>      Number of lines on the screen            aaa-60
-            -<EM>n</EM>p      Number of pages of memory                c100-4p
-            -am      With automargins (usually the default)   vt100-am
-            -m       Mono mode; suppress color                ansi-m
-            -mc      Magic cookie; spaces when highlighting   wy30-mc
-            -na      No arrow keys (leave them in local)      c100-na
-            -nam     Without automatic margins                vt100-nam
-            -nl      No status line                           att4415-nl
-            -ns      No status line                           hp2626-ns
-            -rv      Reverse video                            c100-rv
-            -s       Enable status line                       vt100-s
-            -vb      Use visible bell instead of beep         wy370-vb
-            -w       Wide mode (&gt; 80 columns, usually 132)    vt100-w
+       <STRONG>Suffix</STRONG>   <STRONG>Example</STRONG>     <STRONG>Meaning</STRONG>
+       ------------------------------------------------------------------------
+       -<EM>nn</EM>      aaa-60      Number of lines on the screen
+       -<EM>n</EM>p      c100-4p     Number of pages of memory
+       -am      vt100-am    With automargins (usually the default)
+       -m       ansi-m      Mono mode; suppress color
+       -mc      wy30-mc     Magic cookie; spaces when highlighting
+       -na      c100-na     No arrow keys (leave them in local)
+       -nam     vt100-nam   Without automatic margins
+       -nl      hp2621-nl   No status line
+       -ns      hp2626-ns   No status line
+       -rv      c100-rv     Reverse video
+       -s       vt100-s     Enable status line
+       -vb      wy370-vb    Use visible bell instead of beep
+       -w       vt100-w     Wide mode (&gt; 80 columns, usually 132)
 
        For more on terminal naming conventions, see the <STRONG><A HREF="term.7.html">term(7)</A></STRONG> manual page.
 
 
        (#<EM>i</EM>)   indicates the <EM>i</EM>th parameter.
 
-
-       These are the Boolean capabilities:
-
-
-                  <STRONG>Variable</STRONG>            <STRONG>Cap-</STRONG>      <STRONG>TCap</STRONG>       <STRONG>Description</STRONG>
-                  <STRONG>Booleans</STRONG>            <STRONG>name</STRONG>      <STRONG>Code</STRONG>
-          auto_left_margin            bw        bw     cub1 wraps from
-                                                       column 0 to last
-                                                       column
-          auto_right_margin           am        am     terminal has
-                                                       automatic margins
-          back_color_erase            bce       ut     screen erased with
-                                                       background color
-          can_change                  ccc       cc     terminal can re-
-                                                       define existing
-                                                       colors
-          ceol_standout_glitch        xhp       xs     standout not erased
-                                                       by overwriting (hp)
-          col_addr_glitch             xhpa      YA     only positive motion
-                                                       for hpa/mhpa caps
-          cpi_changes_res             cpix      YF     changing character
-                                                       pitch changes
-                                                       resolution
-          cr_cancels_micro_mode       crxm      YB     using cr turns off
-                                                       micro mode
-          dest_tabs_magic_smso        xt        xt     tabs destructive,
-                                                       magic so char
-                                                       (t1061)
-          eat_newline_glitch          xenl      xn     newline ignored
-                                                       after 80 cols
-                                                       (concept)
-          erase_overstrike            eo        eo     can erase
-                                                       overstrikes with a
-                                                       blank
-          generic_type                gn        gn     generic line type
-          hard_copy                   hc        hc     hardcopy terminal
-          hard_cursor                 chts      HC     cursor is hard to
-                                                       see
-          has_meta_key                km        km     Has a meta key
-                                                       (i.e., sets 8th-bit)
-          has_print_wheel             daisy     YC     printer needs
-                                                       operator to change
-                                                       character set
-          has_status_line             hs        hs     has extra status
-                                                       line
-          hue_lightness_saturation    hls       hl     terminal uses only
-                                                       HLS color notation
-                                                       (Tektronix)
-          insert_null_glitch          in        in     insert mode
-                                                       distinguishes nulls
-          lpi_changes_res             lpix      YG     changing line pitch
-                                                       changes resolution
-          memory_above                da        da     display may be
-                                                       retained above the
-                                                       screen
-          memory_below                db        db     display may be
-                                                       retained below the
-                                                       screen
-          move_insert_mode            mir       mi     safe to move while
-                                                       in insert mode
-          move_standout_mode          msgr      ms     safe to move while
-                                                       in standout mode
-          needs_xon_xoff              nxon      nx     padding will not
-                                                       work, xon/xoff
-                                                       required
-          no_esc_ctlc                 xsb       xb     beehive (f1=escape,
-                                                       f2=ctrl C)
-          no_pad_char                 npc       NP     pad character does
-                                                       not exist
-
-          non_dest_scroll_region      ndscr     ND     scrolling region is
-                                                       non-destructive
-          non_rev_rmcup               nrrmc     NR     smcup does not
-                                                       reverse rmcup
-          over_strike                 os        os     terminal can
-                                                       overstrike
-          prtr_silent                 mc5i      5i     printer will not
-                                                       echo on screen
-          row_addr_glitch             xvpa      YD     only positive motion
-                                                       for vpa/mvpa caps
-          semi_auto_right_margin      sam       YE     printing in last
-                                                       column causes cr
-          status_line_esc_ok          eslok     es     escape can be used
-                                                       on the status line
-          tilde_glitch                hz        hz     cannot print ~'s
-                                                       (Hazeltine)
-          transparent_underline       ul        ul     underline character
-                                                       overstrikes
-          xon_xoff                    xon       xo     terminal uses
-                                                       xon/xoff handshaking
-
-       These are the numeric capabilities:
-
-
-                  <STRONG>Variable</STRONG>            <STRONG>Cap-</STRONG>      <STRONG>TCap</STRONG>       <STRONG>Description</STRONG>
-                   <STRONG>Numeric</STRONG>            <STRONG>name</STRONG>      <STRONG>Code</STRONG>
-          columns                     cols      co     number of columns in
-                                                       a line
-          init_tabs                   it        it     tabs initially every
-                                                       # spaces
-          label_height                lh        lh     rows in each label
-          label_width                 lw        lw     columns in each
-                                                       label
-          lines                       lines     li     number of lines on
-                                                       screen or page
-          lines_of_memory             lm        lm     lines of memory if &gt;
-                                                       line. 0 means varies
-          magic_cookie_glitch         xmc       sg     number of blank
-                                                       characters left by
-                                                       smso or rmso
-          max_attributes              ma        ma     maximum combined
-                                                       attributes terminal
-                                                       can handle
-          max_colors                  colors    Co     maximum number of
-                                                       colors on screen
-          max_pairs                   pairs     pa     maximum number of
-                                                       color-pairs on the
-                                                       screen
-          maximum_windows             wnum      MW     maximum number of
-                                                       definable windows
-          no_color_video              ncv       NC     video attributes
-                                                       that cannot be used
-                                                       with colors
-          num_labels                  nlab      Nl     number of labels on
-                                                       screen
-          padding_baud_rate           pb        pb     lowest baud rate
-                                                       where padding needed
-          virtual_terminal            vt        vt     virtual terminal
-                                                       number (CB/unix)
-          width_status_line           wsl       ws     number of columns in
-                                                       status line
-
-       The  following  numeric  capabilities  are  present  in the SVr4.0 term
-       structure, but are not yet documented in the man page.   They  came  in
+                                     <STRONG>Code</STRONG>
+       <STRONG>Boolean</STRONG> <STRONG>Capability</STRONG> <STRONG>Name</STRONG>    <STRONG>TI</STRONG>      <STRONG>TC</STRONG>   <STRONG>Description</STRONG>
+       ------------------------------------------------------------------------
+
+       <STRONG>auto_left_margin</STRONG>           <STRONG>bw</STRONG>      <STRONG>bw</STRONG>   cub1 wraps from column 0 to
+                                               last column
+       <STRONG>auto_right_margin</STRONG>          <STRONG>am</STRONG>      <STRONG>am</STRONG>   terminal has automatic margins
+       <STRONG>no_esc_ctlc</STRONG>                <STRONG>xsb</STRONG>     <STRONG>xb</STRONG>   beehive (f1=escape, f2=ctrl C)
+       <STRONG>ceol_standout_glitch</STRONG>       <STRONG>xhp</STRONG>     <STRONG>xs</STRONG>   standout not erased by
+                                               overwriting (hp)
+       <STRONG>eat_newline_glitch</STRONG>         <STRONG>xenl</STRONG>    <STRONG>xn</STRONG>   newline ignored after 80 cols
+                                               (concept)
+       <STRONG>erase_overstrike</STRONG>           <STRONG>eo</STRONG>      <STRONG>eo</STRONG>   can erase overstrikes with a
+                                               blank
+       <STRONG>generic_type</STRONG>               <STRONG>gn</STRONG>      <STRONG>gn</STRONG>   generic line type
+       <STRONG>hard_copy</STRONG>                  <STRONG>hc</STRONG>      <STRONG>hc</STRONG>   hardcopy terminal
+       <STRONG>has_meta_key</STRONG>               <STRONG>km</STRONG>      <STRONG>km</STRONG>   Has a meta key (i.e., sets 8th-
+                                               bit)
+       <STRONG>has_status_line</STRONG>            <STRONG>hs</STRONG>      <STRONG>hs</STRONG>   has extra status line
+       <STRONG>insert_null_glitch</STRONG>         <STRONG>in</STRONG>      <STRONG>in</STRONG>   insert mode distinguishes nulls
+       <STRONG>memory_above</STRONG>               <STRONG>da</STRONG>      <STRONG>da</STRONG>   display may be retained above
+                                               the screen
+       <STRONG>memory_below</STRONG>               <STRONG>db</STRONG>      <STRONG>db</STRONG>   display may be retained below
+                                               the screen
+       <STRONG>move_insert_mode</STRONG>           <STRONG>mir</STRONG>     <STRONG>mi</STRONG>   safe to move while in insert
+                                               mode
+       <STRONG>move_standout_mode</STRONG>         <STRONG>msgr</STRONG>    <STRONG>ms</STRONG>   safe to move while in standout
+                                               mode
+       <STRONG>over_strike</STRONG>                <STRONG>os</STRONG>      <STRONG>os</STRONG>   terminal can overstrike
+       <STRONG>status_line_esc_ok</STRONG>         <STRONG>eslok</STRONG>   <STRONG>es</STRONG>   escape can be used on the
+                                               status line
+       <STRONG>dest_tabs_magic_smso</STRONG>       <STRONG>xt</STRONG>      <STRONG>xt</STRONG>   tabs destructive, magic so char
+                                               (t1061)
+       <STRONG>tilde_glitch</STRONG>               <STRONG>hz</STRONG>      <STRONG>hz</STRONG>   cannot print ~'s (Hazeltine)
+       <STRONG>transparent_underline</STRONG>      <STRONG>ul</STRONG>      <STRONG>ul</STRONG>   underline character overstrikes
+       <STRONG>xon_xoff</STRONG>                   <STRONG>xon</STRONG>     <STRONG>xo</STRONG>   terminal uses xon/xoff
+                                               handshaking
+       <STRONG>needs_xon_xoff</STRONG>             <STRONG>nxon</STRONG>    <STRONG>nx</STRONG>   padding will not work, xon/xoff
+                                               required
+       <STRONG>prtr_silent</STRONG>                <STRONG>mc5i</STRONG>    <STRONG>5i</STRONG>   printer will not echo on screen
+       <STRONG>hard_cursor</STRONG>                <STRONG>chts</STRONG>    <STRONG>HC</STRONG>   cursor is hard to see
+       <STRONG>non_rev_rmcup</STRONG>              <STRONG>nrrmc</STRONG>   <STRONG>NR</STRONG>   smcup does not reverse rmcup
+       <STRONG>no_pad_char</STRONG>                <STRONG>npc</STRONG>     <STRONG>NP</STRONG>   pad character does not exist
+       <STRONG>non_dest_scroll_region</STRONG>     <STRONG>ndscr</STRONG>   <STRONG>ND</STRONG>   scrolling region is non-
+                                               destructive
+       <STRONG>can_change</STRONG>                 <STRONG>ccc</STRONG>     <STRONG>cc</STRONG>   terminal can re-define existing
+                                               colors
+       <STRONG>back_color_erase</STRONG>           <STRONG>bce</STRONG>     <STRONG>ut</STRONG>   screen erased with background
+                                               color
+       <STRONG>hue_lightness_saturation</STRONG>   <STRONG>hls</STRONG>     <STRONG>hl</STRONG>   terminal uses only HLS color
+                                               notation (Tektronix)
+       <STRONG>col_addr_glitch</STRONG>            <STRONG>xhpa</STRONG>    <STRONG>YA</STRONG>   only positive motion for
+                                               hpa/mhpa caps
+       <STRONG>cr_cancels_micro_mode</STRONG>      <STRONG>crxm</STRONG>    <STRONG>YB</STRONG>   using cr turns off micro mode
+       <STRONG>has_print_wheel</STRONG>            <STRONG>daisy</STRONG>   <STRONG>YC</STRONG>   printer needs operator to
+                                               change character set
+       <STRONG>row_addr_glitch</STRONG>            <STRONG>xvpa</STRONG>    <STRONG>YD</STRONG>   only positive motion for
+                                               vpa/mvpa caps
+       <STRONG>semi_auto_right_margin</STRONG>     <STRONG>sam</STRONG>     <STRONG>YE</STRONG>   printing in last column causes
+                                               cr
+       <STRONG>cpi_changes_res</STRONG>            <STRONG>cpix</STRONG>    <STRONG>YF</STRONG>   changing character pitch
+                                               changes resolution
+       <STRONG>lpi_changes_res</STRONG>            <STRONG>lpix</STRONG>    <STRONG>YG</STRONG>   changing line pitch changes
+                                               resolution
+
+                                    <STRONG>Code</STRONG>
+       <STRONG>Numeric</STRONG> <STRONG>Capability</STRONG> <STRONG>Name</STRONG>   <STRONG>TI</STRONG>       <STRONG>TC</STRONG>   <STRONG>Description</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>columns</STRONG>                   <STRONG>cols</STRONG>     <STRONG>co</STRONG>   number of columns in a line
+
+       <STRONG>init_tabs</STRONG>                 <STRONG>it</STRONG>       <STRONG>it</STRONG>   tabs initially every # spaces
+       <STRONG>lines</STRONG>                     <STRONG>lines</STRONG>    <STRONG>li</STRONG>   number of lines on screen or
+                                               page
+       <STRONG>lines_of_memory</STRONG>           <STRONG>lm</STRONG>       <STRONG>lm</STRONG>   lines of memory if &gt; line. 0
+                                               means varies
+       <STRONG>magic_cookie_glitch</STRONG>       <STRONG>xmc</STRONG>      <STRONG>sg</STRONG>   number of blank characters left
+                                               by smso or rmso
+       <STRONG>padding_baud_rate</STRONG>         <STRONG>pb</STRONG>       <STRONG>pb</STRONG>   lowest baud rate where padding
+                                               needed
+       <STRONG>virtual_terminal</STRONG>          <STRONG>vt</STRONG>       <STRONG>vt</STRONG>   virtual terminal number
+                                               (CB/unix)
+       <STRONG>width_status_line</STRONG>         <STRONG>wsl</STRONG>      <STRONG>ws</STRONG>   number of columns in status
+                                               line
+       <STRONG>num_labels</STRONG>                <STRONG>nlab</STRONG>     <STRONG>Nl</STRONG>   number of labels on screen
+       <STRONG>label_height</STRONG>              <STRONG>lh</STRONG>       <STRONG>lh</STRONG>   rows in each label
+       <STRONG>label_width</STRONG>               <STRONG>lw</STRONG>       <STRONG>lw</STRONG>   columns in each label
+       <STRONG>max_attributes</STRONG>            <STRONG>ma</STRONG>       <STRONG>ma</STRONG>   maximum combined attributes
+                                               terminal can handle
+       <STRONG>maximum_windows</STRONG>           <STRONG>wnum</STRONG>     <STRONG>MW</STRONG>   maximum number of definable
+                                               windows
+       <STRONG>max_colors</STRONG>                <STRONG>colors</STRONG>   <STRONG>Co</STRONG>   maximum number of colors on
+                                               screen
+       <STRONG>max_pairs</STRONG>                 <STRONG>pairs</STRONG>    <STRONG>pa</STRONG>   maximum number of color-pairs
+                                               on the screen
+       <STRONG>no_color_video</STRONG>            <STRONG>ncv</STRONG>      <STRONG>NC</STRONG>   video attributes that cannot be
+                                               used with colors
+
+       The following numeric capabilities  are  present  in  the  SVr4.0  term
+       structure,  but  are  not yet documented in the man page.  They came in
        with SVr4's printer support.
 
-
-                  <STRONG>Variable</STRONG>            <STRONG>Cap-</STRONG>      <STRONG>TCap</STRONG>       <STRONG>Description</STRONG>
-                   <STRONG>Numeric</STRONG>            <STRONG>name</STRONG>      <STRONG>Code</STRONG>
-          bit_image_entwining         bitwin    Yo     number of passes for
-                                                       each bit-image row
-          bit_image_type              bitype    Yp     type of bit-image
-                                                       device
-          buffer_capacity             bufsz     Ya     numbers of bytes
-                                                       buffered before
-                                                       printing
-          buttons                     btns      BT     number of buttons on
-                                                       mouse
-          dot_horz_spacing            spinh     Yc     spacing of dots
-                                                       horizontally in dots
-                                                       per inch
-          dot_vert_spacing            spinv     Yb     spacing of pins
-                                                       vertically in pins
-                                                       per inch
-          max_micro_address           maddr     Yd     maximum value in
-                                                       micro_..._address
-          max_micro_jump              mjump     Ye     maximum value in
-                                                       parm_..._micro
-          micro_col_size              mcs       Yf     character step size
-                                                       when in micro mode
-          micro_line_size             mls       Yg     line step size when
-                                                       in micro mode
-          number_of_pins              npins     Yh     numbers of pins in
-                                                       print-head
-          output_res_char             orc       Yi     horizontal
-                                                       resolution in units
-                                                       per line
-          output_res_horz_inch        orhi      Yk     horizontal
-                                                       resolution in units
-                                                       per inch
-          output_res_line             orl       Yj     vertical resolution
-                                                       in units per line
-          output_res_vert_inch        orvi      Yl     vertical resolution
-                                                       in units per inch
-          print_rate                  cps       Ym     print rate in
-                                                       characters per
-                                                       second
-          wide_char_size              widcs     Yn     character step size
-                                                       when in double wide
-                                                       mode
-
-       These are the string capabilities:
-
-
-                  <STRONG>Variable</STRONG>            <STRONG>Cap-</STRONG>      <STRONG>TCap</STRONG>       <STRONG>Description</STRONG>
-                   <STRONG>String</STRONG>             <STRONG>name</STRONG>      <STRONG>Code</STRONG>
-          acs_chars                   acsc      ac     graphics charset
-                                                       pairs, based on
-                                                       vt100
-          back_tab                    cbt       bt     back tab (P)
-          bell                        bel       bl     audible signal
-                                                       (bell) (P)
-          carriage_return             cr        cr     carriage return (P*)
-                                                       (P*)
-          change_char_pitch           cpi       ZA     Change number of
-                                                       characters per inch
-                                                       to #1
-          change_line_pitch           lpi       ZB     Change number of
-                                                       lines per inch to #1
-          change_res_horz             chr       ZC     Change horizontal
-                                                       resolution to #1
-
-          change_res_vert             cvr       ZD     Change vertical
-                                                       resolution to #1
-          change_scroll_region        csr       cs     change region to
-                                                       line #1 to line #2
-                                                       (P)
-          char_padding                rmp       rP     like ip but when in
-                                                       insert mode
-          clear_all_tabs              tbc       ct     clear all tab stops
-                                                       (P)
-          clear_margins               mgc       MC     clear right and left
-                                                       soft margins
-          clear_screen                clear     cl     clear screen and
-                                                       home cursor (P*)
-          clr_bol                     el1       cb     Clear to beginning
-                                                       of line
-          clr_eol                     el        ce     clear to end of line
-                                                       (P)
-          clr_eos                     ed        cd     clear to end of
-                                                       screen (P*)
-          column_address              hpa       ch     horizontal position
-                                                       #1, absolute (P)
-          command_character           cmdch     CC     terminal settable
-                                                       cmd character in
-                                                       prototype !?
-          create_window               cwin      CW     define a window #1
-                                                       from #2,#3 to #4,#5
-          cursor_address              cup       cm     move to row #1
-                                                       columns #2
-          cursor_down                 cud1      do     down one line
-          cursor_home                 home      ho     home cursor (if no
-                                                       cup)
-          cursor_invisible            civis     vi     make cursor
-                                                       invisible
-          cursor_left                 cub1      le     move left one space
-          cursor_mem_address          mrcup     CM     memory relative
-                                                       cursor addressing,
-                                                       move to row #1
-                                                       columns #2
-          cursor_normal               cnorm     ve     make cursor appear
-                                                       normal (undo
-                                                       civis/cvvis)
-          cursor_right                cuf1      nd     non-destructive
-                                                       space (move right
-                                                       one space)
-          cursor_to_ll                ll        ll     last line, first
-                                                       column (if no cup)
-          cursor_up                   cuu1      up     up one line
-          cursor_visible              cvvis     vs     make cursor very
-                                                       visible
-          define_char                 defc      ZE     Define a character
-                                                       #1, #2 dots wide,
-                                                       descender #3
-          delete_character            dch1      dc     delete character
-                                                       (P*)
-          delete_line                 dl1       dl     delete line (P*)
-          dial_phone                  dial      DI     dial number #1
-          dis_status_line             dsl       ds     disable status line
-          display_clock               dclk      DK     display clock
-          down_half_line              hd        hd     half a line down
-          ena_acs                     enacs     eA     enable alternate
-                                                       char set
-          enter_alt_charset_mode      smacs     as     start alternate
-                                                       character set (P)
-          enter_am_mode               smam      SA     turn on automatic
-                                                       margins
-
-          enter_blink_mode            blink     mb     turn on blinking
-          enter_bold_mode             bold      md     turn on bold (extra
-                                                       bright) mode
-          enter_ca_mode               smcup     ti     string to start
-                                                       programs using cup
-          enter_delete_mode           smdc      dm     enter delete mode
-          enter_dim_mode              dim       mh     turn on half-bright
-                                                       mode
-          enter_doublewide_mode       swidm     ZF     Enter double-wide
-                                                       mode
-          enter_draft_quality         sdrfq     ZG     Enter draft-quality
-                                                       mode
-          enter_insert_mode           smir      im     enter insert mode
-          enter_italics_mode          sitm      ZH     Enter italic mode
-          enter_leftward_mode         slm       ZI     Start leftward
-                                                       carriage motion
-          enter_micro_mode            smicm     ZJ     Start micro-motion
-                                                       mode
-          enter_near_letter_quality   snlq      ZK     Enter NLQ mode
-          enter_normal_quality        snrmq     ZL     Enter normal-quality
-                                                       mode
-          enter_protected_mode        prot      mp     turn on protected
-                                                       mode
-          enter_reverse_mode          rev       mr     turn on reverse
-                                                       video mode
-          enter_secure_mode           invis     mk     turn on blank mode
-                                                       (characters
-                                                       invisible)
-          enter_shadow_mode           sshm      ZM     Enter shadow-print
-                                                       mode
-          enter_standout_mode         smso      so     begin standout mode
-          enter_subscript_mode        ssubm     ZN     Enter subscript mode
-          enter_superscript_mode      ssupm     ZO     Enter superscript
-                                                       mode
-          enter_underline_mode        smul      us     begin underline mode
-          enter_upward_mode           sum       ZP     Start upward
-                                                       carriage motion
-          enter_xon_mode              smxon     SX     turn on xon/xoff
-                                                       handshaking
-          erase_chars                 ech       ec     erase #1 characters
-                                                       (P)
-          exit_alt_charset_mode       rmacs     ae     end alternate
-                                                       character set (P)
-          exit_am_mode                rmam      RA     turn off automatic
-                                                       margins
-          exit_attribute_mode         sgr0      me     turn off all
-                                                       attributes
-          exit_ca_mode                rmcup     te     strings to end
-                                                       programs using cup
-          exit_delete_mode            rmdc      ed     end delete mode
-          exit_doublewide_mode        rwidm     ZQ     End double-wide mode
-          exit_insert_mode            rmir      ei     exit insert mode
-          exit_italics_mode           ritm      ZR     End italic mode
-          exit_leftward_mode          rlm       ZS     End left-motion mode
-          exit_micro_mode             rmicm     ZT     End micro-motion
-                                                       mode
-          exit_shadow_mode            rshm      ZU     End shadow-print
-                                                       mode
-          exit_standout_mode          rmso      se     exit standout mode
-          exit_subscript_mode         rsubm     ZV     End subscript mode
-          exit_superscript_mode       rsupm     ZW     End superscript mode
-          exit_underline_mode         rmul      ue     exit underline mode
-          exit_upward_mode            rum       ZX     End reverse
-                                                       character motion
-
-
-          exit_xon_mode               rmxon     RX     turn off xon/xoff
-                                                       handshaking
-          fixed_pause                 pause     PA     pause for 2-3
-                                                       seconds
-          flash_hook                  hook      fh     flash switch hook
-          flash_screen                flash     vb     visible bell (may
-                                                       not move cursor)
-          form_feed                   ff        ff     hardcopy terminal
-                                                       page eject (P*)
-          from_status_line            fsl       fs     return from status
-                                                       line
-          goto_window                 wingo     WG     go to window #1
-          hangup                      hup       HU     hang-up phone
-          init_1string                is1       i1     initialization
-                                                       string
-          init_2string                is2       is     initialization
-                                                       string
-          init_3string                is3       i3     initialization
-                                                       string
-          init_file                   if        if     name of
-                                                       initialization file
-          init_prog                   iprog     iP     path name of program
-                                                       for initialization
-          initialize_color            initc     Ic     initialize color #1
-                                                       to (#2,#3,#4)
-          initialize_pair             initp     Ip     Initialize color
-                                                       pair #1 to
-                                                       fg=(#2,#3,#4),
-                                                       bg=(#5,#6,#7)
-          insert_character            ich1      ic     insert character (P)
-          insert_line                 il1       al     insert line (P*)
-          insert_padding              ip        ip     insert padding after
-                                                       inserted character
-          key_a1                      ka1       K1     upper left of keypad
-          key_a3                      ka3       K3     upper right of
-                                                       keypad
-          key_b2                      kb2       K2     center of keypad
-          key_backspace               kbs       kb     backspace key
-          key_beg                     kbeg      @1     begin key
-          key_btab                    kcbt      kB     back-tab key
-          key_c1                      kc1       K4     lower left of keypad
-          key_c3                      kc3       K5     lower right of
-                                                       keypad
-          key_cancel                  kcan      @2     cancel key
-          key_catab                   ktbc      ka     clear-all-tabs key
-          key_clear                   kclr      kC     clear-screen or
-                                                       erase key
-          key_close                   kclo      @3     close key
-          key_command                 kcmd      @4     command key
-          key_copy                    kcpy      @5     copy key
-          key_create                  kcrt      @6     create key
-          key_ctab                    kctab     kt     clear-tab key
-          key_dc                      kdch1     kD     delete-character key
-          key_dl                      kdl1      kL     delete-line key
-          key_down                    kcud1     kd     down-arrow key
-          key_eic                     krmir     kM     sent by rmir or smir
-                                                       in insert mode
-          key_end                     kend      @7     end key
-          key_enter                   kent      @8     enter/send key
-          key_eol                     kel       kE     clear-to-end-of-line
-                                                       key
-          key_eos                     ked       kS     clear-to-end-of-
-                                                       screen key
-          key_exit                    kext      @9     exit key
-          key_f0                      kf0       k0     F0 function key
-
-          key_f1                      kf1       k1     F1 function key
-          key_f10                     kf10      k;     F10 function key
-          key_f11                     kf11      F1     F11 function key
-          key_f12                     kf12      F2     F12 function key
-          key_f13                     kf13      F3     F13 function key
-          key_f14                     kf14      F4     F14 function key
-          key_f15                     kf15      F5     F15 function key
-          key_f16                     kf16      F6     F16 function key
-          key_f17                     kf17      F7     F17 function key
-          key_f18                     kf18      F8     F18 function key
-          key_f19                     kf19      F9     F19 function key
-          key_f2                      kf2       k2     F2 function key
-          key_f20                     kf20      FA     F20 function key
-          key_f21                     kf21      FB     F21 function key
-          key_f22                     kf22      FC     F22 function key
-          key_f23                     kf23      FD     F23 function key
-          key_f24                     kf24      FE     F24 function key
-          key_f25                     kf25      FF     F25 function key
-          key_f26                     kf26      FG     F26 function key
-          key_f27                     kf27      FH     F27 function key
-          key_f28                     kf28      FI     F28 function key
-          key_f29                     kf29      FJ     F29 function key
-          key_f3                      kf3       k3     F3 function key
-          key_f30                     kf30      FK     F30 function key
-          key_f31                     kf31      FL     F31 function key
-          key_f32                     kf32      FM     F32 function key
-          key_f33                     kf33      FN     F33 function key
-          key_f34                     kf34      FO     F34 function key
-          key_f35                     kf35      FP     F35 function key
-          key_f36                     kf36      FQ     F36 function key
-          key_f37                     kf37      FR     F37 function key
-          key_f38                     kf38      FS     F38 function key
-          key_f39                     kf39      FT     F39 function key
-          key_f4                      kf4       k4     F4 function key
-          key_f40                     kf40      FU     F40 function key
-          key_f41                     kf41      FV     F41 function key
-          key_f42                     kf42      FW     F42 function key
-          key_f43                     kf43      FX     F43 function key
-          key_f44                     kf44      FY     F44 function key
-          key_f45                     kf45      FZ     F45 function key
-          key_f46                     kf46      Fa     F46 function key
-          key_f47                     kf47      Fb     F47 function key
-          key_f48                     kf48      Fc     F48 function key
-          key_f49                     kf49      Fd     F49 function key
-          key_f5                      kf5       k5     F5 function key
-          key_f50                     kf50      Fe     F50 function key
-          key_f51                     kf51      Ff     F51 function key
-          key_f52                     kf52      Fg     F52 function key
-          key_f53                     kf53      Fh     F53 function key
-          key_f54                     kf54      Fi     F54 function key
-          key_f55                     kf55      Fj     F55 function key
-          key_f56                     kf56      Fk     F56 function key
-          key_f57                     kf57      Fl     F57 function key
-          key_f58                     kf58      Fm     F58 function key
-          key_f59                     kf59      Fn     F59 function key
-          key_f6                      kf6       k6     F6 function key
-          key_f60                     kf60      Fo     F60 function key
-          key_f61                     kf61      Fp     F61 function key
-          key_f62                     kf62      Fq     F62 function key
-          key_f63                     kf63      Fr     F63 function key
-          key_f7                      kf7       k7     F7 function key
-          key_f8                      kf8       k8     F8 function key
-          key_f9                      kf9       k9     F9 function key
-          key_find                    kfnd      @0     find key
-          key_help                    khlp      %1     help key
-
-          key_home                    khome     kh     home key
-          key_ic                      kich1     kI     insert-character key
-          key_il                      kil1      kA     insert-line key
-          key_left                    kcub1     kl     left-arrow key
-          key_ll                      kll       kH     lower-left key (home
-                                                       down)
-          key_mark                    kmrk      %2     mark key
-          key_message                 kmsg      %3     message key
-          key_move                    kmov      %4     move key
-          key_next                    knxt      %5     next key
-          key_npage                   knp       kN     next-page key
-          key_open                    kopn      %6     open key
-          key_options                 kopt      %7     options key
-          key_ppage                   kpp       kP     previous-page key
-          key_previous                kprv      %8     previous key
-          key_print                   kprt      %9     print key
-          key_redo                    krdo      %0     redo key
-          key_reference               kref      &amp;1     reference key
-          key_refresh                 krfr      &amp;2     refresh key
-          key_replace                 krpl      &amp;3     replace key
-          key_restart                 krst      &amp;4     restart key
-          key_resume                  kres      &amp;5     resume key
-          key_right                   kcuf1     kr     right-arrow key
-          key_save                    ksav      &amp;6     save key
-          key_sbeg                    kBEG      &amp;9     shifted begin key
-          key_scancel                 kCAN      &amp;0     shifted cancel key
-          key_scommand                kCMD      *1     shifted command key
-          key_scopy                   kCPY      *2     shifted copy key
-          key_screate                 kCRT      *3     shifted create key
-          key_sdc                     kDC       *4     shifted delete-
-                                                       character key
-          key_sdl                     kDL       *5     shifted delete-line
-                                                       key
-          key_select                  kslt      *6     select key
-          key_send                    kEND      *7     shifted end key
-          key_seol                    kEOL      *8     shifted clear-to-
-                                                       end-of-line key
-          key_sexit                   kEXT      *9     shifted exit key
-          key_sf                      kind      kF     scroll-forward key
-          key_sfind                   kFND      *0     shifted find key
-          key_shelp                   kHLP      #1     shifted help key
-          key_shome                   kHOM      #2     shifted home key
-          key_sic                     kIC       #3     shifted insert-
-                                                       character key
-          key_sleft                   kLFT      #4     shifted left-arrow
-                                                       key
-          key_smessage                kMSG      %a     shifted message key
-          key_smove                   kMOV      %b     shifted move key
-          key_snext                   kNXT      %c     shifted next key
-          key_soptions                kOPT      %d     shifted options key
-          key_sprevious               kPRV      %e     shifted previous key
-          key_sprint                  kPRT      %f     shifted print key
-          key_sr                      kri       kR     scroll-backward key
-          key_sredo                   kRDO      %g     shifted redo key
-          key_sreplace                kRPL      %h     shifted replace key
-          key_sright                  kRIT      %i     shifted right-arrow
-                                                       key
-          key_srsume                  kRES      %j     shifted resume key
-          key_ssave                   kSAV      !1     shifted save key
-          key_ssuspend                kSPD      !2     shifted suspend key
-          key_stab                    khts      kT     set-tab key
-          key_sundo                   kUND      !3     shifted undo key
-          key_suspend                 kspd      &amp;7     suspend key
-          key_undo                    kund      &amp;8     undo key
-          key_up                      kcuu1     ku     up-arrow key
-
-          keypad_local                rmkx      ke     leave
-                                                       'keyboard_transmit'
-                                                       mode
-          keypad_xmit                 smkx      ks     enter
-                                                       'keyboard_transmit'
-                                                       mode
-          lab_f0                      lf0       l0     label on function
-                                                       key f0 if not f0
-          lab_f1                      lf1       l1     label on function
-                                                       key f1 if not f1
-          lab_f10                     lf10      la     label on function
-                                                       key f10 if not f10
-          lab_f2                      lf2       l2     label on function
-                                                       key f2 if not f2
-          lab_f3                      lf3       l3     label on function
-                                                       key f3 if not f3
-          lab_f4                      lf4       l4     label on function
-                                                       key f4 if not f4
-          lab_f5                      lf5       l5     label on function
-                                                       key f5 if not f5
-          lab_f6                      lf6       l6     label on function
-                                                       key f6 if not f6
-          lab_f7                      lf7       l7     label on function
-                                                       key f7 if not f7
-          lab_f8                      lf8       l8     label on function
-                                                       key f8 if not f8
-          lab_f9                      lf9       l9     label on function
-                                                       key f9 if not f9
-          label_format                fln       Lf     label format
-          label_off                   rmln      LF     turn off soft labels
-          label_on                    smln      LO     turn on soft labels
-          meta_off                    rmm       mo     turn off meta mode
-          meta_on                     smm       mm     turn on meta mode
-                                                       (8th-bit on)
-          micro_column_address        mhpa      ZY     Like column_address
-                                                       in micro mode
-          micro_down                  mcud1     ZZ     Like cursor_down in
-                                                       micro mode
-          micro_left                  mcub1     Za     Like cursor_left in
-                                                       micro mode
-          micro_right                 mcuf1     Zb     Like cursor_right in
-                                                       micro mode
-          micro_row_address           mvpa      Zc     Like row_address #1
-                                                       in micro mode
-          micro_up                    mcuu1     Zd     Like cursor_up in
-                                                       micro mode
-          newline                     nel       nw     newline (behave like
-                                                       cr followed by lf)
-          order_of_pins               porder    Ze     Match software bits
-                                                       to print-head pins
-          orig_colors                 oc        oc     Set all color pairs
-                                                       to the original ones
-          orig_pair                   op        op     Set default pair to
-                                                       its original value
-          pad_char                    pad       pc     padding char
-                                                       (instead of null)
-          parm_dch                    dch       DC     delete #1 characters
-                                                       (P*)
-          parm_delete_line            dl        DL     delete #1 lines (P*)
-          parm_down_cursor            cud       DO     down #1 lines (P*)
-          parm_down_micro             mcud      Zf     Like
-                                                       parm_down_cursor in
-                                                       micro mode
-          parm_ich                    ich       IC     insert #1 characters
-                                                       (P*)
-
-          parm_index                  indn      SF     scroll forward #1
-                                                       lines (P)
-          parm_insert_line            il        AL     insert #1 lines (P*)
-          parm_left_cursor            cub       LE     move #1 characters
-                                                       to the left (P)
-          parm_left_micro             mcub      Zg     Like
-                                                       parm_left_cursor in
-                                                       micro mode
-          parm_right_cursor           cuf       RI     move #1 characters
-                                                       to the right (P*)
-          parm_right_micro            mcuf      Zh     Like
-                                                       parm_right_cursor in
-                                                       micro mode
-          parm_rindex                 rin       SR     scroll back #1 lines
-                                                       (P)
-          parm_up_cursor              cuu       UP     up #1 lines (P*)
-          parm_up_micro               mcuu      Zi     Like parm_up_cursor
-                                                       in micro mode
-          pkey_key                    pfkey     pk     program function key
-                                                       #1 to type string #2
-          pkey_local                  pfloc     pl     program function key
-                                                       #1 to execute string
-                                                       #2
-          pkey_xmit                   pfx       px     program function key
-                                                       #1 to transmit
-                                                       string #2
-          plab_norm                   pln       pn     program label #1 to
-                                                       show string #2
-          print_screen                mc0       ps     print contents of
-                                                       screen
-          prtr_non                    mc5p      pO     turn on printer for
-                                                       #1 bytes
-          prtr_off                    mc4       pf     turn off printer
-          prtr_on                     mc5       po     turn on printer
-          pulse                       pulse     PU     select pulse dialing
-          quick_dial                  qdial     QD     dial number #1
-                                                       without checking
-          remove_clock                rmclk     RC     remove clock
-          repeat_char                 rep       rp     repeat char #1 #2
-                                                       times (P*)
-          req_for_input               rfi       RF     send next input char
-                                                       (for ptys)
-          reset_1string               rs1       r1     reset string
-          reset_2string               rs2       r2     reset string
-          reset_3string               rs3       r3     reset string
-          reset_file                  rf        rf     name of reset file
-          restore_cursor              rc        rc     restore cursor to
-                                                       position of last
-                                                       save_cursor
-          row_address                 vpa       cv     vertical position #1
-                                                       absolute (P)
-          save_cursor                 sc        sc     save current cursor
-                                                       position (P)
-          scroll_forward              ind       sf     scroll text up (P)
-          scroll_reverse              ri        sr     scroll text down (P)
-          select_char_set             scs       Zj     Select character
-                                                       set, #1
-          set_attributes              sgr       sa     define video
-                                                       attributes #1-#9
-                                                       (PG9)
-          set_background              setb      Sb     Set background color
-                                                       #1
-          set_bottom_margin           smgb      Zk     Set bottom margin at
-                                                       current line
-
-
-          set_bottom_margin_parm      smgbp     Zl     Set bottom margin at
-                                                       line #1 or (if smgtp
-                                                       is not given) #2
-                                                       lines from bottom
-          set_clock                   sclk      SC     set clock, #1 hrs #2
-                                                       mins #3 secs
-          set_color_pair              scp       sp     Set current color
-                                                       pair to #1
-          set_foreground              setf      Sf     Set foreground color
-                                                       #1
-          set_left_margin             smgl      ML     set left soft margin
-                                                       at current
-                                                       column.     (ML is
-                                                       not in BSD termcap).
-          set_left_margin_parm        smglp     Zm     Set left (right)
-                                                       margin at column #1
-          set_right_margin            smgr      MR     set right soft
-                                                       margin at current
-                                                       column
-          set_right_margin_parm       smgrp     Zn     Set right margin at
-                                                       column #1
-          set_tab                     hts       st     set a tab in every
-                                                       row, current columns
-          set_top_margin              smgt      Zo     Set top margin at
-                                                       current line
-          set_top_margin_parm         smgtp     Zp     Set top (bottom)
-                                                       margin at row #1
-          set_window                  wind      wi     current window is
-                                                       lines #1-#2 cols
-                                                       #3-#4
-          start_bit_image             sbim      Zq     Start printing bit
-                                                       image graphics
-          start_char_set_def          scsd      Zr     Start character set
-                                                       definition #1, with
-                                                       #2 characters in the
-                                                       set
-          stop_bit_image              rbim      Zs     Stop printing bit
-                                                       image graphics
-          stop_char_set_def           rcsd      Zt     End definition of
-                                                       character set #1
-          subscript_characters        subcs     Zu     List of
-                                                       subscriptable
-                                                       characters
-          superscript_characters      supcs     Zv     List of
-                                                       superscriptable
-                                                       characters
-          tab                         ht        ta     tab to next 8-space
-                                                       hardware tab stop
-          these_cause_cr              docr      Zw     Printing any of
-                                                       these characters
-                                                       causes CR
-          to_status_line              tsl       ts     move to status line,
-                                                       column #1
-          tone                        tone      TO     select touch tone
-                                                       dialing
-          underline_char              uc        uc     underline char and
-                                                       move past it
-          up_half_line                hu        hu     half a line up
-          user0                       u0        u0     User string #0
-          user1                       u1        u1     User string #1
-          user2                       u2        u2     User string #2
-          user3                       u3        u3     User string #3
-          user4                       u4        u4     User string #4
-          user5                       u5        u5     User string #5
-          user6                       u6        u6     User string #6
-
-          user7                       u7        u7     User string #7
-          user8                       u8        u8     User string #8
-          user9                       u9        u9     User string #9
-          wait_tone                   wait      WA     wait for dial-tone
-          xoff_character              xoffc     XF     XOFF character
-          xon_character               xonc      XN     XON character
-          zero_motion                 zerom     Zx     No motion for
-                                                       subsequent character
+                                    <STRONG>Code</STRONG>
+       <STRONG>Numeric</STRONG> <STRONG>Capability</STRONG> <STRONG>Name</STRONG>   <STRONG>TI</STRONG>       <STRONG>TC</STRONG>   <STRONG>Description</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>buffer_capacity</STRONG>           <STRONG>bufsz</STRONG>    <STRONG>Ya</STRONG>   numbers of bytes buffered
+                                               before printing
+       <STRONG>dot_vert_spacing</STRONG>          <STRONG>spinv</STRONG>    <STRONG>Yb</STRONG>   spacing of pins vertically in
+                                               pins per inch
+       <STRONG>dot_horz_spacing</STRONG>          <STRONG>spinh</STRONG>    <STRONG>Yc</STRONG>   spacing of dots horizontally in
+                                               dots per inch
+       <STRONG>max_micro_address</STRONG>         <STRONG>maddr</STRONG>    <STRONG>Yd</STRONG>   maximum value in
+                                               micro_..._address
+       <STRONG>max_micro_jump</STRONG>            <STRONG>mjump</STRONG>    <STRONG>Ye</STRONG>   maximum value in parm_..._micro
+       <STRONG>micro_col_size</STRONG>            <STRONG>mcs</STRONG>      <STRONG>Yf</STRONG>   character step size when in
+                                               micro mode
+       <STRONG>micro_line_size</STRONG>           <STRONG>mls</STRONG>      <STRONG>Yg</STRONG>   line step size when in micro
+                                               mode
+       <STRONG>number_of_pins</STRONG>            <STRONG>npins</STRONG>    <STRONG>Yh</STRONG>   numbers of pins in print-head
+       <STRONG>output_res_char</STRONG>           <STRONG>orc</STRONG>      <STRONG>Yi</STRONG>   horizontal resolution in units
+                                               per line
+       <STRONG>output_res_line</STRONG>           <STRONG>orl</STRONG>      <STRONG>Yj</STRONG>   vertical resolution in units
+                                               per line
+       <STRONG>output_res_horz_inch</STRONG>      <STRONG>orhi</STRONG>     <STRONG>Yk</STRONG>   horizontal resolution in units
+                                               per inch
+       <STRONG>output_res_vert_inch</STRONG>      <STRONG>orvi</STRONG>     <STRONG>Yl</STRONG>   vertical resolution in units
+                                               per inch
+       <STRONG>print_rate</STRONG>                <STRONG>cps</STRONG>      <STRONG>Ym</STRONG>   print rate in characters per
+                                               second
+       <STRONG>wide_char_size</STRONG>            <STRONG>widcs</STRONG>    <STRONG>Yn</STRONG>   character step size when in
+                                               double wide mode
+       <STRONG>buttons</STRONG>                   <STRONG>btns</STRONG>     <STRONG>BT</STRONG>   number of buttons on mouse
+       <STRONG>bit_image_entwining</STRONG>       <STRONG>bitwin</STRONG>   <STRONG>Yo</STRONG>   number of passes for each bit-
+                                               image row
+       <STRONG>bit_image_type</STRONG>            <STRONG>bitype</STRONG>   <STRONG>Yp</STRONG>   type of bit-image device
+
+                                      <STRONG>Code</STRONG>
+
+       <STRONG>String</STRONG> <STRONG>Capability</STRONG> <STRONG>Name</STRONG>      <STRONG>TI</STRONG>       <STRONG>TC</STRONG>   <STRONG>Description</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>back_tab</STRONG>                    <STRONG>cbt</STRONG>      <STRONG>bt</STRONG>   back tab (P)
+       <STRONG>bell</STRONG>                        <STRONG>bel</STRONG>      <STRONG>bl</STRONG>   audible signal (bell) (P)
+       <STRONG>carriage_return</STRONG>             <STRONG>cr</STRONG>       <STRONG>cr</STRONG>   carriage return (P*) (P*)
+       <STRONG>change_scroll_region</STRONG>        <STRONG>csr</STRONG>      <STRONG>cs</STRONG>   change region to line #1 to
+                                                 line #2 (P)
+       <STRONG>clear_all_tabs</STRONG>              <STRONG>tbc</STRONG>      <STRONG>ct</STRONG>   clear all tab stops (P)
+       <STRONG>clear_screen</STRONG>                <STRONG>clear</STRONG>    <STRONG>cl</STRONG>   clear screen and home cursor
+                                                 (P*)
+       <STRONG>clr_eol</STRONG>                     <STRONG>el</STRONG>       <STRONG>ce</STRONG>   clear to end of line (P)
+       <STRONG>clr_eos</STRONG>                     <STRONG>ed</STRONG>       <STRONG>cd</STRONG>   clear to end of screen (P*)
+       <STRONG>column_address</STRONG>              <STRONG>hpa</STRONG>      <STRONG>ch</STRONG>   horizontal position #1,
+                                                 absolute (P)
+       <STRONG>command_character</STRONG>           <STRONG>cmdch</STRONG>    <STRONG>CC</STRONG>   terminal settable cmd
+                                                 character in prototype !?
+       <STRONG>cursor_address</STRONG>              <STRONG>cup</STRONG>      <STRONG>cm</STRONG>   move to row #1 columns #2
+       <STRONG>cursor_down</STRONG>                 <STRONG>cud1</STRONG>     <STRONG>do</STRONG>   down one line
+       <STRONG>cursor_home</STRONG>                 <STRONG>home</STRONG>     <STRONG>ho</STRONG>   home cursor (if no cup)
+       <STRONG>cursor_invisible</STRONG>            <STRONG>civis</STRONG>    <STRONG>vi</STRONG>   make cursor invisible
+       <STRONG>cursor_left</STRONG>                 <STRONG>cub1</STRONG>     <STRONG>le</STRONG>   move left one space
+       <STRONG>cursor_mem_address</STRONG>          <STRONG>mrcup</STRONG>    <STRONG>CM</STRONG>   memory relative cursor
+                                                 addressing, move to row #1
+                                                 columns #2
+       <STRONG>cursor_normal</STRONG>               <STRONG>cnorm</STRONG>    <STRONG>ve</STRONG>   make cursor appear normal
+                                                 (undo civis/cvvis)
+       <STRONG>cursor_right</STRONG>                <STRONG>cuf1</STRONG>     <STRONG>nd</STRONG>   non-destructive space (move
+                                                 right one space)
+       <STRONG>cursor_to_ll</STRONG>                <STRONG>ll</STRONG>       <STRONG>ll</STRONG>   last line, first column (if
+                                                 no cup)
+       <STRONG>cursor_up</STRONG>                   <STRONG>cuu1</STRONG>     <STRONG>up</STRONG>   up one line
+       <STRONG>cursor_visible</STRONG>              <STRONG>cvvis</STRONG>    <STRONG>vs</STRONG>   make cursor very visible
+       <STRONG>delete_character</STRONG>            <STRONG>dch1</STRONG>     <STRONG>dc</STRONG>   delete character (P*)
+       <STRONG>delete_line</STRONG>                 <STRONG>dl1</STRONG>      <STRONG>dl</STRONG>   delete line (P*)
+       <STRONG>dis_status_line</STRONG>             <STRONG>dsl</STRONG>      <STRONG>ds</STRONG>   disable status line
+       <STRONG>down_half_line</STRONG>              <STRONG>hd</STRONG>       <STRONG>hd</STRONG>   half a line down
+       <STRONG>enter_alt_charset_mode</STRONG>      <STRONG>smacs</STRONG>    <STRONG>as</STRONG>   start alternate character set
+                                                 (P)
+       <STRONG>enter_blink_mode</STRONG>            <STRONG>blink</STRONG>    <STRONG>mb</STRONG>   turn on blinking
+       <STRONG>enter_bold_mode</STRONG>             <STRONG>bold</STRONG>     <STRONG>md</STRONG>   turn on bold (extra bright)
+                                                 mode
+       <STRONG>enter_ca_mode</STRONG>               <STRONG>smcup</STRONG>    <STRONG>ti</STRONG>   string to start programs
+                                                 using cup
+       <STRONG>enter_delete_mode</STRONG>           <STRONG>smdc</STRONG>     <STRONG>dm</STRONG>   enter delete mode
+       <STRONG>enter_dim_mode</STRONG>              <STRONG>dim</STRONG>      <STRONG>mh</STRONG>   turn on half-bright mode
+       <STRONG>enter_insert_mode</STRONG>           <STRONG>smir</STRONG>     <STRONG>im</STRONG>   enter insert mode
+       <STRONG>enter_secure_mode</STRONG>           <STRONG>invis</STRONG>    <STRONG>mk</STRONG>   turn on blank mode
+                                                 (characters invisible)
+       <STRONG>enter_protected_mode</STRONG>        <STRONG>prot</STRONG>     <STRONG>mp</STRONG>   turn on protected mode
+       <STRONG>enter_reverse_mode</STRONG>          <STRONG>rev</STRONG>      <STRONG>mr</STRONG>   turn on reverse video mode
+       <STRONG>enter_standout_mode</STRONG>         <STRONG>smso</STRONG>     <STRONG>so</STRONG>   begin standout mode
+       <STRONG>enter_underline_mode</STRONG>        <STRONG>smul</STRONG>     <STRONG>us</STRONG>   begin underline mode
+       <STRONG>erase_chars</STRONG>                 <STRONG>ech</STRONG>      <STRONG>ec</STRONG>   erase #1 characters (P)
+       <STRONG>exit_alt_charset_mode</STRONG>       <STRONG>rmacs</STRONG>    <STRONG>ae</STRONG>   end alternate character set
+                                                 (P)
+       <STRONG>exit_attribute_mode</STRONG>         <STRONG>sgr0</STRONG>     <STRONG>me</STRONG>   turn off all attributes
+       <STRONG>exit_ca_mode</STRONG>                <STRONG>rmcup</STRONG>    <STRONG>te</STRONG>   strings to end programs using
+                                                 cup
+       <STRONG>exit_delete_mode</STRONG>            <STRONG>rmdc</STRONG>     <STRONG>ed</STRONG>   end delete mode
+       <STRONG>exit_insert_mode</STRONG>            <STRONG>rmir</STRONG>     <STRONG>ei</STRONG>   exit insert mode
+       <STRONG>exit_standout_mode</STRONG>          <STRONG>rmso</STRONG>     <STRONG>se</STRONG>   exit standout mode
+       <STRONG>exit_underline_mode</STRONG>         <STRONG>rmul</STRONG>     <STRONG>ue</STRONG>   exit underline mode
+       <STRONG>flash_screen</STRONG>                <STRONG>flash</STRONG>    <STRONG>vb</STRONG>   visible bell (may not move
+                                                 cursor)
+
+
+       <STRONG>form_feed</STRONG>                   <STRONG>ff</STRONG>       <STRONG>ff</STRONG>   hardcopy terminal page eject
+                                                 (P*)
+       <STRONG>from_status_line</STRONG>            <STRONG>fsl</STRONG>      <STRONG>fs</STRONG>   return from status line
+       <STRONG>init_1string</STRONG>                <STRONG>is1</STRONG>      <STRONG>i1</STRONG>   initialization string
+       <STRONG>init_2string</STRONG>                <STRONG>is2</STRONG>      <STRONG>is</STRONG>   initialization string
+       <STRONG>init_3string</STRONG>                <STRONG>is3</STRONG>      <STRONG>i3</STRONG>   initialization string
+       <STRONG>init_file</STRONG>                   <STRONG>if</STRONG>       <STRONG>if</STRONG>   name of initialization file
+       <STRONG>insert_character</STRONG>            <STRONG>ich1</STRONG>     <STRONG>ic</STRONG>   insert character (P)
+       <STRONG>insert_line</STRONG>                 <STRONG>il1</STRONG>      <STRONG>al</STRONG>   insert line (P*)
+       <STRONG>insert_padding</STRONG>              <STRONG>ip</STRONG>       <STRONG>ip</STRONG>   insert padding after inserted
+                                                 character
+       <STRONG>key_backspace</STRONG>               <STRONG>kbs</STRONG>      <STRONG>kb</STRONG>   backspace key
+       <STRONG>key_catab</STRONG>                   <STRONG>ktbc</STRONG>     <STRONG>ka</STRONG>   clear-all-tabs key
+       <STRONG>key_clear</STRONG>                   <STRONG>kclr</STRONG>     <STRONG>kC</STRONG>   clear-screen or erase key
+       <STRONG>key_ctab</STRONG>                    <STRONG>kctab</STRONG>    <STRONG>kt</STRONG>   clear-tab key
+       <STRONG>key_dc</STRONG>                      <STRONG>kdch1</STRONG>    <STRONG>kD</STRONG>   delete-character key
+       <STRONG>key_dl</STRONG>                      <STRONG>kdl1</STRONG>     <STRONG>kL</STRONG>   delete-line key
+       <STRONG>key_down</STRONG>                    <STRONG>kcud1</STRONG>    <STRONG>kd</STRONG>   down-arrow key
+       <STRONG>key_eic</STRONG>                     <STRONG>krmir</STRONG>    <STRONG>kM</STRONG>   sent by rmir or smir in
+                                                 insert mode
+       <STRONG>key_eol</STRONG>                     <STRONG>kel</STRONG>      <STRONG>kE</STRONG>   clear-to-end-of-line key
+       <STRONG>key_eos</STRONG>                     <STRONG>ked</STRONG>      <STRONG>kS</STRONG>   clear-to-end-of-screen key
+       <STRONG>key_f0</STRONG>                      <STRONG>kf0</STRONG>      <STRONG>k0</STRONG>   F0 function key
+       <STRONG>key_f1</STRONG>                      <STRONG>kf1</STRONG>      <STRONG>k1</STRONG>   F1 function key
+       <STRONG>key_f10</STRONG>                     <STRONG>kf10</STRONG>     <STRONG>k;</STRONG>   F10 function key
+       <STRONG>key_f2</STRONG>                      <STRONG>kf2</STRONG>      <STRONG>k2</STRONG>   F2 function key
+       <STRONG>key_f3</STRONG>                      <STRONG>kf3</STRONG>      <STRONG>k3</STRONG>   F3 function key
+       <STRONG>key_f4</STRONG>                      <STRONG>kf4</STRONG>      <STRONG>k4</STRONG>   F4 function key
+       <STRONG>key_f5</STRONG>                      <STRONG>kf5</STRONG>      <STRONG>k5</STRONG>   F5 function key
+       <STRONG>key_f6</STRONG>                      <STRONG>kf6</STRONG>      <STRONG>k6</STRONG>   F6 function key
+       <STRONG>key_f7</STRONG>                      <STRONG>kf7</STRONG>      <STRONG>k7</STRONG>   F7 function key
+       <STRONG>key_f8</STRONG>                      <STRONG>kf8</STRONG>      <STRONG>k8</STRONG>   F8 function key
+       <STRONG>key_f9</STRONG>                      <STRONG>kf9</STRONG>      <STRONG>k9</STRONG>   F9 function key
+       <STRONG>key_home</STRONG>                    <STRONG>khome</STRONG>    <STRONG>kh</STRONG>   home key
+       <STRONG>key_ic</STRONG>                      <STRONG>kich1</STRONG>    <STRONG>kI</STRONG>   insert-character key
+       <STRONG>key_il</STRONG>                      <STRONG>kil1</STRONG>     <STRONG>kA</STRONG>   insert-line key
+       <STRONG>key_left</STRONG>                    <STRONG>kcub1</STRONG>    <STRONG>kl</STRONG>   left-arrow key
+       <STRONG>key_ll</STRONG>                      <STRONG>kll</STRONG>      <STRONG>kH</STRONG>   lower-left key (home down)
+       <STRONG>key_npage</STRONG>                   <STRONG>knp</STRONG>      <STRONG>kN</STRONG>   next-page key
+       <STRONG>key_ppage</STRONG>                   <STRONG>kpp</STRONG>      <STRONG>kP</STRONG>   previous-page key
+       <STRONG>key_right</STRONG>                   <STRONG>kcuf1</STRONG>    <STRONG>kr</STRONG>   right-arrow key
+       <STRONG>key_sf</STRONG>                      <STRONG>kind</STRONG>     <STRONG>kF</STRONG>   scroll-forward key
+       <STRONG>key_sr</STRONG>                      <STRONG>kri</STRONG>      <STRONG>kR</STRONG>   scroll-backward key
+       <STRONG>key_stab</STRONG>                    <STRONG>khts</STRONG>     <STRONG>kT</STRONG>   set-tab key
+       <STRONG>key_up</STRONG>                      <STRONG>kcuu1</STRONG>    <STRONG>ku</STRONG>   up-arrow key
+       <STRONG>keypad_local</STRONG>                <STRONG>rmkx</STRONG>     <STRONG>ke</STRONG>   leave keyboard transmit mode
+       <STRONG>keypad_xmit</STRONG>                 <STRONG>smkx</STRONG>     <STRONG>ks</STRONG>   enter keyboard transmit mode
+       <STRONG>lab_f0</STRONG>                      <STRONG>lf0</STRONG>      <STRONG>l0</STRONG>   label on function key f0 if
+                                                 not f0
+       <STRONG>lab_f1</STRONG>                      <STRONG>lf1</STRONG>      <STRONG>l1</STRONG>   label on function key f1 if
+                                                 not f1
+       <STRONG>lab_f10</STRONG>                     <STRONG>lf10</STRONG>     <STRONG>la</STRONG>   label on function key f10 if
+                                                 not f10
+       <STRONG>lab_f2</STRONG>                      <STRONG>lf2</STRONG>      <STRONG>l2</STRONG>   label on function key f2 if
+                                                 not f2
+       <STRONG>lab_f3</STRONG>                      <STRONG>lf3</STRONG>      <STRONG>l3</STRONG>   label on function key f3 if
+                                                 not f3
+       <STRONG>lab_f4</STRONG>                      <STRONG>lf4</STRONG>      <STRONG>l4</STRONG>   label on function key f4 if
+                                                 not f4
+       <STRONG>lab_f5</STRONG>                      <STRONG>lf5</STRONG>      <STRONG>l5</STRONG>   label on function key f5 if
+                                                 not f5
+       <STRONG>lab_f6</STRONG>                      <STRONG>lf6</STRONG>      <STRONG>l6</STRONG>   label on function key f6 if
+                                                 not f6
+       <STRONG>lab_f7</STRONG>                      <STRONG>lf7</STRONG>      <STRONG>l7</STRONG>   label on function key f7 if
+                                                 not f7
+
+       <STRONG>lab_f8</STRONG>                      <STRONG>lf8</STRONG>      <STRONG>l8</STRONG>   label on function key f8 if
+                                                 not f8
+       <STRONG>lab_f9</STRONG>                      <STRONG>lf9</STRONG>      <STRONG>l9</STRONG>   label on function key f9 if
+                                                 not f9
+       <STRONG>meta_off</STRONG>                    <STRONG>rmm</STRONG>      <STRONG>mo</STRONG>   turn off meta mode
+       <STRONG>meta_on</STRONG>                     <STRONG>smm</STRONG>      <STRONG>mm</STRONG>   turn on meta mode (8th-bit
+                                                 on)
+       <STRONG>newline</STRONG>                     <STRONG>nel</STRONG>      <STRONG>nw</STRONG>   newline (behave like cr
+                                                 followed by lf)
+       <STRONG>pad_char</STRONG>                    <STRONG>pad</STRONG>      <STRONG>pc</STRONG>   padding char (instead of
+                                                 null)
+       <STRONG>parm_dch</STRONG>                    <STRONG>dch</STRONG>      <STRONG>DC</STRONG>   delete #1 characters (P*)
+       <STRONG>parm_delete_line</STRONG>            <STRONG>dl</STRONG>       <STRONG>DL</STRONG>   delete #1 lines (P*)
+       <STRONG>parm_down_cursor</STRONG>            <STRONG>cud</STRONG>      <STRONG>DO</STRONG>   down #1 lines (P*)
+       <STRONG>parm_ich</STRONG>                    <STRONG>ich</STRONG>      <STRONG>IC</STRONG>   insert #1 characters (P*)
+       <STRONG>parm_index</STRONG>                  <STRONG>indn</STRONG>     <STRONG>SF</STRONG>   scroll forward #1 lines (P)
+       <STRONG>parm_insert_line</STRONG>            <STRONG>il</STRONG>       <STRONG>AL</STRONG>   insert #1 lines (P*)
+       <STRONG>parm_left_cursor</STRONG>            <STRONG>cub</STRONG>      <STRONG>LE</STRONG>   move #1 characters to the
+                                                 left (P)
+       <STRONG>parm_right_cursor</STRONG>           <STRONG>cuf</STRONG>      <STRONG>RI</STRONG>   move #1 characters to the
+                                                 right (P*)
+       <STRONG>parm_rindex</STRONG>                 <STRONG>rin</STRONG>      <STRONG>SR</STRONG>   scroll back #1 lines (P)
+       <STRONG>parm_up_cursor</STRONG>              <STRONG>cuu</STRONG>      <STRONG>UP</STRONG>   up #1 lines (P*)
+       <STRONG>pkey_key</STRONG>                    <STRONG>pfkey</STRONG>    <STRONG>pk</STRONG>   program function key #1 to
+                                                 type string #2
+       <STRONG>pkey_local</STRONG>                  <STRONG>pfloc</STRONG>    <STRONG>pl</STRONG>   program function key #1 to
+                                                 execute string #2
+       <STRONG>pkey_xmit</STRONG>                   <STRONG>pfx</STRONG>      <STRONG>px</STRONG>   program function key #1 to
+                                                 transmit string #2
+       <STRONG>print_screen</STRONG>                <STRONG>mc0</STRONG>      <STRONG>ps</STRONG>   print contents of screen
+       <STRONG>prtr_off</STRONG>                    <STRONG>mc4</STRONG>      <STRONG>pf</STRONG>   turn off printer
+       <STRONG>prtr_on</STRONG>                     <STRONG>mc5</STRONG>      <STRONG>po</STRONG>   turn on printer
+       <STRONG>repeat_char</STRONG>                 <STRONG>rep</STRONG>      <STRONG>rp</STRONG>   repeat char #1 #2 times (P*)
+       <STRONG>reset_1string</STRONG>               <STRONG>rs1</STRONG>      <STRONG>r1</STRONG>   reset string
+       <STRONG>reset_2string</STRONG>               <STRONG>rs2</STRONG>      <STRONG>r2</STRONG>   reset string
+       <STRONG>reset_3string</STRONG>               <STRONG>rs3</STRONG>      <STRONG>r3</STRONG>   reset string
+       <STRONG>reset_file</STRONG>                  <STRONG>rf</STRONG>       <STRONG>rf</STRONG>   name of reset file
+       <STRONG>restore_cursor</STRONG>              <STRONG>rc</STRONG>       <STRONG>rc</STRONG>   restore cursor to position of
+                                                 last save_cursor
+       <STRONG>row_address</STRONG>                 <STRONG>vpa</STRONG>      <STRONG>cv</STRONG>   vertical position #1 absolute
+                                                 (P)
+       <STRONG>save_cursor</STRONG>                 <STRONG>sc</STRONG>       <STRONG>sc</STRONG>   save current cursor position
+                                                 (P)
+       <STRONG>scroll_forward</STRONG>              <STRONG>ind</STRONG>      <STRONG>sf</STRONG>   scroll text up (P)
+       <STRONG>scroll_reverse</STRONG>              <STRONG>ri</STRONG>       <STRONG>sr</STRONG>   scroll text down (P)
+       <STRONG>set_attributes</STRONG>              <STRONG>sgr</STRONG>      <STRONG>sa</STRONG>   define video attributes #1-#9
+                                                 (PG9)
+       <STRONG>set_tab</STRONG>                     <STRONG>hts</STRONG>      <STRONG>st</STRONG>   set a tab in every row,
+                                                 current columns
+       <STRONG>set_window</STRONG>                  <STRONG>wind</STRONG>     <STRONG>wi</STRONG>   current window is lines #1-#2
+                                                 cols #3-#4
+       <STRONG>tab</STRONG>                         <STRONG>ht</STRONG>       <STRONG>ta</STRONG>   tab to next 8-space hardware
+                                                 tab stop
+       <STRONG>to_status_line</STRONG>              <STRONG>tsl</STRONG>      <STRONG>ts</STRONG>   move to status line, column
+                                                 #1
+       <STRONG>underline_char</STRONG>              <STRONG>uc</STRONG>       <STRONG>uc</STRONG>   underline char and move past
+                                                 it
+       <STRONG>up_half_line</STRONG>                <STRONG>hu</STRONG>       <STRONG>hu</STRONG>   half a line up
+       <STRONG>init_prog</STRONG>                   <STRONG>iprog</STRONG>    <STRONG>iP</STRONG>   path name of program for
+                                                 initialization
+       <STRONG>key_a1</STRONG>                      <STRONG>ka1</STRONG>      <STRONG>K1</STRONG>   upper left of keypad
+       <STRONG>key_a3</STRONG>                      <STRONG>ka3</STRONG>      <STRONG>K3</STRONG>   upper right of keypad
+       <STRONG>key_b2</STRONG>                      <STRONG>kb2</STRONG>      <STRONG>K2</STRONG>   center of keypad
+       <STRONG>key_c1</STRONG>                      <STRONG>kc1</STRONG>      <STRONG>K4</STRONG>   lower left of keypad
+       <STRONG>key_c3</STRONG>                      <STRONG>kc3</STRONG>      <STRONG>K5</STRONG>   lower right of keypad
+
+       <STRONG>prtr_non</STRONG>                    <STRONG>mc5p</STRONG>     <STRONG>pO</STRONG>   turn on printer for #1 bytes
+       <STRONG>char_padding</STRONG>                <STRONG>rmp</STRONG>      <STRONG>rP</STRONG>   like ip but when in insert
+                                                 mode
+       <STRONG>acs_chars</STRONG>                   <STRONG>acsc</STRONG>     <STRONG>ac</STRONG>   graphics charset pairs, based
+                                                 on vt100
+       <STRONG>plab_norm</STRONG>                   <STRONG>pln</STRONG>      <STRONG>pn</STRONG>   program label #1 to show
+                                                 string #2
+       <STRONG>key_btab</STRONG>                    <STRONG>kcbt</STRONG>     <STRONG>kB</STRONG>   back-tab key
+       <STRONG>enter_xon_mode</STRONG>              <STRONG>smxon</STRONG>    <STRONG>SX</STRONG>   turn on xon/xoff handshaking
+       <STRONG>exit_xon_mode</STRONG>               <STRONG>rmxon</STRONG>    <STRONG>RX</STRONG>   turn off xon/xoff handshaking
+       <STRONG>enter_am_mode</STRONG>               <STRONG>smam</STRONG>     <STRONG>SA</STRONG>   turn on automatic margins
+       <STRONG>exit_am_mode</STRONG>                <STRONG>rmam</STRONG>     <STRONG>RA</STRONG>   turn off automatic margins
+       <STRONG>xon_character</STRONG>               <STRONG>xonc</STRONG>     <STRONG>XN</STRONG>   XON character
+       <STRONG>xoff_character</STRONG>              <STRONG>xoffc</STRONG>    <STRONG>XF</STRONG>   XOFF character
+       <STRONG>ena_acs</STRONG>                     <STRONG>enacs</STRONG>    <STRONG>eA</STRONG>   enable alternate char set
+       <STRONG>label_on</STRONG>                    <STRONG>smln</STRONG>     <STRONG>LO</STRONG>   turn on soft labels
+       <STRONG>label_off</STRONG>                   <STRONG>rmln</STRONG>     <STRONG>LF</STRONG>   turn off soft labels
+       <STRONG>key_beg</STRONG>                     <STRONG>kbeg</STRONG>     <STRONG>@1</STRONG>   begin key
+       <STRONG>key_cancel</STRONG>                  <STRONG>kcan</STRONG>     <STRONG>@2</STRONG>   cancel key
+       <STRONG>key_close</STRONG>                   <STRONG>kclo</STRONG>     <STRONG>@3</STRONG>   close key
+       <STRONG>key_command</STRONG>                 <STRONG>kcmd</STRONG>     <STRONG>@4</STRONG>   command key
+       <STRONG>key_copy</STRONG>                    <STRONG>kcpy</STRONG>     <STRONG>@5</STRONG>   copy key
+       <STRONG>key_create</STRONG>                  <STRONG>kcrt</STRONG>     <STRONG>@6</STRONG>   create key
+       <STRONG>key_end</STRONG>                     <STRONG>kend</STRONG>     <STRONG>@7</STRONG>   end key
+       <STRONG>key_enter</STRONG>                   <STRONG>kent</STRONG>     <STRONG>@8</STRONG>   enter/send key
+       <STRONG>key_exit</STRONG>                    <STRONG>kext</STRONG>     <STRONG>@9</STRONG>   exit key
+       <STRONG>key_find</STRONG>                    <STRONG>kfnd</STRONG>     <STRONG>@0</STRONG>   find key
+       <STRONG>key_help</STRONG>                    <STRONG>khlp</STRONG>     <STRONG>%1</STRONG>   help key
+       <STRONG>key_mark</STRONG>                    <STRONG>kmrk</STRONG>     <STRONG>%2</STRONG>   mark key
+       <STRONG>key_message</STRONG>                 <STRONG>kmsg</STRONG>     <STRONG>%3</STRONG>   message key
+       <STRONG>key_move</STRONG>                    <STRONG>kmov</STRONG>     <STRONG>%4</STRONG>   move key
+       <STRONG>key_next</STRONG>                    <STRONG>knxt</STRONG>     <STRONG>%5</STRONG>   next key
+       <STRONG>key_open</STRONG>                    <STRONG>kopn</STRONG>     <STRONG>%6</STRONG>   open key
+       <STRONG>key_options</STRONG>                 <STRONG>kopt</STRONG>     <STRONG>%7</STRONG>   options key
+       <STRONG>key_previous</STRONG>                <STRONG>kprv</STRONG>     <STRONG>%8</STRONG>   previous key
+       <STRONG>key_print</STRONG>                   <STRONG>kprt</STRONG>     <STRONG>%9</STRONG>   print key
+       <STRONG>key_redo</STRONG>                    <STRONG>krdo</STRONG>     <STRONG>%0</STRONG>   redo key
+       <STRONG>key_reference</STRONG>               <STRONG>kref</STRONG>     <STRONG>&amp;1</STRONG>   reference key
+       <STRONG>key_refresh</STRONG>                 <STRONG>krfr</STRONG>     <STRONG>&amp;2</STRONG>   refresh key
+       <STRONG>key_replace</STRONG>                 <STRONG>krpl</STRONG>     <STRONG>&amp;3</STRONG>   replace key
+       <STRONG>key_restart</STRONG>                 <STRONG>krst</STRONG>     <STRONG>&amp;4</STRONG>   restart key
+       <STRONG>key_resume</STRONG>                  <STRONG>kres</STRONG>     <STRONG>&amp;5</STRONG>   resume key
+       <STRONG>key_save</STRONG>                    <STRONG>ksav</STRONG>     <STRONG>&amp;6</STRONG>   save key
+       <STRONG>key_suspend</STRONG>                 <STRONG>kspd</STRONG>     <STRONG>&amp;7</STRONG>   suspend key
+       <STRONG>key_undo</STRONG>                    <STRONG>kund</STRONG>     <STRONG>&amp;8</STRONG>   undo key
+       <STRONG>key_sbeg</STRONG>                    <STRONG>kBEG</STRONG>     <STRONG>&amp;9</STRONG>   shifted begin key
+       <STRONG>key_scancel</STRONG>                 <STRONG>kCAN</STRONG>     <STRONG>&amp;0</STRONG>   shifted cancel key
+       <STRONG>key_scommand</STRONG>                <STRONG>kCMD</STRONG>     <STRONG>*1</STRONG>   shifted command key
+       <STRONG>key_scopy</STRONG>                   <STRONG>kCPY</STRONG>     <STRONG>*2</STRONG>   shifted copy key
+       <STRONG>key_screate</STRONG>                 <STRONG>kCRT</STRONG>     <STRONG>*3</STRONG>   shifted create key
+       <STRONG>key_sdc</STRONG>                     <STRONG>kDC</STRONG>      <STRONG>*4</STRONG>   shifted delete-character key
+       <STRONG>key_sdl</STRONG>                     <STRONG>kDL</STRONG>      <STRONG>*5</STRONG>   shifted delete-line key
+       <STRONG>key_select</STRONG>                  <STRONG>kslt</STRONG>     <STRONG>*6</STRONG>   select key
+       <STRONG>key_send</STRONG>                    <STRONG>kEND</STRONG>     <STRONG>*7</STRONG>   shifted end key
+       <STRONG>key_seol</STRONG>                    <STRONG>kEOL</STRONG>     <STRONG>*8</STRONG>   shifted clear-to-end-of-line
+                                                 key
+       <STRONG>key_sexit</STRONG>                   <STRONG>kEXT</STRONG>     <STRONG>*9</STRONG>   shifted exit key
+       <STRONG>key_sfind</STRONG>                   <STRONG>kFND</STRONG>     <STRONG>*0</STRONG>   shifted find key
+       <STRONG>key_shelp</STRONG>                   <STRONG>kHLP</STRONG>     <STRONG>#1</STRONG>   shifted help key
+       <STRONG>key_shome</STRONG>                   <STRONG>kHOM</STRONG>     <STRONG>#2</STRONG>   shifted home key
+       <STRONG>key_sic</STRONG>                     <STRONG>kIC</STRONG>      <STRONG>#3</STRONG>   shifted insert-character key
+       <STRONG>key_sleft</STRONG>                   <STRONG>kLFT</STRONG>     <STRONG>#4</STRONG>   shifted left-arrow key
+       <STRONG>key_smessage</STRONG>                <STRONG>kMSG</STRONG>     <STRONG>%a</STRONG>   shifted message key
+       <STRONG>key_smove</STRONG>                   <STRONG>kMOV</STRONG>     <STRONG>%b</STRONG>   shifted move key
+       <STRONG>key_snext</STRONG>                   <STRONG>kNXT</STRONG>     <STRONG>%c</STRONG>   shifted next key
+
+       <STRONG>key_soptions</STRONG>                <STRONG>kOPT</STRONG>     <STRONG>%d</STRONG>   shifted options key
+       <STRONG>key_sprevious</STRONG>               <STRONG>kPRV</STRONG>     <STRONG>%e</STRONG>   shifted previous key
+       <STRONG>key_sprint</STRONG>                  <STRONG>kPRT</STRONG>     <STRONG>%f</STRONG>   shifted print key
+       <STRONG>key_sredo</STRONG>                   <STRONG>kRDO</STRONG>     <STRONG>%g</STRONG>   shifted redo key
+       <STRONG>key_sreplace</STRONG>                <STRONG>kRPL</STRONG>     <STRONG>%h</STRONG>   shifted replace key
+       <STRONG>key_sright</STRONG>                  <STRONG>kRIT</STRONG>     <STRONG>%i</STRONG>   shifted right-arrow key
+       <STRONG>key_srsume</STRONG>                  <STRONG>kRES</STRONG>     <STRONG>%j</STRONG>   shifted resume key
+       <STRONG>key_ssave</STRONG>                   <STRONG>kSAV</STRONG>     <STRONG>!1</STRONG>   shifted save key
+       <STRONG>key_ssuspend</STRONG>                <STRONG>kSPD</STRONG>     <STRONG>!2</STRONG>   shifted suspend key
+       <STRONG>key_sundo</STRONG>                   <STRONG>kUND</STRONG>     <STRONG>!3</STRONG>   shifted undo key
+       <STRONG>req_for_input</STRONG>               <STRONG>rfi</STRONG>      <STRONG>RF</STRONG>   send next input char (for
+                                                 ptys)
+       <STRONG>key_f11</STRONG>                     <STRONG>kf11</STRONG>     <STRONG>F1</STRONG>   F11 function key
+       <STRONG>key_f12</STRONG>                     <STRONG>kf12</STRONG>     <STRONG>F2</STRONG>   F12 function key
+       <STRONG>key_f13</STRONG>                     <STRONG>kf13</STRONG>     <STRONG>F3</STRONG>   F13 function key
+       <STRONG>key_f14</STRONG>                     <STRONG>kf14</STRONG>     <STRONG>F4</STRONG>   F14 function key
+       <STRONG>key_f15</STRONG>                     <STRONG>kf15</STRONG>     <STRONG>F5</STRONG>   F15 function key
+       <STRONG>key_f16</STRONG>                     <STRONG>kf16</STRONG>     <STRONG>F6</STRONG>   F16 function key
+       <STRONG>key_f17</STRONG>                     <STRONG>kf17</STRONG>     <STRONG>F7</STRONG>   F17 function key
+       <STRONG>key_f18</STRONG>                     <STRONG>kf18</STRONG>     <STRONG>F8</STRONG>   F18 function key
+       <STRONG>key_f19</STRONG>                     <STRONG>kf19</STRONG>     <STRONG>F9</STRONG>   F19 function key
+       <STRONG>key_f20</STRONG>                     <STRONG>kf20</STRONG>     <STRONG>FA</STRONG>   F20 function key
+       <STRONG>key_f21</STRONG>                     <STRONG>kf21</STRONG>     <STRONG>FB</STRONG>   F21 function key
+       <STRONG>key_f22</STRONG>                     <STRONG>kf22</STRONG>     <STRONG>FC</STRONG>   F22 function key
+       <STRONG>key_f23</STRONG>                     <STRONG>kf23</STRONG>     <STRONG>FD</STRONG>   F23 function key
+       <STRONG>key_f24</STRONG>                     <STRONG>kf24</STRONG>     <STRONG>FE</STRONG>   F24 function key
+       <STRONG>key_f25</STRONG>                     <STRONG>kf25</STRONG>     <STRONG>FF</STRONG>   F25 function key
+       <STRONG>key_f26</STRONG>                     <STRONG>kf26</STRONG>     <STRONG>FG</STRONG>   F26 function key
+       <STRONG>key_f27</STRONG>                     <STRONG>kf27</STRONG>     <STRONG>FH</STRONG>   F27 function key
+       <STRONG>key_f28</STRONG>                     <STRONG>kf28</STRONG>     <STRONG>FI</STRONG>   F28 function key
+       <STRONG>key_f29</STRONG>                     <STRONG>kf29</STRONG>     <STRONG>FJ</STRONG>   F29 function key
+       <STRONG>key_f30</STRONG>                     <STRONG>kf30</STRONG>     <STRONG>FK</STRONG>   F30 function key
+       <STRONG>key_f31</STRONG>                     <STRONG>kf31</STRONG>     <STRONG>FL</STRONG>   F31 function key
+       <STRONG>key_f32</STRONG>                     <STRONG>kf32</STRONG>     <STRONG>FM</STRONG>   F32 function key
+       <STRONG>key_f33</STRONG>                     <STRONG>kf33</STRONG>     <STRONG>FN</STRONG>   F33 function key
+       <STRONG>key_f34</STRONG>                     <STRONG>kf34</STRONG>     <STRONG>FO</STRONG>   F34 function key
+       <STRONG>key_f35</STRONG>                     <STRONG>kf35</STRONG>     <STRONG>FP</STRONG>   F35 function key
+       <STRONG>key_f36</STRONG>                     <STRONG>kf36</STRONG>     <STRONG>FQ</STRONG>   F36 function key
+       <STRONG>key_f37</STRONG>                     <STRONG>kf37</STRONG>     <STRONG>FR</STRONG>   F37 function key
+       <STRONG>key_f38</STRONG>                     <STRONG>kf38</STRONG>     <STRONG>FS</STRONG>   F38 function key
+       <STRONG>key_f39</STRONG>                     <STRONG>kf39</STRONG>     <STRONG>FT</STRONG>   F39 function key
+       <STRONG>key_f40</STRONG>                     <STRONG>kf40</STRONG>     <STRONG>FU</STRONG>   F40 function key
+       <STRONG>key_f41</STRONG>                     <STRONG>kf41</STRONG>     <STRONG>FV</STRONG>   F41 function key
+       <STRONG>key_f42</STRONG>                     <STRONG>kf42</STRONG>     <STRONG>FW</STRONG>   F42 function key
+       <STRONG>key_f43</STRONG>                     <STRONG>kf43</STRONG>     <STRONG>FX</STRONG>   F43 function key
+       <STRONG>key_f44</STRONG>                     <STRONG>kf44</STRONG>     <STRONG>FY</STRONG>   F44 function key
+       <STRONG>key_f45</STRONG>                     <STRONG>kf45</STRONG>     <STRONG>FZ</STRONG>   F45 function key
+       <STRONG>key_f46</STRONG>                     <STRONG>kf46</STRONG>     <STRONG>Fa</STRONG>   F46 function key
+       <STRONG>key_f47</STRONG>                     <STRONG>kf47</STRONG>     <STRONG>Fb</STRONG>   F47 function key
+       <STRONG>key_f48</STRONG>                     <STRONG>kf48</STRONG>     <STRONG>Fc</STRONG>   F48 function key
+       <STRONG>key_f49</STRONG>                     <STRONG>kf49</STRONG>     <STRONG>Fd</STRONG>   F49 function key
+       <STRONG>key_f50</STRONG>                     <STRONG>kf50</STRONG>     <STRONG>Fe</STRONG>   F50 function key
+       <STRONG>key_f51</STRONG>                     <STRONG>kf51</STRONG>     <STRONG>Ff</STRONG>   F51 function key
+       <STRONG>key_f52</STRONG>                     <STRONG>kf52</STRONG>     <STRONG>Fg</STRONG>   F52 function key
+       <STRONG>key_f53</STRONG>                     <STRONG>kf53</STRONG>     <STRONG>Fh</STRONG>   F53 function key
+       <STRONG>key_f54</STRONG>                     <STRONG>kf54</STRONG>     <STRONG>Fi</STRONG>   F54 function key
+       <STRONG>key_f55</STRONG>                     <STRONG>kf55</STRONG>     <STRONG>Fj</STRONG>   F55 function key
+       <STRONG>key_f56</STRONG>                     <STRONG>kf56</STRONG>     <STRONG>Fk</STRONG>   F56 function key
+       <STRONG>key_f57</STRONG>                     <STRONG>kf57</STRONG>     <STRONG>Fl</STRONG>   F57 function key
+       <STRONG>key_f58</STRONG>                     <STRONG>kf58</STRONG>     <STRONG>Fm</STRONG>   F58 function key
+       <STRONG>key_f59</STRONG>                     <STRONG>kf59</STRONG>     <STRONG>Fn</STRONG>   F59 function key
+       <STRONG>key_f60</STRONG>                     <STRONG>kf60</STRONG>     <STRONG>Fo</STRONG>   F60 function key
+       <STRONG>key_f61</STRONG>                     <STRONG>kf61</STRONG>     <STRONG>Fp</STRONG>   F61 function key
+       <STRONG>key_f62</STRONG>                     <STRONG>kf62</STRONG>     <STRONG>Fq</STRONG>   F62 function key
+       <STRONG>key_f63</STRONG>                     <STRONG>kf63</STRONG>     <STRONG>Fr</STRONG>   F63 function key
+
+       <STRONG>clr_bol</STRONG>                     <STRONG>el1</STRONG>      <STRONG>cb</STRONG>   Clear to beginning of line
+       <STRONG>clear_margins</STRONG>               <STRONG>mgc</STRONG>      <STRONG>MC</STRONG>   clear right and left soft
+                                                 margins
+       <STRONG>set_left_margin</STRONG>             <STRONG>smgl</STRONG>     <STRONG>ML</STRONG>   set left soft margin at
+                                                 current column. (ML is not in
+                                                 BSD termcap).
+       <STRONG>set_right_margin</STRONG>            <STRONG>smgr</STRONG>     <STRONG>MR</STRONG>   set right soft margin at
+                                                 current column
+       <STRONG>label_format</STRONG>                <STRONG>fln</STRONG>      <STRONG>Lf</STRONG>   label format
+       <STRONG>set_clock</STRONG>                   <STRONG>sclk</STRONG>     <STRONG>SC</STRONG>   set clock, #1 hrs #2 mins #3
+                                                 secs
+       <STRONG>display_clock</STRONG>               <STRONG>dclk</STRONG>     <STRONG>DK</STRONG>   display clock
+       <STRONG>remove_clock</STRONG>                <STRONG>rmclk</STRONG>    <STRONG>RC</STRONG>   remove clock
+       <STRONG>create_window</STRONG>               <STRONG>cwin</STRONG>     <STRONG>CW</STRONG>   define a window #1 from #2,#3
+                                                 to #4,#5
+       <STRONG>goto_window</STRONG>                 <STRONG>wingo</STRONG>    <STRONG>WG</STRONG>   go to window #1
+       <STRONG>hangup</STRONG>                      <STRONG>hup</STRONG>      <STRONG>HU</STRONG>   hang-up phone
+       <STRONG>dial_phone</STRONG>                  <STRONG>dial</STRONG>     <STRONG>DI</STRONG>   dial number #1
+       <STRONG>quick_dial</STRONG>                  <STRONG>qdial</STRONG>    <STRONG>QD</STRONG>   dial number #1 without
+                                                 checking
+       <STRONG>tone</STRONG>                        <STRONG>tone</STRONG>     <STRONG>TO</STRONG>   select touch tone dialing
+       <STRONG>pulse</STRONG>                       <STRONG>pulse</STRONG>    <STRONG>PU</STRONG>   select pulse dialing
+       <STRONG>flash_hook</STRONG>                  <STRONG>hook</STRONG>     <STRONG>fh</STRONG>   flash switch hook
+       <STRONG>fixed_pause</STRONG>                 <STRONG>pause</STRONG>    <STRONG>PA</STRONG>   pause for 2-3 seconds
+       <STRONG>wait_tone</STRONG>                   <STRONG>wait</STRONG>     <STRONG>WA</STRONG>   wait for dial-tone
+       <STRONG>user0</STRONG>                       <STRONG>u0</STRONG>       <STRONG>u0</STRONG>   User string #0
+       <STRONG>user1</STRONG>                       <STRONG>u1</STRONG>       <STRONG>u1</STRONG>   User string #1
+       <STRONG>user2</STRONG>                       <STRONG>u2</STRONG>       <STRONG>u2</STRONG>   User string #2
+       <STRONG>user3</STRONG>                       <STRONG>u3</STRONG>       <STRONG>u3</STRONG>   User string #3
+       <STRONG>user4</STRONG>                       <STRONG>u4</STRONG>       <STRONG>u4</STRONG>   User string #4
+       <STRONG>user5</STRONG>                       <STRONG>u5</STRONG>       <STRONG>u5</STRONG>   User string #5
+       <STRONG>user6</STRONG>                       <STRONG>u6</STRONG>       <STRONG>u6</STRONG>   User string #6
+       <STRONG>user7</STRONG>                       <STRONG>u7</STRONG>       <STRONG>u7</STRONG>   User string #7
+       <STRONG>user8</STRONG>                       <STRONG>u8</STRONG>       <STRONG>u8</STRONG>   User string #8
+       <STRONG>user9</STRONG>                       <STRONG>u9</STRONG>       <STRONG>u9</STRONG>   User string #9
+       <STRONG>orig_pair</STRONG>                   <STRONG>op</STRONG>       <STRONG>op</STRONG>   Set default pair to its
+                                                 original value
+       <STRONG>orig_colors</STRONG>                 <STRONG>oc</STRONG>       <STRONG>oc</STRONG>   Set all color pairs to the
+                                                 original ones
+       <STRONG>initialize_color</STRONG>            <STRONG>initc</STRONG>    <STRONG>Ic</STRONG>   initialize color #1 to
+                                                 (#2,#3,#4)
+       <STRONG>initialize_pair</STRONG>             <STRONG>initp</STRONG>    <STRONG>Ip</STRONG>   Initialize color pair #1 to
+                                                 fg=(#2,#3,#4), bg=(#5,#6,#7)
+       <STRONG>set_color_pair</STRONG>              <STRONG>scp</STRONG>      <STRONG>sp</STRONG>   Set current color pair to #1
+       <STRONG>set_foreground</STRONG>              <STRONG>setf</STRONG>     <STRONG>Sf</STRONG>   Set foreground color #1
+       <STRONG>set_background</STRONG>              <STRONG>setb</STRONG>     <STRONG>Sb</STRONG>   Set background color #1
+       <STRONG>change_char_pitch</STRONG>           <STRONG>cpi</STRONG>      <STRONG>ZA</STRONG>   Change number of characters
+                                                 per inch to #1
+       <STRONG>change_line_pitch</STRONG>           <STRONG>lpi</STRONG>      <STRONG>ZB</STRONG>   Change number of lines per
+                                                 inch to #1
+       <STRONG>change_res_horz</STRONG>             <STRONG>chr</STRONG>      <STRONG>ZC</STRONG>   Change horizontal resolution
+                                                 to #1
+       <STRONG>change_res_vert</STRONG>             <STRONG>cvr</STRONG>      <STRONG>ZD</STRONG>   Change vertical resolution to
+                                                 #1
+       <STRONG>define_char</STRONG>                 <STRONG>defc</STRONG>     <STRONG>ZE</STRONG>   Define a character #1, #2
+                                                 dots wide, descender #3
+       <STRONG>enter_doublewide_mode</STRONG>       <STRONG>swidm</STRONG>    <STRONG>ZF</STRONG>   Enter double-wide mode
+       <STRONG>enter_draft_quality</STRONG>         <STRONG>sdrfq</STRONG>    <STRONG>ZG</STRONG>   Enter draft-quality mode
+       <STRONG>enter_italics_mode</STRONG>          <STRONG>sitm</STRONG>     <STRONG>ZH</STRONG>   Enter italic mode
+       <STRONG>enter_leftward_mode</STRONG>         <STRONG>slm</STRONG>      <STRONG>ZI</STRONG>   Start leftward carriage
+                                                 motion
+       <STRONG>enter_micro_mode</STRONG>            <STRONG>smicm</STRONG>    <STRONG>ZJ</STRONG>   Start micro-motion mode
+       <STRONG>enter_near_letter_quality</STRONG>   <STRONG>snlq</STRONG>     <STRONG>ZK</STRONG>   Enter NLQ mode
+       <STRONG>enter_normal_quality</STRONG>        <STRONG>snrmq</STRONG>    <STRONG>ZL</STRONG>   Enter normal-quality mode
+       <STRONG>enter_shadow_mode</STRONG>           <STRONG>sshm</STRONG>     <STRONG>ZM</STRONG>   Enter shadow-print mode
+
+       <STRONG>enter_subscript_mode</STRONG>        <STRONG>ssubm</STRONG>    <STRONG>ZN</STRONG>   Enter subscript mode
+       <STRONG>enter_superscript_mode</STRONG>      <STRONG>ssupm</STRONG>    <STRONG>ZO</STRONG>   Enter superscript mode
+       <STRONG>enter_upward_mode</STRONG>           <STRONG>sum</STRONG>      <STRONG>ZP</STRONG>   Start upward carriage motion
+       <STRONG>exit_doublewide_mode</STRONG>        <STRONG>rwidm</STRONG>    <STRONG>ZQ</STRONG>   End double-wide mode
+       <STRONG>exit_italics_mode</STRONG>           <STRONG>ritm</STRONG>     <STRONG>ZR</STRONG>   End italic mode
+       <STRONG>exit_leftward_mode</STRONG>          <STRONG>rlm</STRONG>      <STRONG>ZS</STRONG>   End left-motion mode
+       <STRONG>exit_micro_mode</STRONG>             <STRONG>rmicm</STRONG>    <STRONG>ZT</STRONG>   End micro-motion mode
+       <STRONG>exit_shadow_mode</STRONG>            <STRONG>rshm</STRONG>     <STRONG>ZU</STRONG>   End shadow-print mode
+       <STRONG>exit_subscript_mode</STRONG>         <STRONG>rsubm</STRONG>    <STRONG>ZV</STRONG>   End subscript mode
+       <STRONG>exit_superscript_mode</STRONG>       <STRONG>rsupm</STRONG>    <STRONG>ZW</STRONG>   End superscript mode
+       <STRONG>exit_upward_mode</STRONG>            <STRONG>rum</STRONG>      <STRONG>ZX</STRONG>   End reverse character motion
+       <STRONG>micro_column_address</STRONG>        <STRONG>mhpa</STRONG>     <STRONG>ZY</STRONG>   Like column_address in micro
+                                                 mode
+       <STRONG>micro_down</STRONG>                  <STRONG>mcud1</STRONG>    <STRONG>ZZ</STRONG>   Like cursor_down in micro
+                                                 mode
+       <STRONG>micro_left</STRONG>                  <STRONG>mcub1</STRONG>    <STRONG>Za</STRONG>   Like cursor_left in micro
+                                                 mode
+       <STRONG>micro_right</STRONG>                 <STRONG>mcuf1</STRONG>    <STRONG>Zb</STRONG>   Like cursor_right in micro
+                                                 mode
+       <STRONG>micro_row_address</STRONG>           <STRONG>mvpa</STRONG>     <STRONG>Zc</STRONG>   Like row_address #1 in micro
+                                                 mode
+       <STRONG>micro_up</STRONG>                    <STRONG>mcuu1</STRONG>    <STRONG>Zd</STRONG>   Like cursor_up in micro mode
+       <STRONG>order_of_pins</STRONG>               <STRONG>porder</STRONG>   <STRONG>Ze</STRONG>   Match software bits to print-
+                                                 head pins
+       <STRONG>parm_down_micro</STRONG>             <STRONG>mcud</STRONG>     <STRONG>Zf</STRONG>   Like parm_down_cursor in
+                                                 micro mode
+       <STRONG>parm_left_micro</STRONG>             <STRONG>mcub</STRONG>     <STRONG>Zg</STRONG>   Like parm_left_cursor in
+                                                 micro mode
+       <STRONG>parm_right_micro</STRONG>            <STRONG>mcuf</STRONG>     <STRONG>Zh</STRONG>   Like parm_right_cursor in
+                                                 micro mode
+       <STRONG>parm_up_micro</STRONG>               <STRONG>mcuu</STRONG>     <STRONG>Zi</STRONG>   Like parm_up_cursor in micro
+                                                 mode
+       <STRONG>select_char_set</STRONG>             <STRONG>scs</STRONG>      <STRONG>Zj</STRONG>   Select character set, #1
+       <STRONG>set_bottom_margin</STRONG>           <STRONG>smgb</STRONG>     <STRONG>Zk</STRONG>   Set bottom margin at current
+                                                 line
+       <STRONG>set_bottom_margin_parm</STRONG>      <STRONG>smgbp</STRONG>    <STRONG>Zl</STRONG>   Set bottom margin at line #1
+                                                 or (if smgtp is not given) #2
+                                                 lines from bottom
+       <STRONG>set_left_margin_parm</STRONG>        <STRONG>smglp</STRONG>    <STRONG>Zm</STRONG>   Set left (right) margin at
+                                                 column #1
+       <STRONG>set_right_margin_parm</STRONG>       <STRONG>smgrp</STRONG>    <STRONG>Zn</STRONG>   Set right margin at column #1
+       <STRONG>set_top_margin</STRONG>              <STRONG>smgt</STRONG>     <STRONG>Zo</STRONG>   Set top margin at current
+                                                 line
+       <STRONG>set_top_margin_parm</STRONG>         <STRONG>smgtp</STRONG>    <STRONG>Zp</STRONG>   Set top (bottom) margin at
+                                                 row #1
+       <STRONG>start_bit_image</STRONG>             <STRONG>sbim</STRONG>     <STRONG>Zq</STRONG>   Start printing bit image
+                                                 graphics
+       <STRONG>start_char_set_def</STRONG>          <STRONG>scsd</STRONG>     <STRONG>Zr</STRONG>   Start character set
+                                                 definition #1, with #2
+                                                 characters in the set
+       <STRONG>stop_bit_image</STRONG>              <STRONG>rbim</STRONG>     <STRONG>Zs</STRONG>   Stop printing bit image
+                                                 graphics
+       <STRONG>stop_char_set_def</STRONG>           <STRONG>rcsd</STRONG>     <STRONG>Zt</STRONG>   End definition of character
+                                                 set #1
+       <STRONG>subscript_characters</STRONG>        <STRONG>subcs</STRONG>    <STRONG>Zu</STRONG>   List of subscriptable
+                                                 characters
+       <STRONG>superscript_characters</STRONG>      <STRONG>supcs</STRONG>    <STRONG>Zv</STRONG>   List of superscriptable
+                                                 characters
+       <STRONG>these_cause_cr</STRONG>              <STRONG>docr</STRONG>     <STRONG>Zw</STRONG>   Printing any of these
+                                                 characters causes CR
+       <STRONG>zero_motion</STRONG>                 <STRONG>zerom</STRONG>    <STRONG>Zx</STRONG>   No motion for subsequent
+                                                 character
 
        The following string  capabilities  are  present  in  the  SVr4.0  term
        structure, but were originally not documented in the man page.
 
-
-                  <STRONG>Variable</STRONG>            <STRONG>Cap-</STRONG>       <STRONG>TCap</STRONG>      <STRONG>Description</STRONG>
-                   <STRONG>String</STRONG>             <STRONG>name</STRONG>       <STRONG>Code</STRONG>
-          alt_scancode_esc            scesa      S8     Alternate escape
-                                                        for scancode
-                                                        emulation
-          bit_image_carriage_return   bicr       Yv     Move to beginning
-                                                        of same row
-          bit_image_newline           binel      Zz     Move to next row
-                                                        of the bit image
-          bit_image_repeat            birep      Xy     Repeat bit image
-                                                        cell #1 #2 times
-          char_set_names              csnm       Zy     Produce #1'th item
-                                                        from list of
-                                                        character set
-                                                        names
-          code_set_init               csin       ci     Init sequence for
-                                                        multiple codesets
-          color_names                 colornm    Yw     Give name for
-                                                        color #1
-          define_bit_image_region     defbi      Yx     Define rectangular
-                                                        bit image region
-          device_type                 devt       dv     Indicate
-                                                        language/codeset
-                                                        support
-          display_pc_char             dispc      S1     Display PC
-                                                        character #1
-          end_bit_image_region        endbi      Yy     End a bit-image
-                                                        region
-          enter_pc_charset_mode       smpch      S2     Enter PC character
-                                                        display mode
-          enter_scancode_mode         smsc       S4     Enter PC scancode
-                                                        mode
-          exit_pc_charset_mode        rmpch      S3     Exit PC character
-                                                        display mode
-          exit_scancode_mode          rmsc       S5     Exit PC scancode
-                                                        mode
-          get_mouse                   getm       Gm     Curses should get
-                                                        button events,
-                                                        parameter #1 not
-                                                        documented.
-          key_mouse                   kmous      Km     Mouse event has
-                                                        occurred
-          mouse_info                  minfo      Mi     Mouse status
-                                                        information
-          pc_term_options             pctrm      S6     PC terminal
-                                                        options
-          pkey_plab                   pfxl       xl     Program function
-                                                        key #1 to type
-                                                        string #2 and show
-                                                        string #3
-          req_mouse_pos               reqmp      RQ     Request mouse
-                                                        position
-
-          scancode_escape             scesc      S7     Escape for
-                                                        scancode emulation
-          set0_des_seq                s0ds       s0     Shift to codeset 0
-                                                        (EUC set 0, ASCII)
-          set1_des_seq                s1ds       s1     Shift to codeset 1
-          set2_des_seq                s2ds       s2     Shift to codeset 2
-          set3_des_seq                s3ds       s3     Shift to codeset 3
-          set_a_background            setab      AB     Set background
-                                                        color to #1, using
-                                                        ANSI escape
-          set_a_foreground            setaf      AF     Set foreground
-                                                        color to #1, using
-                                                        ANSI escape
-          set_color_band              setcolor   Yz     Change to ribbon
-                                                        color #1
-          set_lr_margin               smglr      ML     Set both left and
-                                                        right margins to
-                                                        #1, #2.  (ML is
-                                                        not in BSD
-                                                        termcap).
-          set_page_length             slines     YZ     Set page length to
-                                                        #1 lines
-          set_tb_margin               smgtb      MT     Sets both top and
-                                                        bottom margins to
-                                                        #1, #2
-
-        The XSI Curses standard added these hardcopy capabilities.  They  were
-        used  in  some post-4.1 versions of System V curses, e.g., Solaris 2.5
-        and IRIX 6.x.  Except for <STRONG>YI</STRONG>, the <STRONG>ncurses</STRONG> termcap names for  them  are
-        invented.   According to the XSI Curses standard, they have no termcap
-        names.  If your compiled terminfo entries use these, they may  not  be
-        binary-compatible with System V terminfo entries after SVr4.1; beware!
-
-
-                  <STRONG>Variable</STRONG>            <STRONG>Cap-</STRONG>      <STRONG>TCap</STRONG>       <STRONG>Description</STRONG>
-                   <STRONG>String</STRONG>             <STRONG>name</STRONG>      <STRONG>Code</STRONG>
-          enter_horizontal_hl_mode    ehhlm     Xh     Enter horizontal
-                                                       highlight mode
-          enter_left_hl_mode          elhlm     Xl     Enter left highlight
-                                                       mode
-          enter_low_hl_mode           elohlm    Xo     Enter low highlight
-                                                       mode
-          enter_right_hl_mode         erhlm     Xr     Enter right
-                                                       highlight mode
-          enter_top_hl_mode           ethlm     Xt     Enter top highlight
-                                                       mode
-          enter_vertical_hl_mode      evhlm     Xv     Enter vertical
-                                                       highlight mode
-          set_a_attributes            sgr1      sA     Define second set of
-                                                       video attributes
-                                                       #1-#6
-          set_pglen_inch              slength   YI     Set page length to
-                                                       #1 hundredth of an
-                                                       inch (some
-                                                       implementations use
-                                                       sL for termcap).
+                                       <STRONG>Code</STRONG>
+       <STRONG>String</STRONG> <STRONG>Capability</STRONG> <STRONG>Name</STRONG>      <STRONG>TI</STRONG>         <STRONG>TC</STRONG>   <STRONG>Description</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>char_set_names</STRONG>              <STRONG>csnm</STRONG>       <STRONG>Zy</STRONG>   Produce #1'th item from
+                                                   list of character set names
+       <STRONG>key_mouse</STRONG>                   <STRONG>kmous</STRONG>      <STRONG>Km</STRONG>   Mouse event has occurred
+       <STRONG>mouse_info</STRONG>                  <STRONG>minfo</STRONG>      <STRONG>Mi</STRONG>   Mouse status information
+       <STRONG>req_mouse_pos</STRONG>               <STRONG>reqmp</STRONG>      <STRONG>RQ</STRONG>   Request mouse position
+       <STRONG>get_mouse</STRONG>                   <STRONG>getm</STRONG>       <STRONG>Gm</STRONG>   Curses should get button
+                                                   events, parameter #1 not
+                                                   documented.
+       <STRONG>set_a_foreground</STRONG>            <STRONG>setaf</STRONG>      <STRONG>AF</STRONG>   Set foreground color to #1,
+                                                   using ANSI escape
+       <STRONG>set_a_background</STRONG>            <STRONG>setab</STRONG>      <STRONG>AB</STRONG>   Set background color to #1,
+                                                   using ANSI escape
+       <STRONG>pkey_plab</STRONG>                   <STRONG>pfxl</STRONG>       <STRONG>xl</STRONG>   Program function key #1 to
+                                                   type string #2 and show
+                                                   string #3
+       <STRONG>device_type</STRONG>                 <STRONG>devt</STRONG>       <STRONG>dv</STRONG>   Indicate language, codeset
+                                                   support
+       <STRONG>code_set_init</STRONG>               <STRONG>csin</STRONG>       <STRONG>ci</STRONG>   Init sequence for multiple
+                                                   codesets
+       <STRONG>set0_des_seq</STRONG>                <STRONG>s0ds</STRONG>       <STRONG>s0</STRONG>   Shift to codeset 0 (EUC set
+                                                   0, ASCII)
+       <STRONG>set1_des_seq</STRONG>                <STRONG>s1ds</STRONG>       <STRONG>s1</STRONG>   Shift to codeset 1
+       <STRONG>set2_des_seq</STRONG>                <STRONG>s2ds</STRONG>       <STRONG>s2</STRONG>   Shift to codeset 2
+       <STRONG>set3_des_seq</STRONG>                <STRONG>s3ds</STRONG>       <STRONG>s3</STRONG>   Shift to codeset 3
+       <STRONG>set_lr_margin</STRONG>               <STRONG>smglr</STRONG>      <STRONG>ML</STRONG>   Set both left and right
+                                                   margins to #1, #2.  (ML is
+                                                   not in BSD termcap).
+       <STRONG>set_tb_margin</STRONG>               <STRONG>smgtb</STRONG>      <STRONG>MT</STRONG>   Sets both top and bottom
+                                                   margins to #1, #2
+       <STRONG>bit_image_repeat</STRONG>            <STRONG>birep</STRONG>      <STRONG>Xy</STRONG>   Repeat bit image cell #1 #2
+                                                   times
+       <STRONG>bit_image_newline</STRONG>           <STRONG>binel</STRONG>      <STRONG>Zz</STRONG>   Move to next row of the bit
+                                                   image
+       <STRONG>bit_image_carriage_return</STRONG>   <STRONG>bicr</STRONG>       <STRONG>Yv</STRONG>   Move to beginning of same
+                                                   row
+       <STRONG>color_names</STRONG>                 <STRONG>colornm</STRONG>    <STRONG>Yw</STRONG>   Give name for color #1
+       <STRONG>define_bit_image_region</STRONG>     <STRONG>defbi</STRONG>      <STRONG>Yx</STRONG>   Define rectangular bit
+                                                   image region
+       <STRONG>end_bit_image_region</STRONG>        <STRONG>endbi</STRONG>      <STRONG>Yy</STRONG>   End a bit-image region
+       <STRONG>set_color_band</STRONG>              <STRONG>setcolor</STRONG>   <STRONG>Yz</STRONG>   Change to ribbon color #1
+       <STRONG>set_page_length</STRONG>             <STRONG>slines</STRONG>     <STRONG>YZ</STRONG>   Set page length to #1 lines
+       <STRONG>display_pc_char</STRONG>             <STRONG>dispc</STRONG>      <STRONG>S1</STRONG>   Display PC character #1
+       <STRONG>enter_pc_charset_mode</STRONG>       <STRONG>smpch</STRONG>      <STRONG>S2</STRONG>   Enter PC character display
+                                                   mode
+       <STRONG>exit_pc_charset_mode</STRONG>        <STRONG>rmpch</STRONG>      <STRONG>S3</STRONG>   Exit PC character display
+                                                   mode
+       <STRONG>enter_scancode_mode</STRONG>         <STRONG>smsc</STRONG>       <STRONG>S4</STRONG>   Enter PC scancode mode
+       <STRONG>exit_scancode_mode</STRONG>          <STRONG>rmsc</STRONG>       <STRONG>S5</STRONG>   Exit PC scancode mode
+       <STRONG>pc_term_options</STRONG>             <STRONG>pctrm</STRONG>      <STRONG>S6</STRONG>   PC terminal options
+       <STRONG>scancode_escape</STRONG>             <STRONG>scesc</STRONG>      <STRONG>S7</STRONG>   Escape for scancode
+                                                   emulation
+       <STRONG>alt_scancode_esc</STRONG>            <STRONG>scesa</STRONG>      <STRONG>S8</STRONG>   Alternate escape for
+                                                   scancode emulation
+
+       The XSI Curses standard added these hardcopy capabilities.   They  were
+       used  in  some  post-4.1 versions of System V curses, e.g., Solaris 2.5
+       and IRIX 6.x.  Except for <STRONG>YI</STRONG>, the <STRONG>ncurses</STRONG> termcap names  for  them  are
+       invented.   According  to the XSI Curses standard, they have no termcap
+       names.  If your compiled terminfo entries use these, they  may  not  be
+       binary-compatible with System V terminfo entries after SVr4.1; beware!
+
+                                      <STRONG>Code</STRONG>
+
+       <STRONG>String</STRONG> <STRONG>Capability</STRONG> <STRONG>Name</STRONG>     <STRONG>TI</STRONG>        <STRONG>TC</STRONG>   <STRONG>Description</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>enter_horizontal_hl_mode</STRONG>   <STRONG>ehhlm</STRONG>     <STRONG>Xh</STRONG>   Enter horizontal highlight
+                                                 mode
+       <STRONG>enter_left_hl_mode</STRONG>         <STRONG>elhlm</STRONG>     <STRONG>Xl</STRONG>   Enter left highlight mode
+       <STRONG>enter_low_hl_mode</STRONG>          <STRONG>elohlm</STRONG>    <STRONG>Xo</STRONG>   Enter low highlight mode
+       <STRONG>enter_right_hl_mode</STRONG>        <STRONG>erhlm</STRONG>     <STRONG>Xr</STRONG>   Enter right highlight mode
+       <STRONG>enter_top_hl_mode</STRONG>          <STRONG>ethlm</STRONG>     <STRONG>Xt</STRONG>   Enter top highlight mode
+       <STRONG>enter_vertical_hl_mode</STRONG>     <STRONG>evhlm</STRONG>     <STRONG>Xv</STRONG>   Enter vertical highlight mode
+       <STRONG>set_a_attributes</STRONG>           <STRONG>sgr1</STRONG>      <STRONG>sA</STRONG>   Define second set of video
+                                                 attributes #1-#6
+       <STRONG>set_pglen_inch</STRONG>             <STRONG>slength</STRONG>   <STRONG>YI</STRONG>   Set page length to #1
+                                                 hundredth of an inch (some
+                                                 implementations use sL for
+                                                 termcap).
 
 
 </PRE><H3><a name="h3-User-Defined-Capabilities">User-Defined Capabilities</a></H3><PRE>
-       The  preceding  section  listed the <EM>predefined</EM> capabilities.  They deal
-       with some special features for terminals no longer (or possibly  never)
-       produced.   Occasionally  there are special features of newer terminals
-       which are awkward or impossible to represent by reusing the  predefined
+       The preceding section listed the <EM>predefined</EM>  capabilities.   They  deal
+       with  some special features for terminals no longer (or possibly never)
+       produced.  Occasionally there are special features of  newer  terminals
+       which  are awkward or impossible to represent by reusing the predefined
        capabilities.
 
-       <EM>ncurses</EM>    addresses   this   limitation   by   allowing   user-defined
-       capabilities.  The <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> programs provide the <STRONG>-x</STRONG>  option  for
+       <EM>ncurses</EM>   addresses   this   limitation   by   allowing    user-defined
+       capabilities.   The  <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> programs provide the <STRONG>-x</STRONG> option for
        this purpose.  When <STRONG>-x</STRONG> is set, <STRONG>tic</STRONG> treats unknown capabilities as user-
-       defined.  That is, if <STRONG>tic</STRONG> encounters a capability name  which  it  does
-       not  recognize, it infers its type (Boolean, number or string) from the
-       syntax and makes an extended table  entry  for  that  capability.   The
-       <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG>  function  makes  this information conditionally
-       available to applications.   The  <EM>ncurses</EM>  library  provides  the  data
+       defined.   That  is,  if <STRONG>tic</STRONG> encounters a capability name which it does
+       not recognize, it infers its type (Boolean, number or string) from  the
+       syntax  and  makes  an  extended  table entry for that capability.  The
+       <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> function makes  this  information  conditionally
+       available  to  applications.   The  <EM>ncurses</EM>  library  provides the data
        leaving most of the behavior to applications:
 
-       <STRONG>o</STRONG>   User-defined  capability  strings  whose  name  begins with "k" are
+       <STRONG>o</STRONG>   User-defined capability strings whose  name  begins  with  "k"  are
            treated as function keys.
 
-       <STRONG>o</STRONG>   The types (Boolean,  number,  string)  determined  by  <STRONG>tic</STRONG>  can  be
+       <STRONG>o</STRONG>   The  types  (Boolean,  number,  string)  determined  by  <STRONG>tic</STRONG> can be
            inferred by successful calls on <STRONG>tigetflag</STRONG>, etc.
 
        <STRONG>o</STRONG>   If the capability name happens to be two characters, the capability
            is also available through the termcap interface.
 
-       While termcap is said to be  extensible  because  it  does  not  use  a
-       predefined  set of capabilities, in practice it has been limited to the
-       capabilities defined by terminfo implementations.   As  a  rule,  user-
+       While  termcap  is  said  to  be  extensible  because it does not use a
+       predefined set of capabilities, in practice it has been limited to  the
+       capabilities  defined  by  terminfo  implementations.  As a rule, user-
        defined capabilities intended for use by termcap applications should be
-       limited to Booleans and numbers to avoid running  past  the  1023  byte
-       limit  assumed  by  termcap implementations and their applications.  In
-       particular, providing extended sets  of  function  keys  (past  the  60
+       limited  to  Booleans  and  numbers to avoid running past the 1023 byte
+       limit assumed by termcap implementations and  their  applications.   In
+       particular,  providing  extended  sets  of  function  keys (past the 60
        numbered keys and the handful of special named keys) is best done using
        the longer names available using terminfo.
 
-       The <EM>ncurses</EM> library uses a few of these user-defined  capabilities,  as
-       described  in <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.  Other user-defined capabilities (including
-       function keys) are described in the terminal database, in  the  section
+       The  <EM>ncurses</EM>  library uses a few of these user-defined capabilities, as
+       described in <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.  Other user-defined capabilities  (including
+       function  keys)  are described in the terminal database, in the section
        on <EM>NCURSES</EM> <EM>USER-DEFINABLE</EM> <EM>CAPABILITIES</EM>
 
 
 </PRE><H3><a name="h3-A-Sample-Entry">A Sample Entry</a></H3><PRE>
-       The   following   entry,   describing  an  ANSI-standard  terminal,  is
+       The  following  entry,  describing  an   ANSI-standard   terminal,   is
        representative of what a <STRONG>terminfo</STRONG> entry for a modern terminal typically
        looks like.
 
                smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n,
                u8=\E[?%[;0123456789]c, u9=\E[c, vpa=\E[%i%p1%dd,
 
-       Entries  may continue onto multiple lines by placing white space at the
-       beginning of each line except the first.  Comments may be  included  on
+       Entries may continue onto multiple lines by placing white space at  the
+       beginning  of  each line except the first.  Comments may be included on
        lines beginning with "#".  Capabilities in <EM>terminfo</EM> are of three types:
 
-       <STRONG>o</STRONG>   Boolean  capabilities  which  indicate  that  the terminal has some
+       <STRONG>o</STRONG>   Boolean capabilities which indicate  that  the  terminal  has  some
            particular feature,
 
        <STRONG>o</STRONG>   numeric capabilities giving the size of the terminal or the size of
            particular delays, and
 
-       <STRONG>o</STRONG>   string  capabilities,  which  give  a sequence which can be used to
+       <STRONG>o</STRONG>   string capabilities, which give a sequence which  can  be  used  to
            perform particular terminal operations.
 
 
 </PRE><H3><a name="h3-Types-of-Capabilities">Types of Capabilities</a></H3><PRE>
        All capabilities have names.  For instance, the fact that ANSI-standard
-       terminals  have  <EM>automatic</EM> <EM>margins</EM> (i.e., an automatic return and line-
-       feed when the end of a line is reached) is indicated by the  capability
-       <STRONG>am</STRONG>.   Hence  the description of ansi includes <STRONG>am</STRONG>.  Numeric capabilities
-       are followed by the character "#" and  then  a  positive  value.   Thus
+       terminals have <EM>automatic</EM> <EM>margins</EM> (i.e., an automatic return  and  line-
+       feed  when the end of a line is reached) is indicated by the capability
+       <STRONG>am</STRONG>.  Hence the description of ansi includes <STRONG>am</STRONG>.   Numeric  capabilities
+       are  followed  by  the  character  "#" and then a positive value.  Thus
        <STRONG>cols</STRONG>, which indicates the number of columns the terminal has, gives the
-       value "80" for ansi.  Values for numeric capabilities may be  specified
-       in  decimal,  octal,  or  hexadecimal, using the C programming language
+       value  "80" for ansi.  Values for numeric capabilities may be specified
+       in decimal, octal, or hexadecimal, using  the  C  programming  language
        conventions (e.g., 255, 0377 and 0xff or 0xFF).
 
-       Finally, string valued capabilities, such as <STRONG>el</STRONG> (clear to end  of  line
-       sequence)  are  given  by  the  two-character  code, an "=", and then a
+       Finally,  string  valued capabilities, such as <STRONG>el</STRONG> (clear to end of line
+       sequence) are given by the two-character  code,  an  "=",  and  then  a
        string ending at the next following ",".
 
-       A number  of  escape  sequences  are  provided  in  the  string  valued
+       A  number  of  escape  sequences  are  provided  in  the  string valued
        capabilities for easy encoding of characters there:
 
        <STRONG>o</STRONG>   Both <STRONG>\E</STRONG> and <STRONG>\e</STRONG> map to an ESCAPE character,
            respectively.
 
        X/Open Curses does not say what "appropriate <EM>x</EM>" might be.  In practice,
-       that is a printable ASCII graphic character.  The special case "^?"  is
-       interpreted  as  DEL (127).  In all other cases, the character value is
-       AND'd with 0x1f, mapping to ASCII control codes in the range 0  through
+       that  is a printable ASCII graphic character.  The special case "^?" is
+       interpreted as DEL (127).  In all other cases, the character  value  is
+       AND'd  with 0x1f, mapping to ASCII control codes in the range 0 through
        31.
 
        Other escapes include
        <STRONG>o</STRONG>   and <STRONG>\0</STRONG> for null.
 
            <STRONG>\0</STRONG> will produce \200, which does not terminate a string but behaves
-           as a null character on most terminals, providing CS7 is  specified.
+           as  a null character on most terminals, providing CS7 is specified.
            See <STRONG>stty(1)</STRONG>.
 
-           The  reason  for  this quirk is to maintain binary compatibility of
-           the compiled terminfo files with other implementations,  e.g.,  the
-           SVr4  systems,  which  document  this.  Compiled terminfo files use
-           null-terminated strings, with no  lengths.   Modifying  this  would
-           require  a  new  binary  format,  which  would  not work with other
+           The reason for this quirk is to maintain  binary  compatibility  of
+           the  compiled  terminfo files with other implementations, e.g., the
+           SVr4 systems, which document this.   Compiled  terminfo  files  use
+           null-terminated  strings,  with  no  lengths.  Modifying this would
+           require a new binary  format,  which  would  not  work  with  other
            implementations.
 
        Finally, characters may be given as three octal digits after a <STRONG>\</STRONG>.
 
-       A delay in milliseconds may appear anywhere  in  a  string  capability,
-       enclosed  in  $&lt;..&gt;  brackets, as in <STRONG>el</STRONG>=\EK$&lt;5&gt;, and padding characters
+       A  delay  in  milliseconds  may appear anywhere in a string capability,
+       enclosed in $&lt;..&gt; brackets, as in <STRONG>el</STRONG>=\EK$&lt;5&gt;,  and  padding  characters
        are supplied by <STRONG><A HREF="curs_terminfo.3x.html">tputs(3x)</A></STRONG> to provide this delay.
 
-       <STRONG>o</STRONG>   The delay must be a number  with  at  most  one  decimal  place  of
+       <STRONG>o</STRONG>   The  delay  must  be  a  number  with  at most one decimal place of
            precision; it may be followed by suffixes "*" or "/" or both.
 
-       <STRONG>o</STRONG>   A  "*"  indicates  that the padding required is proportional to the
-           number of lines affected by the operation, and the amount given  is
-           the  per-affected-unit  padding  required.   (In the case of insert
+       <STRONG>o</STRONG>   A "*" indicates that the padding required is  proportional  to  the
+           number  of lines affected by the operation, and the amount given is
+           the per-affected-unit padding required.  (In  the  case  of  insert
            character, the factor is still the number of <EM>lines</EM> affected.)
 
            Normally, padding is advisory if the device has the <STRONG>xon</STRONG> capability;
            it is used for cost computation but does not trigger delays.
 
-       <STRONG>o</STRONG>   A  "/"  suffix indicates that the padding is mandatory and forces a
+       <STRONG>o</STRONG>   A "/" suffix indicates that the padding is mandatory and  forces  a
            delay of the given number of milliseconds even on devices for which
            <STRONG>xon</STRONG> is present to indicate flow control.
 
-       Sometimes  individual  capabilities must be commented out.  To do this,
-       put a period before the capability name.  For example, see  the  second
+       Sometimes individual capabilities must be commented out.  To  do  this,
+       put  a  period before the capability name.  For example, see the second
        <STRONG>ind</STRONG> in the example above.
 
 
 </PRE><H3><a name="h3-Fetching-Compiled-Descriptions">Fetching Compiled Descriptions</a></H3><PRE>
-       Terminal  descriptions  in  <EM>ncurses</EM>  are  stored in terminal databases.
-       These databases, which are found by their pathname, may  be  configured
+       Terminal descriptions in <EM>ncurses</EM>  are  stored  in  terminal  databases.
+       These  databases,  which are found by their pathname, may be configured
        either as directory trees or hashed databases (see <STRONG><A HREF="term.5.html">term(5)</A></STRONG>),
 
-       The  library  uses  a  compiled-in  list  of  pathnames,  which  can be
+       The library  uses  a  compiled-in  list  of  pathnames,  which  can  be
        overridden  by  environment  variables.   Before  starting  to  search,
-       <EM>ncurses</EM>  checks  the  search list, eliminating duplicates and pathnames
-       where no terminal database is found.  The  <EM>ncurses</EM>  library  reads  the
+       <EM>ncurses</EM> checks the search list, eliminating  duplicates  and  pathnames
+       where  no  terminal  database  is found.  The <EM>ncurses</EM> library reads the
        first description which passes its consistency checks.
 
-       <STRONG>o</STRONG>   The  environment variable <STRONG>TERMINFO</STRONG> is checked first, for a terminal
+       <STRONG>o</STRONG>   The environment variable <STRONG>TERMINFO</STRONG> is checked first, for a  terminal
            database containing the terminal description.
 
        <STRONG>o</STRONG>   Next, <EM>ncurses</EM> looks in <EM>$HOME/.terminfo</EM> for a compiled description.
 
-           This is an optional feature which may be omitted entirely from  the
+           This  is an optional feature which may be omitted entirely from the
            library,  or  limited  to  prevent  accidental  use  by  privileged
            applications.
 
-       <STRONG>o</STRONG>   Next, if the environment variable  <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM>  is  set,  <EM>ncurses</EM>
-           interprets  the  contents  of  that  variable  as  a list of colon-
+       <STRONG>o</STRONG>   Next,  if  the  environment  variable <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> is set, <EM>ncurses</EM>
+           interprets the contents of  that  variable  as  a  list  of  colon-
            separated pathnames of terminal databases to be searched.
 
-           An empty pathname (i.e., if the variable  begins  or  ends  with  a
-           colon,  or  contains  adjacent colons) is interpreted as the system
+           An  empty  pathname  (i.e.,  if  the variable begins or ends with a
+           colon, or contains adjacent colons) is interpreted  as  the  system
            location <EM>/usr/share/terminfo</EM>.
 
        <STRONG>o</STRONG>   Finally, <EM>ncurses</EM> searches these compiled-in locations:
            <STRONG>o</STRONG>   the system terminfo directory, <EM>/usr/share/terminfo</EM>
 
        The <STRONG>TERMINFO</STRONG> variable can contain a terminal description instead of the
-       pathname  of  a terminal database.  If this variable begins with "hex:"
-       or "b64:" then <EM>ncurses</EM> reads a terminal description  from  hexadecimal-
-       or  base64-encoded  data,  and  if  that  description  matches the name
-       sought, will use that.  This encoded data can be  set  using  the  "-Q"
+       pathname of a terminal database.  If this variable begins  with  "hex:"
+       or  "b64:"  then <EM>ncurses</EM> reads a terminal description from hexadecimal-
+       or base64-encoded data,  and  if  that  description  matches  the  name
+       sought,  will  use  that.   This encoded data can be set using the "-Q"
        option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG>.
 
-       The  preceding addresses the usual configuration of <EM>ncurses</EM>, which uses
-       terminal descriptions prepared in <EM>terminfo</EM> format.   While  <EM>termcap</EM>  is
-       less  expressive,  <EM>ncurses</EM>  can  also  be  configured  to  read <EM>termcap</EM>
+       The preceding addresses the usual configuration of <EM>ncurses</EM>, which  uses
+       terminal  descriptions  prepared  in <EM>terminfo</EM> format.  While <EM>termcap</EM> is
+       less expressive,  <EM>ncurses</EM>  can  also  be  configured  to  read  <EM>termcap</EM>
        descriptions.   In  that  configuration,  it  checks  the  <EM>TERMCAP</EM>  and
-       <EM>TERMPATH</EM>  variables  (for  content and search path, respectively) after
+       <EM>TERMPATH</EM> variables (for content and search  path,  respectively)  after
        the system terminal database.
 
 
 </PRE><H3><a name="h3-Preparing-Descriptions">Preparing Descriptions</a></H3><PRE>
-       We now outline how to prepare  descriptions  of  terminals.   The  most
-       effective  way  to  prepare  a terminal description is by imitating the
-       description of a similar  terminal  in  <EM>terminfo</EM>  and  to  build  up  a
+       We  now  outline  how  to  prepare descriptions of terminals.  The most
+       effective way to prepare a terminal description  is  by  imitating  the
+       description  of  a  similar  terminal  in  <EM>terminfo</EM>  and  to build up a
        description gradually, using partial descriptions with <EM>vi</EM> or some other
-       screen-oriented program to check that they are correct.  Be aware  that
-       a  very  unusual terminal may expose deficiencies in the ability of the
+       screen-oriented  program to check that they are correct.  Be aware that
+       a very unusual terminal may expose deficiencies in the ability  of  the
        <EM>terminfo</EM> file to describe it or bugs in the screen-handling code of the
        test program.
 
-       To  get the padding for insert line right (if the terminal manufacturer
-       did not document it) a severe test is to edit  a  large  file  at  9600
+       To get the padding for insert line right (if the terminal  manufacturer
+       did  not  document  it)  a  severe test is to edit a large file at 9600
        baud, delete 16 or so lines from the middle of the screen, then hit the
        "u" key several times quickly.  If the terminal messes up, more padding
        is usually needed.  A similar test can be used for insert character.
 
 
 </PRE><H3><a name="h3-Basic-Capabilities">Basic Capabilities</a></H3><PRE>
-       The  number  of  columns  on each line for the terminal is given by the
-       <STRONG>cols</STRONG> numeric capability.  If the terminal is a CRT, then the number  of
-       lines  on the screen is given by the <STRONG>lines</STRONG> capability.  If the terminal
-       wraps around to the beginning of the next  line  when  it  reaches  the
-       right  margin,  then it should have the <STRONG>am</STRONG> capability.  If the terminal
-       can clear its screen, leaving the cursor in  the  home  position,  then
-       this  is  given  by  the  <STRONG>clear</STRONG>  string  capability.   If  the terminal
+       The number of columns on each line for the terminal  is  given  by  the
+       <STRONG>cols</STRONG>  numeric capability.  If the terminal is a CRT, then the number of
+       lines on the screen is given by the <STRONG>lines</STRONG> capability.  If the  terminal
+       wraps  around  to  the  beginning  of the next line when it reaches the
+       right margin, then it should have the <STRONG>am</STRONG> capability.  If  the  terminal
+       can  clear  its  screen,  leaving the cursor in the home position, then
+       this is  given  by  the  <STRONG>clear</STRONG>  string  capability.   If  the  terminal
        overstrikes (rather than clearing a position when a character is struck
-       over)  then  it  should  have  the <STRONG>os</STRONG> capability.  If the terminal is a
+       over) then it should have the <STRONG>os</STRONG> capability.   If  the  terminal  is  a
        printing terminal, with no soft copy unit, give it both <STRONG>hc</STRONG> and <STRONG>os</STRONG>.  (<STRONG>os</STRONG>
-       applies  to  storage scope terminals, such as TEKTRONIX 4010 series, as
-       well as hard copy and APL terminals.)  If there is a code to  move  the
+       applies to storage scope terminals, such as TEKTRONIX 4010  series,  as
+       well  as  hard copy and APL terminals.)  If there is a code to move the
        cursor to the left edge of the current row, give this as <STRONG>cr</STRONG>.  (Normally
-       this will be carriage return,  control/M.)   If  there  is  a  code  to
+       this  will  be  carriage  return,  control/M.)   If  there is a code to
        produce an audible signal (bell, beep, etc) give this as <STRONG>bel</STRONG>.
 
        If there is a code to move the cursor one position to the left (such as
-       backspace) that capability should be given as <STRONG>cub1</STRONG>.   Similarly,  codes
-       to  move  to the right, up, and down should be given as <STRONG>cuf1</STRONG>, <STRONG>cuu1</STRONG>, and
-       <STRONG>cud1</STRONG>.  These local cursor motions should not alter the text  they  pass
-       over,  for  example,  you  would  not normally use "<STRONG>cuf1</STRONG>= " because the
+       backspace)  that  capability should be given as <STRONG>cub1</STRONG>.  Similarly, codes
+       to move to the right, up, and down should be given as <STRONG>cuf1</STRONG>,  <STRONG>cuu1</STRONG>,  and
+       <STRONG>cud1</STRONG>.   These  local cursor motions should not alter the text they pass
+       over, for example, you would not  normally  use  "<STRONG>cuf1</STRONG>= "  because  the
        space would erase the character moved over.
 
        A very important point here is that the local cursor motions encoded in
-       <EM>terminfo</EM>  are  undefined  at  the left and top edges of a CRT terminal.
+       <EM>terminfo</EM> are undefined at the left and top edges  of  a  CRT  terminal.
        Programs should never attempt to backspace around the left edge, unless
-       <STRONG>bw</STRONG>  is given, and never attempt to go up locally off the top.  In order
-       to scroll text up, a program will go to the bottom left corner  of  the
+       <STRONG>bw</STRONG> is given, and never attempt to go up locally off the top.  In  order
+       to  scroll  text up, a program will go to the bottom left corner of the
        screen and send the <STRONG>ind</STRONG> (index) string.
 
-       To  scroll  text  down,  a  program  goes to the top left corner of the
+       To scroll text down, a program goes to  the  top  left  corner  of  the
        screen and sends the <STRONG>ri</STRONG> (reverse index) string.  The strings <STRONG>ind</STRONG> and <STRONG>ri</STRONG>
        are undefined when not on their respective corners of the screen.
 
-       Parameterized  versions  of  the  scrolling  sequences are <STRONG>indn</STRONG> and <STRONG>rin</STRONG>
-       which have the same semantics as <STRONG>ind</STRONG> and <STRONG>ri</STRONG> except that they  take  one
-       parameter,  and scroll that many lines.  They are also undefined except
+       Parameterized versions of the scrolling  sequences  are  <STRONG>indn</STRONG>  and  <STRONG>rin</STRONG>
+       which  have  the same semantics as <STRONG>ind</STRONG> and <STRONG>ri</STRONG> except that they take one
+       parameter, and scroll that many lines.  They are also undefined  except
        at the appropriate edge of the screen.
 
-       The <STRONG>am</STRONG> capability tells whether the cursor sticks at the right edge  of
-       the  screen when text is output, but this does not necessarily apply to
-       a <STRONG>cuf1</STRONG> from the last column.  The only local motion  which  is  defined
-       from  the  left  edge is if <STRONG>bw</STRONG> is given, then a <STRONG>cub1</STRONG> from the left edge
-       will move to the right edge of the previous row.  If <STRONG>bw</STRONG> is  not  given,
-       the  effect  is undefined.  This is useful for drawing a box around the
+       The  <STRONG>am</STRONG> capability tells whether the cursor sticks at the right edge of
+       the screen when text is output, but this does not necessarily apply  to
+       a  <STRONG>cuf1</STRONG>  from  the last column.  The only local motion which is defined
+       from the left edge is if <STRONG>bw</STRONG> is given, then a <STRONG>cub1</STRONG> from  the  left  edge
+       will  move  to the right edge of the previous row.  If <STRONG>bw</STRONG> is not given,
+       the effect is undefined.  This is useful for drawing a box  around  the
        edge of the screen, for example.  If the terminal has switch selectable
-       automatic  margins,  the <EM>terminfo</EM> file usually assumes that this is on;
-       i.e., <STRONG>am</STRONG>.  If the terminal has a  command  which  moves  to  the  first
-       column  of  the  next line, that command can be given as <STRONG>nel</STRONG> (newline).
-       It does not matter if the command clears the remainder of  the  current
-       line,  so  if the terminal has no <STRONG>cr</STRONG> and <STRONG>lf</STRONG> it may still be possible to
+       automatic margins, the <EM>terminfo</EM> file usually assumes that this  is  on;
+       i.e.,  <STRONG>am</STRONG>.   If  the  terminal  has  a command which moves to the first
+       column of the next line, that command can be given  as  <STRONG>nel</STRONG>  (newline).
+       It  does  not matter if the command clears the remainder of the current
+       line, so if the terminal has no <STRONG>cr</STRONG> and <STRONG>lf</STRONG> it may still be  possible  to
        craft a working <STRONG>nel</STRONG> out of one or both of them.
 
        These  capabilities  suffice  to  describe  hard-copy  and  "glass-tty"
 
 </PRE><H3><a name="h3-Parameterized-Strings">Parameterized Strings</a></H3><PRE>
        Cursor  addressing  and  other  strings  requiring  parameters  in  the
-       terminal are described  by  a  parameterized  string  capability,  with
-       <EM>printf</EM>-like  escapes  such  as  <EM>%x</EM>  in it.  For example, to address the
-       cursor, the <STRONG>cup</STRONG> capability is given, using two parameters: the row  and
-       column  to  address  to.   (Rows and columns are numbered from zero and
-       refer to the physical screen visible to the user,  not  to  any  unseen
-       memory.)   If  the terminal has memory relative cursor addressing, that
+       terminal  are  described  by  a  parameterized  string capability, with
+       <EM>printf</EM>-like escapes such as <EM>%x</EM> in it.   For  example,  to  address  the
+       cursor,  the <STRONG>cup</STRONG> capability is given, using two parameters: the row and
+       column to address to.  (Rows and columns are  numbered  from  zero  and
+       refer  to  the  physical  screen visible to the user, not to any unseen
+       memory.)  If the terminal has memory relative cursor  addressing,  that
        can be indicated by <STRONG>mrcup</STRONG>.
 
-       The parameter mechanism uses a stack and special <STRONG>%</STRONG> codes to  manipulate
-       it.   Typically  a  sequence  will  push one of the parameters onto the
-       stack and then print it in  some  format.   Print  (e.g.,  "%d")  is  a
-       special  case.  Other operations, including "%t" pop their operand from
-       the stack.   It  is  noted  that  more  complex  operations  are  often
+       The  parameter mechanism uses a stack and special <STRONG>%</STRONG> codes to manipulate
+       it.  Typically a sequence will push one  of  the  parameters  onto  the
+       stack  and  then  print  it  in  some  format.  Print (e.g., "%d") is a
+       special case.  Other operations, including "%t" pop their operand  from
+       the  stack.   It  is  noted  that  more  complex  operations  are often
        necessary, e.g., in the <STRONG>sgr</STRONG> string.
 
        The <STRONG>%</STRONG> encodings have the following meanings:
        <STRONG>%%</STRONG>   outputs "%"
 
        <STRONG>%</STRONG><EM>[[</EM>:<EM>]flags][width[.precision]][</EM><STRONG>doxXs</STRONG><EM>]</EM>
-            as  in  <STRONG>printf(3)</STRONG>,  flags are <EM>[-+#]</EM> and <EM>space</EM>.  Use a ":" to allow
+            as in <STRONG>printf(3)</STRONG>, flags are <EM>[-+#]</EM> and <EM>space</EM>.  Use a  ":"  to  allow
             the next character to be a "-" flag, avoiding interpreting "%-" as
             an operator.
 
        <STRONG>%g</STRONG><EM>[A-Z]</EM>
             get static variable <EM>[a-z]</EM> and push it
 
-            The  terms  "static"  and "dynamic" are misleading.  Historically,
+            The terms "static" and "dynamic"  are  misleading.   Historically,
             these are simply two different sets of variables, whose values are
-            not  reset  between calls to <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>.  However, that fact is not
+            not reset between calls to <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>.  However, that fact  is  not
             documented in other implementations.  Relying on it will adversely
             impact portability to other implementations:
 
-            <STRONG>o</STRONG>   SVr2  curses  supported <EM>dynamic</EM> variables.  Those are set only
-                by a <STRONG>%P</STRONG> operator.  A <STRONG>%g</STRONG> for a  given  variable  without  first
-                setting  it  with  <STRONG>%P</STRONG> will give unpredictable results, because
-                dynamic variables are an  uninitialized  local  array  on  the
+            <STRONG>o</STRONG>   SVr2 curses supported <EM>dynamic</EM> variables.  Those are  set  only
+                by  a  <STRONG>%P</STRONG>  operator.   A <STRONG>%g</STRONG> for a given variable without first
+                setting it with <STRONG>%P</STRONG> will give  unpredictable  results,  because
+                dynamic  variables  are  an  uninitialized  local array on the
                 stack in the <STRONG>tparm</STRONG> function.
 
-            <STRONG>o</STRONG>   SVr3.2  curses supported <EM>static</EM> variables.  Those are an array
+            <STRONG>o</STRONG>   SVr3.2 curses supported <EM>static</EM> variables.  Those are an  array
                 in the <EM>TERMINAL</EM> structure (declared in <STRONG>term.h</STRONG>), and are zeroed
                 automatically when the <STRONG>setupterm</STRONG> function allocates the data.
 
             <STRONG>o</STRONG>   SVr4 curses made no further improvements to the <EM>dynamic/static</EM>
                 variable feature.
 
-            <STRONG>o</STRONG>   Solaris XPG4 curses does not distinguish between  <EM>dynamic</EM>  and
-                <EM>static</EM>  variables.  They are the same.  Like SVr4 curses, XPG4
+            <STRONG>o</STRONG>   Solaris  XPG4  curses does not distinguish between <EM>dynamic</EM> and
+                <EM>static</EM> variables.  They are the same.  Like SVr4 curses,  XPG4
                 curses does not initialize these explicitly.
 
-            <STRONG>o</STRONG>   Before version 6.3, <EM>ncurses</EM> stores  both  <EM>dynamic</EM>  and  <EM>static</EM>
+            <STRONG>o</STRONG>   Before  version  6.3,  <EM>ncurses</EM>  stores both <EM>dynamic</EM> and <EM>static</EM>
                 variables in persistent storage, initialized to zeros.
 
-            <STRONG>o</STRONG>   Beginning  with version 6.3, <EM>ncurses</EM> stores <EM>static</EM> and <EM>dynamic</EM>
+            <STRONG>o</STRONG>   Beginning with version 6.3, <EM>ncurses</EM> stores <EM>static</EM> and  <EM>dynamic</EM>
                 variables in the same manner as SVr4.
 
-                <STRONG>o</STRONG>   Unlike  other  implementations,  <EM>ncurses</EM>   zeros   dynamic
+                <STRONG>o</STRONG>   Unlike   other   implementations,  <EM>ncurses</EM>  zeros  dynamic
                     variables before the first <STRONG>%g</STRONG> or <STRONG>%P</STRONG> operator.
 
-                <STRONG>o</STRONG>   Like  SVr2,  the  scope of dynamic variables in <EM>ncurses</EM> is
+                <STRONG>o</STRONG>   Like SVr2, the scope of dynamic variables  in  <EM>ncurses</EM>  is
                     within the current call to <STRONG>tparm</STRONG>.  Use static variables if
                     persistent storage is needed.
 
 
        <STRONG>%?</STRONG> <EM>expr</EM> <STRONG>%t</STRONG> <EM>thenpart</EM> <STRONG>%e</STRONG> <EM>elsepart</EM> <STRONG>%;</STRONG>
             This forms an if-then-else.  The <STRONG>%e</STRONG> <EM>elsepart</EM> is optional.  Usually
-            the <STRONG>%?</STRONG> <EM>expr</EM> part pushes a value onto the stack,  and  <STRONG>%t</STRONG>  pops  it
-            from  the  stack,  testing if it is nonzero (true).  If it is zero
+            the  <STRONG>%?</STRONG>  <EM>expr</EM>  part  pushes a value onto the stack, and <STRONG>%t</STRONG> pops it
+            from the stack, testing if it is nonzero (true).  If  it  is  zero
             (false), control passes to the <STRONG>%e</STRONG> (else) part.
 
             It is possible to form else-if's a la Algol 68:
 
             where ci are conditions, bi are bodies.
 
-            Use the <STRONG>-f</STRONG> option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG> to see the  structure  of  if-
+            Use  the  <STRONG>-f</STRONG>  option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG> to see the structure of if-
             then-else's.  Some strings, e.g., <STRONG>sgr</STRONG> can be very complicated when
-            written on one line.  The <STRONG>-f</STRONG> option splits the string  into  lines
+            written  on  one line.  The <STRONG>-f</STRONG> option splits the string into lines
             with the parts indented.
 
-       Binary  operations  are  in postfix form with the operands in the usual
-       order.  That is, to get x-5 one  would  use  "%gx%{5}%-".   <STRONG>%P</STRONG>  and  <STRONG>%g</STRONG>
+       Binary operations are in postfix form with the operands  in  the  usual
+       order.   That  is,  to  get  x-5  one would use "%gx%{5}%-".  <STRONG>%P</STRONG> and <STRONG>%g</STRONG>
        variables are persistent across escape-string evaluations.
 
-       Consider  the HP2645, which, to get to row 3 and column 12, needs to be
-       sent \E&amp;a12c03Y padded for 6 milliseconds.  The order of the  rows  and
-       columns  is  inverted  here,  and the row and column are printed as two
+       Consider the HP2645, which, to get to row 3 and column 12, needs to  be
+       sent  \E&amp;a12c03Y  padded for 6 milliseconds.  The order of the rows and
+       columns is inverted here, and the row and column  are  printed  as  two
        digits.  The corresponding terminal description is expressed thus:
               cup=\E&amp;a%p2%dc%p1%dY$&lt;6&gt;,
 
-       The Microterm ACT-IV needs the current row and column sent preceded  by
+       The  Microterm ACT-IV needs the current row and column sent preceded by
        a <STRONG>^T</STRONG>, with the row and column simply encoded in binary,
               cup=^T%p1%c%p2%c
 
-       Terminals  which  use  "%c"  need  to  be  able to backspace the cursor
-       (<STRONG>cub1</STRONG>), and to move the cursor up one line on the screen (<STRONG>cuu1</STRONG>).   This
+       Terminals which use "%c" need  to  be  able  to  backspace  the  cursor
+       (<STRONG>cub1</STRONG>),  and to move the cursor up one line on the screen (<STRONG>cuu1</STRONG>).  This
        is necessary because it is not always safe to transmit <STRONG>\n</STRONG> <STRONG>^D</STRONG> and <STRONG>\r</STRONG>, as
-       the system may change or discard them.  (The library  routines  dealing
-       with  terminfo  set tty modes so that tabs are never expanded, so \t is
+       the  system  may change or discard them.  (The library routines dealing
+       with terminfo set tty modes so that tabs are never expanded, so  \t  is
        safe to send.  This turns out to be essential for the Ann Arbor 4080.)
 
-       A final example is the LSI ADM-3a, which uses row and column offset  by
+       A  final example is the LSI ADM-3a, which uses row and column offset by
        a blank character, thus
               cup=\E=%p1%' '%+%c%p2%' '%+%c
 
-       After  sending "\E=", this pushes the first parameter, pushes the ASCII
-       value for a space (32), adds them (pushing the  sum  on  the  stack  in
-       place  of  the  two  previous  values)  and  outputs  that  value  as a
-       character.  Then the same is  done  for  the  second  parameter.   More
+       After sending "\E=", this pushes the first parameter, pushes the  ASCII
+       value  for  a  space  (32),  adds them (pushing the sum on the stack in
+       place of  the  two  previous  values)  and  outputs  that  value  as  a
+       character.   Then  the  same  is  done  for the second parameter.  More
        complex arithmetic is possible using the stack.
 
 
 </PRE><H3><a name="h3-Cursor-Motions">Cursor Motions</a></H3><PRE>
-       If  the  terminal has a fast way to home the cursor (to very upper left
-       corner of screen) then this can be given as <STRONG>home</STRONG>; similarly a fast  way
-       of  getting  to the lower left-hand corner can be given as <STRONG>ll</STRONG>; this may
+       If the terminal has a fast way to home the cursor (to very  upper  left
+       corner  of screen) then this can be given as <STRONG>home</STRONG>; similarly a fast way
+       of getting to the lower left-hand corner can be given as <STRONG>ll</STRONG>;  this  may
        involve going up with <STRONG>cuu1</STRONG> from the home position, but a program should
        never do this itself (unless <STRONG>ll</STRONG> does) because it can make no assumption
-       about the effect of moving up from the home position.   Note  that  the
-       home  position  is  the  same  as  addressing to (0,0): to the top left
-       corner of the screen, not of memory.  (Thus, the  \EH  sequence  on  HP
+       about  the  effect  of moving up from the home position.  Note that the
+       home position is the same as addressing  to  (0,0):  to  the  top  left
+       corner  of  the  screen,  not of memory.  (Thus, the \EH sequence on HP
        terminals cannot be used for <STRONG>home</STRONG>.)
 
        If the terminal has row or column absolute cursor addressing, these can
-       be given as single  parameter  capabilities  <STRONG>hpa</STRONG>  (horizontal  position
-       absolute)  and  <STRONG>vpa</STRONG>  (vertical position absolute).  Sometimes these are
-       shorter than the more general  two  parameter  sequence  (as  with  the
-       hp2645)   and  can  be  used  in  preference  to  <STRONG>cup</STRONG>.   If  there  are
-       parameterized local motions (e.g., move <EM>n</EM> spaces to  the  right)  these
-       can  be  given  as  <STRONG>cud</STRONG>,  <STRONG>cub</STRONG>,  <STRONG>cuf</STRONG>,  and  <STRONG>cuu</STRONG>  with a single parameter
-       indicating how many spaces to move.  These are primarily useful if  the
+       be  given  as  single  parameter  capabilities <STRONG>hpa</STRONG> (horizontal position
+       absolute) and <STRONG>vpa</STRONG> (vertical position absolute).   Sometimes  these  are
+       shorter  than  the  more  general  two  parameter sequence (as with the
+       hp2645)  and  can  be  used  in  preference  to  <STRONG>cup</STRONG>.   If  there   are
+       parameterized  local  motions  (e.g., move <EM>n</EM> spaces to the right) these
+       can be given as  <STRONG>cud</STRONG>,  <STRONG>cub</STRONG>,  <STRONG>cuf</STRONG>,  and  <STRONG>cuu</STRONG>  with  a  single  parameter
+       indicating  how many spaces to move.  These are primarily useful if the
        terminal does not have <STRONG>cup</STRONG>, such as the TEKTRONIX 4025.
 
-       If  the  terminal  needs to be in a special mode when running a program
+       If the terminal needs to be in a special mode when  running  a  program
        that uses these capabilities, the codes to enter and exit this mode can
-       be  given as <STRONG>smcup</STRONG> and <STRONG>rmcup</STRONG>.  This arises, for example, from terminals
-       like the Concept with more than one page of memory.   If  the  terminal
-       has  only  memory  relative  cursor  addressing and not screen relative
-       cursor addressing, a one screen-sized window must  be  fixed  into  the
+       be given as <STRONG>smcup</STRONG> and <STRONG>rmcup</STRONG>.  This arises, for example, from  terminals
+       like  the  Concept  with more than one page of memory.  If the terminal
+       has only memory relative cursor  addressing  and  not  screen  relative
+       cursor  addressing,  a  one  screen-sized window must be fixed into the
        terminal for cursor addressing to work properly.  This is also used for
-       the TEKTRONIX 4025, where <STRONG>smcup</STRONG> sets the command character  to  be  the
-       one  used  by  terminfo.   If  the  <STRONG>smcup</STRONG> sequence will not restore the
-       screen after an <STRONG>rmcup</STRONG>  sequence  is  output  (to  the  state  prior  to
+       the  TEKTRONIX  4025,  where <STRONG>smcup</STRONG> sets the command character to be the
+       one used by terminfo.  If the  <STRONG>smcup</STRONG>  sequence  will  not  restore  the
+       screen  after  an  <STRONG>rmcup</STRONG>  sequence  is  output  (to  the state prior to
        outputting <STRONG>rmcup</STRONG>), specify <STRONG>nrrmc</STRONG>.
 
 
 </PRE><H3><a name="h3-Margins">Margins</a></H3><PRE>
-       SVr4  (and  X/Open Curses) list several string capabilities for setting
-       margins.  Two were intended for use with  terminals,  and  another  six
+       SVr4 (and X/Open Curses) list several string capabilities  for  setting
+       margins.   Two  were  intended  for use with terminals, and another six
        were intended for use with printers.
 
        <STRONG>o</STRONG>   The two terminal capabilities assume that the terminal may have the
-           capability of setting the left and/or right margin at  the  current
+           capability  of  setting the left and/or right margin at the current
            cursor column position.
 
        <STRONG>o</STRONG>   The printer capabilities assume that the printer may have two types
            <STRONG>o</STRONG>   the ability to set a top and/or bottom margin using the current
                line position, and
 
-           <STRONG>o</STRONG>   parameterized  capabilities  for setting the top, bottom, left,
+           <STRONG>o</STRONG>   parameterized capabilities for setting the top,  bottom,  left,
                right margins given the number of rows or columns.
 
-       In practice, the categorization into "terminal" and  "printer"  is  not
+       In  practice,  the  categorization into "terminal" and "printer" is not
        suitable:
 
-       <STRONG>o</STRONG>   The  AT&amp;T  SVr4  terminal  database  uses <STRONG>smgl</STRONG> four times, for AT&amp;T
+       <STRONG>o</STRONG>   The AT&amp;T SVr4 terminal database uses  <STRONG>smgl</STRONG>  four  times,  for  AT&amp;T
            hardware.
 
-           Three of the four are printers.   They  lack  the  ability  to  set
+           Three  of  the  four  are  printers.   They lack the ability to set
            left/right margins by specifying the column.
 
-       <STRONG>o</STRONG>   Other  (non-AT&amp;T) terminals may support margins but using different
+       <STRONG>o</STRONG>   Other (non-AT&amp;T) terminals may support margins but using  different
            assumptions from AT&amp;T.
 
-           For instance, the DEC VT420 supports left/right margins,  but  only
+           For  instance,  the DEC VT420 supports left/right margins, but only
            using a column parameter.  As an added complication, the VT420 uses
-           two settings to fully enable left/right margins (left/right  margin
-           mode,  and  origin  mode).   The  former enables the margins, which
-           causes printed text to wrap  within  margins,  but  the  latter  is
+           two  settings to fully enable left/right margins (left/right margin
+           mode, and origin mode).  The  former  enables  the  margins,  which
+           causes  printed  text  to  wrap  within  margins, but the latter is
            needed to prevent cursor-addressing outside those margins.
 
-       <STRONG>o</STRONG>   Both  DEC  VT420  left/right  margins are set with a single control
+       <STRONG>o</STRONG>   Both DEC VT420 left/right margins are set  with  a  single  control
            sequence.  If either is omitted, the corresponding margin is set to
-           the  left  or  right  edge  of the display (rather than leaving the
+           the left or right edge of the  display  (rather  than  leaving  the
            margin unmodified).
 
        These are the margin-related capabilities:
                  <STRONG>smglr</STRONG>   Set both left and right margins to <EM>L</EM> and <EM>R</EM>
                  <STRONG>smgtb</STRONG>   Set both top and bottom margins to <EM>T</EM> and <EM>B</EM>
 
-       When writing an application that uses these  string  capabilities,  the
-       pairs  should be first checked to see if each capability in the pair is
+       When  writing  an  application that uses these string capabilities, the
+       pairs should be first checked to see if each capability in the pair  is
        set or only one is set:
 
-       <STRONG>o</STRONG>   If both <STRONG>smglp</STRONG> and <STRONG>smgrp</STRONG>  are  set,  each  is  used  with  a  single
-           argument,  <EM>N</EM>,  that  gives  the column number of the left and right
+       <STRONG>o</STRONG>   If  both  <STRONG>smglp</STRONG>  and  <STRONG>smgrp</STRONG>  are  set,  each  is used with a single
+           argument, <EM>N</EM>, that gives the column number of  the  left  and  right
            margin, respectively.
 
-       <STRONG>o</STRONG>   If both <STRONG>smgtp</STRONG> and <STRONG>smgbp</STRONG> are set, each is used to set  the  top  and
+       <STRONG>o</STRONG>   If  both  <STRONG>smgtp</STRONG>  and <STRONG>smgbp</STRONG> are set, each is used to set the top and
            bottom margin, respectively:
 
            <STRONG>o</STRONG>   <STRONG>smgtp</STRONG> is used with a single argument, <EM>N</EM>, the line number of the
                top margin.
 
-           <STRONG>o</STRONG>   <STRONG>smgbp</STRONG> is used with two arguments, <EM>N</EM> and <EM>M</EM>, that give  the  line
+           <STRONG>o</STRONG>   <STRONG>smgbp</STRONG>  is  used with two arguments, <EM>N</EM> and <EM>M</EM>, that give the line
                number of the bottom margin, the first counting from the top of
-               the page  and  the  second  counting  from  the  bottom.   This
-               accommodates  the two styles of specifying the bottom margin in
+               the  page  and  the  second  counting  from  the  bottom.  This
+               accommodates the two styles of specifying the bottom margin  in
                different manufacturers' printers.
 
-           When designing a terminfo entry for a printer that has  a  settable
-           bottom  margin,  only  the first or second argument should be used,
+           When  designing  a terminfo entry for a printer that has a settable
+           bottom margin, only the first or second argument  should  be  used,
            depending on the printer.  When developing an application that uses
            <STRONG>smgbp</STRONG> to set the bottom margin, both arguments must be given.
 
        Conversely, when only one capability in the pair is set:
 
-       <STRONG>o</STRONG>   If  only  one  of  <STRONG>smglp</STRONG> and <STRONG>smgrp</STRONG> is set, then it is used with two
+       <STRONG>o</STRONG>   If only one of <STRONG>smglp</STRONG> and <STRONG>smgrp</STRONG> is set, then it  is  used  with  two
            arguments, the column number of the left and right margins, in that
            order.
 
-       <STRONG>o</STRONG>   Likewise,  if  only  one of <STRONG>smgtp</STRONG> and <STRONG>smgbp</STRONG> is set, then it is used
-           with two arguments that give the top and bottom  margins,  in  that
+       <STRONG>o</STRONG>   Likewise, if only one of <STRONG>smgtp</STRONG> and <STRONG>smgbp</STRONG> is set, then  it  is  used
+           with  two  arguments  that give the top and bottom margins, in that
            order, counting from the top of the page.
 
            When designing a terminfo entry for a printer that requires setting
-           both left and right or top and bottom margins simultaneously,  only
-           one  capability  in  the  pairs  <STRONG>smglp</STRONG> and <STRONG>smgrp</STRONG> or <STRONG>smgtp</STRONG> and <STRONG>smgbp</STRONG>
+           both  left and right or top and bottom margins simultaneously, only
+           one capability in the pairs <STRONG>smglp</STRONG> and  <STRONG>smgrp</STRONG>  or  <STRONG>smgtp</STRONG>  and  <STRONG>smgbp</STRONG>
            should be defined, leaving the other unset.
 
-       Except for very old terminal descriptions, e.g.,  those  developed  for
-       SVr4,  the  scheme  just  described  should be considered obsolete.  An
+       Except  for  very  old terminal descriptions, e.g., those developed for
+       SVr4, the scheme just described  should  be  considered  obsolete.   An
        improved set of capabilities was added late in the SVr4 releases (<STRONG>smglr</STRONG>
-       and  <STRONG>smgtb</STRONG>),  which  explicitly  use  two  parameters  for  setting the
+       and <STRONG>smgtb</STRONG>),  which  explicitly  use  two  parameters  for  setting  the
        left/right or top/bottom margins.
 
        When setting margins, the line- and column-values are zero-based.
 
-       The <STRONG>mgc</STRONG> string capability should  be  defined.   Applications  such  as
+       The  <STRONG>mgc</STRONG>  string  capability  should  be defined.  Applications such as
        <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> rely upon this to reset all margins.
 
 
 </PRE><H3><a name="h3-Area-Clears">Area Clears</a></H3><PRE>
-       If  the  terminal can clear from the current position to the end of the
-       line, leaving the cursor where it is, this should be given as  <STRONG>el</STRONG>.   If
-       the  terminal  can  clear from the beginning of the line to the current
-       position inclusive, leaving the cursor where  it  is,  this  should  be
-       given  as  <STRONG>el1</STRONG>.  If the terminal can clear from the current position to
-       the end of the display, then this should be given as <STRONG>ed</STRONG>.   <STRONG>Ed</STRONG>  is  only
+       If the terminal can clear from the current position to the end  of  the
+       line,  leaving  the cursor where it is, this should be given as <STRONG>el</STRONG>.  If
+       the terminal can clear from the beginning of the line  to  the  current
+       position  inclusive,  leaving  the  cursor  where it is, this should be
+       given as <STRONG>el1</STRONG>.  If the terminal can clear from the current  position  to
+       the  end  of  the display, then this should be given as <STRONG>ed</STRONG>.  <STRONG>Ed</STRONG> is only
        defined from the first column of a line.  (Thus, it can be simulated by
-       a request to delete a large number of  lines,  if  a  true  <STRONG>ed</STRONG>  is  not
+       a  request  to  delete  a  large  number  of lines, if a true <STRONG>ed</STRONG> is not
        available.)
 
 
 </PRE><H3><a name="h3-Insert_Delete-Line-and-Vertical-Motions">Insert/Delete Line and Vertical Motions</a></H3><PRE>
-       If  the  terminal  can  open a new blank line before the line where the
-       cursor is, this should be given as <STRONG>il1</STRONG>; this  is  done  only  from  the
-       first  position  of  a  line.  The cursor must then appear on the newly
-       blank line.  If the terminal can delete the line which  the  cursor  is
-       on,  then this should be given as <STRONG>dl1</STRONG>; this is done only from the first
+       If the terminal can open a new blank line before  the  line  where  the
+       cursor  is,  this  should  be  given as <STRONG>il1</STRONG>; this is done only from the
+       first position of a line.  The cursor must then  appear  on  the  newly
+       blank  line.   If  the terminal can delete the line which the cursor is
+       on, then this should be given as <STRONG>dl1</STRONG>; this is done only from the  first
        position on the line to be deleted.  Versions of <STRONG>il1</STRONG> and <STRONG>dl1</STRONG> which take
        a single parameter and insert or delete that many lines can be given as
        <STRONG>il</STRONG> and <STRONG>dl</STRONG>.
 
-       If the terminal has a settable scrolling region (like  the  vt100)  the
-       command  to  set  this  can be described with the <STRONG>csr</STRONG> capability, which
+       If  the  terminal  has a settable scrolling region (like the vt100) the
+       command to set this can be described with  the  <STRONG>csr</STRONG>  capability,  which
        takes two parameters: the top and bottom lines of the scrolling region.
        The cursor position is, alas, undefined after using this command.
 
-       It  is possible to get the effect of insert or delete line using <STRONG>csr</STRONG> on
-       a properly chosen region; the <STRONG>sc</STRONG>  and  <STRONG>rc</STRONG>  (save  and  restore  cursor)
+       It is possible to get the effect of insert or delete line using <STRONG>csr</STRONG>  on
+       a  properly  chosen  region;  the  <STRONG>sc</STRONG>  and <STRONG>rc</STRONG> (save and restore cursor)
        commands may be useful for ensuring that your synthesized insert/delete
-       string does not move the cursor.  (Note that  the  <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>  library
-       does   this   synthesis   automatically,   so   you  need  not  compose
+       string  does  not  move the cursor.  (Note that the <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> library
+       does  this  synthesis  automatically,   so   you   need   not   compose
        insert/delete strings for an entry with <STRONG>csr</STRONG>).
 
-       Yet another way to construct insert  and  delete  might  be  to  use  a
-       combination  of  index  with  the  memory-lock  feature  found  on some
-       terminals  (like  the  HP-700/90  series,  which   however   also   has
+       Yet  another  way  to  construct  insert  and  delete might be to use a
+       combination of  index  with  the  memory-lock  feature  found  on  some
+       terminals   (like   the   HP-700/90  series,  which  however  also  has
        insert/delete).
 
-       Inserting  lines  at  the  top or bottom of the screen can also be done
-       using <STRONG>ri</STRONG> or <STRONG>ind</STRONG> on many terminals without a  true  insert/delete  line,
+       Inserting lines at the top or bottom of the screen  can  also  be  done
+       using  <STRONG>ri</STRONG>  or  <STRONG>ind</STRONG> on many terminals without a true insert/delete line,
        and is often faster even on terminals with those features.
 
-       The  Boolean  <STRONG>non_dest_scroll_region</STRONG>  should  be  set if each scrolling
-       window is effectively a view port on a screen-sized  canvas.   To  test
-       for  this  capability,  create  a scrolling region in the middle of the
-       screen, write something to the bottom line, move the cursor to the  top
-       of  the region, and do <STRONG>ri</STRONG> followed by <STRONG>dl1</STRONG> or <STRONG>ind</STRONG>.  If the data scrolled
-       off the bottom of the region by the <STRONG>ri</STRONG> re-appears,  then  scrolling  is
-       non-destructive.   System  V  and XSI Curses expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>,
+       The Boolean <STRONG>non_dest_scroll_region</STRONG> should  be  set  if  each  scrolling
+       window  is  effectively  a view port on a screen-sized canvas.  To test
+       for this capability, create a scrolling region in  the  middle  of  the
+       screen,  write something to the bottom line, move the cursor to the top
+       of the region, and do <STRONG>ri</STRONG> followed by <STRONG>dl1</STRONG> or <STRONG>ind</STRONG>.  If the data  scrolled
+       off  the  bottom  of the region by the <STRONG>ri</STRONG> re-appears, then scrolling is
+       non-destructive.  System V and XSI Curses expect that  <STRONG>ind</STRONG>,  <STRONG>ri</STRONG>,  <STRONG>indn</STRONG>,
        and  <STRONG>rin</STRONG>  will  simulate  destructive  scrolling;  their  documentation
-       cautions  you  not  to  define  <STRONG>csr</STRONG>  unless  this is true.  This <STRONG>curses</STRONG>
-       implementation is more  liberal  and  will  do  explicit  erases  after
+       cautions you not to define  <STRONG>csr</STRONG>  unless  this  is  true.   This  <STRONG>curses</STRONG>
+       implementation  is  more  liberal  and  will  do  explicit erases after
        scrolling if <STRONG>ndsrc</STRONG> is defined.
 
-       If  the  terminal has the ability to define a window as part of memory,
-       which all commands affect, it should  be  given  as  the  parameterized
-       string  <STRONG>wind</STRONG>.  The four parameters are the starting and ending lines in
+       If the terminal has the ability to define a window as part  of  memory,
+       which  all  commands  affect,  it  should be given as the parameterized
+       string <STRONG>wind</STRONG>.  The four parameters are the starting and ending lines  in
        memory and the starting and ending columns in memory, in that order.
 
        If the terminal can retain display memory above, then the <STRONG>da</STRONG> capability
-       should  be  given;  if  display  memory  can be retained below, then <STRONG>db</STRONG>
-       should be given.  These indicate that deleting a line or scrolling  may
-       bring  non-blank lines up from below or that scrolling back with <STRONG>ri</STRONG> may
+       should be given; if display memory  can  be  retained  below,  then  <STRONG>db</STRONG>
+       should  be given.  These indicate that deleting a line or scrolling may
+       bring non-blank lines up from below or that scrolling back with <STRONG>ri</STRONG>  may
        bring down non-blank lines.
 
 
 </PRE><H3><a name="h3-Insert_Delete-Character">Insert/Delete Character</a></H3><PRE>
-       There are two basic kinds of  intelligent  terminals  with  respect  to
-       insert/delete  character  which  can  be described using <EM>terminfo.</EM>  The
-       most  common  insert/delete  character  operations  affect   only   the
-       characters  on the current line and shift characters off the end of the
-       line rigidly.  Other terminals, such as the Concept 100 and the  Perkin
-       Elmer  Owl,  make a distinction between typed and untyped blanks on the
-       screen, shifting upon an insert or delete only to an untyped  blank  on
-       the  screen  which  is  either  eliminated,  or expanded to two untyped
+       There  are  two  basic  kinds  of intelligent terminals with respect to
+       insert/delete character which can be  described  using  <EM>terminfo.</EM>   The
+       most   common   insert/delete  character  operations  affect  only  the
+       characters on the current line and shift characters off the end of  the
+       line  rigidly.  Other terminals, such as the Concept 100 and the Perkin
+       Elmer Owl, make a distinction between typed and untyped blanks  on  the
+       screen,  shifting  upon an insert or delete only to an untyped blank on
+       the screen which is either  eliminated,  or  expanded  to  two  untyped
        blanks.
 
-       You can determine the kind of terminal you have by clearing the  screen
-       and  then  typing  text separated by cursor motions.  Type "abc    def"
-       using local cursor motions (not  spaces)  between  the  "abc"  and  the
-       "def".   Then position the cursor before the "abc" and put the terminal
-       in insert mode.  If typing characters causes the rest of  the  line  to
-       shift  rigidly  and  characters to fall off the end, then your terminal
-       does not distinguish between blanks  and  untyped  positions.   If  the
-       "abc"  shifts over to the "def" which then move together around the end
-       of the current line and onto the next  as  you  insert,  you  have  the
-       second  type  of  terminal,  and  should  give the capability <STRONG>in</STRONG>, which
+       You  can determine the kind of terminal you have by clearing the screen
+       and then typing text separated by cursor  motions.   Type  "abc    def"
+       using  local  cursor  motions  (not  spaces)  between the "abc" and the
+       "def".  Then position the cursor before the "abc" and put the  terminal
+       in  insert  mode.   If typing characters causes the rest of the line to
+       shift rigidly and characters to fall off the end,  then  your  terminal
+       does  not  distinguish  between  blanks  and untyped positions.  If the
+       "abc" shifts over to the "def" which then move together around the  end
+       of  the  current  line  and  onto  the next as you insert, you have the
+       second type of terminal, and  should  give  the  capability  <STRONG>in</STRONG>,  which
        stands for "insert null".
 
-       While these are two logically  separate  attributes  (one  line  versus
-       multi-line  insert  mode,  and  special treatment of untyped spaces) we
-       have seen no terminals whose insert mode cannot be described  with  the
+       While  these  are  two  logically  separate attributes (one line versus
+       multi-line insert mode, and special treatment  of  untyped  spaces)  we
+       have  seen  no terminals whose insert mode cannot be described with the
        single attribute.
 
-       Terminfo  can  describe  both  terminals which have an insert mode, and
-       terminals which send a simple sequence to open a blank position on  the
+       Terminfo can describe both terminals which have  an  insert  mode,  and
+       terminals  which send a simple sequence to open a blank position on the
        current line.  Give as <STRONG>smir</STRONG> the sequence to get into insert mode.  Give
-       as <STRONG>rmir</STRONG> the sequence to leave  insert  mode.   Now  give  as  <STRONG>ich1</STRONG>  any
-       sequence  needed  to  be  sent  just before sending the character to be
-       inserted.  Most terminals with a true insert mode will not  give  <STRONG>ich1</STRONG>;
-       terminals  which  send a sequence to open a screen position should give
+       as  <STRONG>rmir</STRONG>  the  sequence  to  leave  insert  mode.  Now give as <STRONG>ich1</STRONG> any
+       sequence needed to be sent just before  sending  the  character  to  be
+       inserted.   Most  terminals with a true insert mode will not give <STRONG>ich1</STRONG>;
+       terminals which send a sequence to open a screen position  should  give
        it here.
 
-       If your terminal has both, insert mode is usually preferable  to  <STRONG>ich1</STRONG>.
-       Technically,  you  should  not  give  both unless the terminal actually
-       requires both to be used in combination.  Accordingly, some  non-curses
-       applications  get  confused if both are present; the symptom is doubled
-       characters in an update using insert.  This requirement  is  now  rare;
-       most  <STRONG>ich</STRONG>  sequences do not require previous smir, and most smir insert
-       modes do not require <STRONG>ich1</STRONG> before each character.   Therefore,  the  new
-       <STRONG>curses</STRONG>  actually  assumes this is the case and uses either <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> or
-       <STRONG>ich</STRONG>/<STRONG>ich1</STRONG> as appropriate (but not both).  If you have to write an  entry
-       to  be  used  under  new curses for a terminal old enough to need both,
+       If  your  terminal has both, insert mode is usually preferable to <STRONG>ich1</STRONG>.
+       Technically, you should not give  both  unless  the  terminal  actually
+       requires  both to be used in combination.  Accordingly, some non-curses
+       applications get confused if both are present; the symptom  is  doubled
+       characters  in  an  update using insert.  This requirement is now rare;
+       most <STRONG>ich</STRONG> sequences do not require previous smir, and most  smir  insert
+       modes  do  not  require <STRONG>ich1</STRONG> before each character.  Therefore, the new
+       <STRONG>curses</STRONG> actually assumes this is the case and uses either  <STRONG>rmir</STRONG>/<STRONG>smir</STRONG>  or
+       <STRONG>ich</STRONG>/<STRONG>ich1</STRONG>  as appropriate (but not both).  If you have to write an entry
+       to be used under new curses for a terminal old  enough  to  need  both,
        include the <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> sequences in <STRONG>ich1</STRONG>.
 
        If post insert padding is needed, give this as a number of milliseconds
-       in  <STRONG>ip</STRONG> (a string option).  Any other sequence which may need to be sent
+       in <STRONG>ip</STRONG> (a string option).  Any other sequence which may need to be  sent
        after an insert of a single character may also be given in <STRONG>ip</STRONG>.  If your
-       terminal  needs  both  to be placed into an "insert mode" and a special
-       code to precede each inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG>  and  <STRONG>ich1</STRONG>
-       can  be  given,  and  both  will be used.  The <STRONG>ich</STRONG> capability, with one
+       terminal needs both to be placed into an "insert mode"  and  a  special
+       code  to  precede each inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG> and <STRONG>ich1</STRONG>
+       can be given, and both will be used.   The  <STRONG>ich</STRONG>  capability,  with  one
        parameter, <EM>n</EM>, will repeat the effects of <STRONG>ich1</STRONG> <EM>n</EM> times.
 
-       If padding is necessary between characters typed while  not  in  insert
+       If  padding  is  necessary between characters typed while not in insert
        mode, give this as a number of milliseconds padding in <STRONG>rmp</STRONG>.
 
-       It  is  occasionally  necessary  to move around while in insert mode to
-       delete characters on the same line (e.g., if there is a tab  after  the
-       insertion  position).   If  your terminal allows motion while in insert
-       mode you can give the capability <STRONG>mir</STRONG> to  speed  up  inserting  in  this
-       case.   Omitting  <STRONG>mir</STRONG>  will affect only speed.  Some terminals (notably
-       Datamedia's) must not have <STRONG>mir</STRONG> because of the  way  their  insert  mode
+       It is occasionally necessary to move around while  in  insert  mode  to
+       delete  characters  on the same line (e.g., if there is a tab after the
+       insertion position).  If your terminal allows motion  while  in  insert
+       mode  you  can  give  the  capability <STRONG>mir</STRONG> to speed up inserting in this
+       case.  Omitting <STRONG>mir</STRONG> will affect only speed.   Some  terminals  (notably
+       Datamedia's)  must  not  have  <STRONG>mir</STRONG> because of the way their insert mode
        works.
 
-       Finally,  you  can  specify <STRONG>dch1</STRONG> to delete a single character, <STRONG>dch</STRONG> with
-       one parameter, <EM>n</EM>, to delete <EM>n</EM> <EM>characters,</EM> and  delete  mode  by  giving
-       <STRONG>smdc</STRONG>  and  <STRONG>rmdc</STRONG>  to  enter  and exit delete mode (any mode the terminal
+       Finally, you can specify <STRONG>dch1</STRONG> to delete a single  character,  <STRONG>dch</STRONG>  with
+       one  parameter,  <EM>n</EM>,  to  delete <EM>n</EM> <EM>characters,</EM> and delete mode by giving
+       <STRONG>smdc</STRONG> and <STRONG>rmdc</STRONG> to enter and exit delete  mode  (any  mode  the  terminal
        needs to be placed in for <STRONG>dch1</STRONG> to work).
 
-       A command to erase <EM>n</EM> characters  (equivalent  to  outputting  <EM>n</EM>  blanks
+       A  command  to  erase  <EM>n</EM>  characters (equivalent to outputting <EM>n</EM> blanks
        without moving the cursor) can be given as <STRONG>ech</STRONG> with one parameter.
 
 
 </PRE><H3><a name="h3-Highlighting_Underlining_and-Visible-Bells">Highlighting, Underlining, and Visible Bells</a></H3><PRE>
        If your terminal has one or more kinds of display attributes, these can
-       be represented in a number of different ways.  You  should  choose  one
-       display  form  as  <EM>standout</EM>  <EM>mode</EM>,  representing a good, high contrast,
-       easy-on-the-eyes, format for  highlighting  error  messages  and  other
-       attention  getters.   (If  you  have a choice, reverse video plus half-
-       bright is good, or reverse video alone.)  The sequences  to  enter  and
-       exit  standout  mode  are given as <STRONG>smso</STRONG> and <STRONG>rmso</STRONG>, respectively.  If the
-       code to change into or out of standout mode  leaves  one  or  even  two
-       blank  spaces  on  the screen, as the TVI 912 and Teleray 1061 do, then
+       be  represented  in  a number of different ways.  You should choose one
+       display form as <EM>standout</EM> <EM>mode</EM>,  representing  a  good,  high  contrast,
+       easy-on-the-eyes,  format  for  highlighting  error  messages and other
+       attention getters.  (If you have a choice,  reverse  video  plus  half-
+       bright  is  good,  or reverse video alone.)  The sequences to enter and
+       exit standout mode are given as <STRONG>smso</STRONG> and <STRONG>rmso</STRONG>,  respectively.   If  the
+       code  to  change  into  or  out of standout mode leaves one or even two
+       blank spaces on the screen, as the TVI 912 and Teleray  1061  do,  then
        <STRONG>xmc</STRONG> should be given to tell how many spaces are left.
 
        Codes to begin underlining and end underlining can be given as <STRONG>smul</STRONG> and
        <STRONG>rmul</STRONG> respectively.  If the terminal has a code to underline the current
-       character and move the cursor one space  to  the  right,  such  as  the
+       character  and  move  the  cursor  one  space to the right, such as the
        Microterm Mime, this can be given as <STRONG>uc</STRONG>.
 
-       Other  capabilities  to  enter various highlighting modes include <STRONG>blink</STRONG>
-       (blinking) <STRONG>bold</STRONG> (bold or extra bright) <STRONG>dim</STRONG> (dim or  half-bright)  <STRONG>invis</STRONG>
-       (blanking  or invisible text) <STRONG>prot</STRONG> (protected) <STRONG>rev</STRONG> (reverse video) <STRONG>sgr0</STRONG>
-       (turn off <EM>all</EM> attribute modes) <STRONG>smacs</STRONG>  (enter  alternate  character  set
+       Other capabilities to enter various highlighting  modes  include  <STRONG>blink</STRONG>
+       (blinking)  <STRONG>bold</STRONG>  (bold or extra bright) <STRONG>dim</STRONG> (dim or half-bright) <STRONG>invis</STRONG>
+       (blanking or invisible text) <STRONG>prot</STRONG> (protected) <STRONG>rev</STRONG> (reverse video)  <STRONG>sgr0</STRONG>
+       (turn  off  <EM>all</EM>  attribute  modes) <STRONG>smacs</STRONG> (enter alternate character set
        mode) and <STRONG>rmacs</STRONG> (exit alternate character set mode).  Turning on any of
        these modes singly may or may not turn off other modes.
 
-       If there is a sequence to set arbitrary  combinations  of  modes,  this
-       should  be  given  as  <STRONG>sgr</STRONG> (set attributes), taking 9 parameters.  Each
+       If  there  is  a  sequence to set arbitrary combinations of modes, this
+       should be given as <STRONG>sgr</STRONG> (set attributes),  taking  9  parameters.   Each
        parameter is either zero (0) or nonzero, as the corresponding attribute
-       is  on  or  off.   The 9 parameters are, in order: standout, underline,
-       reverse, blink, dim, bold, blank,  protect,  alternate  character  set.
+       is on or off.  The 9 parameters are,  in  order:  standout,  underline,
+       reverse,  blink,  dim,  bold,  blank, protect, alternate character set.
        Not  all  modes  need  be  supported  by  <STRONG>sgr</STRONG>,  only  those  for  which
        corresponding separate attribute commands exist.
 
                    p8                protect      not used
                    p9                altcharset   ^O (off) ^N (on)
 
-       We begin each escape sequence by turning off any existing modes,  since
-       there  is  no quick way to determine whether they are active.  Standout
-       is set up to be  the  combination  of  reverse  and  bold.   The  vt220
-       terminal  has  a  protect  mode,  though it is not commonly used in sgr
-       because it protects characters on the screen from the host's  erasures.
-       The  altcharset  mode  also is different in that it is either ^O or ^N,
-       depending on whether it is off or on.  If all modes are turned on,  the
+       We  begin each escape sequence by turning off any existing modes, since
+       there is no quick way to determine whether they are  active.   Standout
+       is  set  up  to  be  the  combination  of  reverse and bold.  The vt220
+       terminal has a protect mode, though it is  not  commonly  used  in  sgr
+       because  it protects characters on the screen from the host's erasures.
+       The altcharset mode also is different in that it is either  ^O  or  ^N,
+       depending  on whether it is off or on.  If all modes are turned on, the
        resulting sequence is \E[0;1;4;5;7;8m^N.
 
-       Some  sequences  are  common  to  different  modes.  For example, ;7 is
-       output when either p1 or p3 is true, that is,  if  either  standout  or
+       Some sequences are common to  different  modes.   For  example,  ;7  is
+       output  when  either  p1  or p3 is true, that is, if either standout or
        reverse modes are turned on.
 
        Writing out the above sequences, along with their dependencies yields
            sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p4%t;5%;
                %?%p1%p3%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
 
-       Remember  that  if  you specify sgr, you must also specify sgr0.  Also,
-       some implementations rely on sgr  being  given  if  sgr0  is,  Not  all
+       Remember that if you specify sgr, you must also  specify  sgr0.   Also,
+       some  implementations  rely  on  sgr  being  given  if sgr0 is, Not all
        terminfo  entries  necessarily  have  an  sgr  string,  however.   Many
-       terminfo entries are derived from termcap entries  which  have  no  sgr
+       terminfo  entries  are  derived  from termcap entries which have no sgr
        string.  The only drawback to adding an sgr string is that termcap also
        assumes that sgr0 does not exit alternate character set mode.
 
-       Terminals  with  the  "magic  cookie"  glitch  (<STRONG>xmc</STRONG>)  deposit   special
-       "cookies"  when  they  receive mode-setting sequences, which affect the
-       display algorithm rather than having extra  bits  for  each  character.
-       Some  terminals, such as the HP 2621, automatically leave standout mode
-       when they move to a new line or  the  cursor  is  addressed.   Programs
-       using  standout mode should exit standout mode before moving the cursor
-       or sending a newline, unless the <STRONG>msgr</STRONG> capability, asserting that it  is
+       Terminals   with  the  "magic  cookie"  glitch  (<STRONG>xmc</STRONG>)  deposit  special
+       "cookies" when they receive mode-setting sequences,  which  affect  the
+       display  algorithm  rather  than  having extra bits for each character.
+       Some terminals, such as the HP 2621, automatically leave standout  mode
+       when  they  move  to  a  new line or the cursor is addressed.  Programs
+       using standout mode should exit standout mode before moving the  cursor
+       or  sending a newline, unless the <STRONG>msgr</STRONG> capability, asserting that it is
        safe to move in standout mode, is present.
 
-       If  the  terminal has a way of flashing the screen to indicate an error
-       quietly (a bell replacement) then this can be given as <STRONG>flash</STRONG>;  it  must
+       If the terminal has a way of flashing the screen to indicate  an  error
+       quietly  (a  bell replacement) then this can be given as <STRONG>flash</STRONG>; it must
        not move the cursor.
 
-       If  the cursor needs to be made more visible than normal when it is not
+       If the cursor needs to be made more visible than normal when it is  not
        on the bottom line (to make, for example, a non-blinking underline into
-       an  easier  to  find block or blinking underline) give this sequence as
+       an easier to find block or blinking underline) give  this  sequence  as
        <STRONG>cvvis</STRONG>.  If there is a way to make the cursor completely invisible, give
-       that  as  <STRONG>civis</STRONG>.  The capability <STRONG>cnorm</STRONG> should be given which undoes the
+       that as <STRONG>civis</STRONG>.  The capability <STRONG>cnorm</STRONG> should be given which  undoes  the
        effects of both of these modes.
 
-       If your terminal correctly generates  underlined  characters  (with  no
-       special  codes  needed)  even  though  it does not overstrike, then you
-       should give the capability <STRONG>ul</STRONG>.  If  a  character  overstriking  another
-       leaves  both  characters  on the screen, specify the capability <STRONG>os</STRONG>.  If
+       If  your  terminal  correctly  generates underlined characters (with no
+       special codes needed) even though it  does  not  overstrike,  then  you
+       should  give  the  capability  <STRONG>ul</STRONG>.  If a character overstriking another
+       leaves both characters on the screen, specify the  capability  <STRONG>os</STRONG>.   If
        overstrikes are erasable with a blank, then this should be indicated by
        giving <STRONG>eo</STRONG>.
 
 
 </PRE><H3><a name="h3-Keypad-and-Function-Keys">Keypad and Function Keys</a></H3><PRE>
-       If  the  terminal  has  a keypad that transmits codes when the keys are
-       pressed, this information can be given.  Note that it is  not  possible
+       If the terminal has a keypad that transmits codes  when  the  keys  are
+       pressed,  this  information can be given.  Note that it is not possible
        to handle terminals where the keypad only works in local (this applies,
-       for example, to the unshifted HP 2621 keys).  If the keypad can be  set
-       to  transmit  or  not  transmit,  give  these  codes  as <STRONG>smkx</STRONG> and <STRONG>rmkx</STRONG>.
+       for  example, to the unshifted HP 2621 keys).  If the keypad can be set
+       to transmit or not  transmit,  give  these  codes  as  <STRONG>smkx</STRONG>  and  <STRONG>rmkx</STRONG>.
        Otherwise the keypad is assumed to always transmit.
 
-       The codes sent by the left arrow, right arrow, up  arrow,  down  arrow,
-       and  home  keys  can  be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG> <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG>
+       The  codes  sent  by the left arrow, right arrow, up arrow, down arrow,
+       and home keys can be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG>  <STRONG>kcuu1,</STRONG>  <STRONG>kcud1,</STRONG>  and  <STRONG>khome</STRONG>
        respectively.  If there are function keys such as f0, f1, ..., f10, the
-       codes  they  send  can  be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>.  If these keys
-       have labels other than the default f0 through f10, the  labels  can  be
+       codes they send can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG>  <STRONG>kf10</STRONG>.   If  these  keys
+       have  labels  other  than the default f0 through f10, the labels can be
        given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>.
 
        The codes transmitted by certain other special keys can be given:
 
        <STRONG>o</STRONG>   <STRONG>khts</STRONG> (set a tab stop in this column).
 
-       In  addition,  if  the  keypad has a 3 by 3 array of keys including the
-       four arrow keys, the other five keys can be given  as  <STRONG>ka1</STRONG>,  <STRONG>ka3</STRONG>,  <STRONG>kb2</STRONG>,
-       <STRONG>kc1</STRONG>,  and  <STRONG>kc3</STRONG>.   These  keys  are  useful when the effects of a 3 by 3
+       In addition, if the keypad has a 3 by 3 array  of  keys  including  the
+       four  arrow  keys,  the  other five keys can be given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>,
+       <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>.  These keys are useful when the  effects  of  a  3  by  3
        directional pad are needed.
 
        Strings to program function keys can be given as <STRONG>pfkey</STRONG>, <STRONG>pfloc</STRONG>, and <STRONG>pfx</STRONG>.
-       A  string to program screen labels should be specified as <STRONG>pln</STRONG>.  Each of
-       these strings takes two parameters: the function key number to  program
+       A string to program screen labels should be specified as <STRONG>pln</STRONG>.  Each  of
+       these  strings takes two parameters: the function key number to program
        (from 0 to 10) and the string to program it with.  Function key numbers
-       out of this range may program undefined keys in  a  terminal  dependent
-       manner.   The  difference between the capabilities is that <STRONG>pfkey</STRONG> causes
-       pressing the given key to be the same as  the  user  typing  the  given
-       string;  <STRONG>pfloc</STRONG>  causes  the  string  to  be executed by the terminal in
+       out  of  this  range may program undefined keys in a terminal dependent
+       manner.  The difference between the capabilities is that  <STRONG>pfkey</STRONG>  causes
+       pressing  the  given  key  to  be the same as the user typing the given
+       string; <STRONG>pfloc</STRONG> causes the string to  be  executed  by  the  terminal  in
        local; and <STRONG>pfx</STRONG> causes the string to be transmitted to the computer.
 
-       The capabilities <STRONG>nlab</STRONG>, <STRONG>lw</STRONG> and <STRONG>lh</STRONG>  define  the  number  of  programmable
-       screen  labels  and  their  width and height.  If there are commands to
-       turn the labels on and off, give  them  in  <STRONG>smln</STRONG>  and  <STRONG>rmln</STRONG>.   <STRONG>smln</STRONG>  is
-       normally  output  after one or more pln sequences to make sure that the
+       The  capabilities  <STRONG>nlab</STRONG>,  <STRONG>lw</STRONG>  and  <STRONG>lh</STRONG> define the number of programmable
+       screen labels and their width and height.  If  there  are  commands  to
+       turn  the  labels  on  and  off,  give  them in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>.  <STRONG>smln</STRONG> is
+       normally output after one or more pln sequences to make sure  that  the
        change becomes visible.
 
 
 </PRE><H3><a name="h3-Tabs-and-Initialization">Tabs and Initialization</a></H3><PRE>
        A few capabilities are used only for tabs:
 
-       <STRONG>o</STRONG>   If the terminal has hardware tabs, the command to  advance  to  the
+       <STRONG>o</STRONG>   If  the  terminal  has hardware tabs, the command to advance to the
            next tab stop can be given as <STRONG>ht</STRONG> (usually control/I).
 
        <STRONG>o</STRONG>   A "back-tab" command which moves leftward to the preceding tab stop
            can be given as <STRONG>cbt</STRONG>.
 
-           By convention, if the teletype modes indicate that tabs  are  being
-           expanded  by  the  computer rather than being sent to the terminal,
-           programs should not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are  present,  since
+           By  convention,  if the teletype modes indicate that tabs are being
+           expanded by the computer rather than being sent  to  the  terminal,
+           programs  should  not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are present, since
            the user may not have the tab stops properly set.
 
-       <STRONG>o</STRONG>   If  the  terminal has hardware tabs which are initially set every <EM>n</EM>
+       <STRONG>o</STRONG>   If the terminal has hardware tabs which are initially set  every  <EM>n</EM>
            spaces when the terminal is powered up, the numeric parameter <STRONG>it</STRONG> is
            given, showing the number of spaces the tabs are set to.
 
            The <STRONG>it</STRONG> capability is normally used by the <STRONG>tset</STRONG> command to determine
-           whether to set the mode for hardware tab expansion, and whether  to
+           whether  to set the mode for hardware tab expansion, and whether to
            set the tab stops.  If the terminal has tab stops that can be saved
-           in non-volatile memory, the terminfo description  can  assume  that
+           in  non-volatile  memory,  the terminfo description can assume that
            they are properly set.
 
        Other capabilities include
 
        <STRONG>o</STRONG>   <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>, initialization strings for the terminal,
 
-       <STRONG>o</STRONG>   <STRONG>iprog</STRONG>,  the  path  name  of  a  program to be run to initialize the
+       <STRONG>o</STRONG>   <STRONG>iprog</STRONG>, the path name of a program  to  be  run  to  initialize  the
            terminal,
 
        <STRONG>o</STRONG>   and <STRONG>if</STRONG>, the name of a file containing long initialization strings.
 
-       These strings are expected to set the terminal  into  modes  consistent
-       with  the  rest of the terminfo description.  They are normally sent to
-       the terminal, by the <EM>init</EM> option of the <STRONG>tput</STRONG>  program,  each  time  the
+       These  strings  are  expected to set the terminal into modes consistent
+       with the rest of the terminfo description.  They are normally  sent  to
+       the  terminal,  by  the  <EM>init</EM> option of the <STRONG>tput</STRONG> program, each time the
        user logs in.  They will be printed in the following order:
 
               run the program
               and finally output
                      <STRONG>is3</STRONG>.
 
-       Most  initialization  is  done with <STRONG>is2</STRONG>.  Special terminal modes can be
-       set up without duplicating strings by putting the common  sequences  in
+       Most initialization is done with <STRONG>is2</STRONG>.  Special terminal  modes  can  be
+       set  up  without duplicating strings by putting the common sequences in
        <STRONG>is2</STRONG> and special cases in <STRONG>is1</STRONG> and <STRONG>is3</STRONG>.
 
-       A  set  of  sequences  that  does a harder reset from a totally unknown
+       A set of sequences that does a harder  reset  from  a  totally  unknown
        state can be given as <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rf</STRONG> and <STRONG>rs3</STRONG>, analogous to <STRONG>is1</STRONG> <STRONG>,</STRONG> <STRONG>is2</STRONG> <STRONG>,</STRONG> <STRONG>if</STRONG>
-       and  <STRONG>is3</STRONG>  respectively.   These  strings  are output by <EM>reset</EM> option of
-       <STRONG>tput</STRONG>, or by the <STRONG>reset</STRONG> program (an alias of <STRONG>tset</STRONG>), which  is  used  when
+       and <STRONG>is3</STRONG> respectively.  These strings are  output  by  <EM>reset</EM>  option  of
+       <STRONG>tput</STRONG>,  or  by  the <STRONG>reset</STRONG> program (an alias of <STRONG>tset</STRONG>), which is used when
        the terminal gets into a wedged state.  Commands are normally placed in
        <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they produce annoying effects on the screen
        and are not necessary when logging in.  For example, the command to set
-       the vt100 into 80-column mode would normally be part  of  <STRONG>is2</STRONG>,  but  it
-       causes  an  annoying  glitch  of  the screen and is not normally needed
+       the  vt100  into  80-column  mode would normally be part of <STRONG>is2</STRONG>, but it
+       causes an annoying glitch of the screen  and  is  not  normally  needed
        since the terminal is usually already in 80-column mode.
 
-       The <STRONG>reset</STRONG> program writes strings including <STRONG>iprog</STRONG>,  etc.,  in  the  same
-       order  as  the  <EM>init</EM> program, using <STRONG>rs1</STRONG>, etc., instead of <STRONG>is1</STRONG>, etc.  If
-       any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset capability strings are  missing,  the
-       <STRONG>reset</STRONG>   program   falls  back  upon  the  corresponding  initialization
+       The  <STRONG>reset</STRONG>  program  writes  strings including <STRONG>iprog</STRONG>, etc., in the same
+       order as the <EM>init</EM> program, using <STRONG>rs1</STRONG>, etc., instead of  <STRONG>is1</STRONG>,  etc.   If
+       any  of  <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset capability strings are missing, the
+       <STRONG>reset</STRONG>  program  falls  back  upon  the   corresponding   initialization
        capability string.
 
-       If there are commands to set and clear tab stops, they can be given  as
+       If  there are commands to set and clear tab stops, they can be given as
        <STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set a tab stop in the current column
-       of every row).  If a more complex sequence is needed to  set  the  tabs
+       of  every  row).   If a more complex sequence is needed to set the tabs
        than can be described by this, the sequence can be placed in <STRONG>is2</STRONG> or <STRONG>if</STRONG>.
 
-       The  <STRONG>tput</STRONG>  <STRONG>reset</STRONG>  command uses the same capability strings as the <STRONG>reset</STRONG>
-       command, although the two programs (<STRONG>tput</STRONG> and <STRONG>reset</STRONG>)  provide  different
+       The <STRONG>tput</STRONG> <STRONG>reset</STRONG> command uses the same capability strings  as  the  <STRONG>reset</STRONG>
+       command,  although  the two programs (<STRONG>tput</STRONG> and <STRONG>reset</STRONG>) provide different
        command-line options.
 
        In  practice,  these  terminfo  capabilities  are  not  often  used  in
        <STRONG>o</STRONG>   Almost all hardware terminals (at least those which supported tabs)
            initialized those to every <EM>eight</EM> columns:
 
-           The  only  exception  was  the  AT&amp;T 2300 series, which set tabs to
+           The only exception was the AT&amp;T 2300  series,  which  set  tabs  to
            every <EM>five</EM> columns.
 
-       <STRONG>o</STRONG>   In particular, developers  of  the  hardware  terminals  which  are
-           commonly  used  as  models  for  modern terminal emulators provided
+       <STRONG>o</STRONG>   In  particular,  developers  of  the  hardware  terminals which are
+           commonly used as models  for  modern  terminal  emulators  provided
            documentation demonstrating that <EM>eight</EM> columns were the standard.
 
        <STRONG>o</STRONG>   Because of this, the terminal initialization programs <STRONG>tput</STRONG> and <STRONG>tset</STRONG>
-           use   the  <STRONG>tbc</STRONG>  (<STRONG>clear_all_tabs</STRONG>)  and  <STRONG>hts</STRONG>  (<STRONG>set_tab</STRONG>)  capabilities
-           directly only when the <STRONG>it</STRONG> (<STRONG>init_tabs</STRONG>) capability is set to a  value
+           use  the  <STRONG>tbc</STRONG>  (<STRONG>clear_all_tabs</STRONG>)  and  <STRONG>hts</STRONG>  (<STRONG>set_tab</STRONG>)   capabilities
+           directly  only when the <STRONG>it</STRONG> (<STRONG>init_tabs</STRONG>) capability is set to a value
            other than <EM>eight</EM>.
 
 
 </PRE><H3><a name="h3-Delays-and-Padding">Delays and Padding</a></H3><PRE>
-       Many  older  and slower terminals do not support either XON/XOFF or DTR
-       handshaking, including hard copy terminals and some very  archaic  CRTs
-       (including,  for  example,  DEC  VT100s).   These  may  require padding
+       Many older and slower terminals do not support either XON/XOFF  or  DTR
+       handshaking,  including  hard copy terminals and some very archaic CRTs
+       (including, for  example,  DEC  VT100s).   These  may  require  padding
        characters after certain cursor motions and screen changes.
 
        If the terminal uses xon/xoff handshaking for flow control (that is, it
-       automatically  emits  ^S  back  to  the host when its input buffers are
-       close to full), set <STRONG>xon</STRONG>.  This capability suppresses  the  emission  of
-       padding.   You  can  also  set  it  for  memory-mapped  console devices
+       automatically emits ^S back to the host  when  its  input  buffers  are
+       close  to  full),  set <STRONG>xon</STRONG>.  This capability suppresses the emission of
+       padding.  You  can  also  set  it  for  memory-mapped  console  devices
        effectively that do not have a speed limit.  Padding information should
-       still  be  included  so  that  routines can make better decisions about
+       still be included so that routines  can  make  better  decisions  about
        relative costs, but actual pad characters will not be transmitted.
 
        If <STRONG>pb</STRONG> (padding baud rate) is given, padding is suppressed at baud rates
-       below  the  value  of  <STRONG>pb</STRONG>.  If the entry has no padding baud rate, then
+       below the value of <STRONG>pb</STRONG>.  If the entry has no  padding  baud  rate,  then
        whether padding is emitted or not is completely controlled by <STRONG>xon</STRONG>.
 
-       If the terminal requires other than a null (zero) character as  a  pad,
-       then  this  can  be  given as <STRONG>pad</STRONG>.  Only the first character of the <STRONG>pad</STRONG>
+       If  the  terminal requires other than a null (zero) character as a pad,
+       then this can be given as <STRONG>pad</STRONG>.  Only the first  character  of  the  <STRONG>pad</STRONG>
        string is used.
 
 
 </PRE><H3><a name="h3-Status-Lines">Status Lines</a></H3><PRE>
-       Some terminals have an extra "status line" which is not  normally  used
+       Some  terminals  have an extra "status line" which is not normally used
        by software (and thus not counted in the terminal's <STRONG>lines</STRONG> capability).
 
-       The  simplest case is a status line which is cursor-addressable but not
+       The simplest case is a status line which is cursor-addressable but  not
        part of the main scrolling region on the screen; the Heathkit H19 has a
-       status  line  of  this  kind,  as  would a 24-line VT100 with a 23-line
+       status line of this kind, as would  a  24-line  VT100  with  a  23-line
        scrolling region set up on initialization.  This situation is indicated
        by the <STRONG>hs</STRONG> capability.
 
-       Some  terminals  with status lines need special sequences to access the
-       status line.  These may be expressed as a string with single  parameter
-       <STRONG>tsl</STRONG>  which takes the cursor to a given zero-origin column on the status
-       line.  The  capability  <STRONG>fsl</STRONG>  must  return  to  the  main-screen  cursor
+       Some terminals with status lines need special sequences to  access  the
+       status  line.  These may be expressed as a string with single parameter
+       <STRONG>tsl</STRONG> which takes the cursor to a given zero-origin column on the  status
+       line.   The  capability  <STRONG>fsl</STRONG>  must  return  to  the  main-screen cursor
        positions before the last <STRONG>tsl</STRONG>.  You may need to embed the string values
-       of <STRONG>sc</STRONG> (save  cursor)  and  <STRONG>rc</STRONG>  (restore  cursor)  in  <STRONG>tsl</STRONG>  and  <STRONG>fsl</STRONG>  to
+       of  <STRONG>sc</STRONG>  (save  cursor)  and  <STRONG>rc</STRONG>  (restore  cursor)  in  <STRONG>tsl</STRONG>  and <STRONG>fsl</STRONG> to
        accomplish this.
 
-       The  status  line is normally assumed to be the same width as the width
-       of the terminal.  If this is  untrue,  you  can  specify  it  with  the
+       The status line is normally assumed to be the same width as  the  width
+       of  the  terminal.   If  this  is  untrue,  you can specify it with the
        numeric capability <STRONG>wsl</STRONG>.
 
        A command to erase or blank the status line may be specified as <STRONG>dsl</STRONG>.
 
-       The  Boolean  capability  <STRONG>eslok</STRONG>  specifies that escape sequences, tabs,
+       The Boolean capability <STRONG>eslok</STRONG> specifies  that  escape  sequences,  tabs,
        etc., work ordinarily in the status line.
 
-       The <EM>ncurses</EM> implementation does not yet use any of these  capabilities.
+       The  <EM>ncurses</EM> implementation does not yet use any of these capabilities.
        They are documented here in case they ever become important.
 
 
 </PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
-       Many  terminals have alternate character sets useful for forms-drawing.
-       Terminfo and <STRONG>curses</STRONG> have built-in  support  for  most  of  the  drawing
-       characters  supported  by the VT100, with some characters from the AT&amp;T
-       4410v1 added.  This alternate character set may  be  specified  by  the
+       Many terminals have alternate character sets useful for  forms-drawing.
+       Terminfo  and  <STRONG>curses</STRONG>  have  built-in  support  for most of the drawing
+       characters supported by the VT100, with some characters from  the  AT&amp;T
+       4410v1  added.   This  alternate  character set may be specified by the
        <STRONG>acsc</STRONG> capability.
 
-                                                   <STRONG>ASCII</STRONG>      <STRONG>acsc</STRONG>     <STRONG>acsc</STRONG>
-         <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>                 <STRONG>ACS</STRONG> <STRONG>Name</STRONG>       <STRONG>Fallback</STRONG>   <STRONG>Symbol</STRONG>   <STRONG>Value</STRONG>
-         --------------------------------------------------------------------
-         arrow pointing right       <STRONG>ACS_RARROW</STRONG>     &gt;          +        0x2b
-         arrow pointing left        <STRONG>ACS_LARROW</STRONG>     &lt;          ,        0x2c
-         arrow pointing up          <STRONG>ACS_UARROW</STRONG>     ^          -        0x2d
-         arrow pointing down        <STRONG>ACS_DARROW</STRONG>     v          .        0x2e
-         solid square block         <STRONG>ACS_BLOCK</STRONG>      #          0        0x30
-         diamond                    <STRONG>ACS_DIAMOND</STRONG>    +          `        0x60
-         checker board (stipple)    <STRONG>ACS_CKBOARD</STRONG>    :          a        0x61
-         degree symbol              <STRONG>ACS_DEGREE</STRONG>     \          f        0x66
-         plus/minus                 <STRONG>ACS_PLMINUS</STRONG>    #          g        0x67
-         board of squares           <STRONG>ACS_BOARD</STRONG>      #          h        0x68
-         lantern symbol             <STRONG>ACS_LANTERN</STRONG>    #          i        0x69
-         lower right corner         <STRONG>ACS_LRCORNER</STRONG>   +          j        0x6a
-         upper right corner         <STRONG>ACS_URCORNER</STRONG>   +          k        0x6b
-         upper left corner          <STRONG>ACS_ULCORNER</STRONG>   +          l        0x6c
-         lower left corner          <STRONG>ACS_LLCORNER</STRONG>   +          m        0x6d
-         large plus or crossover    <STRONG>ACS_PLUS</STRONG>       +          n        0x6e
-         scan line 1                <STRONG>ACS_S1</STRONG>         ~          o        0x6f
-         scan line 3                <STRONG>ACS_S3</STRONG>         -          p        0x70
-         horizontal line            <STRONG>ACS_HLINE</STRONG>      -          q        0x71
-         scan line 7                <STRONG>ACS_S7</STRONG>         -          r        0x72
-         scan line 9                <STRONG>ACS_S9</STRONG>         _          s        0x73
-         tee pointing right         <STRONG>ACS_LTEE</STRONG>       +          t        0x74
-         tee pointing left          <STRONG>ACS_RTEE</STRONG>       +          u        0x75
-         tee pointing up            <STRONG>ACS_BTEE</STRONG>       +          v        0x76
-         tee pointing down          <STRONG>ACS_TTEE</STRONG>       +          w        0x77
-         vertical line              <STRONG>ACS_VLINE</STRONG>      |          x        0x78
-         less-than-or-equal-to      <STRONG>ACS_LEQUAL</STRONG>     &lt;          y        0x79
-         greater-than-or-equal-to   <STRONG>ACS_GEQUAL</STRONG>     &gt;          z        0x7a
-         greek pi                   <STRONG>ACS_PI</STRONG>         *          {        0x7b
-         not-equal                  <STRONG>ACS_NEQUAL</STRONG>     !          |        0x7c
-         UK pound sign              <STRONG>ACS_STERLING</STRONG>   f          }        0x7d
-         bullet                     <STRONG>ACS_BULLET</STRONG>     o          ~        0x7e
+                          <STRONG>acsc</STRONG>
+       <STRONG>ACS</STRONG> <STRONG>Name</STRONG>      <STRONG>Value</STRONG>   <STRONG>Symbol</STRONG>   <STRONG>ASCII</STRONG> <STRONG>Fallback</STRONG> <STRONG>/</STRONG> <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>ACS_RARROW</STRONG>    0x2b      +      <STRONG>&gt;</STRONG>  arrow pointing right
+       <STRONG>ACS_LARROW</STRONG>    0x2c      ,      <STRONG>&lt;</STRONG>  arrow pointing left
+       <STRONG>ACS_UARROW</STRONG>    0x2d      -      <STRONG>^</STRONG>  arrow pointing up
+       <STRONG>ACS_DARROW</STRONG>    0x2e      .      <STRONG>v</STRONG>  arrow pointing down
+       <STRONG>ACS_BLOCK</STRONG>     0x30      0      <STRONG>#</STRONG>  solid square block
+       <STRONG>ACS_DIAMOND</STRONG>   0x60      `      <STRONG>+</STRONG>  diamond
+       <STRONG>ACS_CKBOARD</STRONG>   0x61      a      <STRONG>:</STRONG>  checker board (stipple)
+       <STRONG>ACS_DEGREE</STRONG>    0x66      f      <STRONG>\</STRONG>  degree symbol
+       <STRONG>ACS_PLMINUS</STRONG>   0x67      g      <STRONG>#</STRONG>  plus/minus
+       <STRONG>ACS_BOARD</STRONG>     0x68      h      <STRONG>#</STRONG>  board of squares
+       <STRONG>ACS_LANTERN</STRONG>   0x69      i      <STRONG>#</STRONG>  lantern symbol
+       <STRONG>ACS_LRCORNER</STRONG>  0x6a      j      <STRONG>+</STRONG>  lower right corner
+
+       <STRONG>ACS_URCORNER</STRONG>  0x6b      k      <STRONG>+</STRONG>  upper right corner
+       <STRONG>ACS_ULCORNER</STRONG>  0x6c      l      <STRONG>+</STRONG>  upper left corner
+       <STRONG>ACS_LLCORNER</STRONG>  0x6d      m      <STRONG>+</STRONG>  lower left corner
+       <STRONG>ACS_PLUS</STRONG>      0x6e      n      <STRONG>+</STRONG>  large plus or crossover
+       <STRONG>ACS_S1</STRONG>        0x6f      o      <STRONG>~</STRONG>  scan line 1
+       <STRONG>ACS_S3</STRONG>        0x70      p      <STRONG>-</STRONG>  scan line 3
+       <STRONG>ACS_HLINE</STRONG>     0x71      q      <STRONG>-</STRONG>  horizontal line
+       <STRONG>ACS_S7</STRONG>        0x72      r      <STRONG>-</STRONG>  scan line 7
+       <STRONG>ACS_S9</STRONG>        0x73      s      <STRONG>_</STRONG>  scan line 9
+       <STRONG>ACS_LTEE</STRONG>      0x74      t      <STRONG>+</STRONG>  tee pointing right
+       <STRONG>ACS_RTEE</STRONG>      0x75      u      <STRONG>+</STRONG>  tee pointing left
+       <STRONG>ACS_BTEE</STRONG>      0x76      v      <STRONG>+</STRONG>  tee pointing up
+       <STRONG>ACS_TTEE</STRONG>      0x77      w      <STRONG>+</STRONG>  tee pointing down
+       <STRONG>ACS_VLINE</STRONG>     0x78      x      <STRONG>|</STRONG>  vertical line
+       <STRONG>ACS_LEQUAL</STRONG>    0x79      y      <STRONG>&lt;</STRONG>  less-than-or-equal-to
+       <STRONG>ACS_GEQUAL</STRONG>    0x7a      z      <STRONG>&gt;</STRONG>  greater-than-or-equal-to
+       <STRONG>ACS_PI</STRONG>        0x7b      {      <STRONG>*</STRONG>  greek pi
+       <STRONG>ACS_NEQUAL</STRONG>    0x7c      |      <STRONG>!</STRONG>  not-equal
+       <STRONG>ACS_STERLING</STRONG>  0x7d      }      <STRONG>f</STRONG>  UK pound sign
+       <STRONG>ACS_BULLET</STRONG>    0x7e      ~      <STRONG>o</STRONG>  bullet
 
        A few notes apply to the table itself:
 
-       <STRONG>o</STRONG>   X/Open  Curses  incorrectly  states that the mapping for <EM>lantern</EM> is
-           uppercase "I" although Unix implementations use the  lowercase  "i"
+       <STRONG>o</STRONG>   X/Open Curses incorrectly states that the mapping  for  <EM>lantern</EM>  is
+           uppercase  "I"  although Unix implementations use the lowercase "i"
            mapping.
 
-       <STRONG>o</STRONG>   The  DEC  VT100  implemented graphics using the alternate character
-           set feature, temporarily switching <EM>modes</EM> and sending characters  in
-           the  range  0x60  (96)  to 0x7e (126) (the <STRONG>acsc</STRONG> <STRONG>Value</STRONG> column in the
+       <STRONG>o</STRONG>   The DEC VT100 implemented graphics using  the  alternate  character
+           set  feature, temporarily switching <EM>modes</EM> and sending characters in
+           the range 0x60 (96) to 0x7e (126) (the <STRONG>acsc</STRONG>  <STRONG>Value</STRONG>  column  in  the
            table).
 
        <STRONG>o</STRONG>   The AT&amp;T terminal added graphics characters outside that range.
 
-           Some of the characters within the range do  not  match  the  VT100;
-           presumably  they  were  used in the AT&amp;T terminal: <EM>board</EM> <EM>of</EM> <EM>squares</EM>
-           replaces the VT100 <EM>newline</EM> symbol, while  <EM>lantern</EM>  <EM>symbol</EM>  replaces
+           Some  of  the  characters  within the range do not match the VT100;
+           presumably they were used in the AT&amp;T terminal:  <EM>board</EM>  <EM>of</EM>  <EM>squares</EM>
+           replaces  the  VT100  <EM>newline</EM> symbol, while <EM>lantern</EM> <EM>symbol</EM> replaces
            the VT100 <EM>vertical</EM> <EM>tab</EM> symbol.  The other VT100 symbols for control
-           characters (<EM>horizontal</EM> <EM>tab</EM>, <EM>carriage</EM> <EM>return</EM> and <EM>line-feed</EM>) are  not
+           characters  (<EM>horizontal</EM> <EM>tab</EM>, <EM>carriage</EM> <EM>return</EM> and <EM>line-feed</EM>) are not
            (re)used in curses.
 
-       The  best  way to define a new device's graphics set is to add a column
-       to a copy of this table for your terminal, giving the  character  which
-       (when  emitted  between  <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG>  switches) will be rendered as the
+       The best way to define a new device's graphics set is to add  a  column
+       to  a  copy of this table for your terminal, giving the character which
+       (when emitted between <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will  be  rendered  as  the
        corresponding graphic.  Then read off the VT100/your terminal character
        pairs right to left in sequence; these become the ACSC string.
 
 
 </PRE><H3><a name="h3-Color-Handling">Color Handling</a></H3><PRE>
-       The  curses  library  functions <STRONG>init_pair</STRONG> and <STRONG>init_color</STRONG> manipulate the
-       <EM>color</EM>  <EM>pairs</EM>  and  <EM>color</EM>  <EM>values</EM>  discussed  in   this   section   (see
+       The curses library functions <STRONG>init_pair</STRONG> and  <STRONG>init_color</STRONG>  manipulate  the
+       <EM>color</EM>   <EM>pairs</EM>   and   <EM>color</EM>  <EM>values</EM>  discussed  in  this  section  (see
        <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> for details on these and related functions).
 
        Most color terminals are either "Tektronix-like" or "HP-like":
            is usually 8), and can set character-cell foreground and background
            characters independently, mixing them into <EM>N</EM> * <EM>N</EM> color pairs.
 
-       <STRONG>o</STRONG>   On  HP-like  terminals,  the  user  must  set  each  color  pair up
-           separately  (foreground  and  background  are   not   independently
-           settable).   Up  to  <EM>M</EM> color pairs may be set up from 2*<EM>M</EM> different
+       <STRONG>o</STRONG>   On HP-like  terminals,  the  user  must  set  each  color  pair  up
+           separately   (foreground   and  background  are  not  independently
+           settable).  Up to <EM>M</EM> color pairs may be set up  from  2*<EM>M</EM>  different
            colors.  ANSI-compatible terminals are Tektronix-like.
 
        Some basic color capabilities are independent of the color method.  The
-       numeric  capabilities  <STRONG>colors</STRONG>  and <STRONG>pairs</STRONG> specify the maximum numbers of
-       colors and color pairs that can be displayed  simultaneously.   The  <STRONG>op</STRONG>
+       numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify the  maximum  numbers  of
+       colors  and  color  pairs that can be displayed simultaneously.  The <STRONG>op</STRONG>
        (original pair) string resets foreground and background colors to their
-       default values for the terminal.  The <STRONG>oc</STRONG> string resets  all  colors  or
-       color  pairs  to their default values for the terminal.  Some terminals
-       (including many PC terminal emulators)  erase  screen  areas  with  the
-       current  background  color rather than the power-up default background;
+       default  values  for  the terminal.  The <STRONG>oc</STRONG> string resets all colors or
+       color pairs to their default values for the terminal.   Some  terminals
+       (including  many  PC  terminal  emulators)  erase screen areas with the
+       current background color rather than the power-up  default  background;
        these should have the Boolean capability <STRONG>bce</STRONG>.
 
-       While the  curses  library  works  with  <EM>color</EM>  <EM>pairs</EM>  (reflecting  the
-       inability  of  some  devices  to  set  foreground and background colors
-       independently), there  are  separate  capabilities  for  setting  these
+       While  the  curses  library  works  with  <EM>color</EM>  <EM>pairs</EM>  (reflecting the
+       inability of some devices  to  set  foreground  and  background  colors
+       independently),  there  are  separate  capabilities  for  setting these
        features:
 
-       <STRONG>o</STRONG>   To   change  the  current  foreground  or  background  color  on  a
-           Tektronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground) and  <STRONG>setab</STRONG>
-           (set  ANSI  background)  or  <STRONG>setf</STRONG>  (set  foreground)  and <STRONG>setb</STRONG> (set
+       <STRONG>o</STRONG>   To  change  the  current  foreground  or  background  color  on   a
+           Tektronix-type  terminal, use <STRONG>setaf</STRONG> (set ANSI foreground) and <STRONG>setab</STRONG>
+           (set ANSI background)  or  <STRONG>setf</STRONG>  (set  foreground)  and  <STRONG>setb</STRONG>  (set
            background).  These take one parameter, the color number.  The SVr4
-           documentation  describes only <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that
-           "If the terminal supports ANSI escape sequences to  set  background
-           and   foreground,   they  should  be  coded  as  <STRONG>setaf</STRONG>  and  <STRONG>setab</STRONG>,
+           documentation describes only <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says  that
+           "If  the  terminal supports ANSI escape sequences to set background
+           and  foreground,  they  should  be  coded  as  <STRONG>setaf</STRONG>   and   <STRONG>setab</STRONG>,
            respectively.
 
-       <STRONG>o</STRONG>   If the terminal supports other escape sequences to  set  background
-           and   foreground,   they   should   be  coded  as  <STRONG>setf</STRONG>  and  <STRONG>setb</STRONG>,
-           respectively.  The <STRONG>vidputs</STRONG> and the <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>  functions  use  the
+       <STRONG>o</STRONG>   If  the  terminal supports other escape sequences to set background
+           and  foreground,  they  should  be  coded   as   <STRONG>setf</STRONG>   and   <STRONG>setb</STRONG>,
+           respectively.   The  <STRONG>vidputs</STRONG>  and the <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> functions use the
            <STRONG>setaf</STRONG> and <STRONG>setab</STRONG> capabilities if they are defined.
 
-       The  <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>  and  <STRONG>setf</STRONG>/<STRONG>setb</STRONG>  capabilities  take  a  single numeric
+       The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>  and  <STRONG>setf</STRONG>/<STRONG>setb</STRONG>  capabilities  take  a  single  numeric
        argument each.  Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> are portably defined
-       as  follows (the middle column is the symbolic #define available in the
-       header for the <STRONG>curses</STRONG> or <EM>ncurses</EM> libraries).  The terminal hardware  is
-       free  to  map  these  as  it  likes, but the RGB values indicate normal
+       as follows (the middle column is the symbolic #define available in  the
+       header  for the <STRONG>curses</STRONG> or <EM>ncurses</EM> libraries).  The terminal hardware is
+       free to map these as it likes,  but  the  RGB  values  indicate  normal
        locations in color space.
 
                     <STRONG>Color</STRONG>      <STRONG>#define</STRONG>       <STRONG>Value</STRONG>        <STRONG>RGB</STRONG>
                    yellow    <STRONG>COLOR_YELLOW</STRONG>      6     max, max, 0
                    white     <STRONG>COLOR_WHITE</STRONG>       7     max, max, max
 
-       It  is  important  to  not  confuse the two sets of color capabilities;
+       It is important to not confuse the  two  sets  of  color  capabilities;
        otherwise red/blue will be interchanged on the display.
 
-       On an HP-like terminal, use <STRONG>scp</STRONG> with a color pair number  parameter  to
+       On  an  HP-like terminal, use <STRONG>scp</STRONG> with a color pair number parameter to
        set which color pair is current.
 
        Some terminals allow the <EM>color</EM> <EM>values</EM> to be modified:
 
-       <STRONG>o</STRONG>   On  a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be present to
-           indicate that colors can be modified.  If so, the <STRONG>initc</STRONG>  capability
+       <STRONG>o</STRONG>   On a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be present  to
+           indicate  that colors can be modified.  If so, the <STRONG>initc</STRONG> capability
            will take a color number (0 to <STRONG>colors</STRONG> - 1)and three more parameters
-           which describe the color.  These three parameters default to  being
-           interpreted  as  RGB  (Red,  Green,  Blue)  values.  If the Boolean
+           which  describe the color.  These three parameters default to being
+           interpreted as RGB (Red,  Green,  Blue)  values.   If  the  Boolean
            capability <STRONG>hls</STRONG> is present, they are instead as HLS (Hue, Lightness,
            Saturation) indices.  The ranges are terminal-dependent.
 
-       <STRONG>o</STRONG>   On  an HP-like terminal, <STRONG>initp</STRONG> may give a capability for changing a
-           color pair value.  It will take  seven  parameters;  a  color  pair
-           number  (0  to  <STRONG>max_pairs</STRONG>  -  1),  and two triples describing first
-           background and then foreground colors.  These  parameters  must  be
-           (Red,  Green,  Blue)  or  (Hue, Lightness, Saturation) depending on
+       <STRONG>o</STRONG>   On an HP-like terminal, <STRONG>initp</STRONG> may give a capability for changing  a
+           color  pair  value.   It  will  take seven parameters; a color pair
+           number (0 to <STRONG>max_pairs</STRONG> -  1),  and  two  triples  describing  first
+           background  and  then  foreground colors.  These parameters must be
+           (Red, Green, Blue) or (Hue,  Lightness,  Saturation)  depending  on
            <STRONG>hls</STRONG>.
 
-       On some color terminals,  colors  collide  with  highlights.   You  can
-       register  these collisions with the <STRONG>ncv</STRONG> capability.  This is a bit mask
-       of  attributes  not  to  be  used  when  colors   are   enabled.    The
+       On  some  color  terminals,  colors  collide  with highlights.  You can
+       register these collisions with the <STRONG>ncv</STRONG> capability.  This is a bit  mask
+       of   attributes   not   to  be  used  when  colors  are  enabled.   The
        correspondence with the attributes understood by <STRONG>curses</STRONG> is as follows:
 
                          <STRONG>Attribute</STRONG>     <STRONG>Bit</STRONG>   <STRONG>Decimal</STRONG>   <STRONG>Set</STRONG> <STRONG>by</STRONG>
                         <STRONG>A_LOW</STRONG>          11      2048    <STRONG>sgr1</STRONG>
                         <STRONG>A_RIGHT</STRONG>        12      4096    <STRONG>sgr1</STRONG>
                         <STRONG>A_TOP</STRONG>          13      8192    <STRONG>sgr1</STRONG>
-
                         <STRONG>A_VERTICAL</STRONG>     14     16384    <STRONG>sgr1</STRONG>
                         <STRONG>A_ITALIC</STRONG>       15     32768    <STRONG>sitm</STRONG>
 
-       For  example, on many IBM PC consoles, the underline attribute collides
-       with the foreground color blue and is  not  available  in  color  mode.
+       For example, on many IBM PC consoles, the underline attribute  collides
+       with  the  foreground  color  blue  and is not available in color mode.
        These should have an <STRONG>ncv</STRONG> capability of 2.
 
-       SVr4  curses does nothing with <STRONG>ncv</STRONG>, <EM>ncurses</EM> recognizes it and optimizes
+       SVr4 curses does nothing with <STRONG>ncv</STRONG>, <EM>ncurses</EM> recognizes it and  optimizes
        the output in favor of colors.
 
 
 </PRE><H3><a name="h3-Miscellaneous">Miscellaneous</a></H3><PRE>
-       If the terminal requires other than a null (zero) character as  a  pad,
-       then  this  can  be  given as pad.  Only the first character of the pad
+       If  the  terminal requires other than a null (zero) character as a pad,
+       then this can be given as pad.  Only the first  character  of  the  pad
        string is used.  If the terminal does not have a pad character, specify
-       npc.   Note that <EM>ncurses</EM> implements the termcap-compatible <STRONG>PC</STRONG> variable;
-       though the application may set this value to  something  other  than  a
-       null,  <EM>ncurses</EM> will test <STRONG>npc</STRONG> first and use napms if the terminal has no
+       npc.  Note that <EM>ncurses</EM> implements the termcap-compatible <STRONG>PC</STRONG>  variable;
+       though  the  application  may  set this value to something other than a
+       null, <EM>ncurses</EM> will test <STRONG>npc</STRONG> first and use napms if the terminal has  no
        pad character.
 
-       If the terminal can move up or down half a line, this can be  indicated
-       with  <STRONG>hu</STRONG>  (half-line  up)  and  <STRONG>hd</STRONG> (half-line down).  This is primarily
-       useful for superscripts and subscripts on hard-copy  terminals.   If  a
+       If  the terminal can move up or down half a line, this can be indicated
+       with <STRONG>hu</STRONG> (half-line up) and <STRONG>hd</STRONG>  (half-line  down).   This  is  primarily
+       useful  for  superscripts  and subscripts on hard-copy terminals.  If a
        hard-copy terminal can eject to the next page (form feed), give this as
        <STRONG>ff</STRONG> (usually control/L).
 
-       If there is a command to repeat a given character  a  given  number  of
-       times   (to   save  time  transmitting  a  large  number  of  identical
-       characters) this can be indicated with the  parameterized  string  <STRONG>rep</STRONG>.
-       The  first  parameter is the character to be repeated and the second is
+       If  there  is  a  command to repeat a given character a given number of
+       times  (to  save  time  transmitting  a  large  number   of   identical
+       characters)  this  can  be indicated with the parameterized string <STRONG>rep</STRONG>.
+       The first parameter is the character to be repeated and the  second  is
        the number of times to repeat it.  Thus, tparm(repeat_char, 'x', 10) is
        the same as "xxxxxxxxxx".
 
        If the terminal has a settable command character, such as the TEKTRONIX
-       4025, this can be indicated with <STRONG>cmdch</STRONG>.  A prototype command  character
-       is  chosen  which is used in all capabilities.  This character is given
-       in the <STRONG>cmdch</STRONG> capability to identify it.  The  following  convention  is
+       4025,  this can be indicated with <STRONG>cmdch</STRONG>.  A prototype command character
+       is chosen which is used in all capabilities.  This character  is  given
+       in  the  <STRONG>cmdch</STRONG>  capability to identify it.  The following convention is
        supported on some Unix systems: The environment is to be searched for a
-       <STRONG>CC</STRONG> variable, and if found, all occurrences of the  prototype  character
+       <STRONG>CC</STRONG>  variable,  and if found, all occurrences of the prototype character
        are replaced with the character in the environment variable.
 
-       Terminal  descriptions  that  do not represent a specific kind of known
-       terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and  <EM>network</EM>,  should  include
-       the  <STRONG>gn</STRONG> (generic) capability so that programs can complain that they do
-       not know how to talk to the terminal.  (This capability does not  apply
-       to  <EM>virtual</EM>  terminal  descriptions  for which the escape sequences are
+       Terminal descriptions that do not represent a specific  kind  of  known
+       terminal,  such  as  <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and <EM>network</EM>, should include
+       the <STRONG>gn</STRONG> (generic) capability so that programs can complain that they  do
+       not  know how to talk to the terminal.  (This capability does not apply
+       to <EM>virtual</EM> terminal descriptions for which  the  escape  sequences  are
        known.)
 
        If the terminal has a "meta key" which acts as a shift key, setting the
-       8th  bit  of any character transmitted, this fact can be indicated with
-       <STRONG>km</STRONG>.  Otherwise, software will assume that the 8th bit is parity and  it
-       will  usually be cleared.  If strings exist to turn this "meta mode" on
+       8th bit of any character transmitted, this fact can be  indicated  with
+       <STRONG>km</STRONG>.   Otherwise, software will assume that the 8th bit is parity and it
+       will usually be cleared.  If strings exist to turn this "meta mode"  on
        and off, they can be given as <STRONG>smm</STRONG> and <STRONG>rmm</STRONG>.
 
        If the terminal has more lines of memory than will fit on the screen at
-       once,  the number of lines of memory can be indicated with <STRONG>lm</STRONG>.  A value
+       once, the number of lines of memory can be indicated with <STRONG>lm</STRONG>.  A  value
        of <STRONG>lm</STRONG>#0 indicates that the number of lines is not fixed, but that there
        is still more memory than fits on the screen.
 
-       If  the terminal is one of those supported by the Unix virtual terminal
+       If the terminal is one of those supported by the Unix virtual  terminal
        protocol, the terminal number can be given as <STRONG>vt</STRONG>.
 
-       Media copy strings which control an auxiliary printer connected to  the
-       terminal  can  be  given as <STRONG>mc0</STRONG>: print the contents of the screen, <STRONG>mc4</STRONG>:
-       turn off the printer, and <STRONG>mc5</STRONG>: turn on the printer.  When  the  printer
-       is  on,  all text sent to the terminal will be sent to the printer.  It
-       is undefined whether the text is also displayed on the terminal  screen
-       when  the  printer  is  on.   A variation <STRONG>mc5p</STRONG> takes one parameter, and
-       leaves the printer on for as  many  characters  as  the  value  of  the
+       Media  copy strings which control an auxiliary printer connected to the
+       terminal can be given as <STRONG>mc0</STRONG>: print the contents of  the  screen,  <STRONG>mc4</STRONG>:
+       turn  off  the printer, and <STRONG>mc5</STRONG>: turn on the printer.  When the printer
+       is on, all text sent to the terminal will be sent to the  printer.   It
+       is  undefined whether the text is also displayed on the terminal screen
+       when the printer is on.  A variation  <STRONG>mc5p</STRONG>  takes  one  parameter,  and
+       leaves  the  printer  on  for  as  many  characters as the value of the
        parameter, then turns the printer off.  The parameter should not exceed
-       255.  All text, including <STRONG>mc4</STRONG>, is transparently passed to  the  printer
+       255.   All  text, including <STRONG>mc4</STRONG>, is transparently passed to the printer
        while an <STRONG>mc5p</STRONG> is in effect.
 
 
 </PRE><H3><a name="h3-Glitches-and-Brain-Damage">Glitches and Brain Damage</a></H3><PRE>
-       Hazeltine  terminals, which do not allow "~" characters to be displayed
+       Hazeltine terminals, which do not allow "~" characters to be  displayed
        should indicate <STRONG>hz</STRONG>.
 
-       Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG>  wrap,  such
+       Terminals  which  ignore a line-feed immediately after an <STRONG>am</STRONG> wrap, such
        as the Concept and vt100, should indicate <STRONG>xenl</STRONG>.
 
-       If  <STRONG>el</STRONG>  is  required  to get rid of standout (instead of merely writing
+       If <STRONG>el</STRONG> is required to get rid of standout  (instead  of  merely  writing
        normal text on top of it), <STRONG>xhp</STRONG> should be given.
 
        Teleray terminals, where tabs turn all characters moved over to blanks,
-       should  indicate  <STRONG>xt</STRONG> (destructive tabs).  Note: the variable indicating
-       this  is  now  "dest_tabs_magic_smso";  in  older  versions,   it   was
-       teleray_glitch.   This  glitch  is  also  taken  to mean that it is not
-       possible to position the cursor on top of a  "magic  cookie",  that  to
-       erase  standout  mode  it is instead necessary to use delete and insert
+       should indicate <STRONG>xt</STRONG> (destructive tabs).  Note: the  variable  indicating
+       this   is   now  "dest_tabs_magic_smso";  in  older  versions,  it  was
+       teleray_glitch.  This glitch is also taken  to  mean  that  it  is  not
+       possible  to  position  the  cursor on top of a "magic cookie", that to
+       erase standout mode it is instead necessary to use  delete  and  insert
        line.  The <EM>ncurses</EM> implementation ignores this glitch.
 
-       The Beehive Superbee, which is unable to correctly transmit the  escape
-       or  control/C  characters,  has <STRONG>xsb</STRONG>, indicating that the f1 key is used
-       for escape and f2 for control/C.  (Only  certain  Superbees  have  this
-       problem,  depending on the ROM.)  Note that in older terminfo versions,
+       The  Beehive Superbee, which is unable to correctly transmit the escape
+       or control/C characters, has <STRONG>xsb</STRONG>, indicating that the f1  key  is  used
+       for  escape  and  f2  for control/C.  (Only certain Superbees have this
+       problem, depending on the ROM.)  Note that in older terminfo  versions,
        this capability was called "beehive_glitch"; it is now "no_esc_ctl_c".
 
-       Other specific terminal  problems  may  be  corrected  by  adding  more
+       Other  specific  terminal  problems  may  be  corrected  by adding more
        capabilities of the form <STRONG>x</STRONG><EM>x</EM>.
 
 
 </PRE><H3><a name="h3-Pitfalls-of-Long-Entries">Pitfalls of Long Entries</a></H3><PRE>
-       Long  terminfo  entries are unlikely to be a problem; to date, no entry
-       has  even  approached  terminfo's   4096-byte   string-table   maximum.
-       Unfortunately,  the termcap translations are much more strictly limited
+       Long terminfo entries are unlikely to be a problem; to date,  no  entry
+       has   even   approached   terminfo's  4096-byte  string-table  maximum.
+       Unfortunately, the termcap translations are much more strictly  limited
        (to 1023 bytes), thus termcap translations of long terminfo entries can
        cause problems.
 
-       The  man  pages  for  4.3BSD and older versions of <STRONG>tgetent</STRONG> instruct the
-       user to allocate a 1024-byte buffer for the termcap entry.   The  entry
-       gets  null-terminated by the termcap library, so that makes the maximum
-       safe length for a termcap entry 1k-1 (1023) bytes.  Depending  on  what
-       the  application  and the termcap library being used does, and where in
-       the termcap file the terminal type that <STRONG>tgetent</STRONG> is  searching  for  is,
+       The man pages for 4.3BSD and older versions  of  <STRONG>tgetent</STRONG>  instruct  the
+       user  to  allocate a 1024-byte buffer for the termcap entry.  The entry
+       gets null-terminated by the termcap library, so that makes the  maximum
+       safe  length  for a termcap entry 1k-1 (1023) bytes.  Depending on what
+       the application and the termcap library being used does, and  where  in
+       the  termcap  file  the terminal type that <STRONG>tgetent</STRONG> is searching for is,
        several bad things can happen:
 
        <STRONG>o</STRONG>   some termcap libraries print a warning message,
        Some application programs allocate more than the recommended 1K for the
        termcap entry; others do not.
 
-       Each termcap entry has two important sizes associated with  it:  before
-       "tc"  expansion, and after "tc" expansion.  "tc" is the capability that
+       Each  termcap  entry has two important sizes associated with it: before
+       "tc" expansion, and after "tc" expansion.  "tc" is the capability  that
        tacks on another termcap entry to the end of the current one, to add on
        its capabilities.  If a termcap entry does not use the "tc" capability,
        then of course the two lengths are the same.
 
-       The "before tc expansion" length is the most important one, because  it
-       affects  more than just users of that particular terminal.  This is the
-       length of the entry as it exists in /etc/termcap, minus the  backslash-
+       The  "before tc expansion" length is the most important one, because it
+       affects more than just users of that particular terminal.  This is  the
+       length  of the entry as it exists in /etc/termcap, minus the backslash-
        newline pairs, which <STRONG>tgetent</STRONG> strips out while reading it.  Some termcap
        libraries strip off the final newline, too (GNU termcap does not).  Now
        suppose:
 
        <STRONG>o</STRONG>   and the application has only allocated a 1k buffer,
 
-       <STRONG>o</STRONG>   and  the termcap library (like the one in BSD/OS 1.1 and GNU) reads
-           the whole entry into the buffer, no matter what its length, to  see
+       <STRONG>o</STRONG>   and the termcap library (like the one in BSD/OS 1.1 and GNU)  reads
+           the  whole entry into the buffer, no matter what its length, to see
            if it is the entry it wants,
 
-       <STRONG>o</STRONG>   and  <STRONG>tgetent</STRONG>  is  searching  for a terminal type that either is the
-           long entry, appears in the termcap file after the  long  entry,  or
-           does  not  appear in the file at all (so that <STRONG>tgetent</STRONG> has to search
+       <STRONG>o</STRONG>   and <STRONG>tgetent</STRONG> is searching for a terminal type  that  either  is  the
+           long  entry,  appears  in the termcap file after the long entry, or
+           does not appear in the file at all (so that <STRONG>tgetent</STRONG> has  to  search
            the whole termcap file).
 
-       Then <STRONG>tgetent</STRONG> will overwrite memory, perhaps  its  stack,  and  probably
-       core   dump   the  program.   Programs  like  telnet  are  particularly
-       vulnerable; modern telnets pass along values  like  the  terminal  type
-       automatically.   The  results  are almost as undesirable with a termcap
-       library, like SunOS 4.1.3 and Ultrix 4.4, that prints warning  messages
-       when  it  reads  an  overly  long  termcap entry.  If a termcap library
-       truncates long entries, like OSF/1 3.0, it is immune to dying here  but
+       Then  <STRONG>tgetent</STRONG>  will  overwrite  memory, perhaps its stack, and probably
+       core  dump  the  program.   Programs  like  telnet   are   particularly
+       vulnerable;  modern  telnets  pass  along values like the terminal type
+       automatically.  The results are almost as undesirable  with  a  termcap
+       library,  like SunOS 4.1.3 and Ultrix 4.4, that prints warning messages
+       when it reads an overly long  termcap  entry.   If  a  termcap  library
+       truncates  long entries, like OSF/1 3.0, it is immune to dying here but
        will return incorrect data for the terminal.
 
-       The  "after  tc  expansion"  length  will  have a similar effect to the
+       The "after tc expansion" length will  have  a  similar  effect  to  the
        above, but only for people who actually set <EM>TERM</EM> to that terminal type,
-       since  <STRONG>tgetent</STRONG>  only  does "tc" expansion once it is found the terminal
+       since <STRONG>tgetent</STRONG> only does "tc" expansion once it is  found  the  terminal
        type it was looking for, not while searching.
 
-       In summary, a termcap entry that is longer than 1023 bytes  can  cause,
-       on  various  combinations of termcap libraries and applications, a core
-       dump, warnings, or incorrect operation.  If it is too long even  before
-       "tc"  expansion,  it will have this effect even for users of some other
-       terminal types and users whose <EM>TERM</EM> variable does not  have  a  termcap
+       In  summary,  a termcap entry that is longer than 1023 bytes can cause,
+       on various combinations of termcap libraries and applications,  a  core
+       dump,  warnings, or incorrect operation.  If it is too long even before
+       "tc" expansion, it will have this effect even for users of  some  other
+       terminal  types  and  users whose <EM>TERM</EM> variable does not have a termcap
        entry.
 
-       When  in  -C (translate to termcap) mode, the <EM>ncurses</EM> implementation of
-       <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> issues warning messages when the pre-tc  length  of  a  termcap
-       translation  is  too  long.  The -c (check) option also checks resolved
+       When in -C (translate to termcap) mode, the <EM>ncurses</EM>  implementation  of
+       <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>  issues  warning  messages  when the pre-tc length of a termcap
+       translation is too long.  The -c (check) option  also  checks  resolved
        (after tc expansion) lengths.
 
 
 
 
 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
-       Searching   for   terminal   descriptions   in   <EM>$HOME/.terminfo</EM>    and
+       Searching    for   terminal   descriptions   in   <EM>$HOME/.terminfo</EM>   and
        <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> is not supported by older implementations.
 
-       Some  SVr4  <STRONG>curses</STRONG>  implementations,  and  all previous to SVr4, do not
+       Some SVr4 <STRONG>curses</STRONG> implementations, and all  previous  to  SVr4,  do  not
        interpret the %A and %O operators in parameter strings.
 
-       SVr4/XPG4 do not specify whether <STRONG>msgr</STRONG> licenses  movement  while  in  an
-       alternate-character-set  mode  (such modes may, among other things, map
-       CR and NL to characters  that  do  not  trigger  local  motions).   The
-       <EM>ncurses</EM>  implementation  ignores  <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode.  This raises
+       SVr4/XPG4  do  not  specify  whether <STRONG>msgr</STRONG> licenses movement while in an
+       alternate-character-set mode (such modes may, among other  things,  map
+       CR  and  NL  to  characters  that  do  not trigger local motions).  The
+       <EM>ncurses</EM> implementation ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG>  mode.   This  raises
        the  possibility  that  an  XPG4  implementation  making  the  opposite
-       interpretation  may need terminfo entries made for <EM>ncurses</EM> to have <STRONG>msgr</STRONG>
+       interpretation may need terminfo entries made for <EM>ncurses</EM> to have  <STRONG>msgr</STRONG>
        turned off.
 
        The <EM>ncurses</EM> library handles insert-character and insert-character modes
-       in  a  slightly  non-standard way to get better update efficiency.  See
+       in a slightly non-standard way to get better  update  efficiency.   See
        the <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG> subsection above.
 
-       The parameter substitutions for <STRONG>set_clock</STRONG>  and  <STRONG>display_clock</STRONG>  are  not
-       documented  in  SVr4 or the XSI Curses standard.  They are deduced from
+       The  parameter  substitutions  for  <STRONG>set_clock</STRONG> and <STRONG>display_clock</STRONG> are not
+       documented in SVr4 or the XSI Curses standard.  They are  deduced  from
        the documentation for the AT&amp;T 505 terminal.
 
-       Be careful assigning the <STRONG>kmous</STRONG> capability.  The <EM>ncurses</EM>  library  wants
-       to  interpret  it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals and emulators like
-       xterm that can return mouse-tracking information in the  keyboard-input
+       Be  careful  assigning the <STRONG>kmous</STRONG> capability.  The <EM>ncurses</EM> library wants
+       to interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals and  emulators  like
+       xterm  that can return mouse-tracking information in the keyboard-input
        stream.
 
-       X/Open  Curses  does  not  mention italics.  Portable applications must
-       assume that  numeric  capabilities  are  signed  16-bit  values.   This
-       includes  the  <EM>no</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>video</EM>  (<STRONG>ncv</STRONG>)  capability.  The 32768 mask value
-       used for italics with <STRONG>ncv</STRONG> can be confused with an absent  or  cancelled
-       <STRONG>ncv</STRONG>.   If  italics  should work with colors, then the <STRONG>ncv</STRONG> value must be
+       X/Open Curses does not mention  italics.   Portable  applications  must
+       assume  that  numeric  capabilities  are  signed  16-bit  values.  This
+       includes the <EM>no</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>video</EM> (<STRONG>ncv</STRONG>) capability.   The  32768  mask  value
+       used  for  italics with <STRONG>ncv</STRONG> can be confused with an absent or cancelled
+       <STRONG>ncv</STRONG>.  If italics should work with colors, then the <STRONG>ncv</STRONG>  value  must  be
        specified, even if it is zero.
 
-       Different commercial ports of <EM>terminfo</EM>  and  <EM>curses</EM>  support  different
-       subsets  of  XSI Curses and (in some cases) different extensions.  Here
-       is a summary, accurate as of October 1995, after which  the  commercial
+       Different  commercial  ports  of  <EM>terminfo</EM> and <EM>curses</EM> support different
+       subsets of XSI Curses and (in some cases) different  extensions.   Here
+       is  a  summary, accurate as of October 1995, after which the commercial
        Unix market contracted and lost diversity.
 
        <STRONG>o</STRONG>   SVr4, Solaris, and <EM>ncurses</EM> support all SVr4 capabilities.
 
-       <STRONG>o</STRONG>   IRIX  supports  the  SVr4  set  and  adds one undocumented extended
+       <STRONG>o</STRONG>   IRIX supports the SVr4  set  and  adds  one  undocumented  extended
            string capability (<STRONG>set_pglen</STRONG>).
 
-       <STRONG>o</STRONG>   SVr1  and  Ultrix  support  a   restricted   subset   of   <EM>terminfo</EM>
-           capabilities.   The  Booleans  end with <STRONG>xon_xoff</STRONG>; the numerics with
+       <STRONG>o</STRONG>   SVr1   and   Ultrix   support   a  restricted  subset  of  <EM>terminfo</EM>
+           capabilities.  The Booleans end with <STRONG>xon_xoff</STRONG>;  the  numerics  with
            <STRONG>width_status_line</STRONG>; and the strings with <STRONG>prtr_non</STRONG>.
 
-       <STRONG>o</STRONG>   HP/UX  supports  the  SVr1  subset,  plus  the  SVr[234]   numerics
-           <STRONG>num_labels</STRONG>,   <STRONG>label_height</STRONG>,  <STRONG>label_width</STRONG>,  plus  function  keys  11
-           through 63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and <STRONG>label_off</STRONG>, plus a  number
+       <STRONG>o</STRONG>   HP/UX   supports  the  SVr1  subset,  plus  the  SVr[234]  numerics
+           <STRONG>num_labels</STRONG>,  <STRONG>label_height</STRONG>,  <STRONG>label_width</STRONG>,  plus  function  keys   11
+           through  63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and <STRONG>label_off</STRONG>, plus a number
            of incompatible string table extensions.
 
-       <STRONG>o</STRONG>   AIX  supports  the  SVr1  subset, plus function keys 11 through 63,
+       <STRONG>o</STRONG>   AIX supports the SVr1 subset, plus function  keys  11  through  63,
            plus a number of incompatible string table extensions.
 
        <STRONG>o</STRONG>   OSF/1 supports both the SVr4 set and the AIX extensions.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       Do not count on  compiled  (binary)  <EM>terminfo</EM>  entries  being  portable
-       between  commercial  Unix  systems.   At  least  two implementations of
+       Do  not  count  on  compiled  (binary)  <EM>terminfo</EM> entries being portable
+       between commercial Unix  systems.   At  least  two  implementations  of
        <EM>terminfo</EM> (those of HP-UX and AIX) diverged from those of other System V
-       Unices  after  SVr1,  adding extension capabilities to the string table
-       that (in the binary format) collide with subsequent System  V  and  XSI
+       Unices after SVr1, adding extension capabilities to  the  string  table
+       that  (in  the  binary format) collide with subsequent System V and XSI
        Curses extensions.
 
 
 
 
 </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="tabs.1.html">tabs(1)</A></STRONG>,    <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>,    <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,     <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,  <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,  <STRONG>printf(3)</STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>,
+       <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,     <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>,    <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>,    <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,    <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,  <STRONG>printf(3)</STRONG>,  <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>,
        <STRONG><A HREF="term.5.html">term(5)</A></STRONG>, <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
 
 
 
-ncurses 6.4                       2023-12-30                       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ncurses 6.4                       2024-01-13                       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 16f073171496e634318871a4efb6b735620c78a8..7faba61324187ff04fecf9e37dd68253394beae3 100644 (file)
@@ -1,7 +1,7 @@
 <!--
   * t
   ****************************************************************************
-  * Copyright 2019-2022,2023 Thomas E. Dickey                                *
+  * Copyright 2019-2023,2024 Thomas E. Dickey                                *
   * Copyright 1998-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: toe.1m,v 1.59 2023/12/16 21:01:59 tom Exp @
-  * toe -a | grep -E '^(xterm|vt)'
-  * The next row overruns the line length on DWB nroff (65n).
-  * toe -as | grep -E '(^-+&gt;|:.(xterm|vt))'
-  * The next row overruns the line length on DWB nroff (65n).
-  * The next row overruns the line length on DWB nroff (65n).
+  * @Id: toe.1m,v 1.62 2024/01/13 22:05:39 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 https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>toe 1m 2023-12-16 ncurses 6.4 User commands</TITLE>
+<TITLE>toe 1m 2024-01-13 ncurses 6.4 User commands</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">toe 1m 2023-12-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">toe 1m 2024-01-13 ncurses 6.4 User commands</H1>
 <PRE>
 <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>                          User commands                         <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
 
               compiled terminal description database
 
 
-</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
        <STRONG>toe</STRONG>  is  not provided by other implementations.  There is no applicable
        X/Open or POSIX standard for it.
 
-       It replaces a <STRONG>-T</STRONG> option that  was  briefly  supported  by  the  <EM>ncurses</EM>
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       <STRONG>toe</STRONG> replaces a <STRONG>-T</STRONG> option that was  briefly  supported  by  the  <EM>ncurses</EM>
        <STRONG>infocmp</STRONG> utility in 1995.
 
        The <STRONG>-a</STRONG> and <STRONG>-s</STRONG> options were added in 2006 and 2011, respectively.
            xterm-r6        xterm X11R6 version
            xterm-r5        xterm R5 version
            xterm-mono      monochrome xterm
-           xterm           xterm terminal emulator (X Window System)
+           xterm           xterm terminal emulator (X Window
+                           System)
            vt220           dec vt220
            vt102           dec vt102
            vt100           dec vt100 (w/advanced video)
            vt52            dec vt52
            ...
 
-       Use  the  <STRONG>-a</STRONG>  and  <STRONG>-s</STRONG>  options  together  to  show  where each terminal
+       Use the <STRONG>-a</STRONG>  and  <STRONG>-s</STRONG>  options  together  to  show  where  each  terminal
        description was found.
 
            --&gt; /etc/terminfo
            --*---: vt102           dec vt102
            --*---: vt220           dec vt220
            --*---: vt52            dec vt52
-           --*---: xterm           xterm terminal emulator (X Window System)
+           --*---: xterm           xterm terminal emulator (X
+                                   Window System)
            --*---: xterm-256color  xterm with 256 colors
            --*---: xterm-color     generic color xterm
            --*---: xterm-mono      monochrome xterm
            --*---: xterm-r5        xterm R5 version
            --*---: xterm-r6        xterm X11R6 version
            --*---: xterm-vt220     xterm emulating vt220
-           --*---: xterm-xfree86   xterm terminal emulator (XFree86)
+           --*---: xterm-xfree86   xterm terminal emulator
+                                   (XFree86)
            ...
 
 
 
 
 
-ncurses 6.4                       2023-12-16                           <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
+ncurses 6.4                       2024-01-13                           <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -197,6 +197,7 @@ ncurses 6.4                       2023-12-16                           <STRONG><
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-OPTIONS">OPTIONS</a></li>
 <li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-HISTORY">HISTORY</a></li>
 <li><a href="#h2-EXAMPLES">EXAMPLES</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
index ecca62eb59eecc3bc7157804129d3d0ec8dd7841..8f5fbb361a5d74f7d0e505340f62add8a379a392 100644 (file)
@@ -1,7 +1,7 @@
 <!--
   * t
   ****************************************************************************
-  * Copyright 2018-2022,2023 Thomas E. Dickey                                *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
   * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: tput.1,v 1.97 2023/12/31 00:16:41 tom Exp @
-  * longname was added in October 1989.
+  * @Id: tput.1,v 1.102 2024/01/13 22:47:16 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 https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tput 1 2023-12-30 ncurses 6.4 User commands</TITLE>
+<TITLE>tput 1 2024-01-13 ncurses 6.4 User commands</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">tput 1 2023-12-30 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tput 1 2024-01-13 ncurses 6.4 User commands</H1>
 <PRE>
 <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>                          User commands                         <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
 
@@ -49,7 +48,8 @@
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>tput</STRONG>, <STRONG>reset</STRONG> - initialize a terminal or query <EM>terminfo</EM> database
+       <STRONG>tput</STRONG>,  <STRONG>init</STRONG>,  <STRONG>reset</STRONG> - initialize a terminal, exercise its capabilities,
+       or query <EM>terminfo</EM> database
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       <STRONG>tput</STRONG>  uses  the  <EM>terminfo</EM>  library  and  database to make the values of
-       terminal-specific capabilities and information available to the  shell,
-       to  initialize  or  reset  the terminal, or report the long name of the
-       current (or  specified)  terminal  type.   When  retrieving  capability
-       values, the result depends upon the capability's type.
+       <STRONG>tput</STRONG> uses the <EM>terminfo</EM> library and database to  make  terminal-specific
+       capabilities  and  information available to the shell, to initialize or
+       reset the terminal, or to report  a  description  of  the  current  (or
+       specified)  terminal  type.  Terminal capabilities are accessed by <EM>cap-</EM>
+       <EM>code</EM>.
 
-       Boolean  <STRONG>tput</STRONG>  sets its exit status to <STRONG>0</STRONG> if the terminal possesses <EM>cap-</EM>
+       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> discusses terminal capabilities at length  and  presents  a
+       complete list of <EM>cap-codes.</EM>
+
+       When   retrieving  capability  values,  the  result  depends  upon  the
+       capability's type.
+
+       Boolean  <STRONG>tput</STRONG> sets its exit status to <STRONG>0</STRONG> if the terminal possesses  <EM>cap-</EM>
                 <EM>code,</EM> and <STRONG>1</STRONG> if it does not.
 
-       integer  <STRONG>tput</STRONG> writes <EM>cap-code</EM>'s decimal value to  the  standard  output
+       numeric  <STRONG>tput</STRONG>  writes  <EM>cap-code</EM>'s  decimal value to the standard output
                 stream if defined (<STRONG>-1</STRONG> if it is not) followed by a newline.
 
-       string   <STRONG>tput</STRONG>  writes <EM>cap-code</EM>'s value to the standard output stream if
+       string   <STRONG>tput</STRONG> writes <EM>cap-code</EM>'s value to the standard output stream  if
                 defined, without a trailing newline.
 
-       Before using a value returned on the standard output,  the  application
-       should  test  <STRONG>tput</STRONG>'s exit status (for example, using <STRONG>$?</STRONG> in <STRONG>sh(1)</STRONG>) to be
-       sure it is <STRONG>0</STRONG>; see sections "EXIT STATUS" and "DIAGNOSTICS" below.   For
-       a complete list of <EM>cap-codes,</EM> see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
-
-
-</PRE><H3><a name="h3-Options">Options</a></H3><PRE>
-       <STRONG>-S</STRONG>     allows  more  than  one  capability per invocation of <STRONG>tput</STRONG>.  The
-              capabilities must be passed to  <STRONG>tput</STRONG>  from  the  standard  input
-              instead  of  from the command line (see example).  Only one <EM>cap-</EM>
-              <EM>code</EM> is allowed per line.  The <STRONG>-S</STRONG> option changes the meaning  of
-              the  <STRONG>0</STRONG> and <STRONG>1</STRONG> Boolean and string exit statuses (see section "EXIT
-              STATUS" below).
-
-              Because some capabilities may use <EM>string</EM> parameters rather  than
-              <EM>numbers</EM>, <STRONG>tput</STRONG> uses a table and the presence of parameters in its
-              input to decide whether to use <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>, and how  to  interpret
-              the parameters.
-
-       <STRONG>-T</STRONG><EM>type</EM> indicates  the  <EM>type</EM>  of  terminal.   Normally  this  option  is
-              unnecessary, because the default is taken from  the  environment
-              variable  <EM>TERM</EM>.   If  <STRONG>-T</STRONG>  is specified, then the shell variables
-              <EM>LINES</EM> and <EM>COLUMNS</EM> will also be ignored.
-
-       <STRONG>-V</STRONG>     reports the version of <EM>ncurses</EM> which was used in  this  program,
-              and exits.
-
-       <STRONG>-x</STRONG>     prevents <STRONG>tput</STRONG> from attempting to clear the scrollback buffer.
+       Before  using  a value returned on the standard output, the application
+       should test <STRONG>tput</STRONG>'s exit status to be sure it is 0;  see  section  "EXIT
+       STATUS" below.
 
 
-</PRE><H3><a name="h3-Commands">Commands</a></H3><PRE>
-       A few commands (<STRONG>init</STRONG>, <STRONG>reset</STRONG> and <STRONG>longname</STRONG>) are special; they are defined
-       by the <STRONG>tput</STRONG> program.  The others are the names of <EM>capabilities</EM> from the
-       terminal  database  (see  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  for  a list).  Although <STRONG>init</STRONG> and
-       <STRONG>reset</STRONG> resemble capability names,  <STRONG>tput</STRONG>  uses  several  capabilities  to
-       perform these special functions.
+</PRE><H3><a name="h3-Operands">Operands</a></H3><PRE>
+       Generally,  an  operand  is  a  <EM>cap-code,</EM>  a  capability  code from the
+       terminal database, or a parameter thereto.  Three others are  specially
+       recognized by <STRONG>tput</STRONG>: <STRONG>init</STRONG>, <STRONG>reset</STRONG>, and <STRONG>longname</STRONG>.  Although these resemble
+       capability codes, they in fact receive special handling; we  term  them
+       "pseudo-capabilities".
 
-       <EM>cap-code</EM>
-              indicates the capability from the terminal database.
+       <EM>cap-code</EM>   indicates a capability from the terminal database.
 
-              If  the  capability  is  a  string  that  takes  parameters, the
-              arguments following the capability will be  used  as  parameters
-              for the string.
+                  If  the  capability  is of string type and takes parameters,
+                  the arguments following the capability will be used  as  its
+                  parameters.
 
-              Most  parameters  are numbers.  Only a few terminal capabilities
-              require string parameters; <STRONG>tput</STRONG> uses a table to decide which  to
-              pass  as  strings.   Normally <STRONG>tput</STRONG> uses <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> to perform the
-              substitution.  If no parameters are given  for  the  capability,
-              <STRONG>tput</STRONG> writes the string without performing the substitution.
+                  Most   parameters   are   numeric.    Only  a  few  terminal
+                  capabilities require string parameters; <STRONG>tput</STRONG> uses a table to
+                  decide  which  to  pass  as  strings.   Normally  <STRONG>tput</STRONG>  uses
+                  <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> to perform the substitution.  If no parameters are
+                  given  for  the  capability,  <STRONG>tput</STRONG> writes the string without
+                  performing the substitution.
 
-       <STRONG>init</STRONG>   If  the terminal database is present and an entry for the user's
-              terminal exists (see <STRONG>-T</STRONG><EM>type</EM>, above), the following will occur:
+       <STRONG>init</STRONG>       initializes the  terminal.   If  the  terminal  database  is
+                  present  and  an  entry for the user's terminal type exists,
+                  the following occur.
 
-              (1)  first, <STRONG>tput</STRONG> retrieves the current  terminal  mode  settings
-                   for your terminal.  It does this by successively testing
+                  (1)  <STRONG>tput</STRONG>  retrieves  the  terminal's  mode  settings.    It
+                       successively  tests  the file descriptors corresponding
+                       to
 
-                   <STRONG>o</STRONG>   the standard error,
+                       <STRONG>o</STRONG>   the standard error stream,
 
-                   <STRONG>o</STRONG>   standard output,
+                       <STRONG>o</STRONG>   the standard output stream,
 
-                   <STRONG>o</STRONG>   standard input and
+                       <STRONG>o</STRONG>   the standard input stream, and
 
-                   <STRONG>o</STRONG>   ultimately "/dev/tty"
+                       <STRONG>o</STRONG>   <EM>/dev/tty</EM>
 
-                   to   obtain  terminal  settings.   Having  retrieved  these
-                   settings, <STRONG>tput</STRONG> remembers which file descriptor to use  when
-                   updating settings.
+                       to obtain terminal settings.   Having  retrieved  them,
+                       <STRONG>tput</STRONG>  remembers  which  descriptor  to  use for further
+                       updates.
 
-              (2)  if  the  window  size cannot be obtained from the operating
-                   system, but the terminal description (or environment, e.g.,
-                   <EM>LINES</EM>  and  <EM>COLUMNS</EM>  variables  specify  this),  update the
-                   operating system's notion of the window size.
+                  (2)  If the terminal dimensions cannot be obtained from  the
+                       operating  system, but the environment or terminal type
+                       database  entry  describes  them,  <STRONG>tput</STRONG>   updates   the
+                       operating system's notion of them.
 
-              (3)  the terminal modes will be updated:
+                  (3)  <STRONG>tput</STRONG> updates the terminal modes.
 
-                   <STRONG>o</STRONG>   any delays (e.g., newline) specified in the entry  will
-                       be set in the tty driver,
+                       <STRONG>o</STRONG>   Any  delays  specified  in  the entry (for example,
+                           when a newline is sent) are  set  in  the  terminal
+                           driver.
 
-                   <STRONG>o</STRONG>   tabs  expansion  will  be turned on or off according to
-                       the specification in the entry, and
+                       <STRONG>o</STRONG>   Tab   expansion   is  turned  on  or  off  per  the
+                           specification in the entry, and
 
-                   <STRONG>o</STRONG>   if tabs are not expanded, standard  tabs  will  be  set
-                       (every 8 spaces).
+                       <STRONG>o</STRONG>   if tabs are not expanded, standard  tabs  (every  8
+                           spaces) are set.
 
-              (4)  if  present,  the terminal's initialization strings will be
-                   output as detailed in the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> section on  <EM>Tabs</EM>  <EM>and</EM>
-                   <EM>Initialization</EM>,
+                  (4)  If  initialization capabilities, detailed in subsection
+                       "Tabs and Initialization" of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, are  present,
+                       <STRONG>tput</STRONG> writes them to the standard output stream.
 
-              (5)  output is flushed.
+                  (5)  <STRONG>tput</STRONG> flushes the standard output stream.
 
-              If  an  entry does not contain the information needed for any of
-              these activities, that activity will silently be skipped.
+                  If  an  entry  lacks  the information needed for an activity
+                  above, that activity is silently skipped.
 
-       <STRONG>reset</STRONG>  This is similar to <STRONG>init</STRONG>, with two differences:
+       <STRONG>reset</STRONG>      re-initializes  the  terminal.    A   reset   differs   from
+                  initialization in two ways.
 
-              (1)  before any other initialization, the terminal modes will be
-                   reset to a "sane" state:
+                  (1)  <STRONG>tput</STRONG> sets the the terminal modes to a "sane" state,
 
-                   <STRONG>o</STRONG>   set cooked and echo modes,
+                       <STRONG>o</STRONG>   enabling cooked and echo modes,
 
-                   <STRONG>o</STRONG>   turn off cbreak and raw modes,
+                       <STRONG>o</STRONG>   disabling cbreak and raw modes,
 
-                   <STRONG>o</STRONG>   turn on newline translation and
+                       <STRONG>o</STRONG>   enabling newline translation, and
 
-                   <STRONG>o</STRONG>   reset  any  unset  special  characters to their default
-                       values
+                       <STRONG>o</STRONG>   setting  any  unset  special  characters  to  their
+                           default values.
 
-              (2)  Instead  of  putting  out   <EM>initialization</EM>   strings,   the
-                   terminal's  <EM>reset</EM>  strings  will be output if present (<STRONG>rs1</STRONG>,
-                   <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, <STRONG>rf</STRONG>).  If the <EM>reset</EM> strings are not  present,  but
-                   <EM>initialization</EM> strings are, the <EM>initialization</EM> strings will
-                   be output.
+                  (2)  If any reset capabilities are defined for the  terminal
+                       type,   <STRONG>tput</STRONG>   writes   them   to  the  output  stream.
+                       Otherwise,  <STRONG>tput</STRONG>  uses   any   defined   initialization
+                       capabilities.    Reset  capabilities  are  detailed  in
+                       subsection "Tabs and Initialization" of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-              Otherwise, <STRONG>reset</STRONG> acts identically to <STRONG>init</STRONG>.
+       <STRONG>longname</STRONG>   A <EM>terminfo</EM> entry begins with one or more names by  which  an
+                  application  can  refer  to  the  entry,  before the list of
+                  terminal capabilities.   The  names  are  separated  by  "|"
+                  characters.   X/Open  Curses  terms  the last name the "long
+                  name", and indicates that it may include blanks.
 
-       <STRONG>longname</STRONG>
-              A terminfo entry begins with one  or  more  names  by  which  an
-              application  can refer to the entry, before the list of terminal
-              capabilities.   The  names  are  separated  by  "|"  characters.
-              X/Open  states  that  the  last name is the "long name" and also
-              that it may include blanks.
+                  <STRONG>tic</STRONG> warns if the last  name  does  not  include  blanks,  to
+                  accommodate  old <EM>terminfo</EM> entries that treated the long name
+                  as an optional feature.  The long name is often referred  to
+                  as the description field.
 
-              <STRONG>tic</STRONG>  warns  if  the  last  name  does  not  include  blanks,  to
-              accommodate  old terminfo entries which treated the long name as
-              an optional feature.  The long name is often referred to as  the
-              description field.
+                  If  the  terminal  database  is present and an entry for the
+                  user's terminal type exists, <STRONG>tput</STRONG> reports its description to
+                  the standard output stream, without a trailing newline.  See
+                  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-              If  the terminal database is present and an entry for the user's
-              terminal exists (see <STRONG>-T</STRONG> <EM>type</EM> above), <STRONG>tput</STRONG> reports the terminal's
-              description  (or  "long name") to the standard output, without a
-              trailing newline.  See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+       <EM>Note:</EM> Redirecting the output of "<STRONG>tput</STRONG> <STRONG>init</STRONG>" or "<STRONG>tput</STRONG> <STRONG>reset</STRONG>" to  a  file
+       will capture only part of their actions.  Changes to the terminal modes
+       are not affected by file descriptor  redirection,  since  the  terminal
+       modes are altered via <STRONG>ioctl(2)</STRONG>.
 
 
 </PRE><H3><a name="h3-Aliases">Aliases</a></H3><PRE>
-       <STRONG>tput</STRONG> handles the <STRONG>clear</STRONG>, <STRONG>init</STRONG> and <STRONG>reset</STRONG> commands  specially:  it  allows
-       for the possibility that it is invoked by a link with those names.
+       If  <STRONG>tput</STRONG>  is  invoked  via  link  with any of the names <STRONG>clear</STRONG>, <STRONG>init</STRONG>, or
+       <STRONG>reset</STRONG>, it operates as if run with the corresponding (pseudo-)capability
+       operand.  For example, executing a link named <STRONG>reset</STRONG> that points to <STRONG>tput</STRONG>
+       has the same effect as "<STRONG>tput</STRONG> <STRONG>reset</STRONG>".  (The <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> utility also  treats
+       a link named <STRONG>reset</STRONG> specially.)
 
-       If  <STRONG>tput</STRONG>  is invoked by a link named <STRONG>reset</STRONG>, this has the same effect as
-       <STRONG>tput</STRONG> <STRONG>reset</STRONG>.  The  <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>  utility  also  treats  a  link  named  <STRONG>reset</STRONG>
-       specially.
-
-       Before <EM>ncurses</EM> 6.1, the two utilities were different from each other:
-
-       <STRONG>o</STRONG>   <STRONG>tset</STRONG>  utility  reset the terminal modes and special characters (not
-           done with <STRONG>tput</STRONG>).
+       If  <STRONG>tput</STRONG>  is  invoked by a link named <STRONG>init</STRONG>, this has the same effect as
+       "<STRONG>tput</STRONG> <STRONG>init</STRONG>".  Such a link is seldom employed because another program of
+       that name is in widespread use.
 
-       <STRONG>o</STRONG>   On the other hand, <STRONG>tset</STRONG>'s repertoire of terminal  capabilities  for
-           resetting  the terminal was more limited, i.e., only <STRONG>reset_1string</STRONG>,
-           <STRONG>reset_2string</STRONG> and <STRONG>reset_file</STRONG>  in  contrast  to  the  tab-stops  and
-           margins which are set by this utility.
 
-       <STRONG>o</STRONG>   The  <STRONG>reset</STRONG>  program  is  usually an alias for <STRONG>tset</STRONG>, because of this
-           difference with resetting terminal modes and special characters.
+</PRE><H3><a name="h3-Terminal-Size">Terminal Size</a></H3><PRE>
+       Besides  the  pseudo-capabilities (such as <STRONG>init</STRONG>), <STRONG>tput</STRONG> treats the <STRONG>lines</STRONG>
+       and <STRONG>cols</STRONG> <EM>cap-codes</EM> specially: it may call <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to  obtain  the
+       terminal size.
 
-       With the changes made for <EM>ncurses</EM> 6.1, the <EM>reset</EM>  feature  of  the  two
-       programs is (mostly) the same.  A few differences remain:
+       <STRONG>o</STRONG>   First, <STRONG>tput</STRONG> attempts to obtain these capabilities from the terminal
+           database.  This generally fails for terminal emulators, which  lack
+           a fixed window size and thus omit the capabilities.
 
-       <STRONG>o</STRONG>   The  <STRONG>tset</STRONG>  program  waits  one  second  when  resetting, in case it
-           happens to be a hardware terminal.
+       <STRONG>o</STRONG>   It  then  asks  the operating system for the terminal's size, which
+           generally works, unless the connection is via a  serial  line  that
+           does not support "NAWS": negotiations about window size.
 
-       <STRONG>o</STRONG>   The two programs  write  the  terminal  initialization  strings  to
-           different  streams  (i.e.,  the  standard  error  for  <STRONG>tset</STRONG> and the
-           standard output for <STRONG>tput</STRONG>).
+       <STRONG>o</STRONG>   Finally,  it  inspects the environment variables <EM>LINES</EM> and <EM>COLUMNS,</EM>
+           which may override the terminal size.
 
-           <STRONG>Note:</STRONG>  although  these  programs  write   to   different   streams,
-           redirecting  their output to a file will capture only part of their
-           actions.  The changes to the terminal modes  are  not  affected  by
-           redirecting the output.
+       If the <STRONG>-T</STRONG> option is given, <STRONG>tput</STRONG> ignores the  environment  variables  by
+       calling  <STRONG>use_tioctl(TRUE)</STRONG>,  relying  upon  the  operating  system  (or,
+       ultimately, the terminal database).
 
-       If  <STRONG>tput</STRONG>  is  invoked by a link named <STRONG>init</STRONG>, this has the same effect as
-       <STRONG>tput</STRONG> <STRONG>init</STRONG>.  Again, you are less likely to use that link because another
-       program named <STRONG>init</STRONG> has a more well-established use.
 
+</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
+       <STRONG>-S</STRONG>       retrieves more than one capability  per  invocation  of  <STRONG>tput</STRONG>.
+                The  capabilities  must  be  passed  to <STRONG>tput</STRONG> from the standard
+                input stream instead of from the  command  line  (see  section
+                "EXAMPLES"  below).   Only  one  <EM>cap-code</EM> is allowed per line.
+                The <STRONG>-S</STRONG> option changes  the  meanings  of  the  <STRONG>0</STRONG>  and  <STRONG>1</STRONG>  exit
+                statuses (see section "EXIT STATUS" below).
 
-</PRE><H3><a name="h3-Terminal-Size">Terminal Size</a></H3><PRE>
-       Besides  the  special  commands  (e.g.,  <STRONG>clear</STRONG>),  tput  treats  certain
-       terminfo  capabilities  specially:  <STRONG>lines</STRONG>   and   <STRONG>cols</STRONG>.    tput   calls
-       <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to obtain the terminal size:
+                Some  capabilities  use  string parameters rather than numeric
+                ones.  <STRONG>tput</STRONG> employs a  built-in  table  and  the  presence  of
+                parameters  in  its input to decide how to interpret them, and
+                whether to use <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>.
 
-       <STRONG>o</STRONG>   first, it gets the size from the terminal database (which generally
-           is not provided for terminal emulators which do not  have  a  fixed
-           window size)
+       <STRONG>-T</STRONG> <EM>type</EM>  indicates  the  terminal's  <EM>type.</EM>   Normally  this  option  is
+                unnecessary,   because  a  default  is  taken  from  the  <EM>TERM</EM>
+                environment variable.  If specified, the environment variables
+                <EM>LINES</EM> and <EM>COLUMNS</EM> are also ignored.
 
-       <STRONG>o</STRONG>   then  it  asks  the operating system for the terminal's size (which
-           generally works, unless connecting via a serial line which does not
-           support <EM>NAWS</EM>: negotiations about window size).
+       <STRONG>-V</STRONG>       reports the version of <EM>ncurses</EM> associated with <STRONG>tput</STRONG>, and exits
+                with a successful status.
 
-       <STRONG>o</STRONG>   finally,  it  inspects  the environment variables <EM>LINES</EM> and <EM>COLUMNS</EM>
-           which may override the terminal size.
-
-       If the <STRONG>-T</STRONG> option is given tput ignores  the  environment  variables  by
-       calling   <STRONG>use_tioctl(TRUE)</STRONG>,  relying  upon  the  operating  system  (or
-       finally, the terminal database).
+       <STRONG>-x</STRONG>       prevents "<STRONG>tput</STRONG> <STRONG>clear</STRONG>" from attempting to clear the  scrollback
+                buffer.
 
 
 </PRE><H2><a name="h2-EXIT-STATUS">EXIT STATUS</a></H2><PRE>
-       If the <STRONG>-S</STRONG> option is used, <STRONG>tput</STRONG> checks for errors from each line, and if
-       any  errors are found, will set the exit status to 4 plus the number of
-       lines with errors.  If no errors are found, the exit status is  <STRONG>0</STRONG>.   No
-       indication  of  which  line  failed  can be given so exit status <STRONG>1</STRONG> will
-       never  appear.   Exit  statuses  <STRONG>2</STRONG>,  <STRONG>3</STRONG>,  and  <STRONG>4</STRONG>  retain   their   usual
-       interpretation.   If the <STRONG>-S</STRONG> option is not used, the exit status depends
-       on the type of <EM>cap-code</EM>:
-
-          <EM>Boolean</EM>
-                 a value of <STRONG>0</STRONG> is set for TRUE and <STRONG>1</STRONG> for FALSE.
+       Normally, one should interpret <STRONG>tput</STRONG>'s exit statuses as follows.
 
-          <EM>string</EM> a value of <STRONG>0</STRONG> is set if  the  <EM>cap-code</EM>  is  defined  for  this
-                 terminal  <EM>type</EM> (the value of <EM>cap-code</EM> is returned on standard
-                 output); a value of <STRONG>1</STRONG> is set if <EM>cap-code</EM> is not  defined  for
-                 this terminal <EM>type</EM> (nothing is written to standard output).
-
-          <EM>integer</EM>
-                 a  value  of  <STRONG>0</STRONG>  is  always  set,  whether or not <EM>cap-code</EM> is
-                 defined for this terminal <EM>type</EM>.  To determine if <EM>cap-code</EM>  is
-                 defined  for this terminal <EM>type</EM>, the user must test the value
-                 written to standard output.  A value of <STRONG>-1</STRONG>  means  that  <EM>cap-</EM>
-                 <EM>code</EM> is not defined for this terminal <EM>type</EM>.
+       <STRONG>Status</STRONG>   <STRONG>Meaning</STRONG> <STRONG>When</STRONG> <STRONG>-S</STRONG> <STRONG>Not</STRONG> <STRONG>Specified</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>0</STRONG>        Boolean or string capability present
+       <STRONG>1</STRONG>        Boolean or numeric capability absent
+       <STRONG>2</STRONG>        usage error or no terminal type specified
+       <STRONG>3</STRONG>        unrecognized terminal type
+       <STRONG>4</STRONG>        unrecognized capability code
+       <STRONG>&gt;4</STRONG>       system error (4 + <STRONG>errno</STRONG>)
 
-          <EM>other</EM>  <STRONG>reset</STRONG>  or  <STRONG>init</STRONG>  may fail to find their respective files.  In
-                 that case, the exit status is set to 4 + <STRONG>errno</STRONG>.
+       When the <STRONG>-S</STRONG> option is used, some statuses change meanings.
 
-       Any other exit status indicates an  error;  see  section  "DIAGNOSTICS"
-       below.
+       <STRONG>Status</STRONG>   <STRONG>Meaning</STRONG> <STRONG>When</STRONG> <STRONG>-S</STRONG> <STRONG>Specified</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>0</STRONG>        all operands interpreted
+       <STRONG>1</STRONG>        unused
+       <STRONG>4</STRONG>        some operands not interpreted
 
 
-</PRE><H2><a name="h2-DIAGNOSTICS">DIAGNOSTICS</a></H2><PRE>
-       <STRONG>tput</STRONG>  prints  the  following  error messages and sets the corresponding
-       exit statuses.
+</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
+       <STRONG>tput</STRONG> command reads one environment variable.
 
-       exit status   error message
-       ------------------------------------------------------------------------
-       <STRONG>0</STRONG>             (<EM>cap-code</EM> is a numeric variable that is not specified  in
-                     the  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  database  for  this terminal type, e.g.
-                     <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>lines</STRONG> and <STRONG>tput</STRONG> <STRONG>-Thp2621</STRONG> <STRONG>xmc</STRONG>)
-       <STRONG>1</STRONG>             no error message is printed, see the <STRONG>EXIT</STRONG> <STRONG>STATUS</STRONG> section.
-       <STRONG>2</STRONG>             usage error
-       <STRONG>3</STRONG>             unknown terminal <EM>type</EM> or no <EM>terminfo</EM> database
-       <STRONG>4</STRONG>             unknown <EM>terminfo</EM> capability <EM>cap-code</EM>
-       <STRONG>&gt;4</STRONG>            error occurred in -S
-       ------------------------------------------------------------------------
+       <EM>TERM</EM>    denotes  the  terminal  type.   Each terminal type is distinct,
+               though many are similar.  The <STRONG>-T</STRONG> option overrides its value.
 
 
 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       This implementation of <STRONG>tput</STRONG> differs from AT&amp;T  <STRONG>tput</STRONG>  in  two  important
-       areas:
+       Over time <EM>ncurses</EM> <STRONG>tput</STRONG> has  differed  from  that  of  System V  in  two
+       important respects, one now mostly historical.
 
-       <STRONG>o</STRONG>   <STRONG>tput</STRONG>  <EM>cap-code</EM>  writes  to the standard output.  That need not be a
-           regular  terminal.   However,  the  subcommands  which   manipulate
-           terminal modes may not use the standard output.
+       <STRONG>o</STRONG>   "<STRONG>tput</STRONG>  <EM>cap-code</EM>" writes to the standard output, which need not be a
+           terminal device.  However, the operands  that  manipulate  terminal
+           modes might not use the standard output.
 
-           The  AT&amp;T  implementation's  <STRONG>init</STRONG>  and  <STRONG>reset</STRONG>  commands use the BSD
-           (4.1c)  <STRONG>tset</STRONG>  source,  which  manipulates   terminal   modes.    It
-           successively  tries standard output, standard error, standard input
-           before falling back to "/dev/tty" and finally just assumes a 1200Bd
+           System V  <STRONG>tput</STRONG>'s  <STRONG>init</STRONG>  and  <STRONG>reset</STRONG>  operands use logic from 4.1cBSD
+           <STRONG>tset</STRONG>,  manipulating  terminal  modes.   It  checks  the  same  file
+           descriptors  (and  <EM>/dev/tty</EM>) for association with a terminal device
+           as <EM>ncurses</EM> now does, and if none are, finally assumes a  1200  baud
            terminal.  When updating terminal modes, it ignores errors.
 
-           Until  changes made after <EM>ncurses</EM> 6.0, <STRONG>tput</STRONG> did not modify terminal
-           modes.  <STRONG>tput</STRONG> now uses a similar scheme, using functions shared with
-           <STRONG>tset</STRONG>  (and ultimately based on the 4.4BSD <STRONG>tset</STRONG>).  If it is not able
-           to open a terminal, e.g., when running in <STRONG>cron(1)</STRONG>, <STRONG>tput</STRONG> will return
-           an error.
+           Until  <EM>ncurses</EM>  6.1  (see  section  "HISTORY"  below), <STRONG>tput</STRONG> did not
+           modify  terminal  modes.   It  now  employs  a  scheme  similar  to
+           System V, using functions shared with <STRONG>tset</STRONG> (and ultimately based on
+           4.4BSD <STRONG>tset</STRONG>).  If it is not able to open a terminal (for  instance,
+           when run by <STRONG>cron(1)</STRONG>), <STRONG>tput</STRONG> exits with an error status.
 
-       <STRONG>o</STRONG>   AT&amp;T  <STRONG>tput</STRONG>  guesses  the type of its <EM>cap-code</EM> operands by seeing if
-           all of the characters are numeric, or not.
+       <STRONG>o</STRONG>   System V  <STRONG>tput</STRONG>  assumes  that  the  type  of  a <EM>cap-code</EM> operand is
+           numeric if all the characters of its value are decimal numbers;  if
+           they are not, it treats <EM>cap-code</EM> as a string capability.
 
-           Most implementations which provide support  for  <EM>cap-code</EM>  operands
-           use  the  <STRONG>tparm</STRONG> function to expand parameters in it.  That function
-           expects a mixture of numeric and string parameters, requiring  <STRONG>tput</STRONG>
+           Most implementations that provide support for <EM>cap-code</EM> operands use
+           the <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> function to expand  its  parameters.   That  function
+           expects  a mixture of numeric and string parameters, requiring <STRONG>tput</STRONG>
            to know which type to use.
 
-           This  implementation  uses a table to determine the parameter types
-           for  the  standard  <EM>cap-code</EM>  operands,  and  an  internal  library
-           function to analyze nonstandard <EM>cap-code</EM> operands.
-
-           Besides  providing  more  reliable operation than AT&amp;T's utility, a
-           portability problem is introduced  by  this  analysis:  An  OpenBSD
-           developer  adapted  the  internal  library function from <EM>ncurses</EM> to
-           port NetBSD's  termcap-based  <STRONG>tput</STRONG>  to  terminfo.   That  had  been
-           modified  to  interpret  multiple  commands  on  a  line.  Portable
-           applications should not rely upon this feature; <EM>ncurses</EM> provides it
-           to support applications written specifically for OpenBSD.
-
-       This  implementation  (unlike  others)  can  accept  both  <EM>termcap</EM>  and
-       <EM>terminfo</EM> names for the <EM>cap-code</EM> feature, if <EM>termcap</EM> support is compiled
-       in.   However,  the  predefined  <EM>termcap</EM>  and  <EM>terminfo</EM>  names have two
-       ambiguities in this case (and the <EM>terminfo</EM> name is assumed):
-
-       <STRONG>o</STRONG>   The <EM>termcap</EM> name <STRONG>dl</STRONG> corresponds to the <EM>terminfo</EM>  name  <STRONG>dl1</STRONG>  (delete
-           one line).
-           The  <EM>terminfo</EM>  name <STRONG>dl</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>DL</STRONG> (delete a
-           given number of lines).
-
-       <STRONG>o</STRONG>   The <EM>termcap</EM> name <STRONG>ed</STRONG> corresponds to  the  <EM>terminfo</EM>  name  <STRONG>rmdc</STRONG>  (end
-           delete mode).
-           The  <EM>terminfo</EM>  name <STRONG>ed</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>cd</STRONG> (clear to
-           end of screen).
-
-       The <STRONG>longname</STRONG> and <STRONG>-S</STRONG> options, and  the  parameter-substitution  features
-       used  in  the <STRONG>cup</STRONG> example, were not supported in AT&amp;T/USL <EM>curses</EM> before
-       SVr4 (1989).  Later, 4.3BSD-Reno (1990) added support for <STRONG>longname</STRONG>, and
-       NetBSD (1994) added support for the parameter-substitution features.
+           <EM>ncurses</EM> <STRONG>tput</STRONG> uses a table to determine the parameter types for  the
+           standard  <EM>cap-code</EM>  operands,  and  an internal function to analyze
+           nonstandard <EM>cap-code</EM> operands.
+
+           While more reliable than System V's utility, a portability  problem
+           is  introduced  by this analysis.  An OpenBSD developer adapted the
+           internal library function from <EM>ncurses</EM> to  port  NetBSD's  <EM>termcap</EM>-
+           based  <STRONG>tput</STRONG> to <EM>terminfo,</EM> and modified it to interpret multiple <EM>cap-</EM>
+           <EM>codes</EM> (and parameters) on the command line.  Portable  applications
+           should  not  rely  upon  this feature; <EM>ncurses</EM> offers it to support
+           applications written specifically for OpenBSD.
+
+       This implementation, unlike others, accepts both <EM>termcap</EM>  and  <EM>terminfo</EM>
+       <EM>cap-codes</EM>  if  <EM>termcap</EM>  support is compiled in.  In that case, however,
+       the predefined <EM>termcap</EM> and <EM>terminfo</EM> codes have two ambiguities; <EM>ncurses</EM>
+       assumes the <EM>terminfo</EM> code.
+
+       <STRONG>o</STRONG>   The  <EM>cap-code</EM>  <STRONG>dl</STRONG> means <STRONG>delete_line</STRONG> to <EM>termcap</EM> but <STRONG>parm_delete_line</STRONG>
+           to <EM>terminfo.</EM>  <EM>termcap</EM> uses the code <STRONG>DL</STRONG> for <STRONG>parm_delete_line</STRONG>.  <EM>term-</EM>
+           <EM>info</EM> uses the code <STRONG>dch1</STRONG> for <STRONG>delete_line</STRONG>.
+
+       <STRONG>o</STRONG>   The  <EM>cap-code</EM>  <STRONG>ed</STRONG>  means <STRONG>exit_delete_mode</STRONG> to <EM>termcap</EM> but <STRONG>clr_eos</STRONG> to
+           <EM>terminfo.</EM>  <EM>termcap</EM> uses the code <STRONG>cd</STRONG> for <STRONG>clr_eos</STRONG>.  <EM>terminfo</EM> uses the
+           code <STRONG>rmdc</STRONG> for <STRONG>exit_delete_mode</STRONG>.
+
+       The   <STRONG>longname</STRONG>  operand,  <STRONG>-S</STRONG>  option,  and  the  parameter-substitution
+       features used in the <STRONG>cup</STRONG> example below, were not supported in  AT&amp;T/USL
+       <EM>curses</EM> before SVr4 (1989).  Later, 4.3BSD-Reno (1990) added support for
+       <STRONG>longname</STRONG>,  and  in  1994,  NetBSD  added  support  for  the  parameter-
+       substitution features.
 
        IEEE   Std   1003.1/The   Open   Group   Base  Specifications  Issue  7
-       (POSIX.1-2008) documents only the operands for <STRONG>clear</STRONG>, <STRONG>init</STRONG>  and  <STRONG>reset</STRONG>.
-       There are a few interesting observations to make regarding that:
+       (POSIX.1-2008) documents only the <STRONG>clear</STRONG>, <STRONG>init</STRONG>, and <STRONG>reset</STRONG>  operands.   A
+       few observations of interest arise from that selection.
 
-       <STRONG>o</STRONG>   In this implementation, <STRONG>clear</STRONG> is part of the <EM>cap-code</EM> support.  The
+       <STRONG>o</STRONG>   <EM>ncurses</EM> supports <STRONG>clear</STRONG> as it does any other standard <EM>cap-code.</EM>  The
            others  (<STRONG>init</STRONG>  and  <STRONG>longname</STRONG>)  do  not   correspond   to   terminal
            capabilities.
 
-       <STRONG>o</STRONG>   Other  implementations  of  <STRONG>tput</STRONG>  on  SVr4-based  systems  such  as
-           Solaris, IRIX64 and HP-UX as well as others such as AIX  and  Tru64
-           provide support for <EM>cap-code</EM> operands.
+       <STRONG>o</STRONG>   The  <STRONG>tput</STRONG> on SVr4-based systems such as Solaris, IRIX64, and HP-UX,
+           as well as others such as AIX and Tru64, also support standard <EM>cap-</EM>
+           <EM>code</EM> operands.
 
-       <STRONG>o</STRONG>   A few platforms such as FreeBSD recognize termcap names rather than
-           terminfo capability names in their respective <STRONG>tput</STRONG> commands.  Since
-           2010,  NetBSD's  <STRONG>tput</STRONG>  uses  terminfo names.  Before that, it (like
-           FreeBSD) recognized termcap names.
+       <STRONG>o</STRONG>   A few platforms such as FreeBSD recognize <EM>termcap</EM> names rather than
+           <EM>terminfo</EM> capability names in their respective <STRONG>tput</STRONG> commands.  Since
+           2010,  NetBSD's  <STRONG>tput</STRONG>  uses  <EM>terminfo</EM> names.  Before that, it (like
+           FreeBSD) recognized <EM>termcap</EM> names.
 
-           Beginning in 2021, FreeBSD uses the <EM>ncurses</EM>  <STRONG>tput</STRONG>,  configured  for
-           both terminfo (tested first) and termcap (as a fallback).
+           Beginning in 2021, FreeBSD uses <EM>ncurses</EM> <STRONG>tput</STRONG>, configured  for  both
+           <EM>terminfo</EM> (tested first) and <EM>termcap</EM> (as a fallback).
 
-       Because (apparently) <EM>all</EM> of the certified Unix systems support the full
-       set of capability names, the reasoning for documenting only a  few  may
-       not be apparent.
+       Because (apparently) all <EM>certified</EM> Unix systems support the full set of
+       capability codes, the reason for documenting only  a  few  may  not  be
+       apparent.
 
        <STRONG>o</STRONG>   X/Open Curses Issue 7 documents <STRONG>tput</STRONG> differently, with <EM>cap-code</EM> and
            the other features used in this implementation.
        <STRONG>o</STRONG>   That is, there are two standards for <STRONG>tput</STRONG>:  POSIX  (a  subset)  and
            X/Open  Curses (the full implementation).  POSIX documents a subset
            to avoid the  complication  of  including  X/Open  Curses  and  the
-           terminal capabilities database.
+           terminal capability database.
 
        <STRONG>o</STRONG>   While  it  is  certainly  possible  to write a <STRONG>tput</STRONG> program without
            using <EM>curses,</EM> no system with a  <EM>curses</EM>  implementation  provides  a
-           <STRONG>tput</STRONG> utility that does not also supply the <EM>cap-code</EM> feature.
+           <STRONG>tput</STRONG> utility that does not also support standard <EM>cap-codes.</EM>
 
        X/Open  Curses  Issue  7  (2009)  is  the  first  version  to  document
        utilities.  However that part of X/Open Curses does not follow existing
        practice (that is, System V <EM>curses</EM> behavior).
 
-       <STRONG>o</STRONG>   It  assigns  exit  status  4 to "invalid operand", which may be the
-           same as <EM>unknown</EM> <EM>capability</EM>.  For  instance,  the  source  code  for
-           Solaris' xcurses uses the term "invalid" in this case.
+       <STRONG>o</STRONG>   It  assigns  exit status 4 to "invalid operand", which may have the
+           same meaning as "unknown capability".   For  instance,  the  source
+           code for Solaris <EM>xcurses</EM> uses the term "invalid" in this case.
 
        <STRONG>o</STRONG>   It  assigns  exit  status  255  to  a  numeric variable that is not
-           specified in the terminfo database.  That likely is a documentation
-           error,  confusing  the  <STRONG>-1</STRONG>  written  to  the standard output for an
-           absent or cancelled numeric value versus an (unsigned) exit status.
+           specified in the <EM>terminfo</EM> database.  That likely is a documentation
+           error,  mistaking  the  "-1"  written  to  the  standard  output to
+           indicate  an  absent  or  cancelled  numeric  capability   for   an
+           (unsigned) exit status.
 
-       The various Unix systems  (AIX,  HP-UX,  Solaris)  use  the  same  exit
-       statuses as <EM>ncurses</EM>.
+       The various System V implementations (AIX, HP-UX, Solaris) use the same
+       exit statuses as <EM>ncurses.</EM>
 
-       NetBSD curses documents different exit statuses which do not correspond
-       to either <EM>ncurses</EM> or X/Open.
+       NetBSD <EM>curses</EM>  documents  exit  statuses  that  correspond  to  neither
+       <EM>ncurses</EM> nor X/Open Curses.
 
 
 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
-       The <STRONG>tput</STRONG> command was begun by Bill Joy in 1980.   The  initial  version
-       only cleared the screen.
+       Bill  Joy  wrote  a  <STRONG>tput</STRONG> command during development of 4BSD in October
+       1980.  This initial version only cleared the screen, and did  not  ship
+       with official distributions.
 
-       AT&amp;T System V provided a different <STRONG>tput</STRONG> command:
+       System V developed a different <STRONG>tput</STRONG> command.
 
-       <STRONG>o</STRONG>   SVr2  provided  a  rudimentary  <STRONG>tput</STRONG>  which  checked  the parameter
+       <STRONG>o</STRONG>   SVr2  (1984) provided a rudimentary <STRONG>tput</STRONG> that checked the parameter
            against each predefined capability and returned  the  corresponding
-           value.   This  version  of  <STRONG>tput</STRONG>  did  not  use  <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>  for the
-           capabilities which are parameterized.
+           value.    This   version   of   <STRONG>tput</STRONG>  did  not  use  <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>  for
+           parameterized capabilities.
+
+       <STRONG>o</STRONG>   SVr3 (1987) replaced that  with  a  more  extensive  program  whose
+           support  for  <STRONG>init</STRONG>  and <STRONG>reset</STRONG> operands (more than half the program)
+           incorporated the <STRONG>reset</STRONG> feature of BSD <STRONG>tset</STRONG> written by Eric Allman.
 
-       <STRONG>o</STRONG>   SVr3 replaced that, a year later, by a more extensive program whose
-           <STRONG>init</STRONG>  and  <STRONG>reset</STRONG>  subcommands  (more  than  half  the program) were
-           incorporated from the <STRONG>reset</STRONG> feature of BSD  <STRONG>tset</STRONG>  written  by  Eric
-           Allman.
+       <STRONG>o</STRONG>   SVr4 (1989) added color initialization  by  using  the  <STRONG>orig_colors</STRONG>
+           (<STRONG>oc</STRONG>) and <STRONG>orig_pair</STRONG> (<STRONG>op</STRONG>) capabilities in its <STRONG>init</STRONG> logic.
 
-       <STRONG>o</STRONG>   SVr4 added color initialization using the <STRONG>orig_colors</STRONG> and <STRONG>orig_pair</STRONG>
-           capabilities in the <STRONG>init</STRONG> subcommand.
+       Keith  Bostic  refactored BSD <STRONG>tput</STRONG> for shipment in 4.3BSD-Tahoe (1988),
+       then replaced it the next year  with  a  new  implementation  based  on
+       System V  <STRONG>tput</STRONG>.   Bostic's  version  similarly accepted some parameters
+       named for <EM>terminfo</EM> (pseudo-)capabilities: <STRONG>clear</STRONG>,  <STRONG>init</STRONG>,  <STRONG>longname</STRONG>,  and
+       <STRONG>reset</STRONG>.   However,  because  he  had only <EM>termcap</EM> available, it accepted
+       <EM>termcap</EM> names for other capabilities.  Also, Bostic's BSD <STRONG>tput</STRONG> did  not
+       modify the terminal modes as the earlier BSD <STRONG>tset</STRONG> had done.
 
-       Keith Bostic  replaced  the  BSD  <STRONG>tput</STRONG>  command  in  1989  with  a  new
-       implementation  based on the AT&amp;T System V program <STRONG>tput</STRONG>.  Like the AT&amp;T
-       program, Bostic's version accepted some parameters named  for  <EM>terminfo</EM>
-       capabilities  (<STRONG>clear</STRONG>,  <STRONG>init</STRONG>,  <STRONG>longname</STRONG> and <STRONG>reset</STRONG>).  However (because he
-       had only <EM>termcap</EM>  available),  it  accepted  <EM>termcap</EM>  names  for  other
-       capabilities.   Also, Bostic's BSD <STRONG>tput</STRONG> did not modify the terminal I/O
-       modes as the earlier BSD <STRONG>tset</STRONG> had done.
+       At  the  same time, Bostic added a shell script named "clear" that used
+       <STRONG>tput</STRONG> to clear the screen.  Both of these appeared in  4.4BSD,  becoming
+       the "modern" BSD implementation of <STRONG>tput</STRONG>.
 
-       At the same time, Bostic added a shell script named "clear", which used
-       <STRONG>tput</STRONG> to clear the screen.
+       The  origin of <EM>ncurses</EM> <STRONG>tput</STRONG> lies outside both System V and BSD, in Ross
+       Ridge's <EM>mytinfo</EM> package, published  on  <EM>comp.sources.unix</EM>  in  December
+       1992.   Ridge's  program  made  more  sophisticated use of the terminal
+       capabilities than the BSD program.  Eric Raymond used that <STRONG>tput</STRONG> program
+       (and  other  parts  of <EM>mytinfo</EM>) in <EM>ncurses</EM> in June 1995.  Incorporating
+       the portions dealing with terminal capabilities almost without  change,
+       Raymond  made  improvements  to  the  way  command-line parameters were
+       handled.
 
-       Both   of   these   appeared  in  4.4BSD,  becoming  the  "modern"  BSD
-       implementation of <STRONG>tput</STRONG>.
+       Before <EM>ncurses</EM> 6.1 (2018), its <STRONG>tset</STRONG> and <STRONG>tput</STRONG> utilities differed.
 
-       This implementation of <STRONG>tput</STRONG> began from a different source than AT&amp;T  or
-       BSD:  Ross  Ridge's  <EM>mytinfo</EM> package, published on <EM>comp.sources.unix</EM> in
-       December 1992.  Ridge's program made  more  sophisticated  use  of  the
-       terminal  capabilities  than  the  BSD program.  Eric Raymond used that
-       <STRONG>tput</STRONG> program (and other parts of <EM>mytinfo</EM>)  in  <EM>ncurses</EM>  in  June  1995.
-       Using  the  portions  dealing with terminal capabilities almost without
-       change,  Raymond  made  improvements  to  the  way   the   command-line
-       parameters were handled.
+       <STRONG>o</STRONG>   <STRONG>tset</STRONG> was more effective, resetting the terminal modes  and  special
+           characters.
+
+       <STRONG>o</STRONG>   On  the  other hand, <STRONG>tset</STRONG>'s repertoire of terminal capabilities for
+           resetting the terminal was more limited; it had only equivalents of
+           <STRONG>reset_1string</STRONG>  (<STRONG>rs1</STRONG>), <STRONG>reset_2string</STRONG> (<STRONG>rs2</STRONG>), and <STRONG>reset_file</STRONG> (<STRONG>rf</STRONG>), and
+           not the tab stop and margin update features of <STRONG>tput</STRONG>.
+
+       The <STRONG>reset</STRONG> program is traditionally an alias for <STRONG>tset</STRONG> due to its ability
+       to reset terminal modes and special characters.
+
+       As  of  <EM>ncurses</EM>  6.1,  the  "reset"  features  of  the two programs are
+       (mostly) the same.  Two minor differences remain.
+
+       <STRONG>o</STRONG>   The <STRONG>tset</STRONG> program waits one  second  when  resetting,  in  case  the
+           terminal happens to be a hardware device.
+
+       <STRONG>o</STRONG>   The  two  programs  write  the  terminal  initialization strings to
+           different streams; that is, standard error for  <STRONG>tset</STRONG>  and  standard
+           output for <STRONG>tput</STRONG>.
 
 
 </PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
        <STRONG>tput</STRONG> <STRONG>init</STRONG>
-            Initialize  the  terminal according to the type of terminal in the
-            environment variable <EM>TERM</EM>.  This command  should  be  included  in
-            everyone's  .profile  after the environment variable <EM>TERM</EM> has been
-            exported, as illustrated on the <STRONG>profile(5)</STRONG> manual page.
+              Initialize the terminal according to the type of terminal in the
+              <EM>TERM</EM> environment variable.  If  the  system  does  not  reliably
+              initialize the terminal upon login, this command can be included
+              in <EM>$HOME/.profile</EM> after exporting the <EM>TERM</EM> environment variable.
 
        <STRONG>tput</STRONG> <STRONG>-T5620</STRONG> <STRONG>reset</STRONG>
-            Reset an AT&amp;T 5620 terminal, overriding the type  of  terminal  in
-            the environment variable <EM>TERM</EM>.
+              Reset an AT&amp;T 5620 terminal, overriding the terminal type in the
+              <EM>TERM</EM> environment variable.
+
+       <STRONG>tput</STRONG> <STRONG>cnorm</STRONG>
+              Set cursor to normal visibility.
 
-       <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>0</STRONG> <STRONG>0</STRONG>
-            Send the sequence to move the cursor to row <STRONG>0</STRONG>, column <STRONG>0</STRONG> (the upper
-            left corner of the screen, usually  known  as  the  "home"  cursor
-            position).
+       <STRONG>tput</STRONG> <STRONG>home</STRONG>
+              Move the cursor to row 0, column 0: the upper left corner of the
+              screen, usually known as the "home" cursor position.
 
        <STRONG>tput</STRONG> <STRONG>clear</STRONG>
-            Echo the clear-screen sequence for the current terminal.
+              Clear the screen: write the <STRONG>clear_screen</STRONG> capability's  value  to
+              the standard output stream.
 
        <STRONG>tput</STRONG> <STRONG>cols</STRONG>
-            Print the number of columns for the current terminal.
+              Report the number of columns used by the current terminal type.
+
+       <STRONG>tput</STRONG> <STRONG>-Tadm3a</STRONG> <STRONG>cols</STRONG>
+              Report the number of columns used by an ADM-3A terminal.
 
-       <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>cols</STRONG>
-            Print the number of columns for the 450 terminal.
+       <STRONG>strong=`tput</STRONG> <STRONG>smso`</STRONG> <STRONG>normal=`tput</STRONG> <STRONG>rmso`</STRONG>
+              Set  shell variables to capability values: <STRONG>strong</STRONG> and <STRONG>normal</STRONG>, to
+              begin and end, respectively, stand-out mode  for  the  terminal.
+              One might use these to present a prompt.
 
-       <STRONG>bold=`tput</STRONG> <STRONG>smso`</STRONG> <STRONG>offbold=`tput</STRONG> <STRONG>rmso`</STRONG>
-            Set  the  shell  variables <STRONG>bold</STRONG>, to begin stand-out mode sequence,
-            and <STRONG>offbold</STRONG>, to  end  standout  mode  sequence,  for  the  current
-            terminal.  This might be followed by a prompt: <STRONG>echo</STRONG> <STRONG>"${bold}Please</STRONG>
-            <STRONG>type</STRONG> <STRONG>in</STRONG> <STRONG>your</STRONG> <STRONG>name:</STRONG> <STRONG>${offbold}\c"</STRONG>
+                     printf "${strong}Username:${normal} "
 
        <STRONG>tput</STRONG> <STRONG>hc</STRONG>
-            Set exit status to indicate if the current terminal is a hard copy
-            terminal.
+              Indicate  via  exit  status  whether the terminal is a hard copy
+              device.
 
        <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>23</STRONG> <STRONG>4</STRONG>
-            Send the sequence to move the cursor to row 23, column 4.
+              Move the cursor to row 23, column 4.
 
        <STRONG>tput</STRONG> <STRONG>cup</STRONG>
-            Send  the  terminfo string for cursor-movement, with no parameters
-            substituted.
+              Report the value of the <STRONG>cursor_address</STRONG>  (<STRONG>cup</STRONG>)  capability  (used
+              for cursor movement), with no parameters substituted.
 
        <STRONG>tput</STRONG> <STRONG>longname</STRONG>
-            Print the long name from the <EM>terminfo</EM> database  for  the  type  of
-            terminal specified in the environment variable <EM>TERM</EM>.
+              Report  the <EM>terminfo</EM> database's description of the terminal type
+              specified in the <EM>TERM</EM> environment variable.
 
        <STRONG>tput</STRONG> <STRONG>-S</STRONG>
-            The <STRONG>-S</STRONG> option can be profitably used with a shell "here document".
+              Process multiple capabilities.  The <STRONG>-S</STRONG> option can be  profitably
+              used with a shell "here document".
 
-            $ <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG>&lt;&lt;!</STRONG>
-            &gt; <STRONG>clear</STRONG>
-            &gt; <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG>
-            &gt; <STRONG>bold</STRONG>
-            &gt; <STRONG>!</STRONG>
+              $ <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG>&lt;&lt;!</STRONG>
+              &gt; <STRONG>clear</STRONG>
+              &gt; <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG>
+              &gt; <STRONG>bold</STRONG>
+              &gt; <STRONG>!</STRONG>
 
-            We see <STRONG>tput</STRONG> processing several capabilities in one invocation.  It
-            clears the screen, moves the cursor to position (10, 10) and turns
-            on bold (extra bright) mode.
+              The  foregoing  clears  the screen, moves the cursor to position
+              (10, 10) and turns on bold (extra bright) mode.
 
        <STRONG>tput</STRONG> <STRONG>clear</STRONG> <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG> <STRONG>bold</STRONG>
-            Perform the same actions as the foregoing "<STRONG>tput</STRONG> <STRONG>-S</STRONG>" example.
+              Perform the same actions as the foregoing "<STRONG>tput</STRONG> <STRONG>-S</STRONG>" example.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-ncurses 6.4                       2023-12-30                           <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
+ncurses 6.4                       2024-01-13                           <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -570,14 +558,14 @@ ncurses 6.4                       2023-12-30                           <STRONG><
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-Options">Options</a></li>
-<li><a href="#h3-Commands">Commands</a></li>
+<li><a href="#h3-Operands">Operands</a></li>
 <li><a href="#h3-Aliases">Aliases</a></li>
 <li><a href="#h3-Terminal-Size">Terminal Size</a></li>
 </ul>
 </li>
+<li><a href="#h2-OPTIONS">OPTIONS</a></li>
 <li><a href="#h2-EXIT-STATUS">EXIT STATUS</a></li>
-<li><a href="#h2-DIAGNOSTICS">DIAGNOSTICS</a></li>
+<li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a></li>
 <li><a href="#h2-FILES">FILES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-HISTORY">HISTORY</a></li>
index c60e2a7f39f724b1c9d7130a546b359f9abe8274..4f293c125f827582d3b569dc3a32e234b0018b39 100644 (file)
   * authorization.                                                           *
   ****************************************************************************
   * @Id: tset.1,v 1.79 2023/12/23 16:20:07 tom Exp @
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=1BSD/s6/reset.c
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=3BSD/usr/src/cmd/\
-  *   reset.c
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=1BSD/s6/tset.c
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=1BSD/man7/ttycap.7
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=3BSD/usr/src/cmd/\
-  *   tset/tset.c
-  * https://minnie.tuhs.org/cgi-bin/utree.pl?file=2.9BSD/usr/src/ucb/\
-  *   tset/tset.c
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
index 4fa5bd0a2ec39e08074b35ee6d23c439399deac8..cb25c15e13ad45de541294351ab1328cb8008e71 100644 (file)
@@ -1,7 +1,7 @@
 <!--
   * t
   ****************************************************************************
-  * Copyright 2018-2022,2023 Thomas E. Dickey                                *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
   * Copyright 2017 Free Software Foundation, Inc.                            *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: user_caps.5,v 1.44 2023/12/30 21:36:32 tom Exp @
+  * @Id: user_caps.5,v 1.47 2024/01/13 22:05:39 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 https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>user_caps 5 2023-12-30 ncurses 6.4 File formats</TITLE>
+<TITLE>user_caps 5 2024-01-13 ncurses 6.4 File formats</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">user_caps 5 2023-12-30 ncurses 6.4 File formats</H1>
+<H1 class="no-header">user_caps 5 2024-01-13 ncurses 6.4 File formats</H1>
 <PRE>
 <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>                     File formats                     <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
 
        Applications can use the <EM>naming</EM> <EM>convention</EM>  established  for  <STRONG>xterm</STRONG>  to
        find these special keys in the terminal description.
 
-       Starting  with  the curses convention that <EM>key</EM> <EM>names</EM> begin with "k" and
-       that shifted special keys are  an  uppercase  name,  <EM>ncurses</EM>'  terminal
-       database defines these names to which a suffix is added:
-
-            <STRONG>Name</STRONG>   <STRONG>Description</STRONG>
-            ---------------------------------------------------------------
-            kDC    special form of kdch1 (delete character)
-            kDN    special form of kcud1 (cursor down)
-            kEND   special form of kend (End)
-            kHOM   special form of khome (Home)
-            kLFT   special form of kcub1 (cursor-left or cursor-back)
-            kNXT   special form of knext (Next, or Page-Down)
-            kPRV   special form of kprev (Prev, or Page-Up)
-            kRIT   special form of kcuf1 (cursor-right, or cursor-forward)
-            kUP    special form of kcuu1 (cursor-up)
+       Starting  with  the  <EM>curses</EM> convention that capability codes describing
+       the input generated by a terminal's key caps begin with "k",  and  that
+       shifted  special  keys  use uppercase letters in their names, <EM>ncurses</EM>'s
+       terminal database defines the following names  and  codes  to  which  a
+       suffix is added.
+
+            <STRONG>Code</STRONG>   <STRONG>Description</STRONG>
+            -------------------------------------------------------------------
+            <STRONG>kDC</STRONG>    shifted kdch1 (delete character)
+            <STRONG>kDN</STRONG>    shifted kcud1 (cursor down)
+            <STRONG>kEND</STRONG>   shifted kend (end)
+            <STRONG>kHOM</STRONG>   shifted khome (home)
+            <STRONG>kLFT</STRONG>   shifted kcub1 (cursor back)
+            <STRONG>kNXT</STRONG>   shifted knext (next)
+            <STRONG>kPRV</STRONG>   shifted kprev (previous)
+            <STRONG>kRIT</STRONG>   shifted kcuf1 (cursor forward)
+            <STRONG>kUP</STRONG>    shifted kcuu1 (cursor up)
+
+       Keycap  nomenclature on the Unix systems for which <EM>curses</EM> was developed
+       differs from today's ubiquitous descendants of the IBM  PC/AT  keyboard
+       layout.  In the foregoing, interpret "backward" as "left", "forward" as
+       "right", "next" as "page down", and "prev(ious)" as "page up".
 
        These are the suffixes used to denote the modifiers:
 
             15      Meta + Ctrl + Alt
             16      Meta + Ctrl + Alt + Shift
 
-       None  of these are predefined; terminal descriptions can refer to <EM>names</EM>
+       None of these are predefined; terminal descriptions can refer to  <EM>names</EM>
        which <EM>ncurses</EM> will allocate at runtime to <EM>key-codes</EM>.  To use these keys
        in an <EM>ncurses</EM> program, an application could do this:
 
-       <STRONG>o</STRONG>   using  a  list  of  extended  key <EM>names</EM>, ask <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG> for their
+       <STRONG>o</STRONG>   using a list of extended key  <EM>names</EM>,  ask  <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG>  for  their
            values, and
 
-       <STRONG>o</STRONG>   given the list of values,  ask  <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>  for  the  <EM>key-code</EM>
+       <STRONG>o</STRONG>   given  the  list  of  values,  ask <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> for the <EM>key-code</EM>
            which would be returned for those keys by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  "-x"  extension  feature  of  <STRONG>tic</STRONG>  and <STRONG>infocmp</STRONG> has been adopted in
-       NetBSD curses.  That implementation stores  user-defined  capabilities,
+       The "-x" extension feature of <STRONG>tic</STRONG>  and  <STRONG>infocmp</STRONG>  has  been  adopted  in
+       NetBSD  curses.   That implementation stores user-defined capabilities,
        but makes no use of these capabilities itself.
 
 
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
 
        The  terminal  database  section  <EM>NCURSES</EM>  <EM>USER-DEFINABLE</EM>  <EM>CAPABILITIES</EM>
-       summarizes commonly-used user-defined capabilities which  are  used  in
-       the  terminal  descriptions.   Some  of those features are mentioned in
+       summarizes  commonly-used  user-defined  capabilities which are used in
+       the terminal descriptions.  Some of those  features  are  mentioned  in
        <STRONG>screen(1)</STRONG> or <STRONG>tmux(1)</STRONG>.
 
-       <EM>XTerm</EM> <EM>Control</EM> <EM>Sequences</EM> provides further information  on  the  <STRONG>xterm(1)</STRONG>
+       <EM>XTerm</EM>  <EM>Control</EM>  <EM>Sequences</EM>  provides further information on the <STRONG>xterm(1)</STRONG>
        features that are used in these extended capabilities.
 
 
 
-ncurses 6.4                       2023-12-30                      <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
+ncurses 6.4                       2024-01-13                      <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index e21d5924307ccec0e07680024b2afbeacdb6c3d0..00b08350c18c20e61d64ba4bf7e50b5d3f104da7 100644 (file)
@@ -1,5 +1,5 @@
 ##############################################################################
-# Copyright 2019-2021,2023 Thomas E. Dickey                                  #
+# Copyright 2019-2023,2024 Thomas E. Dickey                                  #
 # Copyright 1998-2015,2016 Free Software Foundation, Inc.                    #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
@@ -30,7 +30,7 @@
 # Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995
 #    and: Eric S. Raymond <esr@snark.thyrsus.com>
 #
-# $Id: Caps,v 1.50 2023/12/30 21:36:32 Branden.Robinson Exp $
+# $Id: Caps,v 1.52 2024/01/13 22:05:39 tom Exp $
 #
 # This is the master termcap/terminfo capability table.
 #
 #%.TP
 #%(#\d\fIi\fP\u)
 #%indicates the \fIi\fP\uth\d parameter.
-#%
+#%.
 #%.PP
-#% These are the Boolean capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBBooleans  name    Code\fR
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%Boolean Capability Name      TI      TC      Description
+#%_
 auto_left_margin               bw      bool    bw      -       -       YB-G-   cub1 wraps from column 0 to last column
 auto_right_margin              am      bool    am      -       -       YBCGE   terminal has automatic margins
 no_esc_ctlc                    xsb     bool    xb      -       -       YBCG-   beehive (f1=escape, f2=ctrl C)
@@ -254,18 +252,16 @@ semi_auto_right_margin            sam     bool    YE      -       -       -----   printing in last column causes cr
 cpi_changes_res                        cpix    bool    YF      -       -       -----   changing character pitch changes resolution
 lpi_changes_res                        lpix    bool    YG      -       -       -----   changing line pitch changes resolution
 #%.TE
-#%.ad
-#%
-#%These are the numeric capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBNumeric   name    Code\fR
+#%.PP
+#%.
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%Numeric Capability Name      TI      TC      Description
+#%_
 columns                                cols    num     co      -       -       YBCGE   number of columns in a line
 init_tabs                      it      num     it      -       -       YB-G-   tabs initially every # spaces
 lines                          lines   num     li      -       -       YBCGE   number of lines on screen or page
@@ -284,20 +280,21 @@ max_colors                        colors  num     Co      -       -       -----   maximum number of colors on screen
 max_pairs                      pairs   num     pa      -       -       -----   maximum number of color-pairs on the screen
 no_color_video                 ncv     num     NC      -       -       -----   video attributes that cannot be used with colors
 #%.TE
-#%.ad
-#%
+#%.PP
+#%.
 #%The following numeric capabilities are present in the SVr4.0 term structure,
 #%but are not yet documented in the man page.
 #%They came in with SVr4's printer support.
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBNumeric   name    Code\fR
+#%.
+#%.PP
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%Numeric Capability Name      TI      TC      Description
+#%_
 buffer_capacity                        bufsz   num     Ya      -       -       -----   numbers of bytes buffered before printing
 dot_vert_spacing               spinv   num     Yb      -       -       -----   spacing of pins vertically in pins per inch
 dot_horz_spacing               spinh   num     Yc      -       -       -----   spacing of dots horizontally in dots per inch
@@ -316,18 +313,16 @@ buttons                           btns    num     BT      -       -       -----   number of buttons on mouse
 bit_image_entwining            bitwin  num     Yo      -       -       -----   number of passes for each bit-image row
 bit_image_type                 bitype  num     Yp      -       -       -----   type of bit-image device
 #%.TE
-#%.ad
-#%
-#%These are the string capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBString    name    Code\fR
+#%.PP
+#%.
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%String Capability Name       TI      TC      Description
+#%_
 back_tab                       cbt     str     bt      -               -       YBCGE   back tab (P)
 bell                           bel     str     bl      -               -       YB-GE   audible signal (bell) (P)
 carriage_return                        cr      str     cr      -               -       YBCGE   carriage return (P*) (P*)
@@ -416,8 +411,8 @@ key_sf                              kind    str     kF      KEY_SF          0520    -B-G-*  scroll-forward key
 key_sr                         kri     str     kR      KEY_SR          0521    -B-G-*  scroll-backward key
 key_stab                       khts    str     kT      KEY_STAB        0524    -B-G-*  set-tab key
 key_up                         kcuu1   str     ku      KEY_UP          0403    YBCGE   up-arrow key
-keypad_local                   rmkx    str     ke      -               -       YBCGE   leave 'keyboard_transmit' mode
-keypad_xmit                    smkx    str     ks      -               -       YBCGE   enter 'keyboard_transmit' mode
+keypad_local                   rmkx    str     ke      -               -       YBCGE   leave keyboard transmit mode
+keypad_xmit                    smkx    str     ks      -               -       YBCGE   enter keyboard transmit mode
 lab_f0                         lf0     str     l0      -               -       -B-G-*  label on function key f0 if not f0
 lab_f1                         lf1     str     l1      -               -       -B-G-*  label on function key f1 if not f1
 lab_f10                                lf10    str     la      -               -       -----   label on function key f10 if not f10
@@ -693,19 +688,20 @@ superscript_characters            supcs   str     Zv      -               -       -----   List of superscriptable characte
 these_cause_cr                 docr    str     Zw      -               -       -----   Printing any of these characters causes CR
 zero_motion                    zerom   str     Zx      -               -       -----   No motion for subsequent character
 #%.TE
-#%.ad
-#%
+#%.PP
+#%.
 #%The following string capabilities are present in the SVr4.0 term structure,
 #%but were originally not documented in the man page.
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw18.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBString    name    Code\fR
+#%.
+#%.PP
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%String Capability Name       TI      TC      Description
+#%_
 char_set_names                 csnm    str     Zy      -               -       -----   Produce #1'th item from list of character set names
 key_mouse                      kmous   str     Km      KEY_MOUSE       0631    -----   Mouse event has occurred
 mouse_info                     minfo   str     Mi      -               -       -----   Mouse status information
@@ -714,7 +710,7 @@ get_mouse                   getm    str     Gm      -               -       -----   Curses should get button events, parameter #1
 set_a_foreground               setaf   str     AF      -               -       -----   Set foreground color to #1, using ANSI escape
 set_a_background               setab   str     AB      -               -       -----   Set background color to #1, using ANSI escape
 pkey_plab                      pfxl    str     xl      -               -       -----   Program function key #1 to type string #2 and show string #3
-device_type                    devt    str     dv      -               -       -----   Indicate language/codeset support
+device_type                    devt    str     dv      -               -       -----   Indicate languagecodeset support
 code_set_init                  csin    str     ci      -               -       -----   Init sequence for multiple codesets
 set0_des_seq                   s0ds    str     s0      -               -       -----   Shift to codeset 0 (EUC set 0, ASCII)
 set1_des_seq                   s1ds    str     s1      -               -       -----   Shift to codeset 1
@@ -742,9 +738,8 @@ pc_term_options                     pctrm   str     S6      -               -       -----   PC terminal options
 scancode_escape                        scesc   str     S7      -               -       -----   Escape for scancode emulation
 alt_scancode_esc               scesa   str     S8      -               -       -----   Alternate escape for scancode emulation
 #%.TE
-#%.ad
-#%
-#%.in .8i
+#%.PP
+#%.
 #%The XSI Curses standard added these hardcopy capabilities.
 #%They were used in some post-4.1 versions of System V curses,
 #%e.g., Solaris 2.5 and IRIX 6.x.
@@ -753,15 +748,16 @@ alt_scancode_esc          scesa   str     S8      -               -       -----   Alternate escape for scancode emulatio
 #%If your compiled terminfo entries use these,
 #%they may not be binary-compatible with System V terminfo
 #%entries after SVr4.1; beware!
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBString    name    Code\fR
+#%.
+#%.PP
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%String Capability Name       TI      TC      Description
+#%_
 enter_horizontal_hl_mode       ehhlm   str     Xh      -               -       -----   Enter horizontal highlight mode
 enter_left_hl_mode             elhlm   str     Xl      -               -       -----   Enter left highlight mode
 enter_low_hl_mode              elohlm  str     Xo      -               -       -----   Enter low highlight mode
@@ -771,7 +767,6 @@ enter_vertical_hl_mode              evhlm   str     Xv      -               -       -----   Enter vertical highlight mode
 set_a_attributes               sgr1    str     sA      -               -       -----   Define second set of video attributes #1-#6
 set_pglen_inch                 slength str     YI      -               -       -----   Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
 #%.TE
-#%.ad
 #
 # The magic token below tells the tic compiler-generator code that all the caps
 # past it should be ignored (not written out) when dumping terminfo objects. It
index 3b2389be3deb64429145ec79f64ae41b94f075b1..726005a7d5125f76dcfd9367bf86267a746e9e20 100644 (file)
@@ -1,5 +1,5 @@
 ##############################################################################
-# Copyright 2019-2021,2023 Thomas E. Dickey                                  #
+# Copyright 2019-2023,2024 Thomas E. Dickey                                  #
 # Copyright 2001-2015,2016 Free Software Foundation, Inc.                    #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
@@ -29,7 +29,7 @@
 #
 # Author: Thomas Dickey
 #
-# $Id: Caps.aix4,v 1.22 2023/12/30 21:36:32 Branden.Robinson Exp $
+# $Id: Caps.aix4,v 1.24 2024/01/13 22:05:39 tom Exp $
 #
 # This is an adaptation of ncurses' termcap/terminfo capability table, which
 # is designed to align with AIX 4.x's terminfo.
 #%.TP
 #%(#\d\fIi\fP\u)
 #%indicates the \fIi\fP\uth\d parameter.
-#%
+#%.
 #%.PP
-#% These are the Boolean capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBBooleans  name    Code\fR
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%Boolean Capability Name      TI      TC      Description
+#%_
 auto_left_margin               bw      bool    bw      -       -       YB-G-   cub1 wraps from column 0 to last column
 auto_right_margin              am      bool    am      -       -       YBCGE   terminal has automatic margins
 no_esc_ctlc                    xsb     bool    xb      -       -       YBCG-   beehive (f1=escape, f2=ctrl C)
@@ -254,18 +252,16 @@ semi_auto_right_margin            sam     bool    YE      -       -       -----   printing in last column causes cr
 cpi_changes_res                        cpix    bool    YF      -       -       -----   changing character pitch changes resolution
 lpi_changes_res                        lpix    bool    YG      -       -       -----   changing line pitch changes resolution
 #%.TE
-#%.ad
-#%
-#%These are the numeric capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBNumeric   name    Code\fR
+#%.PP
+#%.
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%Numeric Capability Name      TI      TC      Description
+#%_
 columns                                cols    num     co      -       -       YBCGE   number of columns in a line
 init_tabs                      it      num     it      -       -       YB-G-   tabs initially every # spaces
 lines                          lines   num     li      -       -       YBCGE   number of lines on screen or page
@@ -284,20 +280,21 @@ max_colors                        colors  num     Co      -       -       -----   maximum number of colors on screen
 max_pairs                      pairs   num     pa      -       -       -----   maximum number of color-pairs on the screen
 no_color_video                 ncv     num     NC      -       -       -----   video attributes that cannot be used with colors
 #%.TE
-#%.ad
-#%
+#%.PP
+#%.
 #%The following numeric capabilities are present in the SVr4.0 term structure,
 #%but are not yet documented in the man page.
 #%They came in with SVr4's printer support.
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBNumeric   name    Code\fR
+#%.
+#%.PP
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%Numeric Capability Name      TI      TC      Description
+#%_
 buffer_capacity                        bufsz   num     Ya      -       -       -----   numbers of bytes buffered before printing
 dot_vert_spacing               spinv   num     Yb      -       -       -----   spacing of pins vertically in pins per inch
 dot_horz_spacing               spinh   num     Yc      -       -       -----   spacing of dots horizontally in dots per inch
@@ -316,18 +313,16 @@ buttons                           btns    num     BT      -       -       -----   number of buttons on mouse
 bit_image_entwining            bitwin  num     Yo      -       -       -----   number of passes for each bit-image row
 bit_image_type                 bitype  num     Yp      -       -       -----   type of bit-image device
 #%.TE
-#%.ad
-#%
-#%These are the string capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBString    name    Code\fR
+#%.PP
+#%.
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%String Capability Name       TI      TC      Description
+#%_
 back_tab                       cbt     str     bt      -               -       YBCGE   back tab (P)
 bell                           bel     str     bl      -               -       YB-GE   audible signal (bell) (P)
 carriage_return                        cr      str     cr      -               -       YBCGE   carriage return (P*) (P*)
@@ -795,19 +790,20 @@ superscript_characters            supcs   str     Zv      -               -       -----   List of superscriptable characte
 these_cause_cr                 docr    str     Zw      -               -       -----   Printing any of these characters causes CR
 zero_motion                    zerom   str     Zx      -               -       -----   No motion for subsequent character
 #%.TE
-#%.ad
-#%
+#%.PP
+#%.
 #%The following string capabilities are present in the SVr4.0 term structure,
 #%but were originally not documented in the man page.
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw18.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBString    name    Code\fR
+#%.
+#%.PP
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%String Capability Name       TI      TC      Description
+#%_
 char_set_names                 csnm    str     Zy      -               -       -----   Produce #1'th item from list of character set names
 key_mouse                      kmous   str     Km      KEY_MOUSE       0631    -----   Mouse event has occurred
 mouse_info                     minfo   str     Mi      -               -       -----   Mouse status information
@@ -844,9 +840,8 @@ pc_term_options                     pctrm   str     S6      -               -       -----   PC terminal options
 scancode_escape                        scesc   str     S7      -               -       -----   Escape for scancode emulation
 alt_scancode_esc               scesa   str     S8      -               -       -----   Alternate escape for scancode emulation
 #%.TE
-#%.ad
-#%
-#%.in .8i
+#%.PP
+#%.
 #%The XSI Curses standard added these hardcopy capabilities.
 #%They were used in some post-4.1 versions of System V curses,
 #%e.g., Solaris 2.5 and IRIX 6.x.
@@ -855,15 +850,16 @@ alt_scancode_esc          scesa   str     S8      -               -       -----   Alternate escape for scancode emulatio
 #%If your compiled terminfo entries use these,
 #%they may not be binary-compatible with System V terminfo
 #%entries after SVr4.1; beware!
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBString    name    Code\fR
+#%.
+#%.PP
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%String Capability Name       TI      TC      Description
+#%_
 #enter_horizontal_hl_mode      ehhlm   str     Xh      -               -       -----   Enter horizontal highlight mode
 #enter_left_hl_mode            elhlm   str     Xl      -               -       -----   Enter left highlight mode
 #enter_low_hl_mode             elohlm  str     Xo      -               -       -----   Enter low highlight mode
@@ -873,7 +869,6 @@ alt_scancode_esc            scesa   str     S8      -               -       -----   Alternate escape for scancode emulatio
 #set_a_attributes              sgr1    str     sA      -               -       -----   Define second set of video attributes #1-#6
 set_pglen_inch                 slength str     YI      -               -       -----   Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
 #%.TE
-#%.ad
 #
 # The magic token below tells the tic compiler-generator code that all the caps
 # past it should be ignored (not written out) when dumping terminfo objects. It
index f9633f4c504067fff9a62be9c1efd78acb224757..e90a1860e83d43b36fdc2dad05e5d3f6d8342dc1 100644 (file)
@@ -1,5 +1,5 @@
 ##############################################################################
-# Copyright 2019-2021,2023 Thomas E. Dickey                                  #
+# Copyright 2019-2023,2024 Thomas E. Dickey                                  #
 # Copyright 2002-2015,2016 Free Software Foundation, Inc.                    #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
@@ -29,7 +29,7 @@
 #
 # Author: Thomas Dickey
 #
-# $Id: Caps.hpux11,v 1.20 2023/12/30 21:36:32 Branden.Robinson Exp $
+# $Id: Caps.hpux11,v 1.22 2024/01/13 22:05:39 tom Exp $
 #
 # This is an adaptation of ncurses' termcap/terminfo capability table, which
 # is designed to align with HPUX 11.x's terminfo.
 #%.TP
 #%(#\d\fIi\fP\u)
 #%indicates the \fIi\fP\uth\d parameter.
-#%
+#%.
 #%.PP
-#% These are the Boolean capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBBooleans  name    Code\fR
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%Boolean Capability Name      TI      TC      Description
+#%_
 auto_left_margin               bw      bool    bw      -       -       YB-G-   cub1 wraps from column 0 to last column
 auto_right_margin              am      bool    am      -       -       YBCGE   terminal has automatic margins
 no_esc_ctlc                    xsb     bool    xb      -       -       YBCG-   beehive (f1=escape, f2=ctrl C)
@@ -255,18 +253,16 @@ semi_auto_right_margin            sam     bool    YE      -       -       -----   printing in last column causes cr
 cpi_changes_res                        cpix    bool    YF      -       -       -----   changing character pitch changes resolution
 lpi_changes_res                        lpix    bool    YG      -       -       -----   changing line pitch changes resolution
 #%.TE
-#%.ad
-#%
-#%These are the numeric capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBNumeric   name    Code\fR
+#%.PP
+#%.
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%Numeric Capability Name      TI      TC      Description
+#%_
 columns                                cols    num     co      -       -       YBCGE   number of columns in a line
 init_tabs                      it      num     it      -       -       YB-G-   tabs initially every # spaces
 lines                          lines   num     li      -       -       YBCGE   number of lines on screen or page
@@ -286,20 +282,21 @@ max_colors                        colors  num     Co      -       -       -----   maximum number of colors on screen
 max_pairs                      pairs   num     pa      -       -       -----   maximum number of color-pairs on the screen
 no_color_video                 ncv     num     NC      -       -       -----   video attributes that cannot be used with colors
 #%.TE
-#%.ad
-#%
+#%.PP
+#%.
 #%The following numeric capabilities are present in the SVr4.0 term structure,
 #%but are not yet documented in the man page.
 #%They came in with SVr4's printer support.
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBNumeric   name    Code\fR
+#%.
+#%.PP
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%Numeric Capability Name      TI      TC      Description
+#%_
 buffer_capacity                        bufsz   num     Ya      -       -       -----   numbers of bytes buffered before printing
 dot_vert_spacing               spinv   num     Yb      -       -       -----   spacing of pins vertically in pins per inch
 dot_horz_spacing               spinh   num     Yc      -       -       -----   spacing of dots horizontally in dots per inch
@@ -318,18 +315,16 @@ buttons                           btns    num     BT      -       -       -----   number of buttons on mouse
 bit_image_entwining            bitwin  num     Yo      -       -       -----   number of passes for each bit-image row
 bit_image_type                 bitype  num     Yp      -       -       -----   type of bit-image device
 #%.TE
-#%.ad
-#%
-#%These are the string capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBString    name    Code\fR
+#%.PP
+#%.
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%String Capability Name       TI      TC      Description
+#%_
 back_tab                       cbt     str     bt      -               -       YBCGE   back tab (P)
 bell                           bel     str     bl      -               -       YB-GE   audible signal (bell) (P)
 carriage_return                        cr      str     cr      -               -       YBCGE   carriage return (P*) (P*)
@@ -701,19 +696,20 @@ superscript_characters            supcs   str     Zv      -               -       -----   List of superscriptable characte
 these_cause_cr                 docr    str     Zw      -               -       -----   Printing any of these characters causes CR
 zero_motion                    zerom   str     Zx      -               -       -----   No motion for subsequent character
 #%.TE
-#%.ad
-#%
+#%.PP
+#%.
 #%The following string capabilities are present in the SVr4.0 term structure,
 #%but were originally not documented in the man page.
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw18.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBString    name    Code\fR
+#%.
+#%.PP
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%String Capability Name       TI      TC      Description
+#%_
 char_set_names                 csnm    str     Zy      -               -       -----   Produce #1'th item from list of character set names
 key_mouse                      kmous   str     Km      KEY_MOUSE       0631    -----   Mouse event has occurred
 mouse_info                     minfo   str     Mi      -               -       -----   Mouse status information
@@ -750,9 +746,8 @@ pc_term_options                     pctrm   str     S6      -               -       -----   PC terminal options
 scancode_escape                        scesc   str     S7      -               -       -----   Escape for scancode emulation
 alt_scancode_esc               scesa   str     S8      -               -       -----   Alternate escape for scancode emulation
 #%.TE
-#%.ad
-#%
-#%.in .8i
+#%.PP
+#%.
 #%The XSI Curses standard added these hardcopy capabilities.
 #%They were used in some post-4.1 versions of System V curses,
 #%e.g., Solaris 2.5 and IRIX 6.x.
@@ -761,17 +756,18 @@ alt_scancode_esc          scesa   str     S8      -               -       -----   Alternate escape for scancode emulatio
 #%If your compiled terminfo entries use these,
 #%they may not be binary-compatible with System V terminfo
 #%entries after SVr4.1; beware!
-#%
+#%.
 #%AIX and Solaris do not provide termcap names for these; HPUX does.
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBString    name    Code\fR
+#%.
+#%.PP
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%String Capability Name       TI      TC      Description
+#%_
 set_pglen_inch                 slength str     YI      -               -       -----   Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
 enter_horizontal_hl_mode       ehhlm   str     Q1      -               -       -----   Enter horizontal highlight mode
 enter_left_hl_mode             elhlm   str     Q2      -               -       -----   Enter left highlight mode
@@ -787,7 +783,6 @@ exit_right_hl_mode          rmrhlm  str     Qb      -               -       ----K   Exit right highlight mode
 exit_top_hl_mode               rmthlm  str     Qc      -               -       ----K   Exit top highlight mode
 exit_vertical_hl_mode          rmvhlm  str     Qd      -               -       ----K   Exit vertical highlight mode
 #%.TE
-#%.ad
 #
 # The magic token below tells the tic compiler-generator code that all the caps
 # past it should be ignored (not written out) when dumping terminfo objects. It
index 48da83bcb6c72d618f587c77dff1788e9129c3aa..d9a9c4cb40fe800bc43356162865b13c3b30dd57 100644 (file)
@@ -1,5 +1,5 @@
 ##############################################################################
-# Copyright 2019-2021,2023 Thomas E. Dickey                                  #
+# Copyright 2019-2023,2024 Thomas E. Dickey                                  #
 # Copyright 2001-2015,2016 Free Software Foundation, Inc.                    #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
@@ -30,7 +30,7 @@
 # Author: Thomas Dickey
 #    and: Ilya Zakharevich
 #
-# $Id: Caps.keys,v 1.19 2023/12/30 21:36:32 Branden.Robinson Exp $
+# $Id: Caps.keys,v 1.21 2024/01/13 22:05:39 tom Exp $
 #
 # This is an adaptation of ncurses' termcap/terminfo capability table, which
 # is illustrates an experimental extension to describe alt-, shift- and
 #%.TP
 #%(#\d\fIi\fP\u)
 #%indicates the \fIi\fP\uth\d parameter.
-#%
+#%.
 #%.PP
-#% These are the Boolean capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBBooleans  name    Code\fR
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%Boolean Capability Name      TI      TC      Description
+#%_
 auto_left_margin               bw      bool    bw      -       -       YB-G-   cub1 wraps from column 0 to last column
 auto_right_margin              am      bool    am      -       -       YBCGE   terminal has automatic margins
 no_esc_ctlc                    xsb     bool    xb      -       -       YBCG-   beehive (f1=escape, f2=ctrl C)
@@ -256,18 +254,16 @@ semi_auto_right_margin            sam     bool    YE      -       -       -----   printing in last column causes cr
 cpi_changes_res                        cpix    bool    YF      -       -       -----   changing character pitch changes resolution
 lpi_changes_res                        lpix    bool    YG      -       -       -----   changing line pitch changes resolution
 #%.TE
-#%.ad
-#%
-#%These are the numeric capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBNumeric   name    Code\fR
+#%.PP
+#%.
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%Numeric Capability Name      TI      TC      Description
+#%_
 columns                                cols    num     co      -       -       YBCGE   number of columns in a line
 init_tabs                      it      num     it      -       -       YB-G-   tabs initially every # spaces
 lines                          lines   num     li      -       -       YBCGE   number of lines on screen or page
@@ -286,20 +282,21 @@ max_colors                        colors  num     Co      -       -       -----   maximum number of colors on screen
 max_pairs                      pairs   num     pa      -       -       -----   maximum number of color-pairs on the screen
 no_color_video                 ncv     num     NC      -       -       -----   video attributes that cannot be used with colors
 #%.TE
-#%.ad
-#%
+#%.PP
+#%.
 #%The following numeric capabilities are present in the SVr4.0 term structure,
 #%but are not yet documented in the man page.
 #%They came in with SVr4's printer support.
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBNumeric   name    Code\fR
+#%.
+#%.PP
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%Numeric Capability Name      TI      TC      Description
+#%_
 buffer_capacity                        bufsz   num     Ya      -       -       -----   numbers of bytes buffered before printing
 dot_vert_spacing               spinv   num     Yb      -       -       -----   spacing of pins vertically in pins per inch
 dot_horz_spacing               spinh   num     Yc      -       -       -----   spacing of dots horizontally in dots per inch
@@ -318,18 +315,16 @@ buttons                           btns    num     BT      -       -       -----   number of buttons on mouse
 bit_image_entwining            bitwin  num     Yo      -       -       -----   number of passes for each bit-image row
 bit_image_type                 bitype  num     Yp      -       -       -----   type of bit-image device
 #%.TE
-#%.ad
-#%
-#%These are the string capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBString    name    Code\fR
+#%.PP
+#%.
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%String Capability Name       TI      TC      Description
+#%_
 back_tab                       cbt     str     bt      -               -       YBCGE   back tab (P)
 bell                           bel     str     bl      -               -       YB-GE   audible signal (bell) (P)
 carriage_return                        cr      str     cr      -               -       YBCGE   carriage return (P*) (P*)
@@ -783,19 +778,20 @@ superscript_characters            supcs   str     Zv      -               -       -----   List of superscriptable characte
 these_cause_cr                 docr    str     Zw      -               -       -----   Printing any of these characters causes CR
 zero_motion                    zerom   str     Zx      -               -       -----   No motion for subsequent character
 #%.TE
-#%.ad
-#%
+#%.PP
+#%.
 #%The following string capabilities are present in the SVr4.0 term structure,
 #%but were originally not documented in the man page.
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw18.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBString    name    Code\fR
+#%.
+#%.PP
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%String Capability Name       TI      TC      Description
+#%_
 char_set_names                 csnm    str     Zy      -               -       -----   Produce #1'th item from list of character set names
 key_mouse                      kmous   str     Km      KEY_MOUSE       0631    -----   Mouse event has occurred
 mouse_info                     minfo   str     Mi      -               -       -----   Mouse status information
@@ -832,9 +828,8 @@ pc_term_options                     pctrm   str     S6      -               -       -----   PC terminal options
 scancode_escape                        scesc   str     S7      -               -       -----   Escape for scancode emulation
 alt_scancode_esc               scesa   str     S8      -               -       -----   Alternate escape for scancode emulation
 #%.TE
-#%.ad
-#%
-#%.in .8i
+#%.PP
+#%.
 #%The XSI Curses standard added these hardcopy capabilities.
 #%They were used in some post-4.1 versions of System V curses,
 #%e.g., Solaris 2.5 and IRIX 6.x.
@@ -843,15 +838,16 @@ alt_scancode_esc          scesa   str     S8      -               -       -----   Alternate escape for scancode emulatio
 #%If your compiled terminfo entries use these,
 #%they may not be binary-compatible with System V terminfo
 #%entries after SVr4.1; beware!
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBString    name    Code\fR
+#%.
+#%.PP
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%String Capability Name       TI      TC      Description
+#%_
 enter_horizontal_hl_mode       ehhlm   str     Xh      -               -       -----   Enter horizontal highlight mode
 enter_left_hl_mode             elhlm   str     Xl      -               -       -----   Enter left highlight mode
 enter_low_hl_mode              elohlm  str     Xo      -               -       -----   Enter low highlight mode
@@ -861,7 +857,6 @@ enter_vertical_hl_mode              evhlm   str     Xv      -               -       -----   Enter vertical highlight mode
 set_a_attributes               sgr1    str     sA      -               -       -----   Define second set of video attributes #1-#6
 set_pglen_inch                 slength str     YI      -               -       -----   Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
 #%.TE
-#%.ad
 #
 # The magic token below tells the tic compiler-generator code that all the caps
 # past it should be ignored (not written out) when dumping terminfo objects. It
index 04d8f55fdc2764698106baaa8e53536e73326d64..d5b8c4e6137df131124335b10008e47f8d50e944 100644 (file)
@@ -1,5 +1,5 @@
 ##############################################################################
-# Copyright 2019-2021,2023 Thomas E. Dickey                                  #
+# Copyright 2019-2023,2024 Thomas E. Dickey                                  #
 # Copyright 2002-2015,2016 Free Software Foundation, Inc.                    #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
@@ -29,7 +29,7 @@
 #
 # Author: Thomas Dickey
 #
-# $Id: Caps.osf1r5,v 1.18 2023/12/30 21:36:32 Branden.Robinson Exp $
+# $Id: Caps.osf1r5,v 1.20 2024/01/13 22:05:39 tom Exp $
 #
 # This is an adaptation of ncurses' termcap/terminfo capability table, which
 # is designed to align with OSF/1 version 5 (Tru64) terminfo.
 #%.TP
 #%(#\d\fIi\fP\u)
 #%indicates the \fIi\fP\uth\d parameter.
-#%
+#%.
 #%.PP
-#% These are the Boolean capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBBooleans  name    Code\fR
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%Boolean Capability Name      TI      TC      Description
+#%_
 auto_left_margin               bw      bool    bw      -       -       YB-G-   cub1 wraps from column 0 to last column
 auto_right_margin              am      bool    am      -       -       YBCGE   terminal has automatic margins
 no_esc_ctlc                    xsb     bool    xb      -       -       YBCG-   beehive (f1=escape, f2=ctrl C)
@@ -254,18 +252,16 @@ prtr_silent                       mc5i    bool    5i      -       -       -----   printer will not echo on screen
 row_addr_glitch                        xvpa    bool    YD      -       -       -----   only positive motion for vpa/mvpa caps
 semi_auto_right_margin         sam     bool    YE      -       -       -----   printing in last column causes cr
 #%.TE
-#%.ad
-#%
-#%These are the numeric capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBNumeric   name    Code\fR
+#%.PP
+#%.
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%Numeric Capability Name      TI      TC      Description
+#%_
 columns                                cols    num     co      -       -       YBCGE   number of columns in a line
 init_tabs                      it      num     it      -       -       YB-G-   tabs initially every # spaces
 lines                          lines   num     li      -       -       YBCGE   number of lines on screen or page
@@ -300,18 +296,16 @@ output_res_vert_inch              orvi    num     Yl      -       -       -----   vertical resolution in units per inc
 print_rate                     cps     num     Ym      -       -       -----   print rate in characters per second
 wide_char_size                 widcs   num     Yn      -       -       -----   character step size when in double wide mode
 #%.TE
-#%.ad
-#%
-#%These are the string capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBString    name    Code\fR
+#%.PP
+#%.
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%String Capability Name       TI      TC      Description
+#%_
 back_tab                       cbt     str     bt      -               -       YBCGE   back tab (P)
 bell                           bel     str     bl      -               -       YB-GE   audible signal (bell) (P)
 carriage_return                        cr      str     cr      -               -       YBCGE   carriage return (P*) (P*)
index 6214f59a05d7723309a91fa3585f0fb55c720f9f..a12770f2e0d8ef3c04f907bf000318557448731f 100644 (file)
@@ -1,5 +1,5 @@
 ##############################################################################
-# Copyright 2019-2021,2023 Thomas E. Dickey                                  #
+# Copyright 2019-2023,2024 Thomas E. Dickey                                  #
 # Copyright 2001-2015,2016 Free Software Foundation, Inc.                    #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
@@ -29,7 +29,7 @@
 #
 # Author: Thomas Dickey
 #
-# $Id: Caps.uwin,v 1.17 2023/12/30 21:36:32 Branden.Robinson Exp $
+# $Id: Caps.uwin,v 1.19 2024/01/13 22:05:39 tom Exp $
 #
 # This is an adaptation of ncurses' termcap/terminfo capability table, which
 # is designed to align with U/Win's terminfo.
 #%.TP
 #%(#\d\fIi\fP\u)
 #%indicates the \fIi\fP\uth\d parameter.
-#%
+#%.
 #%.PP
-#% These are the Boolean capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBBooleans  name    Code\fR
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%Boolean Capability Name      TI      TC      Description
+#%_
 auto_left_margin               bw      bool    bw      -       -       YB-G-   cub1 wraps from column 0 to last column
 auto_right_margin              am      bool    am      -       -       YBCGE   terminal has automatic margins
 no_esc_ctlc                    xsb     bool    xb      -       -       YBCG-   beehive (f1=escape, f2=ctrl C)
@@ -247,18 +245,16 @@ back_color_erase          bce     bool    ut      -       -       -----   screen erased with background color
 can_change                     ccc     bool    cc      -       -       -----   terminal can re-define existing colors
 hue_lightness_saturation       hls     bool    hl      -       -       -----   terminal uses only HLS color notation (Tektronix)
 #%.TE
-#%.ad
-#%
-#%These are the numeric capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBNumeric   name    Code\fR
+#%.PP
+#%.
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%Numeric Capability Name      TI      TC      Description
+#%_
 columns                                cols    num     co      -       -       YBCGE   number of columns in a line
 init_tabs                      it      num     it      -       -       YB-G-   tabs initially every # spaces
 lines                          lines   num     li      -       -       YBCGE   number of lines on screen or page
@@ -278,24 +274,16 @@ max_colors                        colors  num     Co      -       -       -----   maximum number of colors on screen
 max_pairs                      pairs   num     pa      -       -       -----   maximum number of color-pairs on the screen
 no_color_video                 ncv     num     NC      -       -       -----   video attributes that cannot be used with colors
 #%.TE
-#%.ad
-#%
-#%The following numeric capabilities are present in the SVr4.0 term structure,
-#%but are not yet documented in the man page.
-#%They came in with SVr4's printer support.
-#%
-#%.na
-#%
-#%These are the string capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable  Cap-    TCap    Description\fR
-#%\fBString    name    Code\fR
+#%.PP
+#%.
+#%.TS
+#%center;
+#%Lb Cb S  Lb
+#%Lb Lb Lb Lb
+#%Lb Lb Lb Lx.
+#%\&   Code    \&
+#%String Capability Name       TI      TC      Description
+#%_
 back_tab                       cbt     str     bt      -               -       YBCGE   back tab (P)
 bell                           bel     str     bl      -               -       YB-GE   audible signal (bell) (P)
 carriage_return                        cr      str     cr      -               -       YBCGE   carriage return (P*) (P*)
@@ -595,7 +583,6 @@ set_background                      setb    str     Sb      -               -       -----   Set background color #1
 set_color_pair                 scp     str     sp      -               -       -----   Set current color pair to #1
 set_foreground                 setf    str     Sf      -               -       -----   Set foreground color #1
 #%.TE
-#%.ad
 #%
 # The magic token below tells the tic compiler-generator code that all the caps
 # past it should be ignored (not written out) when dumping terminfo objects. It
index 323c525f3e2c51d5150384ac03eb1d840739a055..882ef2ad093bbd72e7c0f145cb49e8b379ee9683 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/sh
-# $Id: MKterminfo.sh,v 1.19 2022/07/16 17:55:20 tom Exp $
+# $Id: MKterminfo.sh,v 1.20 2024/01/13 20:37:40 tom Exp $
 #
 # MKterminfo.sh -- generate terminfo.5 from Caps tabular data
 #
@@ -83,7 +83,9 @@ cat $caps | sed -n "\
 /^#/d
 s/[    ][      ]*/     /g
 s/$/\ 5T}/
-s/     [A-Z0-9_()\-][A-Z0-9_()\-]*     [0-9\-][0-9\-]* [Y\-][B\-][C\-][G\-][EK\-]\**   /       T{\ 5/
+s/     [A-Z0-9_()\-][A-Z0-9_()\-]*     [0-9\-][0-9\-]* [Y\-][B\-][C\-][G\-][EK\-]\**   /       T{\\
+.ad l\
+\ 5/
 s/     bool    /       /p
 s/     num     /       /p
 s/     str     /       /p
index 2d2c1421e34fe012faa3e479a9ac4fffcf382fd2..70d849f1c3b662c6a0112cf9d15617aabc9b7888 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright 2019-2021,2023 Thomas E. Dickey                                *
+.\" Copyright 2019-2023,2024 Thomas E. Dickey                                *
 .\" Copyright 2001-2015,2017 Free Software Foundation, Inc.                  *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_add_wch.3x,v 1.50 2023/12/23 16:08:25 tom Exp $
-.TH curs_add_wch 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $Id: curs_add_wch.3x,v 1.53 2024/01/13 22:05:39 tom Exp $
+.TH curs_add_wch 3X 2024-01-13 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -125,89 +125,159 @@ These symbols correspond to the same VT100 line-drawing set as
 \fB\%addch\fP(3X).
 .PP
 .TS
-l l l l l
-l l l l l
-_ _ _ _ _
-lw(1.5i) lw5 lw5 lw5 lw20.
-\fBACS\fP      \fBUnicode\fP   \fBASCII\fP     \fBacsc\fP      \fBGlyph\fP
-\fBName\fP     \fBDefault\fP   \fBDefault\fP   \fBchar\fP      \fBName\fP
-WACS_BLOCK     0x25ae  #       0       solid square block
-WACS_BOARD     0x2592  #       h       board of squares
-WACS_BTEE      0x2534  +       v       bottom tee
-WACS_BULLET    0x00b7  o       ~       bullet
-WACS_CKBOARD   0x2592  :       a       checker board (stipple)
-WACS_DARROW    0x2193  v       .       arrow pointing down
-WACS_DEGREE    0x00b0  '       f       degree symbol
-WACS_DIAMOND   0x25c6  +       \(ga    diamond
-WACS_GEQUAL    0x2265  >       >       greater-than-or-equal-to
-WACS_HLINE     0x2500  \-      q       horizontal line
-WACS_LANTERN   0x2603  #       i       lantern symbol
-WACS_LARROW    0x2190  <       ,       arrow pointing left
-WACS_LEQUAL    0x2264  <       y       less-than-or-equal-to
-WACS_LLCORNER  0x2514  +       m       lower left-hand corner
-WACS_LRCORNER  0x2518  +       j       lower right-hand corner
-WACS_LTEE      0x2524  +       t       left tee
-WACS_NEQUAL    0x2260  !       |       not-equal
-WACS_PI        0x03c0  *       {       greek pi
-WACS_PLMINUS   0x00b1  #       g       plus/minus
-WACS_PLUS      0x253c  +       n       plus
-WACS_RARROW    0x2192  >       +       arrow pointing right
-WACS_RTEE      0x251c  +       u       right tee
-WACS_S1        0x23ba  \-      o       scan line 1
-WACS_S3        0x23bb  \-      p       scan line 3
-WACS_S7        0x23bc  \-      r       scan line 7
-WACS_S9        0x23bd  \&_     s       scan line 9
-WACS_STERLING  0x00a3  f       }       pound-sterling symbol
-WACS_TTEE      0x252c  +       w       top tee
-WACS_UARROW    0x2191          ^       \-      arrow pointing up
-WACS_ULCORNER  0x250c  +       l       upper left-hand corner
-WACS_URCORNER  0x2510  +       k       upper right-hand corner
-WACS_VLINE     0x2502  |       x       vertical line
+Lb Lb Lb Lb Lb
+Lb Lb Lb Lb Lb
+Lb L  L  L  Lx.
+\&     Unicode ASCII   acsc    \&
+ACS Name       Default Default Char    Glyph Name
+_
+WACS_BLOCK     0x25ae  #       0       T{
+solid square block
+T}
+WACS_BOARD     0x2592  #       h       board of squares
+WACS_BTEE      0x2534  +       v       bottom tee
+WACS_BULLET    0x00b7  o       ~       bullet
+WACS_CKBOARD   0x2592  :       a       T{
+checker board (stipple)
+T}
+WACS_DARROW    0x2193  v       .       T{
+arrow pointing down
+T}
+WACS_DEGREE    0x00b0  '       f       degree symbol
+WACS_DIAMOND   0x25c6  +       \(ga    diamond
+WACS_GEQUAL    0x2265  >       >       T{
+greater-than-or-equal-to
+T}
+WACS_HLINE     0x2500  \-      q       horizontal line
+WACS_LANTERN   0x2603  #       i       lantern symbol
+WACS_LARROW    0x2190  <       ,       T{
+arrow pointing left
+T}
+WACS_LEQUAL    0x2264  <       y       T{
+less-than-or-equal-to
+T}
+WACS_LLCORNER  0x2514  +       m       T{
+lower left-hand corner
+T}
+WACS_LRCORNER  0x2518  +       j       T{
+lower right-hand corner
+T}
+WACS_LTEE      0x2524  +       t       left tee
+WACS_NEQUAL    0x2260  !       |       not-equal
+WACS_PI        0x03c0  *       {       greek pi
+WACS_PLMINUS   0x00b1  #       g       plus/minus
+WACS_PLUS      0x253c  +       n       plus
+WACS_RARROW    0x2192  >       +       T{
+arrow pointing right
+T}
+WACS_RTEE      0x251c  +       u       right tee
+WACS_S1        0x23ba  \-      o       scan line 1
+WACS_S3        0x23bb  \-      p       scan line 3
+WACS_S7        0x23bc  \-      r       scan line 7
+WACS_S9        0x23bd  \&_     s       scan line 9
+WACS_STERLING  0x00a3  f       }       T{
+pound-sterling symbol
+T}
+WACS_TTEE      0x252c  +       w       top tee
+WACS_UARROW    0x2191  ^       \-      T{
+arrow pointing up
+T}
+WACS_ULCORNER  0x250c  +       l       T{
+upper left-hand corner
+T}
+WACS_URCORNER  0x2510  +       k       T{
+upper right-hand corner
+T}
+WACS_VLINE     0x2502  |       x       vertical line
 .TE
 .PP
 The wide-character configuration of \fI\%ncurses\fP also defines symbols
 for thick lines (\fBacsc\fP \*(``J\*('' to \*(``V\*(''):
 .PP
 .TS
-l l l l l
-l l l l l
-_ _ _ _ _
-lw(1.5i) lw5 lw5 lw5 lw20.
-\fBACS\fP      \fBUnicode\fP   \fBASCII\fP     \fBacsc\fP      \fBGlyph\fP
-\fBName\fP     \fBDefault\fP   \fBDefault\fP   \fBchar\fP      \fBName\fP
-WACS_T_BTEE    0x253b  +       V       thick tee pointing up
-WACS_T_HLINE   0x2501  -       Q       thick horizontal line
-WACS_T_LLCORNER        0x2517  +       M       thick lower left corner
-WACS_T_LRCORNER        0x251b  +       J       thick lower right corner
-WACS_T_LTEE    0x252b  +       T       thick tee pointing right
-WACS_T_PLUS    0x254b  +       N       thick large plus
-WACS_T_RTEE    0x2523  +       U       thick tee pointing left
-WACS_T_TTEE    0x2533  +       W       thick tee pointing down
-WACS_T_ULCORNER        0x250f  +       L       thick upper left corner
-WACS_T_URCORNER        0x2513  +       K       thick upper right corner
-WACS_T_VLINE   0x2503  |       X       thick vertical line
+Lb Lb Lb Lb Lb
+Lb Lb Lb Lb Lb
+Lb L  L  L  Lx.
+\&     Unicode ASCII   acsc    \&
+ACS Name       Default Default Char    Glyph Name
+_
+WACS_T_BTEE    0x253b  +       V       T{
+thick tee pointing up
+T}
+WACS_T_HLINE   0x2501  -       Q       T{
+thick horizontal line
+T}
+WACS_T_LLCORNER        0x2517  +       M       T{
+thick lower left corner
+T}
+WACS_T_LRCORNER        0x251b  +       J       T{
+thick lower right corner
+T}
+WACS_T_LTEE    0x252b  +       T       T{
+thick tee pointing right
+T}
+WACS_T_PLUS    0x254b  +       N       T{
+thick large plus
+T}
+WACS_T_RTEE    0x2523  +       U       T{
+thick tee pointing left
+T}
+WACS_T_TTEE    0x2533  +       W       T{
+thick tee pointing down
+T}
+WACS_T_ULCORNER        0x250f  +       L       T{
+thick upper left corner
+T}
+WACS_T_URCORNER        0x2513  +       K       T{
+thick upper right corner
+T}
+WACS_T_VLINE   0x2503  |       X       T{
+thick vertical line
+T}
 .TE
 .PP
 and for double-lines (\fBacsc\fP \*(``A\*('' to \*(``I\*(''):
 .PP
 .TS
-l l l l l
-l l l l l
-_ _ _ _ _
-lw(1.5i) lw5 lw5 lw5 lw20.
-\fBACS\fP      \fBUnicode\fP   \fBASCII\fP     \fBacsc\fP      \fBGlyph\fP
-\fBName\fP     \fBDefault\fP   \fBDefault\fP   \fBchar\fP      \fBName\fP
-WACS_D_BTEE    0x2569  +       H       double tee pointing up
-WACS_D_HLINE   0x2550  -       R       double horizontal line
-WACS_D_LLCORNER        0x255a  +       D       double lower left corner
-WACS_D_LRCORNER        0x255d  +       A       double lower right corner
-WACS_D_LTEE    0x2560  +       F       double tee pointing right
-WACS_D_PLUS    0x256c  +       E       double large plus
-WACS_D_RTEE    0x2563  +       G       double tee pointing left
-WACS_D_TTEE    0x2566  +       I       double tee pointing down
-WACS_D_ULCORNER        0x2554  +       C       double upper left corner
-WACS_D_URCORNER        0x2557  +       B       double upper right corner
-WACS_D_VLINE   0x2551  |       Y       double vertical line
+Lb Lb Lb Lb Lb
+Lb Lb Lb Lb Lb
+Lb L  L  L  Lx.
+\&     Unicode ASCII   acsc    \&
+ACS Name       Default Default Char    Glyph Name
+_
+WACS_D_BTEE    0x2569  +       H       T{
+double tee pointing up
+T}
+WACS_D_HLINE   0x2550  -       R       T{
+double horizontal line
+T}
+WACS_D_LLCORNER        0x255a  +       D       T{
+double lower left corner
+T}
+WACS_D_LRCORNER        0x255d  +       A       T{
+double lower right corner
+T}
+WACS_D_LTEE    0x2560  +       F       T{
+double tee pointing right
+T}
+WACS_D_PLUS    0x256c  +       E       T{
+double large plus
+T}
+WACS_D_RTEE    0x2563  +       G       T{
+double tee pointing left
+T}
+WACS_D_TTEE    0x2566  +       I       T{
+double tee pointing down
+T}
+WACS_D_ULCORNER        0x2554  +       C       T{
+double upper left corner
+T}
+WACS_D_URCORNER        0x2557  +       B       T{
+double upper right corner
+T}
+WACS_D_VLINE   0x2551  |       Y       T{
+double vertical line
+T}
 .TE
 .PP
 Unicode's descriptions for these characters differs slightly from
index daba5c214827d5767ed75714cca82023da574271..3053c350be89ecbb84957a365aafea02e10fe4f6 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey                                *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey                                *
 .\" Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_attr.3x,v 1.93 2023/12/23 16:08:25 tom Exp $
-.TH curs_attr 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $Id: curs_attr.3x,v 1.96 2024/01/13 22:05:39 tom Exp $
+.TH curs_attr 3X 2024-01-13 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -247,23 +247,27 @@ characters passed to \fBaddch\fP (see \fBcurs_addch\fP(3X)).
 .ne 15
 .RS
 .TS
-l l
-_ _ _
-l l .
-\fBName\fP     \fBDescription\fP
-\fBA_NORMAL\fP Normal display (no highlight)
-\fBA_STANDOUT\fP       Best highlighting mode of the terminal.
-\fBA_UNDERLINE\fP      Underlining
-\fBA_REVERSE\fP        Reverse video
-\fBA_BLINK\fP  Blinking
-\fBA_DIM\fP    Half bright
-\fBA_BOLD\fP   Extra bright or bold
-\fBA_PROTECT\fP        Protected mode
-\fBA_INVIS\fP  Invisible or blank mode
-\fBA_ALTCHARSET\fP     Alternate character set
-\fBA_ITALIC\fP Italics (non-X/Open extension)
-\fBA_CHARTEXT\fP       Bit-mask to extract a character
-\fBA_COLOR\fP  Bit-mask to extract a color (legacy routines)
+Lb Lb
+Lb Lx.
+Name   Description
+_
+A_NORMAL       Normal display (no highlight)
+A_STANDOUT     T{
+Best highlighting mode of the terminal
+T}
+A_UNDERLINE    Underlining
+A_REVERSE      Reverse video
+A_BLINK        Blinking
+A_DIM  Half bright
+A_BOLD Extra bright or bold
+A_PROTECT      Protected mode
+A_INVIS        Invisible or blank mode
+A_ALTCHARSET   Alternate character set
+A_ITALIC       Italics (non-X/Open extension)
+A_CHARTEXT     Bit-mask to extract a character
+A_COLOR        T{
+Bit-mask to extract a color (legacy routines)
+T}
 .TE
 .RE
 .PP
@@ -272,16 +276,16 @@ These video attributes are supported by \fBattr_on\fP and related functions
 .PP
 .RS
 .TS
-l l
-_ _ _
-l l .
-\fBName\fP     \fBDescription\fP
-\fBWA_HORIZONTAL\fP    Horizontal highlight
-\fBWA_LEFT\fP  Left highlight
-\fBWA_LOW\fP   Low highlight
-\fBWA_RIGHT\fP Right highlight
-\fBWA_TOP\fP   Top highlight
-\fBWA_VERTICAL\fP      Vertical highlight
+Lb Lb
+Lb Lx.
+Name   Description
+_
+WA_HORIZONTAL  Horizontal highlight
+WA_LEFT        Left highlight
+WA_LOW Low highlight
+WA_RIGHT       Right highlight
+WA_TOP Top highlight
+WA_VERTICAL    Vertical highlight
 .TE
 .RE
 .PP
@@ -390,18 +394,20 @@ The older macros have direct counterparts in the newer set of names:
 .RS
 .ne 9
 .TS
-l l
-_ _ _
-l l .
-\fBName\fP     \fBDescription\fP
-\fBWA_NORMAL\fP        Normal display (no highlight)
-\fBWA_STANDOUT\fP      Best highlighting mode of the terminal.
-\fBWA_UNDERLINE\fP     Underlining
-\fBWA_REVERSE\fP       Reverse video
-\fBWA_BLINK\fP Blinking
-\fBWA_DIM\fP   Half bright
-\fBWA_BOLD\fP  Extra bright or bold
-\fBWA_ALTCHARSET\fP    Alternate character set
+Lb Lb
+Lb Lx.
+Name   Description
+_
+WA_NORMAL      Normal display (no highlight)
+WA_STANDOUT    T{
+Best highlighting mode of the terminal
+T}
+WA_UNDERLINE   Underlining
+WA_REVERSE     Reverse video
+WA_BLINK       Blinking
+WA_DIM Half bright
+WA_BOLD        Extra bright or bold
+WA_ALTCHARSET  Alternate character set
 .TE
 .RE
 .PP
@@ -504,25 +510,25 @@ as well as clues such as the alternate character set implementation.
 A 32-bit library can be used on a 64-bit system,
 but not necessarily the reverse.
 .PP
-.RS
 .TS
-l l l l l l
-_ _ _ _ _ _
-l l l l l l .
-\fBYear\fP     \fBSystem\fP    \fBArch\fP      \fBColor\fP     \fBChar\fP      \fBNotes\fP
-1992   Solaris 5.2     32      6       17      SVr4 curses
-1992   HP-UX 9 32      no      8       SVr2 curses
-1992   AIX 3.2 32      no      23      SVr2 curses
-1994   OSF/1 r3        32      no      23      SVr2 curses
-1995   HP-UX 10.00     32      6       16      SVr3 \*(``curses_colr\*(''
-1995   HP-UX 10.00     32      6       8       SVr4, X/Open curses
-1995   Solaris 5.4     32/64   7       16      X/Open curses
-1996   AIX 4.2 32      7       16      X/Open curses
-1996   OSF/1 r4        32      6       16      X/Open curses
-1997   HP-UX 11.00     32      6       8       X/Open curses
-2000   U/Win   32/64   7/31    16      uses \fBchtype\fP
+Lb  Lb Lb  Cb  S   Lb
+Lb2 Lb Lb2 Lbz Lb2 Lb
+L   L  L   L   L   Lx.
+\&     \&      \&      Bits    \&
+Year   System  Arch    Color   Char    Notes
+_
+1992   Solaris 5.2     32      6       17      SVr4 \fIcurses\fP
+1992   HP-UX 9 32      no      8       SVr2 \fIcurses\fP
+1992   AIX 3.2 32      no      23      SVr2 \fIcurses\fP
+1994   OSF/1 r3        32      no      23      SVr2 \fIcurses\fP
+1995   HP-UX 10.00     32      6       16      SVr3 \fIcurses_colr\fP
+1995   HP-UX 10.00     32      6       8       SVr4, X/Open \fIcurses\fP
+1995   Solaris 5.4     32/64   7       16      X/Open \fIcurses\fP
+1996   AIX 4.2 32      7       16      X/Open \fIcurses\fP
+1996   OSF/1 r4        32      6       16      X/Open \fIcurses\fP
+1997   HP-UX 11.00     32      6       8       X/Open \fIcurses\fP
+2000   U/Win   32/64   7/31    16      uses \fIchtype\fP
 .TE
-.RE
 .PP
 Notes:
 .RS 3
index db92f6dfd9ec5d71fc6a2d3c77f6cf12bdb2eb10..54a57228f9775912ebc23f6a38431db50aaffa4e 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey                                *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey                                *
 .\" Copyright 1998-2010,2017 Free Software Foundation, Inc.                  *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_inch.3x,v 1.41 2023/12/16 21:08:16 tom Exp $
-.TH curs_inch 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: curs_inch.3x,v 1.44 2024/01/13 22:05:39 tom Exp $
+.TH curs_inch 3X 2024-01-13 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -74,10 +74,13 @@ extract the character or attributes alone.
 The following bit masks may be AND-ed with characters returned by \fBwinch\fP.
 .PP
 .TS
-l l .
-\fBA_CHARTEXT\fP       Bit mask to extract character
-\fBA_ATTRIBUTES\fP     Bit mask to extract attributes
-\fBA_COLOR\fP  Bit mask to extract color pair field information
+Lb Lb
+Lb Lx.
+Name   Description
+_
+A_CHARTEXT     Extract character
+A_ATTRIBUTES   Extract attributes
+A_COLOR        Extract color pair information
 .TE
 .SH RETURN VALUE
 Functions with a \*(``mv\*('' prefix first perform a cursor movement using
index b7a2d8291d249103ba5fa38dbfeab2e38aebf56a..677f708aed390a0763c8ce2a012ee4a016a3cc5b 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey                                *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey                                *
 .\" Copyright 1998-2015,2017 Free Software Foundation, Inc.                  *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_mouse.3x,v 1.83 2023/12/23 20:37:56 tom Exp $
-.TH curs_mouse 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $Id: curs_mouse.3x,v 1.86 2024/01/13 22:05:39 tom Exp $
+.TH curs_mouse 3X 2024-01-13 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -110,10 +110,10 @@ Whether this happens is device-dependent.
 Here are the mouse event type masks which may be defined:
 .PP
 .TS
-lB lB
-lB l .
+Lb Lb
+Lb Lx.
 Name   Description
-_
+=
 BUTTON1_PRESSED        mouse button 1 down
 BUTTON1_RELEASED       mouse button 1 up
 BUTTON1_CLICKED        mouse button 1 clicked
@@ -144,9 +144,15 @@ BUTTON5_CLICKED    mouse button 5 clicked
 BUTTON5_DOUBLE_CLICKED mouse button 5 double clicked
 BUTTON5_TRIPLE_CLICKED mouse button 5 triple clicked
 _
-BUTTON_SHIFT   shift was down during button state change
-BUTTON_CTRL    control was down during button state change
-BUTTON_ALT     alt was down during button state change
+BUTTON_SHIFT   T{
+shift was down during button state change
+T}
+BUTTON_CTRL    T{
+control was down during button state change
+T}
+BUTTON_ALT     T{
+alt was down during button state change
+T}
 ALL_MOUSE_EVENTS       report all button state changes
 REPORT_MOUSE_POSITION  report mouse movement
 _
@@ -382,15 +388,28 @@ extern unsigned long getmouse(void), getbmap(void);
 .RE
 .bP
 Its \*(``terminfo\*('' manual page lists capabilities for the feature.
-.PP
+.\" These don't appear in in the SVID 4th edition, Volume 3,
+.\" terminfo(TI_ENV) man page.  They can be found in, e.g., the "z/OS
+.\" V1R1.0 C Curses" book, Chapter 17, pp. 179-186 (PDF 213-220).
 .RS 8
-.EX
-buttons           btns    BT       Number of buttons on the mouse
-get_mouse         getm    Gm       Curses should get button events
-key_mouse         kmous   Km       0631, Mouse event has occurred
-mouse_info        minfo   Mi       Mouse status information
-req_mouse_pos     reqmp   RQ       Request mouse position report
-.EE
+.TS
+Lb Lb Lb Lx.
+buttons        btns    BT      T{
+Number of buttons on the mouse
+T}
+get_mouse      getm    Gm      T{
+Curses should get button events
+T}
+key_mouse      kmous   Km      T{
+0631, Mouse event has occurred
+T}
+mouse_info     minfo   Mi      T{
+Mouse status information
+T}
+req_mouse_pos  reqmp   RQ      T{
+Request mouse position report
+T}
+.TE
 .RE
 .bP
 The interface made assumptions
index e5affc46f87fe5be78675acec0a43eba2932c20d..4975914d83b95f9408fd2f85a2e3900f5b5a68e7 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey                                *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey                                *
 .\" Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_terminfo.3x,v 1.125 2023/12/30 23:46:56 tom Exp $
-.TH curs_terminfo 3X 2023-12-30 "ncurses 6.4" "Library calls"
+.\" $Id: curs_terminfo.3x,v 1.129 2024/01/13 22:15:55 tom Exp $
+.TH curs_terminfo 3X 2024-01-13 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
 .PP
 \fBint mvcur(int \fIoldrow\fP, int \fIoldcol\fP, int \fInewrow\fP, int \fInewcol\fP);
 .PP
-\fBint tigetflag(const char *\fIcapname\fP);
-\fBint tigetnum(const char *\fIcapname\fP);
-\fBchar *tigetstr(const char *\fIcapname\fP);
+\fBint tigetflag(const char *\fIcap-code\fP);
+\fBint tigetnum(const char *\fIcap-code\fP);
+\fBchar *tigetstr(const char *\fIcap-code\fP);
 .PP
 \fBchar *tiparm(const char *\fIstr\fP, \fR.\|.\|.\fP);
 .PP
 \fBint setterm(const char *\fIterm\fP);
 .fi
 .SH DESCRIPTION
-These low-level routines must be called by programs that have to deal
-directly with the
+These low-level functions must be called by programs that deal directly
+with the
 .I \%term\%info
 database to handle certain terminal capabilities,
 such as programming function keys.
 For all other functionality,
 .I curses
-routines are more suitable and their use is recommended.
+functions are more suitable and their use is recommended.
 .PP
 None of these functions use
 (or are aware of)
@@ -139,11 +139,10 @@ Initially,
 The high-level
 .I curses
 functions \fB\%initscr\fP and \fB\%newterm\fP call \fB\%setupterm\fP to
-initialize the low-level set of terminal-dependent variables
-listed in \fB\%term_variables\fP(3X).
+initialize the low-level set of terminal-dependent variables listed in
+\fB\%term_variables\fP(3X).
 .PP
-Applications can use the
-terminal capabilities either directly
+Applications can use the terminal capabilities either directly
 (via header definitions),
 or by special functions.
 The header files
@@ -152,57 +151,77 @@ and
 .I \%term.h
 should be included
 (in that order)
-to get the definitions for these strings, numbers, and flags.
+to get the definitions for these strings,
+numbers,
+and flags.
 .PP
 The
 .I \%term\%info
 variables
-\fBlines\fP and \fBcolumns\fP are initialized by \fB\%setupterm\fP as
-follows:
+.B \%lines
+and
+.B \%columns
+are initialized by \fB\%setupterm\fP as follows.
 .bP
 If \fB\%use_env(FALSE)\fP has been called,
-values for \fBlines\fP and \fBcolumns\fP specified in
+values for
+.B \%lines
+and
+.B \%columns
+specified in
 .I \%term\%info
 are used.
 .bP
 Otherwise,
-if the environment variables \fILINES\fP and \fI\%COLUMNS\fP exist,
+if the environment variables
+.I LINES
+and
+.I \%COLUMNS
+exist,
 their values are used.
-If these environment variables do not
-exist and the program is running in a window, the current window size
+If these environment variables do not exist and the program is running
+in a window,
+the current window size
 is used.
-Otherwise, if the environment variables do not exist, the
-values for \fBlines\fP and \fBcolumns\fP specified in the
+Otherwise,
+if the environment variables do not exist,
+the values for
+.B \%lines
+and
+.B \%columns
+specified in the
 .I \%term\%info
 database are used.
 .PP
-Parameterized strings should be passed through \fBtparm\fP to instantiate them.
+Parameterized strings should be passed through \fB\%tparm\fP to
+instantiate them.
 All
 .I \%term\%info
 strings
-(including the output of \fBtparm\fP)
-should be printed
-with \fBtputs\fP or \fBputp\fP.
-Call \fBreset_shell_mode\fP to restore the
-tty modes before exiting [see \fBcurs_kernel\fP(3X)].
-.PP
-Programs which use
+(including the output of \fB\%tparm\fP)
+should be sent to the terminal device with \fB\%tputs\fP or
+\fB\%putp\fP.
+Call \fB\%reset_shell_mode\fP to restore the terminal modes before
+exiting;
+see \fB\%curs_kernel\fP(3X).
+.PP
+Programs that use
 cursor addressing should
 .bP
-output \fBenter_ca_mode\fP upon startup and
+output \fB\%enter_ca_mode\fP upon startup and
 .bP
-output \fBexit_ca_mode\fP before exiting.
+output \fB\%exit_ca_mode\fP before exiting.
 .PP
-Programs which execute shell subprocesses should
+Programs that execute shell subprocesses should
 .bP
-call \fBreset_shell_mode\fP and
-output \fBexit_ca_mode\fP before the shell
+call \fB\%reset_shell_mode\fP and
+output \fB\%exit_ca_mode\fP before the shell
 is called and
 .bP
-output \fBenter_ca_mode\fP and
-call \fBreset_prog_mode\fP after returning from the shell.
+output \fB\%enter_ca_mode\fP and
+call \fB\%reset_prog_mode\fP after returning from the shell.
 .PP
-The \fB\%setupterm\fP routine reads in the
+\fB\%setupterm\fP reads in the
 .I \%term\%info
 database,
 initializing the
@@ -210,49 +229,84 @@ initializing the
 structures,
 but does not set up the output virtualization structures used by
 .I curses.
-These are its parameters:
+Its parameters follow.
 .RS 3
 .TP 5
-\fIterm\fP
-is the terminal type, a character string.
-If \fIterm\fP is null,
-the environment variable \fITERM\fP is used.
+.I term
+is the terminal type,
+a character string.
+If
+.I term
+is null,
+the environment variable
+.I TERM
+is read.
 .TP 5
-\fIfiledes\fP
+.I filedes
 is the file descriptor used for getting and setting terminal I/O modes.
 .IP
-Higher-level applications use \fBnewterm\fP(3X) for initializing the terminal,
-passing an output \fIstream\fP rather than a \fIdescriptor\fP.
-In curses, the two are the same because \fBnewterm\fP calls \fBsetupterm\fP,
+Higher-level applications use \fB\%newterm\fP(3X) to initialize the
+terminal,
+passing an output
+.I stream
+rather than a
+.I descriptor.
+In
+.I curses,
+the two are the same because \fB\%newterm\fP calls \fB\%setupterm\fP,
 passing the file descriptor derived from its output stream parameter.
 .TP 5
-\fIerrret\fP
+.I errret
 points to an optional location where an error status can be returned to
 the caller.
-If \fIerrret\fP is not null,
-then \fBsetupterm\fP returns \fBOK\fP or
-\fBERR\fP and stores a status value in the integer pointed to by
-\fIerrret\fP.
-A return value of \fBOK\fP combined with status of \fB1\fP in \fIerrret\fP
+If
+.I errret
+is not null,
+then \fB\%setupterm\fP returns
+.B OK
+or
+.B ERR
+and stores a status value in the integer pointed to by
+.I errret.
+A return value of
+.B OK
+combined with status of
+.B 1
+in
+.I errret
 is normal.
 .IP
-If \fBERR\fP is returned, examine \fIerrret\fP:
+If
+.B ERR
+is returned,
+examine
+.I errret:
 .RS
 .TP 5
 .B 1
-means that the terminal is hardcopy, cannot be used
-for \fIcurses\fP applications.
+means that the terminal is hardcopy,
+and cannot be used for
+.I curses
+applications.
 .IP
 \fB\%setupterm\fP determines if the entry is a hardcopy type by
-checking the \fBhc\fP (\fBhardcopy\fP) capability.
+checking the
+.B \%hardcopy
+.RB ( hc )
+capability.
 .TP 5
 .B 0
 means that the terminal could not be found,
 or that it is a generic type,
-having too little information for \fIcurses\fP applications to run.
+having too little information for
+.I curses
+applications to run.
 .IP
 \fB\%setupterm\fP determines if the entry is a generic type by
-checking the \fBgn\fP \%(\fBgeneric_type\fP) capability.
+checking the
+.B \%generic_type
+.RB ( gn )
+capability.
 .TP 5
 .B \-1
 means that the
@@ -260,31 +314,40 @@ means that the
 database could not be found.
 .RE
 .IP
-If \fIerrret\fP is
-null, \fB\%setupterm\fP prints an error message upon finding an error
-and exits.
-Thus, the simplest call is:
+If
+.I errret
+is null,
+\fB\%setupterm\fP reports an error message upon finding an error and
+exits.
+Thus,
+the simplest call is:
 .RS
 .IP
-\fBsetupterm((char *)0, 1, (int *)0);\fP
+.EX
+setupterm((char *)0, 1, (int *)0);
+.EE
 .RE
 .IP
-which uses all the defaults and sends the output to \fBstdout\fP.
+which uses all the defaults and sends the output to
+.BR stdout .
 .RE
-.\" ***************************************************************************
+.\" ********************************************************************
 .SS "The Terminal State"
-The \fBsetupterm\fP routine stores its information about the terminal
-in a \fI\%TERMINAL\fP structure pointed to by the global variable \fBcur_term\fP.
+\fB\%setupterm\fP stores its information about the terminal in a
+.I \%TERMINAL
+structure pointed to by the global variable \fB\%cur_term\fP.
 If it detects an error,
-or decides that the terminal is unsuitable (hardcopy or generic),
+or decides that the terminal is unsuitable
+(hardcopy or generic),
 it discards this information,
 making it not available to applications.
 .PP
-If \fBsetupterm\fP is called repeatedly for the same terminal type,
+If \fB\%setupterm\fP is called repeatedly for the same terminal type,
 it will reuse the information.
 It maintains only one copy of a given terminal's capabilities in memory.
 If it is called for different terminal types,
-\fBsetupterm\fP allocates new storage for each set of terminal capabilities.
+\fB\%setupterm\fP allocates new storage for each set of terminal
+capabilities.
 .PP
 \fB\%set_curterm\fP sets \fB\%cur_term\fP to
 .I \%nterm,
@@ -296,7 +359,7 @@ and string variables use the values from
 .I \%nterm.
 It returns the old value of \fB\%cur_term\fP.
 .PP
-\fB\%del_curterm\fP routine frees the space pointed to by
+\fB\%del_curterm\fP frees the space pointed to by
 .I \%oterm
 and makes it available for further use.
 If
@@ -310,29 +373,42 @@ numeric,
 and string variables thereafter may refer to invalid memory locations
 until another \fB\%setupterm\fP has been called.
 .PP
-The \fBrestartterm\fP routine is similar to \fBsetupterm\fP and \fBinitscr\fP,
-except that it is called after restoring memory to a previous state (for
-example, when reloading a game saved as a core image dump).
-\fBrestartterm\fP assumes that the windows and the input and output options
-are the same as when memory was saved,
+\fB\%restartterm\fP is similar to \fB\%setupterm\fP and \fB\%initscr\fP,
+except that it is called after restoring memory to a previous state
+(for example,
+when reloading a game saved as a core image dump).
+\fB\%restartterm\fP assumes that the windows and the input and output
+options are the same as when memory was saved,
 but the terminal type and baud rate may be different.
-Accordingly, \fBrestartterm\fP saves various tty state bits,
-calls \fBsetupterm\fP, and then restores the bits.
-.\" ***************************************************************************
+Accordingly,
+\fB\%restartterm\fP saves various terminal state bits,
+calls \fB\%setupterm\fP,
+and then restores the bits.
+.\" ********************************************************************
 .SS "Formatting Output"
-The \fBtparm\fP routine instantiates the string \fIstr\fP with
-parameters \fIpi\fP.  A pointer is returned to the result of \fIstr\fP
+\fB\%tparm\fP instantiates the string
+.I str
+with parameters
+.I pi.
+A pointer is returned to the result of
+.I str
 with the parameters applied.
-Application developers should keep in mind these quirks of the interface:
+Application developers should keep in mind these quirks of the
+interface:
 .bP
-Although \fBtparm\fP's actual parameters may be integers or strings,
-the prototype expects \fBlong\fP (integer) values.
+Although \fB\%tparm\fP's actual parameters may be integers or strings,
+the prototype expects
+.I long
+(integer) values.
 .bP
-Aside from the \fBset_attributes\fP (\fBsgr\fP) capability,
+Aside from the
+.B \%set_attributes\fP
+.RB ( sgr )
+capability,
 most terminal capabilities require no more than one or two parameters.
 .bP
-Padding information is ignored by \fBtparm\fP;
-it is interpreted by \fBtputs\fP.
+Padding information is ignored by \fB\%tparm\fP;
+it is interpreted by \fB\%tputs\fP.
 .bP
 The capability string is null-terminated.
 Use \*(``\e200\*('' where an ASCII NUL is needed in the output.
@@ -345,22 +421,28 @@ Its numeric parameters are
 rather than
 .IR long s.
 .PP
-Both \fBtparm\fP and \fBtiparm\fP assume that the application passes
+Both \fB\%tparm\fP and \fB\%tiparm\fP assume that the application passes
 parameters consistent with the terminal description.
-Two extensions are provided as alternatives to deal with untrusted data:
+Two extensions are provided as alternatives to deal with untrusted data.
 .bP
-\fBtiparm_s\fP is an extension which is a safer formatting function
-than \fBtparm\fR or \fBtiparm\fR,
-because it allows the developer to tell the curses
+\fB\%tiparm_s\fP is an extension which is a safer formatting function
+than \fB\%tparm\fR or \fB\%tiparm\fR,
+because it allows the developer to tell the
+.I curses
 library how many parameters to expect in the parameter list,
 and which may be string parameters.
 .IP
 The \fImask\fP parameter has one bit set for each of the parameters
-(up to 9) which will be passed as char* rather than numbers.
+(up to 9)
+passed as
+.I char
+pointers rather than numbers.
 .bP
-The extension \fBtiscan_s\fP allows the application
-to inspect a formatting capability to see what the curses library would assume.
-.\" ***************************************************************************
+The extension \fB\%tiscan_s\fP allows the application to inspect a
+formatting capability to see what the
+.I curses
+library would assume.
+.\" ********************************************************************
 .SS "Output Functions"
 String capabilities can contain padding information,
 a time delay
@@ -371,41 +453,65 @@ If \fIn\fP exceeds 30,000
 (thirty seconds),
 it is capped at that value.
 .PP
-The \fBtputs\fP routine interprets time-delay information in the string
-\fIstr\fP and outputs it, executing the delays:
+\fB\%tputs\fP interprets time-delay information in the string
+.I str
+and outputs it,
+executing the delays:
 .bP
-The \fIstr\fP parameter must be a terminfo string
-variable or the return value from
-\fBtparm\fP, \fBtiparm\fP, \fBtgetstr\fP, or \fBtgoto\fP.
+The
+.I str
+parameter must be a
+.I \%term\%info
+string variable or the return value of
+\fB\%tparm\fP,
+\fB\%tiparm\fP,
+\fB\%tgetstr\fP,
+or \fB\%tgoto\fP.
 .IP
-The \fBtgetstr\fP and \fBtgoto\fP functions are part of the \fItermcap\fP
+The \fB\%tgetstr\fP and \fB\%tgoto\fP functions are part of the
+.I termcap
 interface,
-which happens to share this function name with the
+which happens to share these function names with the
 .I \%term\%info
-interface.
+API.
 .bP
-\fIaffcnt\fP is the number of lines affected, or 1 if
-not applicable.
+.I affcnt
+is the number of lines affected,
+or
+.B 1
+if not applicable.
 .bP
-\fIputc\fP is a \fI\%putchar\fP-like function to which
-the characters are passed, one at a time.
+.I putc
+is a
+.IR \%putchar -like
+function to which the characters are passed,
+one at a time.
 .IP
-If \fBtputs\fP processes a time-delay,
-it uses the \fBdelay_output\fP(3X) function,
+If \fB\%tputs\fP processes a time-delay,
+it uses the \fB\%delay_output\fP(3X) function,
 routing any resulting padding characters through this function.
 .PP
-The \fBputp\fR routine calls \fBtputs(\fIstr\fB, 1, \%putchar)\fR.
-The output of \fBputp\fP always goes to \fBstdout\fP, rather than
-the \fIfiledes\fP specified in \fBsetupterm\fP.
-.PP
-The \fBvidputs\fP routine displays the string on the terminal in the
-video attribute mode \fIattrs\fP, which is any combination of the
-attributes listed in \fBcurses\fP(3X).
-The characters are passed to
-the \fI\%putchar\fP-like function \fIputc\fP.
-.PP
-The \fBvidattr\fP routine is like the \fBvidputs\fP routine, except
-that it outputs through \fI\%putchar\fP.
+\fB\%putp\fR calls
+.RB \%\*(`` tputs(\c
+.IB str ", 1, putchar)\c"
+\*(''.
+The output of \fB\%putp\fP always goes to
+.BR stdout ,
+rather than the
+.I \%file\%des
+specified in \fB\%setupterm\fP.
+.PP
+\fB\%vidputs\fP displays the string on the terminal in the video
+attribute mode
+.I attrs,
+which is any combination of the attributes listed in \fB\%curses\fP(3X).
+The characters are passed to the
+.IR \%putchar -like
+function
+.I putc.
+.PP
+\fB\%vidattr\fP is like \fB\%vidputs\fP,
+except that it outputs through \fI\%putchar\fP(3).
 .PP
 .B \%vid_attr
 and
@@ -442,62 +548,83 @@ argument for future use,
 saying that applications must provide a null pointer for that argument;
 but see section \*(``EXTENSIONS\*('' below.
 .PP
-The \fBmvcur\fP routine provides low-level cursor motion.
-It takes effect immediately (rather than at the next refresh).
+\fB\%mvcur\fP provides low-level cursor motion.
+It takes effect immediately
+(rather than at the next refresh).
 Unlike the other low-level output functions,
-which either write to the standard output or pass an output function parameter,
-\fBmvcur\fP uses an output file descriptor derived from
-the output stream parameter of \fBnewterm\fP(3X).
+which either write to the standard output or pass an output function
+parameter,
+\fB\%mvcur\fP uses an output file descriptor derived from
+the output stream parameter of \fB\%newterm\fP(3X).
 .PP
-While \fBputp\fP and \fBmvcur\fP are low-level functions which
-do not use the high-level curses state,
-they are declared in
+While \fB\%putp\fP and \fB\%mvcur\fP are low-level functions that do not
+use high-level
+.I curses
+state,
+.I \%ncurses
+declares them in
 .I \%curses.h
 because System\ V did this
-(see \fIHISTORY\fP).
-.\" ***************************************************************************
+(see section \*(``HISTORY\*('' below).
+.\" ********************************************************************
 .SS "Terminal Capability Functions"
-The \fBtigetflag\fP, \fBtigetnum\fP and \fBtigetstr\fP routines return
-the value of the capability corresponding to the
+\fB\%tigetflag\fP,
+\fB\%tigetnum\fP,
+and \fB\%tigetstr\fP return the value of the capability corresponding to
+the
 .I \%term\%info
-\fIcapname\fP passed to them, such as \fBxenl\fP.
-The \fIcapname\fP for each capability is given in the table column entitled
-\fIcapname\fP code in the capabilities section of \fB\%terminfo\fP(5).
+.I cap-code,
+such as
+.BR xenl ,
+passed to them.
+The
+.I cap-code
+for each capability is given in the table column entitled
+.I cap-code
+code in the capabilities section of \fB\%terminfo\fP(5).
 .PP
-These routines return special values to denote errors.
+These functions return special values to denote errors.
 .PP
-The \fBtigetflag\fP routine returns
+\fB\%tigetflag\fP returns
 .TP
-\fB\-1\fP
-if \fIcapname\fP is not a Boolean capability,
+.B \-1
+if
+.I cap-code
+is not a Boolean capability,
 or
 .TP
-\fB0\fP
+.B 0
 if it is canceled or absent from the terminal description.
 .PP
-The \fBtigetnum\fP routine returns
+\fB\%tigetnum\fP returns
 .TP
-\fB\-2\fP
-if \fIcapname\fP is not a numeric capability, or
+.B \-2
+if
+.I cap-code
+is not a numeric capability,
+or
 .TP
-\fB\-1\fP
+.B \-1
 if it is canceled or absent from the terminal description.
 .PP
-The \fBtigetstr\fP routine returns
+\fB\%tigetstr\fP returns
 .TP
-\fB(char *)\-1\fP
-if \fIcapname\fP is not a string capability,
+.B "(char *)\-1"
+if
+.I cap-code
+is not a string capability,
 or
 .TP
-\fB0\fP
+.B 0
 if it is canceled or absent from the terminal description.
-.\" ***************************************************************************
+.\" ********************************************************************
 .SS "Terminal Capability Names"
 These null-terminated arrays contain
 .bP
 the short \fI\%term\%info\fP names (\*(``codes\*(''),
 .bP
-the \fItermcap\fP names (\*(``names\*(''), and
+the \fItermcap\fP names (\*(``names\*(''),
+and
 .bP
 the long \fI\%term\%info\fP names (\*(``fnames\*('')
 .PP
@@ -512,71 +639,90 @@ variables:
 \fBconst char *strnames[]\fP, \fB*strcodes[]\fP, \fB*strfnames[]\fP
 .fi
 .RE
-.\" ***************************************************************************
+.\" ********************************************************************
 .SS "Releasing Memory"
-Each successful call to \fBsetupterm\fP allocates memory to hold the terminal
-description.
-As a side-effect, it sets \fBcur_term\fP to point to this memory.
+Each successful call to \fB\%setupterm\fP allocates memory to hold the
+terminal description.
+As a side effect,
+it sets \fB\%cur_term\fP to point to this memory.
 If an application calls
 .IP
-\fBdel_curterm(cur_term);\fP
+.EX
+del_curterm(cur_term);
+.EE
 .PP
 the memory will be freed.
 .PP
-The formatting functions \fBtparm\fP and \fBtiparm\fP extend the storage
-allocated by \fBsetupterm\fP:
+The formatting functions \fB\%tparm\fP and \fB\%tiparm\fP extend the
+storage allocated by \fB\%setupterm\fP as follows.
 .bP
-the \*(``static\*('' terminfo variables [a-z].
-Before \fI\%ncurses\fP 6.3, those were shared by all screens.
-With \fI\%ncurses\fP 6.3, those are allocated per screen.
-See \fB\%terminfo\fP(5) for details.
+They add the \*(``static\*(''
+.I \%term\%info
+variables [a-z].
+Before
+.I \%ncurses
+6.3,
+those were shared by all screens.
+With
+.I \%ncurses
+6.3,
+those are allocated per screen.
+See \fB\%terminfo\fP(5).
 .bP
-to improve performance,
-\fI\%ncurses\fP 6.3 caches the result of analyzing terminfo
+To improve performance,
+.I \%ncurses
+6.3 caches the result of analyzing
+.I \%term\%info
 strings for their parameter types.
-That is stored as a binary tree referenced from the \fI\%TERMINAL\fP structure.
+That is stored as a binary tree referenced from the
+.I \%TERMINAL
+structure.
 .PP
-The higher-level \fBinitscr\fP and \fBnewterm\fP functions use \fBsetupterm\fP.
-Normally they do not free this memory, but it is possible to do that using
-the \fBdelscreen\fP(3X) function.
-.\" ***************************************************************************
+The higher-level \fB\%initscr\fP and \fB\%newterm\fP functions use
+\fB\%setupterm\fP.
+Normally they do not free this memory,
+but it is possible to do that using the \fB\%delscreen\fP(3X) function.
+.\" ********************************************************************
 .SH RETURN VALUE
-X/Open defines no failure conditions.
+X/Open Curses defines no failure conditions.
 In
 .I \%ncurses,
 .TP 5
-\fBdel_curterm\fP
-returns an error
-if its terminal parameter is null.
+.B del_curtem
+fails if its terminal parameter is null.
 .TP 5
-\fBputp\fP
-calls \fBtputs\fP, returning the same error-codes.
+.B putp
+calls \fB\%tputs\fP,
+returning the same error codes.
 .TP 5
-\fBrestartterm\fP
-returns an error
-if the associated call to \fBsetupterm\fP returns an error.
+.B restartterm
+fails if the associated call to \fB\%setupterm\fP returns an error.
 .TP 5
-\fBsetupterm\fP
-returns an error
-if it cannot allocate enough memory, or
-create the initial windows
+.B setupterm
+fails if it cannot allocate enough memory,
+or create the initial windows
 .RB ( \%stdscr ,
 .BR \%curscr ,
 and
 .BR \%newscr )
 Other error conditions are documented above.
 .TP 5
-\fBtparm\fP
-returns a null if the capability would require unexpected parameters,
-e.g., too many, too few, or incorrect types
-(strings where integers are expected, or vice versa).
+.B tparm
+returns a null pointer if the capability would require unexpected
+parameters;
+that is,
+too many,
+too few,
+or incorrect types
+(strings where integers are expected,
+or vice versa).
 .TP 5
-\fBtputs\fP
-returns an error if the string parameter is null.
+.B tputs
+fails if the string parameter is null.
 It does not detect I/O errors:
-X/Open Curses states that \fBtputs\fP ignores the return value
-of the output function \fIputc\fP.
-.\" ***************************************************************************
+X/Open Curses states that \fB\%tputs\fP ignores the return value
+of the output function \fI\%putc\fP.
+.\" ********************************************************************
 .SH NOTES
 The
 .B \%vid_attr
@@ -590,7 +736,7 @@ before other parts of the
 wide-character API were developed,
 and unlike the other wide-character functions,
 is also provided in the non-wide-character configuration.
-.\" ***************************************************************************
+.\" ********************************************************************
 .SH EXTENSIONS
 The functions marked as extensions were designed for
 .I \%ncurses,
@@ -598,7 +744,9 @@ and are not found in SVr4
 .IR curses ,
 4.4BSD
 .IR curses ,
-or any other previous curses implementation.
+or any other previous
+.I curses
+implementation.
 .PP
 .I \%ncurses
 allows
@@ -609,7 +757,7 @@ which overrides the
 .I pair
 .RI ( short )
 argument.
-.\" ***************************************************************************
+.\" ********************************************************************
 .SH PORTABILITY
 \fB\%setterm\fP is not described by X/Open and must be considered
 non-portable.
@@ -624,7 +772,8 @@ They include
 \fB\%Bgettmode\fP,
 \fB\%Bnocrmode\fP,
 \fB\%Bresetterm\fP,
-\fB\%Bsaveterm\fP, and
+\fB\%Bsaveterm\fP,
+and
 \fB\%Bsetterm\fP.
 .PP
 In SVr4,
@@ -650,7 +799,8 @@ implements each of these symbols as macros for BSD
 compatibility.
 .SS "Legacy Data"
 \fB\%setupterm\fP copies the terminal name to the array \fB\%ttytype\fP.
-This is not part of X/Open Curses, but is assumed by some applications.
+This is not part of X/Open Curses,
+but is assumed by some applications.
 .PP
 Other implementions may not declare the capability name arrays.
 Some provide them without declaring them.
@@ -658,7 +808,7 @@ X/Open does not specify them.
 .PP
 Extended terminal capability names,
 as defined by
-.RB \%\*(`` "@TIC@\ \-x" \*('',
+.RB \%\*(`` "@TIC@ \-x" \*('',
 are not stored in the arrays described here.
 .SS "Output Buffering"
 Older versions of \fI\%ncurses\fP assumed that the file descriptor
@@ -716,9 +866,9 @@ X/Open Curses prototypes \fB\%tparm\fP with a fixed number of
 parameters,
 rather than a variable argument list.
 .IP
-This implementation uses a variable argument list, but can be
-configured to use the fixed-parameter list.
-Portable applications should provide 9 parameters after the format;
+This implementation uses a variable argument list,
+but can be configured to use the fixed-parameter list.
+Portable applications should provide nine parameters after the format;
 zeroes are fine for this purpose.
 .IP
 In response to review comments by Thomas E. Dickey,
@@ -738,15 +888,22 @@ Using
 .I long
 for the numeric parameter type is a workaround to make the parameter use
 the same amount of stack as a pointer.
-That approach dates back to the mid-1980s, before C was standardized.
-Since then, there is a standard
-(and pointers are not required to fit in a long).
+That approach dates back to the mid-1980s,
+before C was standardized.
+Since then,
+there is a standard
+(and pointers are not required to fit in a
+.IR long ).
 .bP
 Providing the right number of parameters for a variadic function
 such as \fB\%tiparm\fP can be a problem,
 in particular for string parameters.
-However, only a few terminfo capabilities use string parameters
-(e.g., the ones used for programmable function keys).
+However,
+only a few
+.I \%term\%info
+capabilities use string parameters
+(for instance,
+the ones used for programmable function keys).
 .IP
 The \fI\%ncurses\fP library checks usage of these capabilities,
 and returns an error if the capability mishandles string parameters.
@@ -757,17 +914,22 @@ The \fB\%@TPUT@\fR(1) program checks its use of these capabilities with
 a table,
 so that it calls \fB\%tparm\fP correctly.
 .SS "Special \fITERM\fP treatment"
-If configured to use the terminal-driver,
-e.g., for the MinGW port,
+If configured to use the terminal driver,
+.\" XXX: as opposed to the Unix terminal driver, termio(s)?
+as with the MinGW port,
 .bP
 \fB\%setupterm\fP interprets a missing/empty \fITERM\fP variable as the
 special value \*(``unknown\*(''.
 .IP
-SVr4 curses uses the
-special value \*(``dumb\*(''.
+SVr4
+.I curses
+uses the special value \*(``dumb\*(''.
 .IP
-The difference between the two is that
-the former uses the \fBgn\fP (\fB\%generic_type\fR) terminfo capability,
+The difference between the two is that the former uses the
+.B \%generic_type
+.RB ( gn )
+.I \%term\%info
+capability,
 while the latter does not.
 A generic terminal is unsuitable for full-screen applications.
 .bP
@@ -818,14 +980,27 @@ function,
 .I curses
 function that is not well specified.
 .PP
-X/Open notes that after calling \fBmvcur\fP, the curses state may not match the
-actual terminal state, and that an application should touch and refresh
-the window before resuming normal curses calls.
-Both \fI\%ncurses\fP and System V Release 4 curses implement \fBmvcur\fP
-using the \fISCREEN\fP data allocated in either \fBinitscr\fP or
-\fBnewterm\fP.
-So though it is documented as a terminfo function,
-\fBmvcur\fP is really a curses function which is not well specified.
+X/Open notes that after calling \fB\%mvcur\fP,
+the
+.I curses
+state may not match the actual terminal state,
+and that an application should touch and refresh the window before
+resuming normal
+.I curses
+calls.
+Both
+.I \%ncurses
+and SVr4
+.I curses
+implement \fB\%mvcur\fP using the
+.I SCREEN
+data allocated in either \fB\%initscr\fP or \fB\%newterm\fP.
+So though it is documented as a
+.I \%term\%info
+function,
+\fB\%mvcur\fP is really a
+.I curses
+function that is not well specified.
 .PP
 X/Open Curses states that the old location must be given for
 \fB\%mvcur\fP to accommodate terminals that lack absolute cursor
@@ -836,10 +1011,14 @@ allows the caller to use \-1 for either or both old coordinates.
 The \-1 tells
 .I \%ncurses
 that the old location is unknown,
-and that it must use only absolute motion
-(such as \fI\%cursor_address\fP)
-rather than the least costly combination of absolute and relative motion.
-.\" ***************************************************************************
+and that it must use only absolute motion,
+as with the
+.B \%cursor_address
+.RB ( cup )
+capability,
+rather than the least costly combination of absolute and relative
+motion.
+.\" ********************************************************************
 .SH HISTORY
 SVr2 (1984) introduced the
 .I \%term\%info
@@ -851,20 +1030,23 @@ lB lB
 lB lx.
 Function       Description
 _
-fixterm        restore tty to \*(``in curses\*('' state
-gettmode       establish current tty modes
+fixterm        restore terminal to \*(``in \fIcurses\fP\*('' state
+gettmode       establish current terminal modes
 mvcur  low level cursor motion
-putp   use \fBtputs\fP to send characters via \fI\%putchar\fP
-resetterm      set tty modes to \*(``out of curses\*('' state
-resetty        reset tty flags to stored value
-saveterm       save current modes as \*(``in curses\*('' state
-savetty        store current tty flags
+putp   use \fBtputs\fP to send characters via \fIputchar\fP
+resetterm      set terminal modes to \*(``out of \fIcurses\fP\*(''\
+ state
+resetty        reset terminal flags to stored value
+saveterm       save current modes as \*(``in \fIcurses\fP\*('' state
+savetty        store current terminal flags
 setterm        establish terminal with given type
 setupterm      establish terminal with given type
 tparm  interpolate parameters into string capability
 tputs  apply padding information to a string
 vidattr        like \fBvidputs\fP, but output through \fIputchar\fP
-vidputs        write string to terminal, applying specified attributes
+vidputs        T{
+write string to terminal, applying specified attributes
+T}
 .TE
 .PP
 The programming manual also mentioned
@@ -883,7 +1065,9 @@ tgetflag   get Boolean entry for given \fIid\fP
 tgetnum        get numeric entry for given \fIid\fP
 tgetstr        get string entry for given \fIid\fP
 tgoto  apply parameters to given capability
-tputs  write characters via a function parameter, applying padding
+tputs  T{
+write characters via a function parameter, applying padding
+T}
 .TE
 .PP
 Early
index 1e4254406a8fde0583747500de606ed8ae325ae3..0d327c29305a48232b60c5634d42717e8434a420 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright 2021-2022,2023 Thomas E. Dickey                                *
+.\" Copyright 2021-2023,2024 Thomas E. Dickey                                *
 .\" Copyright 2008-2015,2017 Free Software Foundation, Inc.                  *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_threads.3x,v 1.51 2023/12/23 16:22:25 tom Exp $
-.TH curs_threads 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $Id: curs_threads.3x,v 1.54 2024/01/13 22:05:39 tom Exp $
+.TH curs_threads 3X 2024-01-13 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -160,462 +160,462 @@ The following table lists the scope of each symbol in the
 applications.
 .PP
 .TS
-center tab(/);
-lb lb
-lb l .
-Symbol/Scope
-=
-BC/global
-COLORS/screen (read-only)
-COLOR_PAIR/reentrant
-COLOR_PAIRS/screen (read-only)
-COLS/screen (read-only)
-ESCDELAY/screen (read-only; see \fBset_escdelay\fP)
-LINES/screen (read-only)
-PAIR_NUMBER/reentrant
-PC/global
-SP/global
-TABSIZE/screen (read-only; see \fBset_tabsize\fP)
-UP/global
-acs_map/screen (read-only)
-add_wch/window (\fBstdscr\fP)
-add_wchnstr/window (\fBstdscr\fP)
-add_wchstr/window (\fBstdscr\fP)
-addch/window (\fBstdscr\fP)
-addchnstr/window (\fBstdscr\fP)
-addchstr/window (\fBstdscr\fP)
-addnstr/window (\fBstdscr\fP)
-addnwstr/window (\fBstdscr\fP)
-addstr/window (\fBstdscr\fP)
-addwstr/window (\fBstdscr\fP)
-assume_default_colors/screen
-attr_get/window (\fBstdscr\fP)
-attr_off/window (\fBstdscr\fP)
-attr_on/window (\fBstdscr\fP)
-attr_set/window (\fBstdscr\fP)
-attroff/window (\fBstdscr\fP)
-attron/window (\fBstdscr\fP)
-attrset/window (\fBstdscr\fP)
-baudrate/screen
-beep/screen
-bkgd/window (\fBstdscr\fP)
-bkgdset/window (\fBstdscr\fP)
-bkgrnd/window (\fBstdscr\fP)
-bkgrndset/window (\fBstdscr\fP)
-boolcodes/global (read-only)
-boolfnames/global (read-only)
-boolnames/global (read-only)
-border/window (\fBstdscr\fP)
-border_set/window (\fBstdscr\fP)
-box/window (\fBstdscr\fP)
-box_set/window (\fBstdscr\fP)
-can_change_color/terminal
-cbreak/screen
-chgat/window (\fBstdscr\fP)
-clear/window (\fBstdscr\fP)
-clearok/window
-clrtobot/window (\fBstdscr\fP)
-clrtoeol/window (\fBstdscr\fP)
-color_content/screen
-color_set/window (\fBstdscr\fP)
-copywin/window (locks source, target)
-cur_term/terminal
-curs_set/screen
-curscr/screen (read-only)
-curses_version/global (read-only)
-def_prog_mode/terminal
-def_shell_mode/terminal
-define_key/screen
-del_curterm/screen
-delay_output/screen
-delch/window (\fBstdscr\fP)
-deleteln/window (\fBstdscr\fP)
-delscreen/global (locks screen list, screen)
-delwin/global (locks window list)
-derwin/screen
-doupdate/screen
-dupwin/screen (locks window)
-echo/screen
-echo_wchar/window (\fBstdscr\fP)
-echochar/window (\fBstdscr\fP)
-endwin/screen
-erase/window (\fBstdscr\fP)
-erasechar/window (\fBstdscr\fP)
-erasewchar/window (\fBstdscr\fP)
-filter/global
-flash/terminal
-flushinp/screen
-get_wch/screen (input operation)
-get_wstr/screen (input operation)
-getattrs/window
-getbegx/window
-getbegy/window
-getbkgd/window
-getbkgrnd/window
-getcchar/reentrant
-getch/screen (input operation)
-getcurx/window
-getcury/window
-getmaxx/window
-getmaxy/window
-getmouse/screen (input operation)
-getn_wstr/screen (input operation)
-getnstr/screen (input operation)
-getparx/window
-getpary/window
-getstr/screen (input operation)
-getwin/screen (input operation)
-halfdelay/screen
-has_colors/terminal
-has_ic/terminal
-has_il/terminal
-has_key/screen
-hline/window (\fBstdscr\fP)
-hline_set/window (\fBstdscr\fP)
-idcok/window
-idlok/window
-immedok/window
-in_wch/window (\fBstdscr\fP)
-in_wchnstr/window (\fBstdscr\fP)
-in_wchstr/window (\fBstdscr\fP)
-inch/window (\fBstdscr\fP)
-inchnstr/window (\fBstdscr\fP)
-inchstr/window (\fBstdscr\fP)
-init_color/screen
-init_pair/screen
-initscr/global (locks screen list)
-innstr/window (\fBstdscr\fP)
-innwstr/window (\fBstdscr\fP)
-ins_nwstr/window (\fBstdscr\fP)
-ins_wch/window (\fBstdscr\fP)
-ins_wstr/window (\fBstdscr\fP)
-insch/window (\fBstdscr\fP)
-insdelln/window (\fBstdscr\fP)
-insertln/window (\fBstdscr\fP)
-insnstr/window (\fBstdscr\fP)
-insstr/window (\fBstdscr\fP)
-instr/window (\fBstdscr\fP)
-intrflush/terminal
-inwstr/window (\fBstdscr\fP)
-is_cleared/window
-is_idcok/window
-is_idlok/window
-is_immedok/window
-is_keypad/window
-is_leaveok/window
-is_linetouched/window
-is_nodelay/window
-is_notimeout/window
-is_scrollok/window
-is_syncok/window
-is_term_resized/terminal
-is_wintouched/window
-isendwin/screen
-key_defined/screen
-key_name/global (static data)
-keybound/screen
-keyname/global (static data)
-keyok/screen
-keypad/window
-killchar/terminal
-killwchar/terminal
-leaveok/window
-longname/screen
-mcprint/terminal
-meta/screen
-mouse_trafo/window (\fBstdscr\fP)
-mouseinterval/screen
-mousemask/screen
-move/window (\fBstdscr\fP)
-mvadd_wch/window (\fBstdscr\fP)
-mvadd_wchnstr/window (\fBstdscr\fP)
-mvadd_wchstr/window (\fBstdscr\fP)
-mvaddch/window (\fBstdscr\fP)
-mvaddchnstr/window (\fBstdscr\fP)
-mvaddchstr/window (\fBstdscr\fP)
-mvaddnstr/window (\fBstdscr\fP)
-mvaddnwstr/window (\fBstdscr\fP)
-mvaddstr/window (\fBstdscr\fP)
-mvaddwstr/window (\fBstdscr\fP)
-mvchgat/window (\fBstdscr\fP)
-mvcur/screen
-mvdelch/window (\fBstdscr\fP)
-mvderwin/window (\fBstdscr\fP)
-mvget_wch/screen (input operation)
-mvget_wstr/screen (input operation)
-mvgetch/screen (input operation)
-mvgetn_wstr/screen (input operation)
-mvgetnstr/screen (input operation)
-mvgetstr/screen (input operation)
-mvhline/window (\fBstdscr\fP)
-mvhline_set/window (\fBstdscr\fP)
-mvin_wch/window (\fBstdscr\fP)
-mvin_wchnstr/window (\fBstdscr\fP)
-mvin_wchstr/window (\fBstdscr\fP)
-mvinch/window (\fBstdscr\fP)
-mvinchnstr/window (\fBstdscr\fP)
-mvinchstr/window (\fBstdscr\fP)
-mvinnstr/window (\fBstdscr\fP)
-mvinnwstr/window (\fBstdscr\fP)
-mvins_nwstr/window (\fBstdscr\fP)
-mvins_wch/window (\fBstdscr\fP)
-mvins_wstr/window (\fBstdscr\fP)
-mvinsch/window (\fBstdscr\fP)
-mvinsnstr/window (\fBstdscr\fP)
-mvinsstr/window (\fBstdscr\fP)
-mvinstr/window (\fBstdscr\fP)
-mvinwstr/window (\fBstdscr\fP)
-mvprintw/window (\fBstdscr\fP)
-mvscanw/screen
-mvvline/window (\fBstdscr\fP)
-mvvline_set/window (\fBstdscr\fP)
-mvwadd_wch/window
-mvwadd_wchnstr/window
-mvwadd_wchstr/window
-mvwaddch/window
-mvwaddchnstr/window
-mvwaddchstr/window
-mvwaddnstr/window
-mvwaddnwstr/window
-mvwaddstr/window
-mvwaddwstr/window
-mvwchgat/window
-mvwdelch/window
-mvwget_wch/screen (input operation)
-mvwget_wstr/screen (input operation)
-mvwgetch/screen (input operation)
-mvwgetn_wstr/screen (input operation)
-mvwgetnstr/screen (input operation)
-mvwgetstr/screen (input operation)
-mvwhline/window
-mvwhline_set/window
-mvwin/window
-mvwin_wch/window
-mvwin_wchnstr/window
-mvwin_wchstr/window
-mvwinch/window
-mvwinchnstr/window
-mvwinchstr/window
-mvwinnstr/window
-mvwinnwstr/window
-mvwins_nwstr/window
-mvwins_wch/window
-mvwins_wstr/window
-mvwinsch/window
-mvwinsnstr/window
-mvwinsstr/window
-mvwinstr/window
-mvwinwstr/window
-mvwprintw/window
-mvwscanw/screen
-mvwvline/window
-mvwvline_set/window
-napms/reentrant
-newpad/global (locks window list)
-newscr/screen (read-only)
-newterm/global (locks screen list)
-newwin/global (locks window list)
-nl/screen
-nocbreak/screen
-nodelay/window
-noecho/screen
-nofilter/global
-nonl/screen
-noqiflush/terminal
-noraw/screen
-notimeout/window
-numcodes/global (read-only)
-numfnames/global (read-only)
-numnames/global (read-only)
-ospeed/global
-overlay/window (locks source, target)
-overwrite/window (locks source, target)
-pair_content/screen
-pecho_wchar/screen
-pechochar/screen
-pnoutrefresh/screen
-prefresh/screen
-printw/window
-putp/global
-putwin/window
-qiflush/terminal
-raw/screen
-redrawwin/window
-refresh/screen
-reset_prog_mode/screen
-reset_shell_mode/screen
-resetty/terminal
-resize_term/screen (locks window list)
-resizeterm/screen
-restartterm/screen
-ripoffline/global (static data)
-savetty/terminal
-scanw/screen
-scr_dump/screen
-scr_init/screen
-scr_restore/screen
-scr_set/screen
-scrl/window (\fBstdscr\fP)
-scroll/window
-scrollok/window
-set_curterm/screen
-set_escdelay/screen
-set_tabsize/screen
-set_term/global (locks screen list, screen)
-setcchar/reentrant
-setscrreg/window (\fBstdscr\fP)
-setupterm/global
-slk_attr/screen
-slk_attr_off/screen
-slk_attr_on/screen
-slk_attr_set/screen
-slk_attroff/screen
-slk_attron/screen
-slk_attrset/screen
-slk_clear/screen
-slk_color/screen
-slk_init/screen
-slk_label/screen
-slk_noutrefresh/screen
-slk_refresh/screen
-slk_restore/screen
-slk_set/screen
-slk_touch/screen
-slk_wset/screen
-standend/window
-standout/window
-start_color/screen
-\fBstdscr\fP/screen (read-only)
-strcodes/global (read-only)
-strfnames/global (read-only)
-strnames/global (read-only)
-subpad/window
-subwin/window
-syncok/window
-term_attrs/screen
-termattrs/screen
-termname/terminal
-tgetent/global
-tgetflag/global
-tgetnum/global
-tgetstr/global
-tgoto/global
-tigetflag/terminal
-tigetnum/terminal
-tigetstr/terminal
-timeout/window (\fBstdscr\fP)
-touchline/window
-touchwin/window
-tparm/global (static data)
-tputs/screen
-trace/global (static data)
-ttytype/screen (read-only)
-typeahead/screen
-unctrl/screen
-unget_wch/screen (input operation)
-ungetch/screen (input operation)
-ungetmouse/screen (input operation)
-untouchwin/window
-use_default_colors/screen
-use_env/global (static data)
-use_extended_names/global (static data)
-use_legacy_coding/screen
-use_screen/global (locks screen list, screen)
-use_window/global (locks window list, window)
-vid_attr/screen
-vid_puts/screen
-vidattr/screen
-vidputs/screen
-vline/window (\fBstdscr\fP)
-vline_set/window (\fBstdscr\fP)
-vw_printw/window
-vw_scanw/screen
-vwprintw/window
-vwscanw/screen
-wadd_wch/window
-wadd_wchnstr/window
-wadd_wchstr/window
-waddch/window
-waddchnstr/window
-waddchstr/window
-waddnstr/window
-waddnwstr/window
-waddstr/window
-waddwstr/window
-wattr_get/window
-wattr_off/window
-wattr_on/window
-wattr_set/window
-wattroff/window
-wattron/window
-wattrset/window
-wbkgd/window
-wbkgdset/window
-wbkgrnd/window
-wbkgrndset/window
-wborder/window
-wborder_set/window
-wchgat/window
-wclear/window
-wclrtobot/window
-wclrtoeol/window
-wcolor_set/window
-wcursyncup/screen (affects window plus parents)
-wdelch/window
-wdeleteln/window
-wecho_wchar/window
-wechochar/window
-wenclose/window
-werase/window
-wget_wch/screen (input operation)
-wget_wstr/screen (input operation)
-wgetbkgrnd/window
-wgetch/screen (input operation)
-wgetdelay/window
-wgetn_wstr/screen (input operation)
-wgetnstr/screen (input operation)
-wgetparent/window
-wgetscrreg/window
-wgetstr/screen (input operation)
-whline/window
-whline_set/window
-win_wch/window
-win_wchnstr/window
-win_wchstr/window
-winch/window
-winchnstr/window
-winchstr/window
-winnstr/window
-winnwstr/window
-wins_nwstr/window
-wins_wch/window
-wins_wstr/window
-winsch/window
-winsdelln/window
-winsertln/window
-winsnstr/window
-winsstr/window
-winstr/window
-winwstr/window
-wmouse_trafo/window
-wmove/window
-wnoutrefresh/screen
-wprintw/window
-wredrawln/window
-wrefresh/screen
-wresize/window (locks window list)
-wscanw/screen
-wscrl/window
-wsetscrreg/window
-wstandend/window
-wstandout/window
-wsyncdown/screen (affects window plus parents)
-wsyncup/screen (affects window plus parents)
-wtimeout/window
-wtouchln/window
-wunctrl/global (static data)
-wvline/window
-wvline_set/window
+center;
+Lb2 Lb
+Lb2 Lx.
+Symbol Scope
+_
+BC     global
+COLORS screen (read-only)
+COLOR_PAIR     reentrant
+COLOR_PAIRS    screen (read-only)
+COLS   screen (read-only)
+ESCDELAY       screen (read-only; see \fBset_escdelay\fP)
+LINES  screen (read-only)
+PAIR_NUMBER    reentrant
+PC     global
+SP     global
+TABSIZE        screen (read-only; see \fBset_tabsize\fP)
+UP     global
+acs_map        screen (read-only)
+add_wch        window (\fBstdscr\fP)
+add_wchnstr    window (\fBstdscr\fP)
+add_wchstr     window (\fBstdscr\fP)
+addch  window (\fBstdscr\fP)
+addchnstr      window (\fBstdscr\fP)
+addchstr       window (\fBstdscr\fP)
+addnstr        window (\fBstdscr\fP)
+addnwstr       window (\fBstdscr\fP)
+addstr window (\fBstdscr\fP)
+addwstr        window (\fBstdscr\fP)
+assume_default_colors  screen
+attr_get       window (\fBstdscr\fP)
+attr_off       window (\fBstdscr\fP)
+attr_on        window (\fBstdscr\fP)
+attr_set       window (\fBstdscr\fP)
+attroff        window (\fBstdscr\fP)
+attron window (\fBstdscr\fP)
+attrset        window (\fBstdscr\fP)
+baudrate       screen
+beep   screen
+bkgd   window (\fBstdscr\fP)
+bkgdset        window (\fBstdscr\fP)
+bkgrnd window (\fBstdscr\fP)
+bkgrndset      window (\fBstdscr\fP)
+boolcodes      global (read-only)
+boolfnames     global (read-only)
+boolnames      global (read-only)
+border window (\fBstdscr\fP)
+border_set     window (\fBstdscr\fP)
+box    window (\fBstdscr\fP)
+box_set        window (\fBstdscr\fP)
+can_change_color       terminal
+cbreak screen
+chgat  window (\fBstdscr\fP)
+clear  window (\fBstdscr\fP)
+clearok        window
+clrtobot       window (\fBstdscr\fP)
+clrtoeol       window (\fBstdscr\fP)
+color_content  screen
+color_set      window (\fBstdscr\fP)
+copywin        window (locks source, target)
+cur_term       terminal
+curs_set       screen
+curscr screen (read-only)
+curses_version global (read-only)
+def_prog_mode  terminal
+def_shell_mode terminal
+define_key     screen
+del_curterm    screen
+delay_output   screen
+delch  window (\fBstdscr\fP)
+deleteln       window (\fBstdscr\fP)
+delscreen      global (locks screen list, screen)
+delwin global (locks window list)
+derwin screen
+doupdate       screen
+dupwin screen (locks window)
+echo   screen
+echo_wchar     window (\fBstdscr\fP)
+echochar       window (\fBstdscr\fP)
+endwin screen
+erase  window (\fBstdscr\fP)
+erasechar      window (\fBstdscr\fP)
+erasewchar     window (\fBstdscr\fP)
+filter global
+flash  terminal
+flushinp       screen
+get_wch        screen (input operation)
+get_wstr       screen (input operation)
+getattrs       window
+getbegx        window
+getbegy        window
+getbkgd        window
+getbkgrnd      window
+getcchar       reentrant
+getch  screen (input operation)
+getcurx        window
+getcury        window
+getmaxx        window
+getmaxy        window
+getmouse       screen (input operation)
+getn_wstr      screen (input operation)
+getnstr        screen (input operation)
+getparx        window
+getpary        window
+getstr screen (input operation)
+getwin screen (input operation)
+halfdelay      screen
+has_colors     terminal
+has_ic terminal
+has_il terminal
+has_key        screen
+hline  window (\fBstdscr\fP)
+hline_set      window (\fBstdscr\fP)
+idcok  window
+idlok  window
+immedok        window
+in_wch window (\fBstdscr\fP)
+in_wchnstr     window (\fBstdscr\fP)
+in_wchstr      window (\fBstdscr\fP)
+inch   window (\fBstdscr\fP)
+inchnstr       window (\fBstdscr\fP)
+inchstr        window (\fBstdscr\fP)
+init_color     screen
+init_pair      screen
+initscr        global (locks screen list)
+innstr window (\fBstdscr\fP)
+innwstr        window (\fBstdscr\fP)
+ins_nwstr      window (\fBstdscr\fP)
+ins_wch        window (\fBstdscr\fP)
+ins_wstr       window (\fBstdscr\fP)
+insch  window (\fBstdscr\fP)
+insdelln       window (\fBstdscr\fP)
+insertln       window (\fBstdscr\fP)
+insnstr        window (\fBstdscr\fP)
+insstr window (\fBstdscr\fP)
+instr  window (\fBstdscr\fP)
+intrflush      terminal
+inwstr window (\fBstdscr\fP)
+is_cleared     window
+is_idcok       window
+is_idlok       window
+is_immedok     window
+is_keypad      window
+is_leaveok     window
+is_linetouched window
+is_nodelay     window
+is_notimeout   window
+is_scrollok    window
+is_syncok      window
+is_term_resized        terminal
+is_wintouched  window
+isendwin       screen
+key_defined    screen
+key_name       global (static data)
+keybound       screen
+keyname        global (static data)
+keyok  screen
+keypad window
+killchar       terminal
+killwchar      terminal
+leaveok        window
+longname       screen
+mcprint        terminal
+meta   screen
+mouse_trafo    window (\fBstdscr\fP)
+mouseinterval  screen
+mousemask      screen
+move   window (\fBstdscr\fP)
+mvadd_wch      window (\fBstdscr\fP)
+mvadd_wchnstr  window (\fBstdscr\fP)
+mvadd_wchstr   window (\fBstdscr\fP)
+mvaddch        window (\fBstdscr\fP)
+mvaddchnstr    window (\fBstdscr\fP)
+mvaddchstr     window (\fBstdscr\fP)
+mvaddnstr      window (\fBstdscr\fP)
+mvaddnwstr     window (\fBstdscr\fP)
+mvaddstr       window (\fBstdscr\fP)
+mvaddwstr      window (\fBstdscr\fP)
+mvchgat        window (\fBstdscr\fP)
+mvcur  screen
+mvdelch        window (\fBstdscr\fP)
+mvderwin       window (\fBstdscr\fP)
+mvget_wch      screen (input operation)
+mvget_wstr     screen (input operation)
+mvgetch        screen (input operation)
+mvgetn_wstr    screen (input operation)
+mvgetnstr      screen (input operation)
+mvgetstr       screen (input operation)
+mvhline        window (\fBstdscr\fP)
+mvhline_set    window (\fBstdscr\fP)
+mvin_wch       window (\fBstdscr\fP)
+mvin_wchnstr   window (\fBstdscr\fP)
+mvin_wchstr    window (\fBstdscr\fP)
+mvinch window (\fBstdscr\fP)
+mvinchnstr     window (\fBstdscr\fP)
+mvinchstr      window (\fBstdscr\fP)
+mvinnstr       window (\fBstdscr\fP)
+mvinnwstr      window (\fBstdscr\fP)
+mvins_nwstr    window (\fBstdscr\fP)
+mvins_wch      window (\fBstdscr\fP)
+mvins_wstr     window (\fBstdscr\fP)
+mvinsch        window (\fBstdscr\fP)
+mvinsnstr      window (\fBstdscr\fP)
+mvinsstr       window (\fBstdscr\fP)
+mvinstr        window (\fBstdscr\fP)
+mvinwstr       window (\fBstdscr\fP)
+mvprintw       window (\fBstdscr\fP)
+mvscanw        screen
+mvvline        window (\fBstdscr\fP)
+mvvline_set    window (\fBstdscr\fP)
+mvwadd_wch     window
+mvwadd_wchnstr window
+mvwadd_wchstr  window
+mvwaddch       window
+mvwaddchnstr   window
+mvwaddchstr    window
+mvwaddnstr     window
+mvwaddnwstr    window
+mvwaddstr      window
+mvwaddwstr     window
+mvwchgat       window
+mvwdelch       window
+mvwget_wch     screen (input operation)
+mvwget_wstr    screen (input operation)
+mvwgetch       screen (input operation)
+mvwgetn_wstr   screen (input operation)
+mvwgetnstr     screen (input operation)
+mvwgetstr      screen (input operation)
+mvwhline       window
+mvwhline_set   window
+mvwin  window
+mvwin_wch      window
+mvwin_wchnstr  window
+mvwin_wchstr   window
+mvwinch        window
+mvwinchnstr    window
+mvwinchstr     window
+mvwinnstr      window
+mvwinnwstr     window
+mvwins_nwstr   window
+mvwins_wch     window
+mvwins_wstr    window
+mvwinsch       window
+mvwinsnstr     window
+mvwinsstr      window
+mvwinstr       window
+mvwinwstr      window
+mvwprintw      window
+mvwscanw       screen
+mvwvline       window
+mvwvline_set   window
+napms  reentrant
+newpad global (locks window list)
+newscr screen (read-only)
+newterm        global (locks screen list)
+newwin global (locks window list)
+nl     screen
+nocbreak       screen
+nodelay        window
+noecho screen
+nofilter       global
+nonl   screen
+noqiflush      terminal
+noraw  screen
+notimeout      window
+numcodes       global (read-only)
+numfnames      global (read-only)
+numnames       global (read-only)
+ospeed global
+overlay        window (locks source, target)
+overwrite      window (locks source, target)
+pair_content   screen
+pecho_wchar    screen
+pechochar      screen
+pnoutrefresh   screen
+prefresh       screen
+printw window
+putp   global
+putwin window
+qiflush        terminal
+raw    screen
+redrawwin      window
+refresh        screen
+reset_prog_mode        screen
+reset_shell_mode       screen
+resetty        terminal
+resize_term    screen (locks window list)
+resizeterm     screen
+restartterm    screen
+ripoffline     global (static data)
+savetty        terminal
+scanw  screen
+scr_dump       screen
+scr_init       screen
+scr_restore    screen
+scr_set        screen
+scrl   window (\fBstdscr\fP)
+scroll window
+scrollok       window
+set_curterm    screen
+set_escdelay   screen
+set_tabsize    screen
+set_term       global (locks screen list, screen)
+setcchar       reentrant
+setscrreg      window (\fBstdscr\fP)
+setupterm      global
+slk_attr       screen
+slk_attr_off   screen
+slk_attr_on    screen
+slk_attr_set   screen
+slk_attroff    screen
+slk_attron     screen
+slk_attrset    screen
+slk_clear      screen
+slk_color      screen
+slk_init       screen
+slk_label      screen
+slk_noutrefresh        screen
+slk_refresh    screen
+slk_restore    screen
+slk_set        screen
+slk_touch      screen
+slk_wset       screen
+standend       window
+standout       window
+start_color    screen
+\fBstdscr\fP   screen (read-only)
+strcodes       global (read-only)
+strfnames      global (read-only)
+strnames       global (read-only)
+subpad window
+subwin window
+syncok window
+term_attrs     screen
+termattrs      screen
+termname       terminal
+tgetent        global
+tgetflag       global
+tgetnum        global
+tgetstr        global
+tgoto  global
+tigetflag      terminal
+tigetnum       terminal
+tigetstr       terminal
+timeout        window (\fBstdscr\fP)
+touchline      window
+touchwin       window
+tparm  global (static data)
+tputs  screen
+trace  global (static data)
+ttytype        screen (read-only)
+typeahead      screen
+unctrl screen
+unget_wch      screen (input operation)
+ungetch        screen (input operation)
+ungetmouse     screen (input operation)
+untouchwin     window
+use_default_colors     screen
+use_env        global (static data)
+use_extended_names     global (static data)
+use_legacy_coding      screen
+use_screen     global (locks screen list, screen)
+use_window     global (locks window list, window)
+vid_attr       screen
+vid_puts       screen
+vidattr        screen
+vidputs        screen
+vline  window (\fBstdscr\fP)
+vline_set      window (\fBstdscr\fP)
+vw_printw      window
+vw_scanw       screen
+vwprintw       window
+vwscanw        screen
+wadd_wch       window
+wadd_wchnstr   window
+wadd_wchstr    window
+waddch window
+waddchnstr     window
+waddchstr      window
+waddnstr       window
+waddnwstr      window
+waddstr        window
+waddwstr       window
+wattr_get      window
+wattr_off      window
+wattr_on       window
+wattr_set      window
+wattroff       window
+wattron        window
+wattrset       window
+wbkgd  window
+wbkgdset       window
+wbkgrnd        window
+wbkgrndset     window
+wborder        window
+wborder_set    window
+wchgat window
+wclear window
+wclrtobot      window
+wclrtoeol      window
+wcolor_set     window
+wcursyncup     screen (affects window plus parents)
+wdelch window
+wdeleteln      window
+wecho_wchar    window
+wechochar      window
+wenclose       window
+werase window
+wget_wch       screen (input operation)
+wget_wstr      screen (input operation)
+wgetbkgrnd     window
+wgetch screen (input operation)
+wgetdelay      window
+wgetn_wstr     screen (input operation)
+wgetnstr       screen (input operation)
+wgetparent     window
+wgetscrreg     window
+wgetstr        screen (input operation)
+whline window
+whline_set     window
+win_wch        window
+win_wchnstr    window
+win_wchstr     window
+winch  window
+winchnstr      window
+winchstr       window
+winnstr        window
+winnwstr       window
+wins_nwstr     window
+wins_wch       window
+wins_wstr      window
+winsch window
+winsdelln      window
+winsertln      window
+winsnstr       window
+winsstr        window
+winstr window
+winwstr        window
+wmouse_trafo   window
+wmove  window
+wnoutrefresh   screen
+wprintw        window
+wredrawln      window
+wrefresh       screen
+wresize        window (locks window list)
+wscanw screen
+wscrl  window
+wsetscrreg     window
+wstandend      window
+wstandout      window
+wsyncdown      screen (affects window plus parents)
+wsyncup        screen (affects window plus parents)
+wtimeout       window
+wtouchln       window
+wunctrl        global (static data)
+wvline window
+wvline_set     window
 .TE
 .\" ***************************************************************************
 .SH RETURN VALUE
index 43b59b647e4d29c5b7f99a8d210e8a8be708de5b..1b8abcc6be1ebdae47f72372b109579433f5d37e 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey                                *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey                                *
 .\" Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: form_driver.3x,v 1.54 2023/12/23 16:08:25 tom Exp $
-.TH form_driver 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $Id: form_driver.3x,v 1.57 2024/01/13 22:05:39 tom Exp $
+.TH form_driver 3X 2024-01-13 "ncurses 6.4" "Library calls"
 .de bP
 .ie n  .IP \(bu 4
 .el    .IP \(bu 2
@@ -71,22 +71,22 @@ is a wide character or a request.
 The form driver requests are as follows:
 .PP
 .TS
-l l
-_ _
-l l.
-\fBName\fP     \fBDescription\fP
-REQ_BEG_FIELD  Move to the beginning of the field.
-REQ_BEG_LINE   Move to the beginning of the line.
+Lb Lb
+Lb Lx.
+Name   Description
+_
+REQ_BEG_FIELD  Move to beginning of field.
+REQ_BEG_LINE   Move to beginning of the line.
 REQ_CLR_EOF    Clear to end of field from cursor.
 REQ_CLR_EOL    Clear to end of line from cursor.
 REQ_CLR_FIELD  Clear the entire field.
 REQ_DEL_CHAR   Delete character at the cursor.
 REQ_DEL_LINE   Delete line at the cursor.
 REQ_DEL_PREV   Delete character before the cursor.
-REQ_DEL_WORD   Delete blank-delimited word at the cursor.
-REQ_DOWN_CHAR  Move down in the field.
+REQ_DEL_WORD   Delete blank-delimited word at cursor.
+REQ_DOWN_CHAR  Move down in field.
 REQ_DOWN_FIELD Move down to a field.
-REQ_END_FIELD  Move to the end of the field.
+REQ_END_FIELD  Move to the end of field.
 REQ_END_LINE   Move to the end of the line.
 REQ_FIRST_FIELD        Move to the first field.
 REQ_FIRST_PAGE Move to the first page.
@@ -95,7 +95,7 @@ REQ_INS_LINE  Insert a blank line at the cursor.
 REQ_INS_MODE   Enter insert mode.
 REQ_LAST_FIELD Move to the last field.
 REQ_LAST_PAGE  Move to the last field.
-REQ_LEFT_CHAR  Move left in the field.
+REQ_LEFT_CHAR  Move left in field.
 REQ_LEFT_FIELD Move left to a field.
 REQ_NEW_LINE   Insert or overlay a new line.
 REQ_NEXT_CHAR  Move to the next char.
@@ -112,25 +112,25 @@ REQ_PREV_FIELD    Move to the previous field.
 REQ_PREV_LINE  Move to the previous line.
 REQ_PREV_PAGE  Move to the previous page.
 REQ_PREV_WORD  Move to the previous word.
-REQ_RIGHT_CHAR Move right in the field.
+REQ_RIGHT_CHAR Move right in field.
 REQ_RIGHT_FIELD        Move right to a field.
-REQ_SCR_BCHAR  Scroll the field backward a character.
-REQ_SCR_BHPAGE Scroll the field backward half a page.
-REQ_SCR_BLINE  Scroll the field backward a line.
-REQ_SCR_BPAGE  Scroll the field backward a page.
-REQ_SCR_FCHAR  Scroll the field forward a character.
-REQ_SCR_FHPAGE Scroll the field forward half a page.
-REQ_SCR_FLINE  Scroll the field forward a line.
-REQ_SCR_FPAGE  Scroll the field forward a page.
-REQ_SCR_HBHALF Horizontal scroll the field backward half a line.
-REQ_SCR_HBLINE Horizontal scroll the field backward a line.
-REQ_SCR_HFHALF Horizontal scroll the field forward half a line.
-REQ_SCR_HFLINE Horizontal scroll the field forward a line.
+REQ_SCR_BCHAR  Scroll field backward 1 character.
+REQ_SCR_BHPAGE Scroll field backward \(12 page.
+REQ_SCR_BLINE  Scroll field backward 1 line.
+REQ_SCR_BPAGE  Scroll field backward 1 page.
+REQ_SCR_FCHAR  Scroll field forward 1 character.
+REQ_SCR_FHPAGE Scroll field forward \(12 page.
+REQ_SCR_FLINE  Scroll field forward 1 line.
+REQ_SCR_FPAGE  Scroll field forward 1 page.
+REQ_SCR_HBHALF Horizontal scroll field backward \(12 line.
+REQ_SCR_HBLINE Horizontal scroll field backward 1 line.
+REQ_SCR_HFHALF Horizontal scroll field forward \(12 line.
+REQ_SCR_HFLINE Horizontal scroll field forward 1 line.
 REQ_SFIRST_FIELD       Move to the sorted first field.
 REQ_SLAST_FIELD        Move to the sorted last field.
 REQ_SNEXT_FIELD        Move to the sorted next field.
 REQ_SPREV_FIELD        Move to the sorted previous field.
-REQ_UP_CHAR    Move up in the field.
+REQ_UP_CHAR    Move up in field.
 REQ_UP_FIELD   Move up to a field.
 REQ_VALIDATION Validate field.
 .TE
index a6818944ca1422ac09c9ae9f907be4cede9f242f..494282e42c1d2fce8e126d24216360c1c66ee700 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey                                *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey                                *
 .\" Copyright 1998-2017,2018 Free Software Foundation, Inc.                  *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: infocmp.1m,v 1.104 2023/12/30 21:36:32 tom Exp $
-.TH @INFOCMP@ 1M 2023-12-30 "ncurses 6.4" "User commands"
+.\" $Id: infocmp.1m,v 1.107 2024/01/13 22:05:39 tom Exp $
+.TH @INFOCMP@ 1M 2024-01-13 "ncurses 6.4" "User commands"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
+.ds '  \(aq
 .\}
 .el \{\
 .ie t .ds `` ``
 .el   .ds `` ""
 .ie t .ds '' ''
 .el   .ds '' ""
+.ie t .ds '  \(aq
+.el   .ds '  '
 .\}
 .
 .de bP
@@ -147,13 +150,13 @@ The \fB\-I\fP, \fB\-L\fP, and \fB\-C\fP options will produce
 a source listing for each terminal named.
 .PP
 .TS
-center tab(/) ;
-l l .
-\fB\-I\fP/use the \fBterminfo\fP names
-\fB\-L\fP/use the long C variable name listed in <\fBterm.h\fP>
-\fB\-C\fP/use the \fBtermcap\fP names
-\fB\-r\fP/when using \fB\-C\fP, put out all capabilities in \fBtermcap\fP form
-\fB\-K\fP/modifies the \fB\-C\fP option, improving BSD-compatibility.
+center;
+Lb L.
+\-I    use \fIterminfo\fP capability codes
+\-L    use \*(``long\*('' capability names
+\-C    use \fItermcap\fP capability codes
+\-r    with \fB\-C\fP, include nonstandard capabilities
+\-K    with \fB\-C\fP, improve BSD compatibility
 .TE
 .PP
 If no \fIterminal-types\fP are given,
@@ -210,17 +213,23 @@ Some common \fBterminfo\fP parameter sequences, their \fBtermcap\fP
 equivalents, and some terminal types which commonly have such sequences, are:
 .PP
 .TS
-center tab(/) ;
-l c l
-l l l.
-\fBterminfo/termcap\fP/Representative Terminals
-=
-\fB%p1%c/%.\fP/adm
-\fB%p1%d/%d\fP/hp, ANSI standard, vt100
-\fB%p1%'x'%+%c/%+x\fP/concept
-\fB%i/%i\fPq/ANSI standard, vt100
-\fB%p1%?%'x'%>%t%p1%'y'%+%;/%>xy\fP/concept
-\fB%p2\fP is printed before \fB%p1/%r\fP/hp
+center;
+Lf(BI) Lf(BI) L
+Lb     Lb     L.
+terminfo       termcap Terminal Types
+_
+.\" ansi-m cup (adm3a has other stuff in between, more like concept)
+%p1%c  %.      ansi\-m
+.\" ansi cub, vt100 cub
+%p1%d  %d      ansi, vt100
+.\" vt52 cup (via vt52-basic)
+%p1%\*' \*'%+%c        %+x     vt52
+.\" ansi cup, vt100 cup
+%i     %iq     ansi, vt100
+.\" annarbor4080 cup
+%p1%?%\*'x\*'%>%t%p1%\*'y\*'%+%;       %>xy    annarbor4080
+.\" hpgeneric cup
+%p2\fR\|.\|.\|.\|\fP%p1        %r      hpgeneric
 .TE
 .SS "Use= Option [\-u]"
 The \fB\-u\fP option produces a \fBterminfo\fP source description of the first
@@ -379,44 +388,43 @@ Here is a list of the DEC/ANSI
 special sequences recognized:
 .PP
 .TS
-center tab(/) ;
-l l
-l l.
-Action/Meaning
-=
-RIS/full reset
-SC/save cursor
-RC/restore cursor
-LL/home-down
-RSR/reset scroll region
-=
-DECSTR/soft reset (VT320)
-S7C1T/7-bit controls (VT220)
-=
-ISO DEC G0/enable DEC graphics for G0
-ISO UK G0/enable UK chars for G0
-ISO US G0/enable US chars for G0
-ISO DEC G1/enable DEC graphics for G1
-ISO UK G1/enable UK chars for G1
-ISO US G1/enable US chars for G1
-=
-DECPAM/application keypad mode
-DECPNM/normal keypad mode
-DECANSI/enter ANSI mode
-=
-ECMA[+\-]AM/keyboard action mode
-ECMA[+\-]IRM/insert replace mode
-ECMA[+\-]SRM/send receive mode
-ECMA[+\-]LNM/linefeed mode
-=
-DEC[+\-]CKM/application cursor keys
-DEC[+\-]ANM/set VT52 mode
-DEC[+\-]COLM/132-column mode
-DEC[+\-]SCLM/smooth scroll
-DEC[+\-]SCNM/reverse video mode
-DEC[+\-]OM/origin mode
-DEC[+\-]AWM/wraparound mode
-DEC[+\-]ARM/auto-repeat mode
+center;
+L L.
+Action Meaning
+_
+RIS    full reset
+SC     save cursor
+RC     restore cursor
+LL     home-down
+RSR    reset scroll region
+_
+DECSTR soft reset (VT320)
+S7C1T  7-bit controls (VT220)
+_
+ISO DEC G0     enable DEC graphics for G0
+ISO UK G0      enable UK chars for G0
+ISO US G0      enable US chars for G0
+ISO DEC G1     enable DEC graphics for G1
+ISO UK G1      enable UK chars for G1
+ISO US G1      enable US chars for G1
+_
+DECPAM application keypad mode
+DECPNM normal keypad mode
+DECANSI        enter ANSI mode
+_
+ECMA[+\-]AM    keyboard action mode
+ECMA[+\-]IRM   insert replace mode
+ECMA[+\-]SRM   send receive mode
+ECMA[+\-]LNM   linefeed mode
+_
+DEC[+\-]CKM    application cursor keys
+DEC[+\-]ANM    set VT52 mode
+DEC[+\-]COLM   132-column mode
+DEC[+\-]SCLM   smooth scroll
+DEC[+\-]SCNM   reverse video mode
+DEC[+\-]OM     origin mode
+DEC[+\-]AWM    wraparound mode
+DEC[+\-]ARM    auto-repeat mode
 .TE
 .sp
 It also recognizes a SGR action corresponding to ANSI/ISO 6429/ECMA Set
index 946348e4d9bcd817c73d9594d58bdaea99949981..7043c31881353c374d7033ba7a6b31fc788380fd 100644 (file)
@@ -1,7 +1,7 @@
-# $Id: manhtml.externs,v 1.20 2023/12/23 23:49:04 tom Exp $
+# $Id: manhtml.externs,v 1.21 2024/01/13 22:54:54 tom Exp $
 # Items in this list will not be linked by man2html
 #***************************************************************************
-# Copyright 2019-2021,2023 Thomas E. Dickey                                *
+# Copyright 2019-2023,2024 Thomas E. Dickey                                *
 # Copyright 2013,2017 Free Software Foundation, Inc.                       *
 #                                                                          *
 # Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -46,6 +46,7 @@ lynx(1)
 mutt(1)
 nvi(1)
 od(1)
+ioctl(2)
 printf(3)
 profile(5)
 putc(3)
index 3ef1436fb7197f89296955d459813e3bb1254365..3d395795c12724e593b3f584ab3852053078170f 100644 (file)
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: ncurses.3x,v 1.195 2024/01/05 21:46:58 tom Exp $
-.TH ncurses 3X 2024-01-05 "ncurses 6.4" "Library calls"
+.\" $Id: ncurses.3x,v 1.197 2024/01/13 20:30:39 tom Exp $
+.TH ncurses 3X 2024-01-13 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -295,7 +295,7 @@ translates these into unique
 .I "key codes."
 See \fB\%getch\fP(3X).
 .SS "Effects of GUIs and Environment Variables"
-The selection of an approprate value of
+The selection of an appropriate value of
 .I TERM
 in the process environment is essential to correct
 .I curses
@@ -967,7 +967,7 @@ pointer is null.
 The following environment symbols are useful for customizing the
 runtime behavior of the \fI\%ncurses\fP library.
 The most important ones have been already discussed in detail.
-.SS "\fICC\fP command-character"
+.SS "\fICC\fP (command character)"
 When set,
 change the
 .B \%command_character
index 79aa21646c7f98ffd0599847d3f980a3e804318f..ebd929aa7e92d7581e07f7e430139d0158bfed18 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright 2018-2021,2023 Thomas E. Dickey                                *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey                                *
 .\" Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: term.5,v 1.70 2023/12/30 21:36:32 tom Exp $
-.TH term 5 2023-12-30 "ncurses 6.4" "File formats"
+.\" $Id: term.5,v 1.73 2024/01/13 22:05:39 tom Exp $
+.TH term 5 2024-01-13 "ncurses 6.4" "File formats"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -393,7 +393,6 @@ but was limited to a virtual memory page's 4096 bytes.
 As an example, here is a description for the Lear-Siegler
 ADM\-3, a popular though rather stupid early terminal:
 .PP
-.RS 4
 .EX
 adm3a|lsi adm3a,
         am,
@@ -402,14 +401,13 @@ adm3a|lsi adm3a,
         cuf1=\*^L, cup=\eE=%p1%{32}%+%c%p2%{32}%+%c, cuu1=\*^K,
         home=\*^\*^, ind=\*^J,
 .EE
-.RE
 .PP
 and a hexadecimal dump of the compiled terminal description:
 .PP
-.ie n .in -2n
-.el   .in +4n
+.if t .in +4n
+.ft \*(CW
 .TS
-lp-1f(\*(CW).
+Lp-1.
 0000  1a 01 10 00 02 00 03 00  82 00 31 00 61 64 6d 33  ........ ..1.adm3
 0010  61 7c 6c 73 69 20 61 64  6d 33 61 00 00 01 50 00  a|lsi ad m3a...P.
 0020  ff ff 18 00 ff ff 00 00  02 00 ff ff ff ff 04 00  ........ ........
@@ -433,6 +431,7 @@ lp-1f(\*(CW).
 0140  25 70 32 25 7b 33 32 7d  25 2b 25 63 00 0a 00 1e  %p2%{32} %+%c....
 0150  00 08 00 0c 00 0b 00 0a  00                       ........ .
 .TE
+.ft
 .in
 .SH AUTHORS
 Thomas E. Dickey
index ae3d7e54e7a46fb642a4882ad78cff078e0ea8e8..b0f49edaa236d7bbe989b40ab5dc363fcb3748f2 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright 2018-2021,2023 Thomas E. Dickey                                *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey                                *
 .\" Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: terminfo.head,v 1.60 2023/12/30 22:21:45 tom Exp $
-.TH terminfo 5 2023-12-30 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
+.\" $Id: terminfo.head,v 1.63 2024/01/13 23:07:27 tom Exp $
+.TH terminfo 5 2024-01-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -136,23 +136,23 @@ The following suffixes should be used where possible:
 .PP
 .TS
 center;
-lb cb lb
-l  l  l .
-Suffix Meaning Example
+Lb Lb Lb
+L  L  Lx.
+Suffix Example Meaning
 _
-\-\fInn\fP     Number of lines on the screen   aaa\-60
-\-\fIn\fPp     Number of pages of memory       c100\-4p
-\-am   With automargins (usually the default)  vt100\-am
-\-m    Mono mode; suppress color               ansi\-m
-\-mc   Magic cookie; spaces when highlighting  wy30\-mc
-\-na   No arrow keys (leave them in local)     c100\-na
-\-nam  Without automatic margins               vt100\-nam
-\-nl   No status line                          att4415\-nl
-\-ns   No status line                          hp2626\-ns
-\-rv   Reverse video                           c100\-rv
-\-s    Enable status line                      vt100\-s
-\-vb   Use visible bell instead of beep        wy370\-vb
-\-w    Wide mode (> 80 columns, usually 132)   vt100\-w
+\-\fInn\fP     aaa\-60 Number of lines on the screen
+\-\fIn\fPp     c100\-4p        Number of pages of memory
+\-am   vt100\-am       With automargins (usually the default)
+\-m    ansi\-m Mono mode; suppress color
+\-mc   wy30\-mc        Magic cookie; spaces when highlighting
+\-na   c100\-na        No arrow keys (leave them in local)
+\-nam  vt100\-nam      Without automatic margins
+\-nl   hp2621\-nl      No status line
+\-ns   hp2626\-ns      No status line
+\-rv   c100\-rv        Reverse video
+\-s    vt100\-s        Enable status line
+\-vb   wy370\-vb       Use visible bell instead of beep
+\-w    vt100\-w        Wide mode (> 80 columns, usually 132)
 .TE
 .PP
 For more on terminal naming conventions, see the \fBterm\fP(7) manual page.
index bc761404815c2c5862ea779440b04167dbc2a081..6f48d160082a94612c9a42244f5e1bf9de6cfef1 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey                                *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey                                *
 .\" Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: terminfo.tail,v 1.141 2023/12/30 21:36:32 tom Exp $
+.\" $Id: terminfo.tail,v 1.143 2024/01/13 22:05:39 tom Exp $
 .ps +1
 .SS "User-Defined Capabilities"
 .
@@ -1551,44 +1551,44 @@ This alternate character set may be specified by the \fBacsc\fP capability.
 .PP
 .TS
 center;
-lb lb lb lb lb.
-\&     \&      ASCII   acsc    acsc
-Glyph Name     ACS Name        Fallback        Symbol  Value
+Lb  Cb  S  L   Lb
+Lb2 Lb2 Lb Lb1 S
+Lb  L   C  Lb  Lx.
+\&     acsc    \&      \&
+ACS Name       Value   Symbol  ASCII Fallback / Glyph Name
 _
-.T&
-l  lb l  l  l .
-arrow pointing right   ACS_RARROW      >       +       0x2b
-arrow pointing left    ACS_LARROW      <       ,       0x2c
-arrow pointing up      ACS_UARROW      \*^     \-      0x2d
-arrow pointing down    ACS_DARROW      v       .       0x2e
-solid square block     ACS_BLOCK       #       0       0x30
-diamond                ACS_DIAMOND     +       \(ga    0x60
-checker board (stipple)        ACS_CKBOARD     :       a       0x61
-degree symbol          ACS_DEGREE      \e      f       0x66
-plus/minus             ACS_PLMINUS     #       g       0x67
-board of squares       ACS_BOARD       #       h       0x68
-lantern symbol         ACS_LANTERN     #       i       0x69
-lower right corner     ACS_LRCORNER    +       j       0x6a
-upper right corner     ACS_URCORNER    +       k       0x6b
-upper left corner      ACS_ULCORNER    +       l       0x6c
-lower left corner      ACS_LLCORNER    +       m       0x6d
-large plus or crossover        ACS_PLUS        +       n       0x6e
-scan line 1            ACS_S1          \*~     o       0x6f
-scan line 3            ACS_S3          \-      p       0x70
-horizontal line        ACS_HLINE       \-      q       0x71
-scan line 7            ACS_S7          \-      r       0x72
-scan line 9            ACS_S9          \&_     s       0x73
-tee pointing right     ACS_LTEE        +       t       0x74
-tee pointing left      ACS_RTEE        +       u       0x75
-tee pointing up        ACS_BTEE        +       v       0x76
-tee pointing down      ACS_TTEE        +       w       0x77
-vertical line          ACS_VLINE       |       x       0x78
-less-than-or-equal-to  ACS_LEQUAL      <       y       0x79
-greater-than-or-equal-to       ACS_GEQUAL      >       z       0x7a
-greek pi               ACS_PI  *       {       0x7b
-not-equal              ACS_NEQUAL      !       |       0x7c
-UK pound sign          ACS_STERLING    f       }       0x7d
-bullet                 ACS_BULLET      o       \*~     0x7e
+ACS_RARROW     0x2b    +       >       arrow pointing right
+ACS_LARROW     0x2c    ,       <       arrow pointing left
+ACS_UARROW     0x2d    \-      \*^     arrow pointing up
+ACS_DARROW     0x2e    .       v       arrow pointing down
+ACS_BLOCK      0x30    0       #       solid square block
+ACS_DIAMOND    0x60    \(ga    +       diamond
+ACS_CKBOARD    0x61    a       :       checker board (stipple)
+ACS_DEGREE     0x66    f       \e      degree symbol
+ACS_PLMINUS    0x67    g       #       plus/minus
+ACS_BOARD      0x68    h       #       board of squares
+ACS_LANTERN    0x69    i       #       lantern symbol
+ACS_LRCORNER   0x6a    j       +       lower right corner
+ACS_URCORNER   0x6b    k       +       upper right corner
+ACS_ULCORNER   0x6c    l       +       upper left corner
+ACS_LLCORNER   0x6d    m       +       lower left corner
+ACS_PLUS       0x6e    n       +       large plus or crossover
+ACS_S1 0x6f    o       \*~     scan line 1
+ACS_S3 0x70    p       \-      scan line 3
+ACS_HLINE      0x71    q       \-      horizontal line
+ACS_S7 0x72    r       \-      scan line 7
+ACS_S9 0x73    s       \&_     scan line 9
+ACS_LTEE       0x74    t       +       tee pointing right
+ACS_RTEE       0x75    u       +       tee pointing left
+ACS_BTEE       0x76    v       +       tee pointing up
+ACS_TTEE       0x77    w       +       tee pointing down
+ACS_VLINE      0x78    x       |       vertical line
+ACS_LEQUAL     0x79    y       <       less-than-or-equal-to
+ACS_GEQUAL     0x7a    z       >       greater-than-or-equal-to
+ACS_PI 0x7b    {       *       greek pi
+ACS_NEQUAL     0x7c    |       !       not-equal
+ACS_STERLING   0x7d    }       f       UK pound sign
+ACS_BULLET     0x7e    \*~     o       bullet
 .TE
 .PP
 A few notes apply to the table itself:
index 47fb61e7517fafb7d5d08b0db9df14ff4c50594b..4f8032113cb5642ccb529cfdcfe2504ae2003089 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright 2019-2022,2023 Thomas E. Dickey                                *
+.\" Copyright 2019-2023,2024 Thomas E. Dickey                                *
 .\" Copyright 1998-2015,2017 Free Software Foundation, Inc.                  *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: toe.1m,v 1.59 2023/12/16 21:01:59 tom Exp $
-.TH @TOE@ 1M 2023-12-16 "ncurses 6.4" "User commands"
+.\" $Id: toe.1m,v 1.62 2024/01/13 22:05:39 tom Exp $
+.TH @TOE@ 1M 2024-01-13 "ncurses 6.4" "User commands"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -142,11 +142,11 @@ with this program and exits with a successful status.
 .TP
 .I \*d
 compiled terminal description database
-.SH HISTORY
+.SH PORTABILITY
 \fB\%@TOE@\fP is not provided by other implementations.
 There is no applicable X/Open or POSIX standard for it.
-.PP
-It replaces a \fB\-T\fP option that was briefly supported by
+.SH HISTORY
+\fB\%@TOE@\fP replaces a \fB\-T\fP option that was briefly supported by
 the \fI\%ncurses\fP \fB\%infocmp\fP utility in 1995.
 .PP
 The \fB\-a\fP and \fB\-s\fP options were added in 2006 and 2011,
@@ -176,8 +176,10 @@ xterm\-256color    xterm with 256 colors
 xterm\-r6      xterm X11R6 version
 xterm\-r5      xterm R5 version
 xterm\-mono    monochrome xterm
-.\" The next row overruns the line length on DWB nroff (65n).
-xterm  xterm terminal emulator (X Window System)
+xterm  T{
+.ad l
+xterm terminal emulator (X Window System)
+T}
 vt220  dec vt220
 vt102  dec vt102
 vt100  dec vt100 (w/advanced video)
@@ -205,16 +207,20 @@ lf(\*(CW)1 lf(\*(CW)2 lf(\*(CW).
 \-\-*\-\-\-:   vt102   dec vt102
 \-\-*\-\-\-:   vt220   dec vt220
 \-\-*\-\-\-:   vt52    dec vt52
-.\" The next row overruns the line length on DWB nroff (65n).
-\-\-*\-\-\-:   xterm   xterm terminal emulator (X Window System)
+\-\-*\-\-\-:   xterm   T{
+.ad l
+xterm terminal emulator (X Window System)
+T}
 \-\-*\-\-\-:   xterm\-256color xterm with 256 colors
 \-\-*\-\-\-:   xterm\-color    generic color xterm
 \-\-*\-\-\-:   xterm\-mono     monochrome xterm
 \-\-*\-\-\-:   xterm\-r5       xterm R5 version
 \-\-*\-\-\-:   xterm\-r6       xterm X11R6 version
 \-\-*\-\-\-:   xterm\-vt220    xterm emulating vt220
-.\" The next row overruns the line length on DWB nroff (65n).
-\-\-*\-\-\-:   xterm\-xfree86  xterm terminal emulator (XFree86)
+\-\-*\-\-\-:   xterm\-xfree86  T{
+.ad l
+xterm terminal emulator (XFree86)
+T}
 .T&
 l.
 \&.\|.\|.
index 48ad00c9d80b54830c14c3f6071b8b2a354247e0..0cf0b129fa66a163c00cdd841ca2eb397b38a6d8 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey                                *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey                                *
 .\" Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: tput.1,v 1.97 2023/12/31 00:16:41 tom Exp $
-.TH @TPUT@ 1 2023-12-30 "ncurses 6.4" "User commands"
+.\" $Id: tput.1,v 1.102 2024/01/13 22:47:16 tom Exp $
+.TH @TPUT@ 1 2024-01-13 "ncurses 6.4" "User commands"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -48,8 +48,9 @@
 .ds d @TERMINFO@
 .SH NAME
 \fB\%@TPUT@\fP,
+\fB\%init\fP,
 \fB\%reset\fP \-
-initialize a terminal or query \fI\%term\%info\fP database
+initialize a terminal, exercise its capabilities, or query \fI\%term\%info\fP database
 .SH SYNOPSIS
 \fB@TPUT@\fP [\fB\-T\fP \fIterminal-type\fP]
 {\fIcap-code\fP [\fIparameter\fP .\|.\|.\&]} .\|.\|.
@@ -58,26 +59,35 @@ initialize a terminal or query \fI\%term\%info\fP database
 .PP
 \fB@TPUT@\fP [\fB\-T\fP \fIterminal-type\fP] \fBinit\fP
 .PP
-\fB@TPUT@\fP [\fB\-T\fP \fIterminal-type\fP] \fBreset\fP
+\fB@TPUT@\fP [\fB\-T\fP \fIterminal-type\fP] \fB\%reset\fP
 .PP
-\fB@TPUT@\fP [\fB\-T\fP \fIterminal-type\fP] \fBlongname\fP
+\fB@TPUT@\fP [\fB\-T\fP \fIterminal-type\fP] \fB\%longname\fP
 .PP
 \fB@TPUT@ \-S\fP
 .PP
 \fB@TPUT@ \-V\fP
 .SH DESCRIPTION
-\fB@TPUT@\fP uses the \fI\%term\%info\fP library and database to make
-the values of terminal-specific capabilities and information available
-to the shell,
+\fB\%@TPUT@\fP uses the
+.I \%term\%info
+library and database to make terminal-specific capabilities and
+information available to the shell,
 to initialize or reset the terminal,
-or report the long name of the current
+or
+to report a description of the current
 (or specified)
 terminal type.
+Terminal capabilities are accessed by
+.IR cap-code .
+.PP
+\fB\%terminfo\fP(5) discusses terminal capabilities at length
+and presents a complete list of
+.I cap-codes.
+.PP
 When retrieving capability values,
 the result depends upon the capability's type.
 .TP 9 \" "Boolean" + 2n
 Boolean
-\fB@TPUT@\fP sets its exit status to
+\fB\%@TPUT@\fP sets its exit status to
 .B 0
 if the terminal possesses
 .I cap-code,
@@ -85,8 +95,8 @@ and
 .B 1
 if it does not.
 .TP
-integer
-\fB@TPUT@\fP writes
+numeric
+\fB\%@TPUT@\fP writes
 .IR cap-code 's
 decimal value to the standard output stream if defined
 .RB ( \-1
@@ -94,308 +104,321 @@ if it is not)
 followed by a newline.
 .TP
 string
-\fB@TPUT@\fP writes
+\fB\%@TPUT@\fP writes
 .IR cap-code 's
 value to the standard output stream if defined,
 without a trailing newline.
 .PP
 Before using a value returned on the standard output,
-the application should test \fB@TPUT@\fP's exit status
-(for example,
-using \fB$?\fP in \fIsh\fP(1))
-to be sure it is \fB0\fP;
-see sections \*(``EXIT STATUS\*('' and \*(``DIAGNOSTICS\*('' below.
-For a complete list of
-.I cap-codes,
-see \fB\%terminfo\fP(5).
-.SS Options
-.TP
-\fB\-S\fP
-allows more than one capability per invocation of \fB@TPUT@\fP.
-The capabilities must be passed to \fB@TPUT@\fP from the standard input
-instead of from the command line
-(see example).
-Only one \fIcap-code\fP is allowed per line.
-The \fB\-S\fP option changes the
-meaning of the \fB0\fP and \fB1\fP Boolean and string exit statuses
-(see section \*(``EXIT STATUS\*('' below).
-.IP
-Because some capabilities may use
-\fIstring\fP parameters rather than \fInumbers\fP,
-\fB@TPUT@\fP uses a table and the presence of parameters in its input
-to decide whether to use \fBtparm\fP(3X),
-and how to interpret the parameters.
-.TP
-\fB\-T\fItype\fR
-indicates the \fItype\fP of terminal.
-Normally this option is
-unnecessary, because the default is taken from the environment
-variable \fITERM\fP.
-If \fB\-T\fP is specified, then the shell
-variables \fILINES\fP and \fI\%COLUMNS\fP will also be ignored.
-.TP
-\fB\-V\fP
-reports the version of \fI\%ncurses\fP which was used in this program,
-and exits.
-.TP
-.B \-x
-prevents \fB\%@TPUT@\fP from attempting to clear the scrollback buffer.
-.SS Commands
-A few commands (\fBinit\fP, \fBreset\fP and \fBlongname\fP) are
-special; they are defined by the \fB@TPUT@\fP program.
-The others are the names of \fIcapabilities\fP from the terminal database
-(see \fB\%terminfo\fP(5) for a list).
-Although \fBinit\fP and \fBreset\fP resemble capability names,
-\fB@TPUT@\fP uses several capabilities to perform these special functions.
-.TP
-\fIcap-code\fP
-indicates the capability from the terminal database.
+the application should test \fB\%@TPUT@\fP's exit status
+to be sure it is 0;
+see section \*(``EXIT STATUS\*('' below.
+.SS Operands
+Generally,
+an operand is a
+.I cap-code,
+a capability code from the terminal database,
+or a parameter thereto.
+Three others are specially recognized by \fB\%@TPUT@\fP:
+.BR init ,
+.BR \%reset ,
+and
+.BR \%longname .
+Although these resemble capability codes,
+they in fact receive special handling;
+we term them \*(``pseudo-capabilities\*(''.
+.TP 11n \" "longname" + 2n + adjustment for PDF
+.I cap-code
+indicates a capability from the terminal database.
 .IP
-If the capability is a string that takes parameters, the arguments
-following the capability will be used as parameters for the string.
+If the capability is of string type and takes parameters,
+the arguments following the capability will be used as its parameters.
 .IP
-Most parameters are numbers.
+Most parameters are numeric.
 Only a few terminal capabilities require string parameters;
-\fB@TPUT@\fP uses a table to decide which to pass as strings.
-Normally \fB@TPUT@\fP uses \fBtparm\fP(3X) to perform the substitution.
+\fB\%@TPUT@\fP uses a table to decide which to pass as strings.
+Normally \fB\%@TPUT@\fP uses \fB\%tparm\fP(3X) to perform the
+substitution.
 If no parameters are given for the capability,
-\fB@TPUT@\fP writes the string without performing the substitution.
+\fB\%@TPUT@\fP writes the string without performing the substitution.
 .TP
-\fBinit\fP
-If the terminal database is present and an entry for the user's
-terminal exists (see \fB\-T\fItype\fR, above), the following will
-occur:
+.B init
+initializes the terminal.
+If the terminal database is present
+and an entry for the user's terminal type exists,
+the following occur.
 .RS
 .TP 5
 (1)
-first, \fB@TPUT@\fP retrieves the current terminal mode settings
-for your terminal.
-It does this by successively testing
+\fB\%@TPUT@\fP retrieves the terminal's mode settings.
+It successively tests the file descriptors corresponding to
 .RS
 .bP
-the standard error,
+the standard error stream,
 .bP
-standard output,
+the standard output stream,
 .bP
-standard input and
+the standard input stream,
+and
 .bP
-ultimately \*(``/dev/tty\*(''
+.I \%/dev/tty
 .RE
 .IP
 to obtain terminal settings.
-Having retrieved these settings, \fB@TPUT@\fP remembers which
-file descriptor to use when updating settings.
+Having retrieved them,
+\fB\%@TPUT@\fP remembers which descriptor to use for further updates.
 .TP
 (2)
-if the window size cannot be obtained from the operating system,
-but the terminal description
-(or environment,
-e.g.,
-\fILINES\fP and \fI\%COLUMNS\fP variables specify this),
-update the operating system's notion of the window size.
+If the terminal dimensions cannot be obtained from the operating system,
+but the environment or terminal type database entry describes them,
+\fB\%@TPUT@\fP updates the operating system's notion of them.
 .TP
 (3)
-the terminal modes will be updated:
+\fB\%@TPUT@\fP updates the terminal modes.
 .RS
 .bP
-any delays (e.g., newline) specified in the entry will
-be set in the tty driver,
+Any delays specified in the entry
+(for example,
+when a newline is sent)
+are set in the terminal driver.
 .bP
-tabs expansion will be turned on or off according to
-the specification in the entry, and
+Tab expansion is turned on or off per the specification in the entry,
+and
 .bP
 if tabs are not expanded,
-standard tabs will be set (every 8 spaces).
+standard tabs
+(every 8 spaces)
+are set.
 .RE
 .TP
 (4)
-if present, the terminal's initialization strings will be
-output as detailed in the \fB\%terminfo\fP(5) section on
-.IR "Tabs and Initialization" ,
+If initialization capabilities,
+detailed in subsection \*(``Tabs and Initialization\*('' of
+\fB\%terminfo\fP(5),
+are present,
+\fB\%@TPUT@\fP writes them to the standard output stream.
 .TP
 (5)
-output is flushed.
+\fB\%@TPUT@\fP flushes the standard output stream.
 .RE
 .IP
-If an entry does not
-contain the information needed for any of these activities,
-that activity will silently be skipped.
+If an entry lacks the information needed for an activity above,
+that activity is silently skipped.
 .TP
-\fBreset\fP
-This is similar to \fBinit\fP, with two differences:
+.B reset
+re-initializes the terminal.
+A reset differs from initialization in two ways.
 .RS
 .TP 5
 (1)
-before any other initialization,
-the terminal modes will be reset to a \*(``sane\*('' state:
+\fB\%@TPUT@\fP sets the the terminal modes to a \*(``sane\*('' state,
 .RS
 .bP
-set cooked and echo modes,
+enabling cooked and echo modes,
 .bP
-turn off cbreak and raw modes,
+disabling cbreak and raw modes,
 .bP
-turn on newline translation and
+enabling newline translation,
+and
 .bP
-reset any unset special characters to their default values
+setting any unset special characters to their default values.
 .RE
 .TP 5
 (2)
-Instead of putting out \fIinitialization\fP strings, the terminal's
-\fIreset\fP strings will be output if present
-(\fBrs1\fP, \fBrs2\fP, \fBrs3\fP, \fBrf\fP).
-If the \fIreset\fP strings are not present, but \fIinitialization\fP
-strings are, the \fIinitialization\fP strings will be output.
+If any reset capabilities are defined for the terminal type,
+\fB\%@TPUT@\fP writes them to the output stream.
+Otherwise,
+\fB\%@TPUT@\fP uses any defined initialization capabilities.
+Reset capabilities are detailed in subsection
+\*(``Tabs and Initialization\*('' of \fB\%terminfo\fP(5).
 .RE
-.IP
-Otherwise, \fBreset\fP acts identically to \fBinit\fP.
 .TP
 .B longname
-A terminfo entry begins with one or more names by which an
-application can refer to the entry,
+A
+.I \%term\%info
+entry begins with one or more names by which an application
+can refer to the entry,
 before the list of terminal capabilities.
 The names are separated by \*(``|\*('' characters.
-X/Open states that the last name is the \*(``long name\*(''
-and also that it may include blanks.
+X/Open Curses terms the last name the \*(``long name\*('',
+and indicates that it may include blanks.
 .IP
 \fB\%@TIC@\fP warns if the last name does not include blanks,
-to accommodate old terminfo entries which treated
-the long name as an optional feature.
+to accommodate old
+.I \%term\%info
+entries that treated the long name as an optional feature.
 The long name is often referred to as the description field.
 .IP
 If the terminal database is present and an entry for the user's terminal
-exists
-(see
-.B \-T
-.I type
-above),
-\fB\%@TPUT@\fP reports the terminal's description
-(or \*(``long name\*('')
-to the standard output,
+type exists,
+\fB\%@TPUT@\fP reports its description to the standard output stream,
 without a trailing newline.
-See \fB\%term\%info\fP(5).
-.SS Aliases
-\fB@TPUT@\fP handles the \fBclear\fP, \fBinit\fP and \fBreset\fP
-commands specially:
-it allows for the possibility that it is invoked by a link with those names.
-.PP
-If \fB@TPUT@\fP is invoked by a link named \fBreset\fP, this has the
-same effect as \fB@TPUT@ reset\fP.
-The \fB@TSET@\fP(1) utility also treats a link named \fBreset\fP specially.
+See \fB\%terminfo\fP(5).
 .PP
-Before \fI\%ncurses\fP 6.1,
-the two utilities were different from each other:
-.bP
-\fB@TSET@\fP utility reset the terminal modes and special characters
-(not done with \fB@TPUT@\fP).
-.bP
-On the other hand, \fB@TSET@\fP's repertoire of terminal capabilities for
-resetting the terminal was more limited,
-i.e., only \fBreset_1string\fP, \fBreset_2string\fP and \fBreset_file\fP
-in contrast to the tab-stops and margins which are set by this utility.
-.bP
-The \fBreset\fP program is usually an alias for \fB@TSET@\fP,
-because of this difference with resetting terminal modes and special characters.
-.PP
-With the changes made for \fI\%ncurses\fP 6.1,
-the \fIreset\fP feature of the two programs is (mostly) the same.
-A few differences remain:
-.bP
-The \fB@TSET@\fP program waits one second when resetting,
-in case it happens to be a hardware terminal.
-.bP
-The two programs write the terminal initialization strings
-to different streams (i.e., the standard error for \fB@TSET@\fP and the
-standard output for \fB@TPUT@\fP).
-.IP
-\fBNote:\fP although these programs write to different streams,
-redirecting their output to a file will capture only part of their actions.
-The changes to the terminal modes are not affected by redirecting the output.
+.I Note:
+Redirecting the output of
+.RB \%\*(`` "@TPUT@ init" \*(''
+or
+.RB \%\*(`` "@TPUT@ reset" \*(''
+to a file will capture only part of their actions.
+Changes to the terminal modes are not affected by file descriptor
+redirection,
+since the terminal modes are altered via \fB\%ioctl\fP(2).
+.SS Aliases
+If \fB\%@TPUT@\fP is invoked via link with any of the names
+.BR clear ,
+.BR init ,
+or
+.BR \%reset ,
+it operates as if run with the corresponding (pseudo-)capability
+operand.
+For example,
+executing a link named
+.B \%reset
+that points to \fB\%@TPUT@\fP has the same effect as
+.RB \%\*(`` "@TPUT@ \%reset" \*(''.
+(The \fB\%@TSET@\fP(1) utility also treats a link named
+.B \%reset
+specially.)
 .PP
-If \fB@TPUT@\fP is invoked by a link named \fBinit\fP, this has the
-same effect as \fB@TPUT@ init\fP.
-Again, you are less likely to use that link because another program
-named \fBinit\fP has a more well-established use.
+If \fB\%@TPUT@\fP is invoked by a link named
+.BR \%init ,
+this has the same effect as
+.RB \%\*(`` "@TPUT@ init" \*(''.
+Such a link is seldom employed because another program of that name
+is in widespread use.
 .SS "Terminal Size"
-Besides the special commands (e.g., \fBclear\fP),
-@TPUT@ treats certain terminfo capabilities specially:
-\fBlines\fP and \fBcols\fP.
-@TPUT@ calls \fBsetupterm\fP(3X) to obtain the terminal size:
-.bP
-first, it gets the size from the terminal database
-(which generally is not provided for terminal emulators
-which do not have a fixed window size)
-.bP
-then it asks the operating system for the terminal's size
-(which generally works, unless connecting via a serial line which
-does not support \fINAWS\fP: negotiations about window size).
-.bP
-finally, it inspects the environment variables \fILINES\fP and
-\fI\%COLUMNS\fP which may override the terminal size.
+Besides the pseudo-capabilities
+(such as
+.BR init ),
+\fB\%@TPUT@\fP treats the
+.B lines
+and
+.B cols
+.I cap-codes
+specially:
+it may call \fB\%setupterm\fP(3X) to obtain the terminal size.
+.bP
+First,
+\fB\%@TPUT@\fP attempts to obtain these capabilities from the terminal
+database.
+This generally fails for terminal emulators,
+which lack a fixed window size and thus omit the capabilities.
+.bP
+It then asks the operating system for the terminal's size,
+which generally works,
+unless the connection is via a serial line that
+does not support \*(``NAWS\*('': negotiations about window size.
+.bP
+Finally,
+it inspects the environment variables
+.I LINES
+and
+.I \%COLUMNS,
+which may override the terminal size.
 .PP
-If the \fB\-T\fP option is given
-@TPUT@ ignores the environment variables by calling \fBuse_tioctl(TRUE)\fP,
-relying upon the operating system (or finally, the terminal database).
-.SH EXIT STATUS
-If the \fB\-S\fP option is used,
-\fB@TPUT@\fP checks for errors from each line,
-and if any errors are found, will set the exit status to 4 plus the
-number of lines with errors.
-If no errors are found, the exit status is \fB0\fP.
-No indication of which line failed can be given so
-exit status \fB1\fP will never appear.
-Exit statuses \fB2\fP, \fB3\fP, and
-\fB4\fP retain their usual interpretation.
-If the \fB\-S\fP option is not used,
-the exit status depends on the type of \fIcap-code\fP:
-.RS 3
-.TP
-.I Boolean
-a value of \fB0\fP is set for TRUE and \fB1\fP for FALSE.
+If the
+.B \-T
+option is given,
+\fB\%@TPUT@\fP ignores the environment variables by calling
+.BR \%use_tioctl(TRUE) ,
+relying upon the operating system
+(or,
+ultimately,
+the terminal database).
+.SH OPTIONS
+.TP 9n \" "-T type" + 2n
+.B \-S
+retrieves more than one capability per invocation of \fB\%@TPUT@\fP.
+The capabilities must be passed to \fB\%@TPUT@\fP from the standard
+input stream instead of from the command line
+(see section \*(``EXAMPLES\*('' below).
+Only one
+.I cap-code
+is allowed per line.
+The
+.B \-S
+option changes the meanings of the
+.B 0
+and
+.B 1
+exit statuses
+(see section \*(``EXIT STATUS\*('' below).
+.IP
+Some capabilities use string parameters rather than numeric ones.
+\fB\%@TPUT@\fP employs a built-in table and the presence of parameters
+in its input to decide how to interpret them,
+and whether to use \fB\%tparm\fP(3X).
 .TP
-.I string
-a value of \fB0\fP is set if the
-\fIcap-code\fP is defined for this terminal \fItype\fP (the value of
-\fIcap-code\fP is returned on standard output);
-a value of \fB1\fP is set if \fIcap-code\fP
-is not defined for this terminal \fItype\fP
-(nothing is written to standard output).
+.BI \-T\  type
+indicates the terminal's
+.I type.
+Normally this option is unnecessary,
+because a default is taken from the
+.I TERM
+environment variable.
+If specified,
+the environment variables
+.I LINES
+and
+.I \%COLUMNS
+are also ignored.
 .TP
-.I integer
-a value of \fB0\fP is always set,
-whether or not \fIcap-code\fP is defined for this terminal \fItype\fP.
-To determine if \fIcap-code\fP is defined for this terminal \fItype\fP,
-the user must test the value written to standard output.
-A value of \fB\-1\fP
-means that \fIcap-code\fP is not defined for this terminal \fItype\fP.
+.B \-V
+reports the version of
+.I \%ncurses
+associated with \fB\%@TPUT@\fP,
+and exits with a successful status.
 .TP
-.I other
-\fBreset\fP or \fBinit\fP may fail to find their respective files.
-In that case, the exit status is set to 4 + \fBerrno\fP.
-.RE
+.B \-x
+prevents
+.RB \%\*(`` "@TPUT@ clear" \*(''
+from attempting to clear the scrollback buffer.
+.SH EXIT STATUS
+Normally,
+one should interpret \fB\%@TPUT@\fP's exit statuses as follows.
+.PP
+.if n .ne 3
+.if t .ne 2
+.TS
+Lb Lb
+Lb Lx.
+Status Meaning When \-S Not Specified
+_
+0      Boolean or string capability present
+1      Boolean or numeric capability absent
+2      usage error or no terminal type specified
+3      unrecognized terminal type
+4      unrecognized capability code
+>4     system error (4 + \fBerrno\fP)
+.TE
 .PP
-Any other exit status indicates an error;
-see section \*(``DIAGNOSTICS\*('' below.
-.SH DIAGNOSTICS
-\fB@TPUT@\fP prints the following error messages and sets the
-corresponding exit statuses.
+When the
+.B \-S
+option is used,
+some statuses change meanings.
 .PP
-.ne 15
+.if n .ne 4
+.if t .ne 3
 .TS
-l l.
-exit status    error message
-=
-\fB0\fP        T{
-(\fIcap-code\fP is a numeric variable that is not specified in the
-\fB\%terminfo\fP(5) database for this terminal type, e.g.
-\fB@TPUT@ \-T450 lines\fP and \fB@TPUT@ \-Thp2621 xmc\fP)
-T}
-\fB1\fP        no error message is printed, see the \fBEXIT STATUS\fP section.
-\fB2\fP        usage error
-\fB3\fP        unknown terminal \fItype\fP or no \fI\%term\%info\fP database
-\fB4\fP        unknown \fI\%term\%info\fP capability \fIcap-code\fP
-\fB>4\fP       error occurred in \-S
-=
+Lb Lb
+Lb Lx.
+Status Meaning When \-S Specified
+_
+0      all operands interpreted
+1      unused
+4      some operands not interpreted
 .TE
+.SH ENVIRONMENT
+\fB@TPUT@\fP command reads one environment variable.
+.TP 8n \" "TERM" + 2n + adjustment for PDF
+.I TERM
+denotes the terminal type.
+Each terminal type is distinct,
+though many are similar.
+The
+.B \-T
+option overrides its value.
 .SH FILES
 .TP
 .I @DATADIR@/tabset
@@ -404,121 +427,274 @@ tab stop initialization database
 .I \*d
 compiled terminal description database
 .SH PORTABILITY
-This implementation of \fBtput\fP differs from AT&T \fBtput\fP in
-two important areas:
-.bP
-\fB@TPUT@\fP \fIcap-code\fP writes to the standard output.
-That need not be a regular terminal.
-However, the subcommands which manipulate terminal modes
-may not use the standard output.
+Over time
+.I \%ncurses
+\fB\%@TPUT@\fP
+has differed from that of System\ V in two important respects,
+one now mostly historical.
+.bP
+\%\*(``\fB@TPUT@\fP
+.IR cap-code \*(''
+writes to the standard output,
+which need not be a terminal device.
+However,
+the operands that manipulate terminal modes might not use the standard
+output.
 .IP
-The AT&T implementation's \fBinit\fP and \fBreset\fP commands
-use the BSD (4.1c) \fBtset\fP source, which manipulates terminal modes.
-It successively tries standard output, standard error, standard input
-before falling back to \*(``/dev/tty\*('' and finally just assumes
-a 1200Bd terminal.
-When updating terminal modes, it ignores errors.
+System\ V
+.BR tput 's
+.B init
+and
+.B \%reset
+operands use logic from 4.1cBSD
+.BR tset ,
+manipulating terminal modes.
+It checks the same file descriptors
+(and
+.IR \%/dev/tty )
+for association with a terminal device as
+.I \%ncurses
+now does,
+and if none are,
+finally assumes a 1200 baud terminal.
+When updating terminal modes,
+it ignores errors.
 .IP
-Until changes made after \fI\%ncurses\fP 6.0,
-\fB@TPUT@\fP did not modify terminal modes.
-\fB@TPUT@\fP now uses a similar scheme,
-using functions shared with \fB@TSET@\fP
-(and ultimately based on the 4.4BSD \fBtset\fP).
-If it is not able to open a terminal, e.g., when running in \fBcron\fP(1),
-\fB@TPUT@\fP will return an error.
-.bP
-AT&T \fBtput\fP guesses the type of its \fIcap-code\fP operands by
-seeing if all of the characters are numeric,
-or not.
+Until
+.I \%ncurses
+6.1
+(see section \*(``HISTORY\*('' below),
+\fB\%@TPUT@\fP did not modify terminal modes.
+It now employs a scheme similar to System\ V,
+using functions shared with \fB\%@TSET@\fP
+(and ultimately based on 4.4BSD
+.BR tset ).
+If it is not able to open a terminal
+(for instance,
+when run by \fIcron\fP(1)),
+\fB\%@TPUT@\fP exits with an error status.
+.bP
+System\ V
+.B tput
+assumes that the type of a
+.I cap-code
+operand is numeric if all the characters of its value are decimal
+numbers;
+if they are not,
+it treats
+.I cap-code
+as a string capability.
 .IP
-Most implementations which provide support for \fIcap-code\fP operands
-use the \fBtparm\fP function to expand parameters in it.
+Most implementations that provide support for
+.I cap-code
+operands use the \fB\%tparm\fP(3X) function to expand its parameters.
 That function expects a mixture of numeric and string parameters,
-requiring \fB@TPUT@\fP to know which type to use.
+requiring \fB\%@TPUT@\fP to know which type to use.
 .IP
-This implementation uses a table to determine the parameter types for
-the standard \fIcap-code\fP operands, and an internal library
-function to analyze nonstandard \fIcap-code\fP operands.
+.I \%ncurses
+\fB\%@TPUT@\fP
+uses a table to determine the parameter types for
+the standard
+.I cap-code
+operands,
+and an internal function to analyze nonstandard
+.I cap-code
+operands.
 .IP
-Besides providing more reliable operation than AT&T's utility,
-a portability problem is introduced by this analysis:
+While more reliable than System\ V's utility,
+a portability problem is introduced by this analysis.
 An OpenBSD developer adapted the internal library function from
-\fI\%ncurses\fP to port NetBSD's termcap-based \fBtput\fP to terminfo.
-That had been modified to interpret multiple commands on a line.
+.I \%ncurses
+to port NetBSD's
+.IR termcap -based
+.B tput
+to
+.I \%term\%info,
+and modified it to interpret multiple
+.I cap-codes
+(and parameters)
+on the command line.
 Portable applications should not rely upon this feature;
-\fI\%ncurses\fP provides it to support applications written
-specifically for OpenBSD.
+.I \%ncurses
+offers it to support applications written specifically for OpenBSD.
 .PP
-This implementation (unlike others) can accept both \fItermcap\fP
-and \fIterminfo\fP names for the \fIcap-code\fP feature,
+This implementation,
+unlike others,
+accepts both
+.I termcap
+and
+.I \%term\%info
+.I cap-codes
 if
-\fItermcap\fP support is compiled in.
-However, the predefined \fItermcap\fP and \fIterminfo\fP names have two
-ambiguities in this case (and the \fIterminfo\fP name is assumed):
-.bP
-The \fItermcap\fP name \fBdl\fP corresponds to
-the \fIterminfo\fP name \fBdl1\fP (delete one line).
-.br
-The \fIterminfo\fP name \fBdl\fP corresponds to
-the \fItermcap\fP name \fBDL\fP (delete a given number of lines).
-.bP
-The \fItermcap\fP name \fBed\fP corresponds to
-the \fIterminfo\fP name \fBrmdc\fP (end delete mode).
-.br
-The \fIterminfo\fP name \fBed\fP corresponds to
-the \fItermcap\fP name \fBcd\fP (clear to end of screen).
+.I termcap
+support is compiled in.
+In that case,
+however,
+the predefined
+.I termcap
+and
+.I \%term\%info
+codes have two
+ambiguities;
+.I \%ncurses
+assumes the
+.I \%term\%info
+code.
+.bP
+The
+.I cap-code
+.B dl
+means
+.B \%delete_line
+to
+.I termcap
+but
+.B \%parm_delete_line
+to
+.I \%term\%info.
+.I termcap
+uses the code
+.B DL
+for
+.BR \%parm_delete_line .
+.I \%term\%info
+uses the code
+.B dch1
+for
+.BR \%delete_line .
+.bP
+The
+.I cap-code
+.B ed
+means
+.B \%exit_delete_mode
+to
+.I termcap
+but
+.B \%clr_eos
+to
+.I \%term\%info.
+.I termcap
+uses the code
+.B cd
+for
+.BR \%clr_eos .
+.I \%term\%info
+uses the code
+.B rmdc
+for
+.BR \%exit_delete_mode .
 .PP
-The \fBlongname\fP and \fB\-S\fP options, and the parameter-substitution
-features used in the \fBcup\fP example,
+The
+.B \%longname
+operand,
+.B \-S
+option,
+and the parameter-substitution features used in the
+.B cup
+example below,
 were not supported in
 AT&T/USL
 .I curses
 before SVr4 (1989).
-Later, 4.3BSD-Reno (1990) added support for \fBlongname\fP,
+Later,
+4.3BSD-Reno (1990) added support for
+.BR \%longname ,
 .\" longname was added in October 1989.
-and NetBSD (1994) added support for the parameter-substitution features.
+and in 1994,
+NetBSD added support for the parameter-substitution features.
 .PP
-IEEE Std 1003.1/The Open Group  Base Specifications Issue 7 (POSIX.1-2008)
-documents only the operands for \fBclear\fP, \fBinit\fP and \fBreset\fP.
-There are a few interesting observations to make regarding that:
-.bP
-In this implementation,
-\fBclear\fP is part of the \fIcap-code\fP support.
-The others (\fBinit\fP and \fBlongname\fP) do not correspond to terminal
-capabilities.
-.bP
-Other implementations of \fBtput\fP on
-SVr4-based systems such as Solaris, IRIX64 and HP-UX
-as well as others such as AIX and Tru64
-provide support for \fIcap-code\fP operands.
-.bP
-A few platforms such as FreeBSD recognize termcap names rather
-than terminfo capability names in their respective \fBtput\fP commands.
-Since 2010, NetBSD's \fBtput\fP uses terminfo names.
-Before that, it (like FreeBSD) recognized termcap names.
+IEEE Std 1003.1/The Open Group Base Specifications Issue 7
+(POSIX.1-2008)
+documents only the
+.BR clear ,
+.BR init ,
+and
+.B \%reset
+operands.
+A few observations of interest arise from that selection.
+.bP
+.I \%ncurses
+supports
+.B clear
+as it does any other standard
+.I cap-code.
+The others
+.RB ( init
+and
+.BR \%longname )
+do not correspond to terminal capabilities.
+.bP
+The
+.B tput
+on SVr4-based systems such as Solaris,
+IRIX64,
+and HP-UX,
+as well as others such as AIX and Tru64,
+also support standard
+.I cap-code
+operands.
+.bP
+A few platforms such as FreeBSD recognize
+.I termcap
+names rather than
+.I \%term\%info
+capability names in their respective
+.B tput
+commands.
+Since 2010,
+NetBSD's
+.B tput
+uses
+.I \%term\%info
+names.
+Before that,
+it
+(like FreeBSD)
+recognized
+.I termcap
+names.
 .IP
-Beginning in 2021, FreeBSD uses the \fI\%ncurses\fP \fBtput\fP,
-configured for both terminfo (tested first) and termcap (as a fallback).
+Beginning in 2021,
+FreeBSD uses
+.I \%ncurses
+.BR tput ,
+configured for both
+.I \%term\%info
+(tested first)
+and
+.I termcap
+(as a fallback).
 .PP
-Because (apparently) \fIall\fP of the certified Unix systems
-support the full set of capability names, the reasoning for documenting
-only a few may not be apparent.
-.bP
-X/Open Curses Issue 7 documents \fBtput\fP differently,
-with \fIcap-code\fP and the other features used in this implementation.
-.bP
-That is, there are two standards for \fBtput\fP:
+Because (apparently) all
+.I certified
+Unix systems support the full set of capability codes,
+the reason for documenting only a few may not be apparent.
+.bP
+X/Open Curses Issue 7 documents
+.B tput
+differently,
+with
+.I cap-code
+and the other features used in this implementation.
+.bP
+That is,
+there are two standards for
+.BR tput :
 POSIX (a subset) and X/Open Curses (the full implementation).
-POSIX documents a subset to avoid the complication of including X/Open Curses
-and the terminal capabilities database.
+POSIX documents a subset to avoid the complication of including
+X/Open Curses and the terminal capability database.
 .bP
-While it is certainly possible to write a \fBtput\fP program
-without using
+While it is certainly possible to write a
+.B tput
+program without using
 .I curses,
 no system with a
 .I curses
-implementation provides a \fBtput\fP utility that does not also supply
-the \fIcap-code\fP feature.
+implementation provides a
+.B tput
+utility that does not also support standard
+.I cap-codes.
 .PP
 X/Open Curses Issue 7 (2009) is the first version to document utilities.
 However that part of X/Open Curses does not follow existing practice
@@ -528,141 +704,286 @@ System\ V
 behavior).
 .bP
 It assigns exit status 4 to \*(``invalid operand\*('',
-which may be the same as \fIunknown capability\fP.
-For instance, the source code for Solaris' xcurses uses the term
-\*(``invalid\*('' in this case.
-.bP
-It assigns exit status 255 to a numeric variable that is not specified in
-the terminfo database.
+which may have the same meaning as \*(``unknown capability\*(''.
+For instance,
+the source code for
+Solaris
+.I xcurses
+uses the term \*(``invalid\*('' in this case.
+.bP
+It assigns exit status 255 to a numeric variable that is not specified
+in the
+.I \%term\%info
+database.
 That likely is a documentation error,
-confusing the \fB\-1\fP written to the standard output for an absent
-or cancelled numeric value versus an (unsigned) exit status.
+mistaking the \*(``\-1\*('' written to the standard output to indicate
+an absent or cancelled numeric capability for an (unsigned) exit status.
 .PP
-The various Unix systems (AIX, HP-UX, Solaris) use the same exit statuses
-as \fI\%ncurses\fP.
+The various System\ V implementations
+(AIX,
+HP-UX,
+Solaris)
+use the same exit statuses as
+.I \%ncurses.
 .PP
-NetBSD curses documents different exit statuses which do not correspond
-to either \fI\%ncurses\fP or X/Open.
+NetBSD
+.I curses
+documents exit statuses that correspond to neither
+.I \%ncurses
+nor X/Open Curses.
 .SH HISTORY
-The \fBtput\fP command was begun by Bill Joy in 1980.
-The initial version only cleared the screen.
+Bill Joy wrote a
+.B tput
+command during development of 4BSD in October 1980.
+This initial version only cleared the screen,
+and did not ship with official distributions.
+.\" It also exited with backwards exit status (1 on success, 0 on
+.\" failure), and was characterized by Bostic in 1988 as "pretty
+.\" unreasonable".
+.\" See Spinellis's "unix-history-repo" on GitHub.
 .PP
-AT&T System V provided a different \fBtput\fP command:
+System\ V developed a different
+.B tput
+command.
 .bP
-SVr2 provided a rudimentary \fBtput\fP
-which checked the parameter against each
+SVr2 (1984) provided a rudimentary
+.B tput
+that checked the parameter against each
 predefined capability and returned the corresponding value.
-This version of \fBtput\fP did not use \fBtparm\fP(3X) for
-the capabilities which are parameterized.
-.bP
-SVr3 replaced that, a year later, by a more extensive program
-whose \fBinit\fP and \fBreset\fP subcommands
-(more than half the program) were incorporated from
-the \fBreset\fP feature of BSD \fBtset\fP written by Eric Allman.
-.bP
-SVr4 added color initialization using the \fBorig_colors\fP and
-\fBorig_pair\fP capabilities in the \fBinit\fP subcommand.
-.PP
-Keith Bostic replaced the BSD \fBtput\fP command in 1989
-with a new implementation
-based on the AT&T System V program \fBtput\fP.
-Like the AT&T program, Bostic's version
-accepted some parameters named for \fIterminfo\fP capabilities
-(\fBclear\fP, \fBinit\fP, \fBlongname\fP and \fBreset\fP).
-However (because he had only \fItermcap\fP available),
-it accepted \fItermcap\fP names for other capabilities.
-Also, Bostic's BSD \fBtput\fP did not modify the terminal I/O modes
-as the earlier BSD \fBtset\fP had done.
+This version of
+.B tput
+did not use \fB\%tparm\fP(3X) for parameterized capabilities.
+.bP
+SVr3 (1987) replaced that
+.\" SVr3 released in 1987, not 1985.
+.\" https://unix.org/what_is_unix/history_timeline.html
+with a more extensive program
+whose support for
+.B init
+and
+.B \%reset
+operands
+(more than half the program)
+incorporated the
+.B \%reset
+feature of BSD
+.B tset
+written by Eric Allman.
+.bP
+SVr4 (1989) added color initialization by using the
+.B \%orig_colors
+.RB ( oc )
+and
+.B \%orig_pair
+.RB ( op )
+capabilities in its
+.B init
+logic.
 .PP
-At the same time, Bostic added a shell script named \*(``clear\*('',
-which used \fBtput\fP to clear the screen.
+Keith Bostic refactored BSD
+.B tput
+for shipment in 4.3BSD-Tahoe (1988),
+then replaced it the next year with a new implementation based on
+System\ V
+.BR tput .
+Bostic's version similarly accepted some parameters named for
+.I \%term\%info
+(pseudo-)capabilities:
+.BR clear ,
+.BR init ,
+.BR \%longname ,
+and
+.BR \%reset .
+However,
+because he had only
+.I termcap
+available,
+it accepted
+.I termcap
+names for other capabilities.
+Also,
+Bostic's BSD
+.B tput
+did not modify the terminal modes as the earlier BSD
+.B tset
+had done.
 .PP
+At the same time,
+Bostic added a shell script named \*(``clear\*('' that used
+.B tput
+to clear the screen.
 Both of these appeared in 4.4BSD,
-becoming the \*(``modern\*('' BSD implementation of \fBtput\fP.
+becoming the \*(``modern\*('' BSD implementation of
+.BR tput .
 .PP
-This implementation of \fBtput\fP began from a different source than
-AT&T or BSD: Ross Ridge's \fImytinfo\fP package, published on
-\fIcomp.sources.unix\fP in December 1992.
+The origin of
+.I \%ncurses
+\fB\%@TPUT@\fP lies outside both System\ V and BSD,
+in Ross Ridge's
+.I \%mytinfo
+package,
+published on
+.I comp.sources.unix
+in December 1992.
 Ridge's program made more sophisticated use of the terminal capabilities
 than the BSD program.
-Eric Raymond used that \fBtput\fP program
-(and other parts of \fImytinfo\fP) in \fI\%ncurses\fP in June 1995.
-Using the portions dealing with terminal capabilities
+Eric Raymond used that
+.B tput
+program
+(and other parts of
+.IR \%mytinfo )
+in
+.I \%ncurses
+in June 1995.
+Incorporating the portions dealing with terminal capabilities
 almost without change,
-Raymond made improvements to the way the command-line parameters
+Raymond made improvements to the way command-line parameters
 were handled.
+.PP
+Before
+.I \%ncurses
+6.1 (2018),
+its \fB\%@TSET@\fP and \fB\%@TPUT@\fP utilities differed.
+.bP
+\fB\%@TSET@\fP was more effective,
+resetting the terminal modes and special characters.
+.bP
+On the other hand,
+\fB\%@TSET@\fP's repertoire of terminal capabilities for resetting the
+terminal was more limited;
+it had only equivalents of
+.B \%reset_1string
+.RB ( rs1 ),
+.B \%reset_2string
+.RB ( rs2 ),
+and
+.B \%reset_file
+.RB ( rf ),
+and not the tab stop and margin update features of \fB\%@TPUT@\fP.
+.PP
+The
+.B \%reset
+program is traditionally an alias for \fB\%@TSET@\fP due to its ability
+to reset terminal modes and special characters.
+.PP
+As of
+.I \%ncurses
+6.1,
+the \*(``reset\*('' features of the two programs are (mostly) the same.
+Two minor differences remain.
+.bP
+The \fB\%@TSET@\fP program waits one second when resetting,
+in case the terminal happens to be a hardware device.
+.bP
+The two programs write the terminal initialization strings
+to different streams;
+that is,
+standard error for \fB\%@TSET@\fP and
+standard output for \fB\%@TPUT@\fP.
 .SH EXAMPLES
-.TP 5
-\fB@TPUT@ init\fP
+.TP
+.B "@TPUT@ init"
 Initialize the terminal according to the type of
-terminal in the environment variable \fITERM\fP.
-This command should be included in everyone's .profile after
-the environment variable \fITERM\fP has been exported,
-as illustrated on the \fBprofile\fP(5) manual page.
-.TP 5
-\fB@TPUT@ \-T5620 reset\fP
-Reset an AT&T 5620 terminal, overriding the type of
-terminal in the environment variable \fITERM\fP.
-.TP 5
-\fB@TPUT@ cup 0 0\fP
-Send the sequence to move the cursor to row \fB0\fP, column \fB0\fP
-(the upper left corner of the screen, usually known as the \*(``home\*(''
-cursor position).
-.TP 5
-\fB@TPUT@ clear\fP
-Echo the clear-screen sequence for the current terminal.
-.TP 5
-\fB@TPUT@ cols\fP
-Print the number of columns for the current terminal.
-.TP 5
-\fB@TPUT@ \-T450 cols\fP
-Print the number of columns for the 450 terminal.
-.TP 5
-\fBbold=\(ga@TPUT@ smso\(ga offbold=\(ga@TPUT@ rmso\(ga\fP
-Set the shell variables \fBbold\fP, to begin stand-out mode
-sequence, and \fBoffbold\fP, to end standout mode sequence,
-for the current terminal.
-This might be followed by a
-prompt: \fBecho "${bold}Please type in your name: ${offbold}\ec"\fP
-.TP 5
-\fB@TPUT@ hc\fP
-Set exit status to indicate if the current terminal is a hard copy terminal.
-.TP 5
-\fB@TPUT@ cup 23 4\fP
-Send the sequence to move the cursor to row 23, column 4.
-.TP 5
-\fB@TPUT@ cup\fP
-Send the terminfo string for cursor-movement, with no parameters substituted.
-.TP 5
-\fB@TPUT@ longname\fP
-Print the long name from the \fI\%term\%info\fP database for the
-type of terminal specified in the environment
-variable \fITERM\fP.
-.TP 5
-\fB@TPUT@ \-S\fP
-The \fB\-S\fP option can be profitably used with a shell
-\*(``here document\*(''.
+terminal in the
+.I TERM
+environment variable.
+If the system does not reliably initialize the terminal upon login,
+this command can be included in
+.I \%$HOME/.profile
+after exporting the
+.I TERM
+environment variable.
+.TP
+.B "@TPUT@ \-T5620 reset"
+Reset an AT&T 5620 terminal,
+overriding the terminal type in the
+.I TERM
+environment variable.
+.TP
+.B "@TPUT@ cnorm"
+Set cursor to normal visibility.
+.TP
+.B "@TPUT@ home"
+Move the cursor to row 0,
+column 0:
+the upper left corner of the screen,
+usually known as the \*(``home\*('' cursor position.
+.TP
+.B "@TPUT@ clear"
+Clear the screen:
+write the
+.B \%clear_screen
+capability's value to the standard output stream.
+.TP
+.B "@TPUT@ cols"
+Report the number of columns used by the current terminal type.
+.TP
+.B "@TPUT@ \-Tadm3a cols"
+Report the number of columns used by an ADM-3A terminal.
+.TP
+.B "strong=\(ga@TPUT@ smso\(ga normal=\(ga@TPUT@ rmso\(ga"
+Set shell variables to capability values:
+.B strong
+and
+.BR normal ,
+to begin and end,
+respectively,
+stand-out mode for the terminal.
+One might use these to present a prompt.
+.IP
+.EX
+.RS 14
+printf "${strong}Username:${normal} "
+.RE
+.EE
+.TP
+.B "@TPUT@ hc"
+Indicate via exit status whether the terminal is a hard copy device.
+.TP
+.B "@TPUT@ cup 23 4"
+Move the cursor to row 23,
+column 4.
+.TP
+.B "@TPUT@ cup"
+Report the value of the
+.B \%cursor_address
+.RB ( cup )
+capability
+(used for cursor movement),
+with no parameters substituted.
+.TP
+.B "@TPUT@ longname"
+Report the
+.I \%term\%info
+database's description of the terminal type specified in the
+.I TERM
+environment variable.
+.TP
+.B "@TPUT@ \-S"
+Process multiple capabilities.
+The
+.B \-S
+option can be profitably used with a shell \*(``here document\*(''.
 .IP
 .EX
-$ \fB@TPUT@ \-S <<!\fP
-> \fBclear\fP
-> \fBcup 10 10\fP
-> \fBbold\fP
-> \fB!\fP
+.RB $\  "@TPUT@ \-S <<!"
+.RB >\  clear
+.RB >\  "cup 10 10"
+.RB >\  bold
+.RB >\  !
 .EE
 .IP
-We see \fB@TPUT@\fP processing several capabilities in one invocation.
-It clears the screen,
+The foregoing
+clears the screen,
 moves the cursor to position
 (10, 10)
 and turns on bold
 (extra bright)
 mode.
-.TP 5
-.B @TPUT@ clear cup 10 10 bold
+.TP
+.B "@TPUT@ clear cup 10 10 bold"
 Perform the same actions as the foregoing
-.RB \%\[lq] @TPUT@
-.BR \-S \[rq]
+.RB \%\*(`` "@TPUT@ \-S" \*(''
 example.
 .SH SEE ALSO
 \fB\%@CLEAR@\fP(1),
index ac4da9f71a79c1088919b4585da6001ca8537647..1b434c7c3af6571f94e4c8f1e06f5722732c8174 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey                                *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey                                *
 .\" Copyright 2017 Free Software Foundation, Inc.                            *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: user_caps.5,v 1.44 2023/12/30 21:36:32 tom Exp $
-.TH user_caps 5 2023-12-30 "ncurses 6.4" "File formats"
+.\" $Id: user_caps.5,v 1.47 2024/01/13 22:05:39 tom Exp $
+.TH user_caps 5 2024-01-13 "ncurses 6.4" "File formats"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -360,29 +360,45 @@ In a terminal description,
 Applications can use the \fInaming convention\fP established for \fBxterm\fP
 to find these special keys in the terminal description.
 .PP
-Starting with the curses convention that \fIkey names\fP begin with \*(``k\*(''
-and that shifted special keys are an uppercase name,
-\fI\%ncurses\fP' terminal database defines these names to which a suffix
-is added:
+Starting with the
+.I curses
+convention that capability codes describing the input generated by a
+terminal's key caps begin with \*(``k\*('',
+and that shifted special keys use uppercase letters in their names,
+.IR \%ncurses 's
+terminal database defines the following names and codes to which a
+suffix is added.
 .PP
 .RS 5
 .TS
-tab(/) ;
-l l .
-\fBName\fP/\fBDescription\fP
+Lb Lb
+Lb Lx.
+Code   Description
 _
-kDC/special form of kdch1 (delete character)
-kDN/special form of kcud1 (cursor down)
-kEND/special form of kend (End)
-kHOM/special form of khome (Home)
-kLFT/special form of kcub1 (cursor-left or cursor-back)
-kNXT/special form of knext (Next, or Page-Down)
-kPRV/special form of kprev (Prev, or Page-Up)
-kRIT/special form of kcuf1 (cursor-right, or cursor-forward)
-kUP/special form of kcuu1 (cursor-up)
+kDC    shifted kdch1 (delete character)
+.\" kDC is a standard capability; see X/Open Curses Issue 7, p. 345.
+kDN    shifted kcud1 (cursor down)
+kEND   shifted kend (end)
+kHOM   shifted khome (home)
+kLFT   shifted kcub1 (cursor back)
+kNXT   shifted knext (next)
+kPRV   shifted kprev (previous)
+kRIT   shifted kcuf1 (cursor forward)
+kUP    shifted kcuu1 (cursor up)
 .TE
 .RE
 .PP
+Keycap nomenclature on the Unix systems for which
+.I curses
+was developed differs from today's ubiquitous descendants of the IBM
+PC/AT keyboard layout.
+In the foregoing,
+interpret \*(``backward\*('' as \*(``left\*('',
+\*(``forward\*('' as \*(``right\*('',
+\*(``next\*('' as \*(``page down\*('',
+and
+\*(``prev(ious)\*('' as \*(``page up\*(''.
+.PP
 These are the suffixes used to denote the modifiers:
 .PP
 .RS 5
index 87a7ef05d8233ddf168b05aaeb5dba913c80220d..3b7a2229a06480a6464e8d18b6fdb4544d5ce256 100644 (file)
@@ -6,8 +6,8 @@
 # Report bugs and new terminal descriptions to
 #      bug-ncurses@gnu.org
 #
-#      $Revision: 1.1102 $
-#      $Date: 2024/01/06 23:37:36 $
+#      $Revision: 1.1109 $
+#      $Date: 2024/01/13 19:45:34 $
 #
 # The original header is preserved below for reference.  It is noted that there
 # is a "newer" version which differs in some cosmetic details (but actually
@@ -441,12 +441,11 @@ klone+sgr8|attribute control for ansi.sys displays with invis,
 # work; uses \E[12m instead, which is pretty bulletproof but loses you the ACS
 # diamond and arrow characters under curses.
 klone+sgr-dumb|attribute control for ansi.sys displays (no ESC [ 11 m),
-       blink=\E[5m, bold=\E[1m, invis=\E[8m, rev=\E[7m, rmso=\E[m,
-       rmul=\E[m,
+       bold=\E[1m, rmso=\E[m, rmul=\E[m,
        sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6
            %t;1%;%?%p7%t;8%;%?%p9%t;12%;m,
        sgr0=\E[0;10m, smacs=\E[12m, smso=\E[7m, smul=\E[4m,
-       use=klone+acs,
+       use=ansi+sgr, use=klone+acs,
 
 # KOI8-R (RFC1489) acs (alternate character set)
 # From: Qing Long <qinglong@Bolizm.ihep.su>, 24 Feb 1996.
@@ -495,13 +494,12 @@ ecma+index|ECMA-48 scroll up/down,
 # For more detail on this rather pathetic standard, see the comments
 # near the end of this file.
 ibcs2|Intel Binary Compatibility Standard prescriptions,
-       cbt=\E[Z, clear=\Ec, cub=\E[%p1%dD, cub1=\E[1D,
-       cud=\E[%p1%dB, cud1=\E[1B, cuf=\E[%p1%dC, cuf1=\E[1C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[1A,
-       dch=\E[%p1%dP, dispc=\E=%p1%dg, ech=\E[%p1%dX,
-       hpa=\E[%i%p1%dG, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
-       il=\E[%p1%dL, rc=\E7, rmam=\E[?7l, sc=\E7, smam=\E[?7h,
-       tbc=\E[g, vpa=\E[%i%p1%dd, use=ecma+index,
+       cbt=\E[Z, clear=\Ec, cub1=\E[1D, cud1=\E[1B, cuf1=\E[1C,
+       cup=\E[%i%p1%d;%p2%dH, cuu1=\E[1A, dch=\E[%p1%dP,
+       dispc=\E=%p1%dg, ech=\E[%p1%dX, hpa=\E[%i%p1%dG, hts=\EH,
+       ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, rc=\E7,
+       rmam=\E[?7l, sc=\E7, smam=\E[?7h, tbc=\E[g,
+       vpa=\E[%i%p1%dd, use=ansi+local, use=ecma+index,
 
 #### ANSI/ECMA-48 terminals and terminal emulators
 #
@@ -563,13 +561,12 @@ ansi-mtabs|any ANSI terminal with pessimistic assumptions (relative addressing),
 ansi77|ANSI 3.64 standard 1977 version,
        OTbs, am, mir,
        cols#80, it#8, lines#24,
-       bel=^G, clear=\E[;H\E[2J, cr=\r, cub1=^H, cud1=\E[B,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P,
-       dl1=\E[M$<5*/>, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
-       il1=\E[L$<5*/>, ind=\ED, kf1=\EOP, kf2=\EOR, kf4=\EOS,
-       nel=\r\ED, ri=\EM, rmir=\E[4l, rmso=\E[m, rmul=\E[m,
-       smir=\E[4h, smso=\E[7m, smul=\E[4m, use=ansi+arrows,
-       use=ansi+csr,
+       bel=^G, clear=\E[;H\E[2J, cr=\r, cub1=^H,
+       cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, dl1=\E[M$<5*/>,
+       ed=\E[J, el=\E[K, home=\E[H, ht=^I, il1=\E[L$<5*/>, ind=\ED,
+       kf1=\EOP, kf2=\EOR, kf4=\EOS, nel=\r\ED, ri=\EM, rmir=\E[4l,
+       rmso=\E[m, rmul=\E[m, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+       use=ansi+arrows, use=ansi+csr, use=ansi+local1,
 
 # Procomm and some other ANSI emulations don't recognize all of the ANSI-
 # standard capabilities.  This entry deletes <cuu>, <cuf>, <cud>, <cub>, and
@@ -584,10 +581,10 @@ ansi77|ANSI 3.64 standard 1977 version,
 pcansi-m|pcansi-mono|ibm-pc terminal programs claiming to be ANSI (mono mode),
        OTbs, am, mir, msgr,
        cols#80, lines#24,
-       bel=^G, cr=\r, cub1=\E[D, cud1=\E[B, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M,
+       bel=^G, cr=\r, cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, dl1=\E[M,
        home=\E[H, ht=^I, il1=\E[L, ind=\n, use=ansi+arrows,
-       use=ansi+erase, use=ansi+inittabs, use=klone+sgr-dumb,
+       use=ansi+erase, use=ansi+inittabs, use=ansi+local1,
+       use=klone+sgr-dumb,
 
 pcansi-25-m|pcansi25m|ibm-pc terminal programs with 25 lines (mono mode),
        lines#25, use=pcansi-m,
@@ -611,14 +608,12 @@ pcansi-43|pcansi43|ibm-pc terminal programs with 43 lines,
 # From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 6 1995
 ansi-m|ansi-mono|ANSI X3.64-1979 terminal with ANSI.SYS compatible attributes,
        mc5i,
-       cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC,
-       cuu=\E[%p1%dA, dch=\E[%p1%dP, dl=\E[%p1%dM,
-       ech=\E[%p1%dX, el1=\E[1K, hpa=\E[%i%p1%dG, ht=\E[I,
-       ich=\E[%p1%d@, il=\E[%p1%dL, kcbt=\E[Z, kich1=\E[L,
-       mc4=\E[4i, mc5=\E[5i, nel=\r\E[S,
+       dch=\E[%p1%dP, dl=\E[%p1%dM, ech=\E[%p1%dX, el1=\E[1K,
+       hpa=\E[%i%p1%dG, ht=\E[I, ich=\E[%p1%d@, il=\E[%p1%dL,
+       kcbt=\E[Z, kich1=\E[L, mc4=\E[4i, mc5=\E[5i, nel=\r\E[S,
        rep=%p1%c\E[%p2%{1}%-%db, s0ds=\E(B, s1ds=\E)B,
-       s2ds=\E*B, s3ds=\E+B, vpa=\E[%i%p1%dd, use=ecma+index,
-       use=pcansi-m,
+       s2ds=\E*B, s3ds=\E+B, vpa=\E[%i%p1%dd, use=ansi+local,
+       use=ecma+index, use=pcansi-m,
 
 # ECMA-48 addresses three of the four capabilities here:
 #
@@ -694,12 +689,11 @@ ansi-generic|ansiterm|generic ANSI standard terminal,
 ansi.sys-old|ANSI.SYS under PC-DOS 2.0,
        OTbs, am, mir, msgr, xon,
        cols#80, lines#25,
-       clear=\E[2J, cub1=^H, cud1=\E[B, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[k, home=\E[H,
-       is2=\E[m\E[?7h, kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K,
-       khome=^^, pfkey=\E[0;%p1%{58}%+%d;%p2"%s"p, rc=\E[u,
-       rmam=\E[?7l, sc=\E[s, smam=\E[?7h, use=ansi+cpr,
-       use=klone+color, use=klone+sgr8,
+       clear=\E[2J, cub1=^H, cup=\E[%i%p1%d;%p2%dH, el=\E[k,
+       home=\E[H, is2=\E[m\E[?7h, kcub1=^H, kcud1=\n, kcuf1=^L,
+       kcuu1=^K, khome=^^, pfkey=\E[0;%p1%{58}%+%d;%p2"%s"p,
+       rc=\E[u, rmam=\E[?7l, sc=\E[s, smam=\E[?7h, use=ansi+cpr,
+       use=ansi+local1, use=klone+color, use=klone+sgr8,
 
 # Keypad:      Home=\0G        Up=\0H  PrPag=\0I
 #              ka1,kh          kcuu1           kpp,ka3
@@ -845,9 +839,8 @@ tw100|Toswin VT100 window manager,
        acsc=++\,\,--..00II``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxy
             yzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[1m, civis=\Ef,
-       clear=\E[2J\E[H, cnorm=\Ee, cr=\r, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\EB, cuf=\E[%p1%dC, cuf1=\EC,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EA, dch1=\Ea,
+       clear=\E[2J\E[H, cnorm=\Ee, cr=\r, cub1=^H, cud1=\EB,
+       cuf1=\EC, cup=\E[%i%p1%d;%p2%dH, cuu1=\EA, dch1=\Ea,
        dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K,
        el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, il1=\EL,
        ind=\n, is2=\E<\E)0, kdch1=^?, kf1=\EOP, kf10=\EOY, kf11=\Ep,
@@ -867,7 +860,7 @@ tw100|Toswin VT100 window manager,
             %=%t3%e7%;m,
        sgr0=\E[m, smacs=^N, smcup=\E[?7l, smir=\Eh,
        smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
-       use=ansi+apparrows, use=ansi+csr,
+       use=ansi+apparrows, use=ansi+csr, use=ansi+local,
 
 # The entries for stv52 and stv52pc probably need a revision.
 stv52|MiNT virtual console,
@@ -944,21 +937,20 @@ st52-old|Atari ST with VT52 emulation,
 beterm|BeOS Terminal,
        am, eo, mir, msgr, xenl, xon,
        colors#8, cols#80, it#8, lines#25, ncv#5, pairs#64,
-       bel=^G, bold=\E[1m, cr=\r, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
-       ech=\E[%p1%dX, el1=\E[1K, home=\E[H, hpa=\E[%i%p1%dG,
-       ht=^I, hts=\EH, ind=\n, kf1=\E[11~, kf10=\E[20~, kf11=\E[21~,
-       kf12=\E[22~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~,
-       kf5=\E[15~, kf6=\E[16~, kf7=\E[17~, kf8=\E[18~, kf9=\E[19~,
-       khome=\E[1~, kspd=^Z, nel=\r\n, op=\E[m, rev=\E[7m, ri=\EM,
-       rmkx=\E[?4l, rmso=\E[m, rmul=\E[24m, rs1=\Ec,
-       setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+       bel=^G, bold=\E[1m, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, ech=\E[%p1%dX, el1=\E[1K,
+       home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ind=\n,
+       kf1=\E[11~, kf10=\E[20~, kf11=\E[21~, kf12=\E[22~,
+       kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[16~,
+       kf7=\E[17~, kf8=\E[18~, kf9=\E[19~, khome=\E[1~, kspd=^Z,
+       nel=\r\n, op=\E[m, rev=\E[7m, ri=\EM, rmkx=\E[?4l, rmso=\E[m,
+       rmul=\E[24m, rs1=\Ec, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
        setb=\E[%p1%{40}%+%cm, setf=\E[%p1%{30}%+%cm,
        sgr0=\E[0;10m, smkx=\E[?4h, smso=\E[7m, smul=\E[4m,
        u6=\E[%i%p1%d;%p2%dR, u7=\E[6n, vpa=\E[%i%p1%dd,
        use=ansi+arrows, use=ansi+csr, use=ansi+erase,
-       use=ansi+idc, use=ansi+idl, use=vt220+pcedit,
+       use=ansi+idc, use=ansi+idl, use=ansi+local,
+       use=vt220+pcedit,
 
 #### Linux consoles
 #
@@ -994,22 +986,21 @@ linux-basic|Linux console (basic),
        acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i
             \316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u
             \264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
-       bel=^G, cr=\r, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB,
-       cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dim=\E[2m, ech=\E[%p1%dX,
-       el1=\E[1K, flash=\E[?5h$<200/>\E[?5l, home=\E[H,
-       hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ind=\n, kb2=\E[G, kbs=^?,
-       kcbt=\E[Z, kf1=\E[[A, kf10=\E[21~, kf11=\E[23~,
-       kf12=\E[24~, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E,
-       kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
-       khome=\E[1~, kmous=\E[M, kspd=^Z, nel=\r\n, ri=\EM,
-       rmam=\E[?7l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec\E]R,
+       bel=^G, cr=\r, cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH,
+       dim=\E[2m, ech=\E[%p1%dX, el1=\E[1K,
+       flash=\E[?5h$<200/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
+       ht=^I, hts=\EH, ind=\n, kb2=\E[G, kbs=^?, kcbt=\E[Z, kf1=\E[[A,
+       kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\E[[B,
+       kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
+       kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kmous=\E[M, kspd=^Z,
+       nel=\r\n, ri=\EM, rmam=\E[?7l, rmso=\E[27m, rmul=\E[24m,
+       rs1=\Ec\E]R,
        sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
            %t;2%;%?%p6%t;1%;%?%p9%t;11%;m,
        smam=\E[?7h, tbc=\E[3g, vpa=\E[%i%p1%dd, use=ansi+arrows,
        use=ansi+csr, use=ansi+erase, use=ansi+idc, use=ansi+idl,
-       use=vt220+pcedit, use=vt102+enq, use=klone+sgr,
-       use=ecma+color, use=linux+sfkeys,
+       use=ansi+local, use=vt220+pcedit, use=vt102+enq,
+       use=klone+sgr, use=ecma+color, use=linux+sfkeys,
 
 linux+decid|ncurses extension for Linux console DECID,
        u8=\E[?6c, use=decid+cpr,
@@ -1174,28 +1165,27 @@ kon|kon2|Kanji ON Linux console,
        acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j
             \331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v
             \301w\302x\263y\363z\362{\343|\330}\234~\376,
-       bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
-       cnorm=\E[?25h, cr=\r, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
-       dim=\E[2m, dsl=\E[?H\E[?E, el1=\E[1K, fsl=\E[?F, home=\E[H,
+       bel=^G, bold=\E[1m, civis=\E[?25l, cnorm=\E[?25h, cr=\r,
+       cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, dim=\E[2m,
+       dsl=\E[?H\E[?E, el1=\E[1K, fsl=\E[?F, home=\E[H,
        hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ind=\n,
-       initc=\E]P%p1%x%p2%02x%p3%02x%p4%02x, invis=\E[8m,
-       kb2=\E[G, kbs=^?, kdch1=\E[3~, kend=\E[4~, kf1=\E[[A,
-       kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
-       kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
-       kf18=\E[32~, kf19=\E[33~, kf2=\E[[B, kf20=\E[34~,
-       kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
-       kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~,
-       knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=\r\n, op=\E[37;40m,
-       rev=\E[7m, ri=\EM, rmacs=\E[10m, rmpch=\E[10m, rmso=\E[27m,
-       rmul=\E[24m, rs1=\Ec, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+       initc=\E]P%p1%x%p2%02x%p3%02x%p4%02x, kb2=\E[G, kbs=^?,
+       kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, kf10=\E[21~,
+       kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+       kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+       kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, kf3=\E[[C, kf4=\E[[D,
+       kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kspd=^Z,
+       nel=\r\n, op=\E[37;40m, ri=\EM, rmacs=\E[10m, rmpch=\E[10m,
+       rmso=\E[27m, rmul=\E[24m, rs1=\Ec, setab=\E[4%p1%dm,
+       setaf=\E[3%p1%dm,
        sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
            %t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
        sgr0=\E[0;10m, smacs=\E[11m, smpch=\E[11m, smso=\E[7m,
        smul=\E[4m, tbc=\E[3g, tsl=\E[?T, u8=\E[?6c,
        vpa=\E[%i%p1%dd, use=ansi+arrows, use=ansi+csr,
        use=ansi+enq, use=ansi+erase, use=ansi+idc, use=ansi+idl,
+       use=ansi+local, use=ansi+sgr,
 
 # release: 0.4.7 2005/05
 #
@@ -1285,15 +1275,14 @@ bterm|bogl virtual terminal,
 mach|Mach console,
        am, km, NQ,
        cols#80, it#8, lines#25,
-       bel=^G, blink=\E[5m, bold=\E[1m, clear=\Ec, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
-       ind=\n, kbs=^?, kdch1=\E[9, kend=\E[Y, kf1=\EOP, kf10=\EOY,
-       kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV,
-       kf8=\EOW, kf9=\EOX, kich1=\E[@, kll=\E[F, knp=\E[U, kpp=\E[V,
-       rev=\E[7m, rmso=\E[0m, rmul=\E[24m, sgr0=\E[0m, smso=\E[7m,
-       smul=\E[4m, use=ansi+arrows, use=ansi+idl,
+       bel=^G, blink=\E[5m, bold=\E[1m, clear=\Ec, cr=\r, cub1=^H,
+       cud1=\n, cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K,
+       home=\E[H, ht=^I, ind=\n, kbs=^?, kdch1=\E[9, kend=\E[Y,
+       kf1=\EOP, kf10=\EOY, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT,
+       kf6=\EOU, kf7=\EOV, kf8=\EOW, kf9=\EOX, kich1=\E[@, kll=\E[F,
+       knp=\E[U, kpp=\E[V, rev=\E[7m, rmso=\E[0m, rmul=\E[24m,
+       sgr0=\E[0m, smso=\E[7m, smul=\E[4m, use=ansi+arrows,
+       use=ansi+idl, use=ansi+local,
 
 mach-bold|Mach console with bold instead of underline,
        rmul=\E[0m, smul=\E[1m, use=mach,
@@ -1355,27 +1344,25 @@ hurd|The GNU Hurd console server,
        colors#8, it#8, ncv#18, pairs#64,
        acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
             yzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\Ec, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
-       cuf=\E[%p1%dC, cuf1=\E[C, cuu=\E[%p1%dA, cuu1=\E[A,
+       bel=^G, bold=\E[1m, cbt=\E[Z, clear=\Ec, cr=\r, cub1=^H,
        cvvis=\E[34l, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
-       ech=\E[%p1%dX, el1=\E[1K, flash=\Eg, hpa=\E[%i%p1%dG,
-       ht=^I, ich=\E[%p1%d@, ind=\E[S, invis=\E[8m, kb2=\E[G,
-       kbs=^?, kcbt=\E[Z, kf1=\EOP, kf10=\E[21~, kf11=\E[23~,
-       kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
-       kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
-       kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf5=\E[15~,
-       kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       ech=\E[%p1%dX, el1=\E[1K, flash=\Eg, ht=^I, ich=\E[%p1%d@,
+       ind=\E[S, kb2=\E[G, kbs=^?, kcbt=\E[Z, kf1=\EOP, kf10=\E[21~,
+       kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+       kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+       kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS,
+       kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
        khome=\E[1~, kich1=\E[2~, kmous=\E[M, kspd=^Z, nel=\r\n,
-       op=\E[39;49m, rev=\E[7m, ri=\E[T, rmacs=\E[10m, rmir=\E[4l,
+       op=\E[39;49m, ri=\E[T, rmacs=\E[10m, rmir=\E[4l,
        rmso=\E[27m, rmul=\E[24m, rs1=\EM\E[?1000l,
        setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
        sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;
            2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
        sgr0=\E[0m, smacs=\E[11m, smir=\E[4h, smso=\E[7m,
-       smul=\E[4m, vpa=\E[%i%p1%dd, grbom=\E[>1l, gsbom=\E[>1h,
+       smul=\E[4m, grbom=\E[>1l, gsbom=\E[>1h,
        use=ansi+apparrows, use=ansi+csr, use=ansi+cup,
-       use=ansi+erase, use=ansi+idl, use=vt220+pcedit,
+       use=ansi+erase, use=ansi+idl, use=ansi+local,
+       use=ansi+rca2, use=ansi+sgr, use=vt220+pcedit,
        use=ecma+index, use=ecma+italics, use=vt220+cvis,
 
 #### QNX
@@ -1482,9 +1469,7 @@ qansi-g|QNX ANSI,
        colors#8, cols#80, lines#25, ncv#19, pairs#64, wsl#80,
        acsc=Oa``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[2J\E[H, cr=\r,
-       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
-       cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, cuu1=\E[A,
+       csr=\E[%i%p1%d;%p2%dr, cup=\E[%i%p1%d;%p2%dH$<5>,
        cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
        dl=\E[%p1%dM, dl1=\E[1M, dsl=\E[r, ech=\E[%p1%dX, ed=\E[J,
        el=\E[K, el1=\E[1K\E[X, flash=\E[?5h$<200>\E[?5l,
@@ -1523,8 +1508,9 @@ qansi-g|QNX ANSI,
            %|%t;7%;%?%p7%t;9%;m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smso=\E[7m,
        smul=\E[4m, tsl=\E7\E1;24r\E[?6l\E[25;%i%p1%dH,
-       use=ansi+arrows, use=ansi+rep, use=ansi+inittabs,
-       use=att610+cvis0, use=decid+cpr, use=ecma+index,
+       use=ansi+arrows, use=ansi+local, use=ansi+rep,
+       use=ansi+inittabs, use=att610+cvis0, use=decid+cpr,
+       use=ecma+index,
 #
 qansi|QNX ANSI with console writes,
        daisy, xhpa, use=qansi-g,
@@ -1580,27 +1566,26 @@ scoansi-old|SCO Extended ANSI standard crt (5.0.5),
             yszr{c}\034~\207,
        bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z,
        civis=\E[=14;12C, clear=\E[H\E[2J, cnorm=\E[=10;12C,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[=0;12C, dch=\E[%p1%dP,
-       dch1=\E[P, dispc=\E[=%p1%dg, ed=\E[m\E[J, el=\E[m\E[K,
-       el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
-       ich1=\E[@, ind=\E[S, invis=\E[8m, kbeg=\E[E, kcbt=\E[Z,
-       kdch1=^?, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W,
-       kf12=\E[X, kf13=\E[Y, kf15=\E[a, kf16=\E[b, kf17=\E[c,
-       kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f, kf21=\E[g,
-       kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k, kf26=\E[l,
-       kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O, kf30=\E[p,
-       kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t, kf35=\E[u,
-       kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y, kf4=\E[P,
-       kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\, kf44=\E[],
-       kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{, kf5=\E[Q,
-       kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, kich1=\E[L, knp=\E[G,
-       kpp=\E[I, op=\E[0;37;40m, rc=\E8, rev=\E[7m, ri=\E[T,
-       rmacs=\E[10m, rmam=\E[?7l, rmso=\E[m, rmul=\E[m, sc=\E7,
-       setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[0;10m,
-       smacs=\E[12m, smam=\E[?7h, smso=\E[7m, smul=\E[4m,
-       use=ansi+arrows, use=ansi+idl, use=ecma+index,
+       cub1=^H, cup=\E[%i%p1%d;%p2%dH, cvvis=\E[=0;12C,
+       dch=\E[%p1%dP, dch1=\E[P, dispc=\E[=%p1%dg, ed=\E[m\E[J,
+       el=\E[m\E[K, el1=\E[1K, home=\E[H, ht=^I, hts=\EH,
+       ich=\E[%p1%d@, ich1=\E[@, ind=\E[S, invis=\E[8m, kbeg=\E[E,
+       kcbt=\E[Z, kdch1=^?, kend=\E[F, kf1=\E[M, kf10=\E[V,
+       kf11=\E[W, kf12=\E[X, kf13=\E[Y, kf15=\E[a, kf16=\E[b,
+       kf17=\E[c, kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f,
+       kf21=\E[g, kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k,
+       kf26=\E[l, kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O,
+       kf30=\E[p, kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t,
+       kf35=\E[u, kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y,
+       kf4=\E[P, kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\,
+       kf44=\E[], kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{,
+       kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, kich1=\E[L,
+       knp=\E[G, kpp=\E[I, op=\E[0;37;40m, rc=\E8, rev=\E[7m,
+       ri=\E[T, rmacs=\E[10m, rmam=\E[?7l, rmso=\E[m, rmul=\E[m,
+       sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+       sgr0=\E[0;10m, smacs=\E[12m, smam=\E[?7h, smso=\E[7m,
+       smul=\E[4m, use=ansi+arrows, use=ansi+idl,
+       use=ansi+local, use=ecma+index,
 
 scoansi-new|SCO Extended ANSI standard crt (5.0.6),
        km,
@@ -1658,11 +1643,10 @@ iris-ansi|iris-ansi-net|IRIS emulating 40 line ANSI terminal (almost VT100),
        am,
        cols#80, it#8, lines#40,
        bel=^G, bold=\E[1m, clear=\E[H\E[2J,
-       cnorm=\E[9/y\E[12/y\E[=6l, cr=\r, cub=\E[%p1%dD,
-       cub1=\E[D, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
-       cuu1=\E[A, cvvis=\E[10/y\E[=1h\E[=2l\E[=6h, ed=\E[J,
-       el=\E[K, el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ind=\ED,
+       cnorm=\E[9/y\E[12/y\E[=6l, cr=\r, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH,
+       cvvis=\E[10/y\E[=1h\E[=2l\E[=6h, ed=\E[J, el=\E[K,
+       el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ind=\ED,
        is2=\E[?1l\E>\E[?7h\E[100g\E[0m\E7\E[r\E8, kDC=\E[P,
        kEND=\E[147q, kHOM=\E[143q, kLFT=\E[158q, kPRT=\E[210q,
        kRIT=\E[167q, kSPD=\E[218q, kcbt=\E[Z, kdch1=^?,
@@ -1674,7 +1658,7 @@ iris-ansi|iris-ansi-net|IRIS emulating 40 line ANSI terminal (almost VT100),
        nel=\EE, pfkey=\EP101;%p1%d.y%p2%s\E\\, rc=\E8,
        rev=\E[7m, ri=\EM, rmam=\E[?7l, rmso=\E[m, rmul=\E[m, sc=\E7,
        sgr0=\E[m, smam=\E[?7h, smso=\E[1;7m, smul=\E[4m,
-       tbc=\E[3g, use=ansi+arrows, use=ansi+idl,
+       tbc=\E[3g, use=ansi+arrows, use=ansi+idl, use=ansi+local,
 
 iris-ansi-ap|IRIS ANSI in application-keypad mode,
        is2=\E[?1l\E=\E[?7h, kent=\EOM, use=iris-ansi,
@@ -1743,13 +1727,12 @@ pccon+colors|ANSI colors for OpenBSD PC console,
 pccon+base|base capabilities for OpenBSD PC console,
        am, km, mc5i, msgr, npc, nxon, xenl, xon,
        cols#80, it#8, lines#24,
-       bel=^G, cr=\r, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB,
-       cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
-       ech=\E[%p1%dX, el1=\E[1K, home=\E[H, ht=^I, hts=\EH,
-       ich=\E[%p1%d@, ind=\ED, nel=\EE, ri=\EM, rmam=\E[?7l,
-       rmul=\E[24m, rs2=\Ec, smam=\E[?7h, smul=\E[4m, tbc=\E[3g,
-       use=ansi+cpr, use=ansi+csr, use=ansi+erase, use=ansi+idl,
+       bel=^G, cr=\r, cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH,
+       dch=\E[%p1%dP, dch1=\E[P, ech=\E[%p1%dX, el1=\E[1K,
+       home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ind=\ED, nel=\EE,
+       ri=\EM, rmam=\E[?7l, rmul=\E[24m, rs2=\Ec, smam=\E[?7h,
+       smul=\E[4m, tbc=\E[3g, use=ansi+cpr, use=ansi+csr,
+       use=ansi+erase, use=ansi+idl, use=ansi+local,
 
 pccon0-m|OpenBSD PC console without colors & with simple ASCII pseudographics,
        use=pccon+sgr+acs0, use=pccon+base, use=pccon+keys,
@@ -1779,11 +1762,9 @@ pcvtXX|pcvt VT200 emulator (DEC VT220),
        it#8, vt#3,
        acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
             yzz~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
-       cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, el1=\E[1K, home=\E[H,
-       ht=^I, hts=\EH, ich=\E[%p1%d@, ind=\ED,
+       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub1=^H,
+       cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+       el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ind=\ED,
        is1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, kbs=^?,
        kdch1=\E[3~, kf1=\E[17~, kf2=\E[18~, kf3=\E[19~,
        kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~,
@@ -1795,7 +1776,8 @@ pcvtXX|pcvt VT200 emulator (DEC VT220),
        smacs=\E(0, smam=\E[?7h, smir=\E[4h, smkx=\E[?1h\E=,
        smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=ansi+apparrows,
        use=ansi+csr, use=ansi+erase, use=ansi+idl,
-       use=decid+cpr, use=ecma+index, use=vt220+cvis,
+       use=ansi+local, use=decid+cpr, use=ecma+index,
+       use=vt220+cvis,
 
 #      NetBSD/FreeBSD VT220 terminal emulator console (pc keyboard & monitor)
 #      termcap entries for pure VT220-Emulation and 25, 28, 35, 40, 43 and
@@ -1861,9 +1843,8 @@ arm100|arm100-am|Arm(RiscPC) ncurses compatible (for 640x480),
        cols#80, it#8, lines#30,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
-       clear=\E[H\E[J$<50>, cr=\r, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C$<2>,
-       cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA,
+       clear=\E[H\E[J$<50>, cr=\r, cub1=^H, cud1=\n,
+       cuf1=\E[C$<2>, cup=\E[%i%p1%d;%p2%dH$<5>,
        cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>,
        enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=\n,
        invis=\E[8m$<2>, ka1=\E[q, ka3=\E[s, kb2=\E[r, kbs=^H,
@@ -1877,7 +1858,7 @@ arm100|arm100-am|Arm(RiscPC) ncurses compatible (for 640x480),
            %;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<2>,
        sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
        smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, use=ansi+csr,
-       use=ecma+sgr, use=klone+color,
+       use=ansi+local, use=ecma+sgr, use=klone+color,
 
 arm100-w|arm100-wam|Arm(RiscPC) ncurses compatible (for 1024x768),
        cols#132, lines#50, use=arm100,
@@ -1989,10 +1970,8 @@ rcons-color|BSD rasterconsole with ANSI color,
 mgterm|MGL/MGL2 MobileGear Graphic Library,
        OTbs, OTpt, am, bce, bw, eo, km, msgr, npc,
        colors#8, cols#80, it#8, lines#18, pairs#64,
-       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, cr=\r, cub1=^H,
+       cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
        dim=\E[30;1m, ech=\E[%p1%dX, el1=\E[1K, home=\E[H,
        hpa=\E[%i%p1%d`, ht=^I, ich=\E[%p1%d@, ich1=\E[@, ind=\E[S,
        kb2=\E[E, kcbt=\E[Z, kdch1=^?, kend=\E[F, kf1=\E[M,
@@ -2002,7 +1981,7 @@ mgterm|MGL/MGL2 MobileGear Graphic Library,
        ri=\E[T, rmso=\E[m, rs2=\E[x\E[m\Ec, setb=\E[4%p1%dm,
        setf=\E[3%p1%dm, sgr0=\E[m, smso=\E[7m, vpa=\E[%i%p1%dd,
        use=ansi+arrows, use=ansi+csr, use=ansi+erase,
-       use=ansi+idl, use=ecma+index,
+       use=ansi+idl, use=ansi+local, use=ecma+index,
 
 #### FreeBSD console entries
 
@@ -2040,28 +2019,28 @@ cons25w|ansiw|ansi80x25-raw|FreeBSD console (25-line raw mode),
        am, bce, bw, eo, msgr, npc,
        colors#8, cols#80, it#8, lines#25, ncv#21, pairs#64,
        bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, cnorm=\E[=0C,
-       cr=\r, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[=1C, dch=\E[%p1%dP,
-       dch1=\E[P, dim=\E[30;1m, ech=\E[%p1%dX, home=\E[H,
-       hpa=\E[%i%p1%d`, ht=^I, ich=\E[%p1%d@, ich1=\E[@, ind=\E[S,
-       kb2=\E[E, kcbt=\E[Z, kdch1=^?, kend=\E[F, kf1=\E[M,
-       kf10=\E[V, kf11=\E[W, kf12=\E[X, kf13=\E[Y, kf14=\E[Z,
-       kf15=\E[a, kf16=\E[b, kf17=\E[c, kf18=\E[d, kf19=\E[e,
-       kf2=\E[N, kf20=\E[f, kf21=\E[g, kf22=\E[h, kf23=\E[i,
-       kf24=\E[j, kf25=\E[k, kf26=\E[l, kf27=\E[m, kf28=\E[n,
-       kf29=\E[o, kf3=\E[O, kf30=\E[p, kf31=\E[q, kf32=\E[r,
-       kf33=\E[s, kf34=\E[t, kf35=\E[u, kf36=\E[v, kf37=\E[w,
-       kf38=\E[x, kf39=\E[y, kf4=\E[P, kf40=\E[z, kf41=\E[@,
-       kf42=\E[[, kf43=\E[\\, kf44=\E[], kf45=\E[\^, kf46=\E[_,
-       kf47=\E[`, kf48=\E[{, kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T,
-       kf9=\E[U, kich1=\E[L, knp=\E[G, kpp=\E[I, nel=\E[E, op=\E[x,
-       rc=\E8, rev=\E[7m, ri=\E[T, rmso=\E[m, rs2=\E[x\E[m\Ec,
-       sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+       cr=\r, cub1=^H, cup=\E[%i%p1%d;%p2%dH, cvvis=\E[=1C,
+       dch=\E[%p1%dP, dch1=\E[P, dim=\E[30;1m, ech=\E[%p1%dX,
+       home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich=\E[%p1%d@,
+       ich1=\E[@, ind=\E[S, kb2=\E[E, kcbt=\E[Z, kdch1=^?,
+       kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W, kf12=\E[X,
+       kf13=\E[Y, kf14=\E[Z, kf15=\E[a, kf16=\E[b, kf17=\E[c,
+       kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f, kf21=\E[g,
+       kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k, kf26=\E[l,
+       kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O, kf30=\E[p,
+       kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t, kf35=\E[u,
+       kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y, kf4=\E[P,
+       kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\, kf44=\E[],
+       kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{, kf5=\E[Q,
+       kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, kich1=\E[L, knp=\E[G,
+       kpp=\E[I, nel=\E[E, op=\E[x, rc=\E8, rev=\E[7m, ri=\E[T,
+       rmso=\E[m, rs2=\E[x\E[m\Ec, sc=\E7, setab=\E[4%p1%dm,
+       setaf=\E[3%p1%dm,
        sgr=\E[0%?%p1%t;2;7%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;30;1%;%?
            %p6%t;1%;m,
        sgr0=\E[m, smso=\E[7m, vpa=\E[%i%p1%dd, use=ansi+arrows,
-       use=ansi+erase, use=ansi+idl, use=ecma+index,
+       use=ansi+erase, use=ansi+idl, use=ansi+local,
+       use=ecma+index,
 
 cons25|ansis|ansi80x25|FreeBSD console (25-line ANSI mode),
        acsc=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l
@@ -2277,12 +2256,12 @@ origpc3|origibmpc3|IBM PC 386BSD console,
        cols#80, lines#25,
        acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x
             \263,
-       bold=\E[7m, clear=\Ec, cub1=^H, cud1=\E[B, cuf1=\E[C,
-       cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, ed=\E[J, el=\E[K,
-       home=\E[H, ind=\E[S, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
-       kcuu1=\E[A, khome=\E[Y, ri=\E[T, rmso=\E[1;0x\E[2;7x,
-       rmul=\E[1;0x\E[2;7x, sgr0=\E[m\E[1;0x\E[2;7x,
-       smso=\E[1;7x\E[2;0x, smul=\E[1;7x\E[2;0x,
+       bold=\E[7m, clear=\Ec, cub1=^H, cup=\E[%i%p1%2d;%p2%2dH,
+       ed=\E[J, el=\E[K, home=\E[H, ind=\E[S, kcub1=\E[D,
+       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[Y, ri=\E[T,
+       rmso=\E[1;0x\E[2;7x, rmul=\E[1;0x\E[2;7x,
+       sgr0=\E[m\E[1;0x\E[2;7x, smso=\E[1;7x\E[2;0x,
+       smul=\E[1;7x\E[2;0x, use=ansi+local1,
 
 # description of BSD/386 console emulator in version 1.0 (supplied by BSDI)
 oldpc3|oldibmpc3|old IBM PC BSD/386 console,
@@ -2311,14 +2290,14 @@ bsdos-pc-nobold|BSD/OS PC console w/o bold,
 bsdos-pc-m|bsdos-pc-mono|BSD/OS PC console mono,
        OTbs, am, eo, km, xon,
        cols#80, it#8, lines#25,
-       bel=^G, clear=\Ec, cr=\r, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, ed=\E[J,
-       el=\E[K, home=\E[H, ht=^I, ind=\n, kich1=\E[L, kll=\E[F,
-       knp=\E[G, kpp=\E[I, nel=\r\n, rc=\E8, sc=\E7,
+       bel=^G, clear=\Ec, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+       ind=\n, kich1=\E[L, kll=\E[F, knp=\E[G, kpp=\E[I, nel=\r\n,
+       rc=\E8, sc=\E7,
        sgr=\E[0;10%?%p1%t;7%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7
            %t;8%;%?%p9%t;11%;m%?%p5%t\E[=8F%;,
-       use=ansi+arrows, use=ansi+idl, use=klone+sgr8,
+       use=ansi+arrows, use=ansi+idl, use=ansi+local,
+       use=klone+sgr8,
 
 # Old names for BSD/OS PC console used in releases before 4.1.
 pc3|BSD/OS on the PC console,
@@ -2555,16 +2534,15 @@ vt102+enq|ncurses extension for VT102-style ENQ,
 #
 # (vt100: I added <rmam>/<smam> based on the init string, also <OTbs>. -- esr)
 vt100|vt100-am|DEC VT100 (w/advanced video),
-       OTbs, mc5i, xenl, xon,
+       OTbs, xenl, xon,
        vt#3,
        kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, lf1=pf1,
-       lf2=pf2, lf3=pf3, lf4=pf4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i,
-       rmam=\E[?7l, rmkx=\E[?1l\E>,
-       rs2=\E<\E>\E[?3;4;5l\E[?7;8h\E[r,
+       lf2=pf2, lf3=pf3, lf4=pf4, mc0=\E[0i, rmam=\E[?7l,
+       rmkx=\E[?1l\E>, rs2=\E<\E>\E[?3;4;5l\E[?7;8h\E[r,
        sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
            %;m%?%p9%t\016%e\017%;$<2>,
        smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m$<2>,
-       use=ansi+csr, use=decid+cpr, use=vt100+4bsd,
+       use=ansi+csr, use=ansi+pp, use=decid+cpr, use=vt100+4bsd,
        use=vt100+fnkeys,
 
 vt100+4bsd|DEC VT100 from 4.0BSD,
@@ -2572,9 +2550,8 @@ vt100+4bsd|DEC VT100 from 4.0BSD,
        cols#80, it#8, lines#24,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
-       clear=\E[H\E[J$<50>, cr=\r, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C$<2>,
-       cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA,
+       clear=\E[H\E[J$<50>, cr=\r, cub1=^H, cud1=\n,
+       cuf1=\E[C$<2>, cup=\E[%i%p1%d;%p2%dH$<5>,
        cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>,
        enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=\n, kbs=^H,
        kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
@@ -2583,7 +2560,7 @@ vt100+4bsd|DEC VT100 from 4.0BSD,
        sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
            %;m%?%p9%t\016%e\017%;$<2>,
        sgr0=\E[m\017$<2>, smacs=^N, smso=\E[1;7m$<2>,
-       smul=\E[4m$<2>, tbc=\E[3g,
+       smul=\E[4m$<2>, tbc=\E[3g, use=ansi+local,
 
 vt100nam|vt100-nam|VT100 no automargins,
        am@, xenl@,
@@ -2693,9 +2670,9 @@ vt220-old|vt200-old|DEC VT220 in VT100 emulation mode,
        OTnl=\n,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
-       clear=\E[H\E[2J$<50>, cr=\r, cub1=^H, cud1=\E[B, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P,
-       ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I,
+       clear=\E[H\E[2J$<50>, cr=\r, cub1=^H,
+       cup=\E[%i%p1%d;%p2%dH$<10>, dch1=\E[P, ed=\E[J$<50>,
+       el=\E[K$<3>, home=\E[H, ht=^I,
        if=/usr/share/tabset/vt100, ind=\ED$<20/>,
        is2=\E[1;24r\E[24;1H, kf1=\EOP, kf10=\E[29~, kf2=\EOQ,
        kf3=\EOR, kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~,
@@ -2708,7 +2685,8 @@ vt220-old|vt200-old|DEC VT220 in VT100 emulation mode,
            %p9%t\E(0%e\E(B%;$<2>,
        sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h,
        smso=\E[7m, smul=\E[4m, use=ansi+arrows, use=ansi+csr,
-       use=ansi+idl1, use=vt220+pcedit, use=vt220+cvis,
+       use=ansi+idl1, use=ansi+local1, use=vt220+pcedit,
+       use=vt220+cvis,
 
 # Here's a picture of the Sun/PC editing keypad:
 #      +--------+--------+--------+
@@ -2751,27 +2729,25 @@ vt220-base|DEC VT220 as emulated,
        OTbs, am, mir, msgr, xenl, xon,
        cols#80, it#8, lines#24, vt#3,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
-       ech=\E[%p1%dX, el1=\E[1K, enacs=\E)0,
-       flash=\E[?5h$<200/>\E[?5l, ht=^I, hts=\EH, ich=\E[%p1%d@,
-       if=/usr/share/tabset/vt100, ind=\ED,
+       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub1=^H, cud1=\n,
+       dch=\E[%p1%dP, dch1=\E[P, ech=\E[%p1%dX, el1=\E[1K,
+       enacs=\E)0, flash=\E[?5h$<200/>\E[?5l, ht=^I, hts=\EH,
+       ich=\E[%p1%d@, if=/usr/share/tabset/vt100, ind=\ED,
        is2=\E[?7h\E[>\E[?1l\E F\E[?4l, kbs=^H, kcub1=\E[D,
-       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf1=\EOP,
-       kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
-       kf14=\E[26~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
-       kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~,
-       kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khlp=\E[28~,
-       krdo=\E[29~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, nel=\EE,
-       rev=\E[7m, ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l,
-       rmso=\E[27m, rmul=\E[24m, rs1=\E[?3l,
+       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf10=\E[21~,
+       kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+       kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ,
+       kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, kf7=\E[18~,
+       kf8=\E[19~, kf9=\E[20~, khlp=\E[28~, krdo=\E[29~, lf1=pf1,
+       lf2=pf2, lf3=pf3, lf4=pf4, nel=\EE, rev=\E[7m, ri=\EM,
+       rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, rmso=\E[27m,
+       rmul=\E[24m, rs1=\E[?3l,
        sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?
            %p9%t\E(0%e\E(B%;$<2>,
        sgr0=\E[m\E(B, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h,
        smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=ansi+csr,
        use=ansi+cup, use=ansi+pp, use=ansi+enq, use=ansi+erase,
-       use=ansi+idl, use=vt220+vtedit,
+       use=ansi+idl, use=ansi+local, use=vt220+vtedit,
 
 vt220|vt200|DEC VT220,
        use=vt220+cvis, use=vt220-base,
@@ -2886,11 +2862,9 @@ vt320|vt300|DEC VT320 7 bit terminal,
        cols#80, lines#24, wsl#80,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
-       ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H, ht=^I,
-       hts=\EH, ich=\E[%p1%d@, ind=\ED,
+       cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP,
+       dch1=\E[P, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
+       home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ind=\ED,
        is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H,
        kbs=^?, kdch1=\E[3~, kel=\E[4~, kf10=\E[21~, kf11=\E[23~,
        kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
@@ -2907,7 +2881,7 @@ vt320|vt300|DEC VT320 7 bit terminal,
        sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
        smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
        use=ansi+apparrows, use=ansi+csr, use=ansi+enq,
-       use=ansi+idl, use=dec+pp, use=vt220+cvis,
+       use=ansi+idl, use=ansi+local, use=dec+pp, use=vt220+cvis,
        use=vt220+keypad, use=dec+sl,
 
 vt320-nam|vt300-nam|DEC VT320 7 bit terminal with no am to make SAS happy,
@@ -2948,10 +2922,9 @@ vt340|dec-vt340|vt330|dec-vt330|DEC VT340 graphics terminal with 24 line page,
        am, eslok, hs, mir, msgr, xenl, xon,
        cols#80, it#8, lines#24, vt#3,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       blink=\E[5m, bold=\E[1m, cr=\r, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
-       dch=\E[%p1%dP, dch1=\E[P, dsl=\E[2$~\r\E[1$}\E[K\E[$},
+       blink=\E[5m, bold=\E[1m, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+       dsl=\E[2$~\r\E[1$}\E[K\E[$},
        flash=\E[?5h$<200/>\E[?5l, fsl=\E[$}, home=\E[H, ht=^I,
        hts=\EH, ich=\E[%p1%d@, ind=\ED,
        is2=\E<\E\sF\E>\E[?1h\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r
@@ -2968,7 +2941,7 @@ vt340|dec-vt340|vt330|dec-vt330|DEC VT340 graphics terminal with 24 line page,
        sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
        smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
        tsl=\E[2$~\E[1$}\E[1;%dH, use=ansi+csr, use=ansi+erase,
-       use=ansi+idl, use=vt220+cvis,
+       use=ansi+idl, use=ansi+local, use=vt220+cvis,
 
 # Left/right margins are supported in xterm since patch #279 (2012/05/10)
 vt420+lrmm|VT420 left/right margins,
@@ -3002,11 +2975,9 @@ vt400|vt400-24|dec-vt400|DEC VT400 24x80 column autowrap,
        cols#80, it#8, lines#24, vt#3,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        blink=\E[5m, bold=\E[1m, clear=\E[H\E[J$<10/>, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cuu=\E[%p1%dA, cuu1=\E[A,
-       dsl=\E[2$~\r\E[1$}\E[K\E[$}, ed=\E[J$<10/>,
-       el=\E[K$<4/>, flash=\E[?5h$<200/>\E[?5l, fsl=\E[$},
-       ht=^I, hts=\EH, ind=\ED,
+       cub1=^H, cud1=\n, dsl=\E[2$~\r\E[1$}\E[K\E[$},
+       ed=\E[J$<10/>, el=\E[K$<4/>, flash=\E[?5h$<200/>\E[?5l,
+       fsl=\E[$}, ht=^I, hts=\EH, ind=\ED,
        is2=\E<\E\sF\E>\E[?1h\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r
            \E[24;1H,
        kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
@@ -3021,7 +2992,8 @@ vt400|vt400-24|dec-vt400|DEC VT400 24x80 column autowrap,
        sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smkx=\E[?1h\E=,
        smso=\E[7m, smul=\E[4m, tbc=\E[3g,
        tsl=\E[2$~\E[1$}\E[1;%dH, use=ansi+csr, use=ansi+cup,
-       use=ansi+idc, use=ansi+idl, use=dec+sl, use=vt220+cvis,
+       use=ansi+idc, use=ansi+idl, use=ansi+local, use=dec+sl,
+       use=vt220+cvis,
 
 # (vt420: I removed <kf0>, it collided with <kf10>.  I also restored
 # a missing <sc> -- esr)
@@ -3031,19 +3003,17 @@ vt420|DEC VT420,
        cols#80, it#8, lines#24, vt#3,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
-       clear=\E[H\E[2J$<50>, cr=\r, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA, cuu1=\E[A,
-       dch=\E[%p1%dP, dch1=\E[P, ech=\E[%p1%dX, ed=\E[J$<50>,
-       el=\E[K$<3>, el1=\E[1K, enacs=\E)0,
-       flash=\E[?5h$<200/>\E[?5l, home=\E[H, ht=^I, hts=\EH,
-       ich=\E[%p1%d@, if=/usr/share/tabset/vt300, ind=\ED,
-       is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p, kbs=^H,
-       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP,
-       kf10=\E[29~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[17~,
-       kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, kf9=\E[21~, nel=\EE,
-       rev=\E[7m$<2>, rf=/usr/share/tabset/vt300, ri=\EM,
-       rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>,
+       clear=\E[H\E[2J$<50>, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH$<10>, dch=\E[%p1%dP, dch1=\E[P,
+       ech=\E[%p1%dX, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K,
+       enacs=\E)0, flash=\E[?5h$<200/>\E[?5l, home=\E[H, ht=^I,
+       hts=\EH, ich=\E[%p1%d@, if=/usr/share/tabset/vt300,
+       ind=\ED, is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p,
+       kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+       kf1=\EOP, kf10=\E[29~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+       kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, kf9=\E[21~,
+       nel=\EE, rev=\E[7m$<2>, rf=/usr/share/tabset/vt300,
+       ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>,
        rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
        rmso=\E[27m, rmul=\E[24m, rs3=\E[?67h\E[64;1"p,
        sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?
@@ -3051,8 +3021,8 @@ vt420|DEC VT420,
        sgr0=\E[m\E(B$<2>, smacs=\E(0$<2>, smam=\E[?7h,
        smir=\E[4h, smkx=\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
        use=ansi+csr, use=ansi+enq, use=ansi+idl, use=ansi+pp,
-       use=dec+sl, use=vt220+cvis, use=vt420+lrmm,
-       use=vt220+vtedit,
+       use=ansi+local, use=dec+sl, use=vt220+cvis,
+       use=vt420+lrmm, use=vt220+vtedit,
 
 # DEC VT220 and up support DECUDK (user-defined keys).  DECUDK (i.e., pfx)
 # takes two parameters, the key and the string.  Translating the key is
@@ -3397,19 +3367,17 @@ tt|tkterm|Don Libes' tk text widget terminal emulator,
 nsterm+7|AppKit Terminal.app v41+ basic capabilities w/ASCII charset,
        am, bw, msgr, xenl, xon,
        cols#80, it#8, lines#24,
-       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cuu=\E[%p1%dA, cuu1=\E[A, dim=\E[2m, el1=\E[1K, ht=^I,
-       hts=\EH, ind=\n, invis=\E[8m, kbs=^?, kcub1=\EOD, kcud1=\EOB,
-       kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, rev=\E[7m, ri=\EM,
+       bel=^G, bold=\E[1m, cr=\r, cub1=^H, cud1=\n, dim=\E[2m,
+       el1=\E[1K, ht=^I, hts=\EH, ind=\n, kbs=^?, kcub1=\EOD,
+       kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, ri=\EM,
        rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
        rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
        sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
            %p5%t;2%;%?%p7%t;8%;m,
        sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m,
        smul=\E[4m, tbc=\E[3g, use=ansi+csr, use=ansi+cup,
-       use=ansi+erase, use=ansi+idl, use=vt100+enq,
-       use=vt100+pfkeys,
+       use=ansi+erase, use=ansi+idl, use=ansi+local,
+       use=ansi+sgr, use=vt100+enq, use=vt100+pfkeys,
 
 nsterm+acs|AppKit Terminal.app v41+ basic capabilities w/VT100 alternate-charset,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
@@ -3695,26 +3663,24 @@ iTerm.app|iterm|iTerm.app terminal emulator for Mac OS X,
        am, bce, mir, msgr, npc, xenl, xon,
        cols#80, it#8, lines#24, wsl#50,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
-       el1=\E[1K, enacs=\E(B\E)0, flash=\E[?5h$<200/>\E[?5l,
-       home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ind=\n,
-       kLFT=\E[1;2D, kRIT=\E[1;2C, kbs=^?, kcbt=\E[Z, kdch1=\E[3~,
-       kend=\EOF, kent=\EOM, kf1=\EOP, kf10=\E[21~, kf11=\E[23~,
-       kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[15~,
-       kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, knp=\E[6~,
-       kpp=\E[5~, op=\E[0m, rev=\E[7m, ri=\EM, rmacs=^O,
-       rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
-       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, el1=\E[1K, enacs=\E(B\E)0,
+       flash=\E[?5h$<200/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
+       ht=^I, hts=\EH, ind=\n, kLFT=\E[1;2D, kRIT=\E[1;2C, kbs=^?,
+       kcbt=\E[Z, kdch1=\E[3~, kend=\EOF, kent=\EOM, kf1=\EOP,
+       kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR,
+       kf4=\EOS, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+       kf9=\E[20~, knp=\E[6~, kpp=\E[5~, op=\E[0m, rev=\E[7m,
+       ri=\EM, rmacs=^O, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m,
+       rmul=\E[m, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
        sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?
            %p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
        smso=\E[7m, smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd,
        kEND5=\E[1;5F, kHOM5=\E[1;5H, use=ansi+apparrows,
        use=ansi+csr, use=ansi+enq, use=ansi+erase, use=ansi+idc,
-       use=ansi+idl, use=vt100+keypad, use=xterm+alt47,
-       use=xterm+sl-twm, use=xterm+x11mouse,
+       use=ansi+idl, use=ansi+local, use=vt100+keypad,
+       use=xterm+alt47, use=xterm+sl-twm, use=xterm+x11mouse,
        use=xterm+256setaf, use=vt220+cvis,
 
 # iTerm2 3.0.15
@@ -3871,9 +3837,7 @@ iTerm2.app|iterm2|terminal emulator for Mac OS X,
 xnuppc+basic|Darwin PowerPC console basic capabilities,
        am, bce, mir, xenl, NQ,
        it#8,
-       bold=\E[1m, cr=\r, cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB,
-       cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+       bold=\E[1m, cr=\r, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
        dsl=\E]2;\007, el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ind=\n,
        kbs=^?, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
        rev=\E[7m, ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m,
@@ -3881,7 +3845,7 @@ xnuppc+basic|Darwin PowerPC console basic capabilities,
        sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m,
        sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m,
        smul=\E[4m, tbc=\E[3g, use=ansi+csr, use=ansi+erase,
-       use=vt100+keypad,
+       use=ansi+local, use=vt100+keypad,
 
 xnuppc+c|Darwin PowerPC console ANSI color support,
        colors#8, ncv#32, pairs#64,
@@ -4219,10 +4183,9 @@ putty|PuTTY terminal emulator,
        am, bce, bw, ccc, mir, msgr, xenl, xon, XT,
        colors#8, it#8, ncv#22, pairs#64, U8#1,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\ED, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM,
-       dch=\E[%p1%dP, dch1=\E[P,
+       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub1=^H, cud1=\ED,
+       cup=\E[%i%p1%d;%p2%dH, cuu1=\EM, dch=\E[%p1%dP,
+       dch1=\E[P,
        dispc=%?%p1%{8}%=%t\E%%G\342\227\230\E%%@%e%p1%{10}%=%t\E%%G
              \342\227\231\E%%@%e%p1%{12}%=%t\E%%G\342\231\0\E%%@%e
              %p1%{13}%=%t\E%%G\342\231\252\E%%@%e%p1%{14}%=%t\E%%G
@@ -4248,11 +4211,11 @@ putty|PuTTY terminal emulator,
        smkx=\E[?1h\E=, smpch=\E[11m, smso=\E[7m, smul=\E[4m,
        vpa=\E[%i%p1%dd, E3=\E[3J, use=ansi+apparrows,
        use=ansi+csr, use=ansi+erase, use=ansi+idl,
-       use=ansi+tabs, use=ansi+rep, use=ecma+index,
-       use=vt220+pcedit, use=xterm+alt1049, use=xterm+sm+1006,
-       use=putty+fnkeys, use=vt102+enq, use=xterm+sl,
-       use=vt100+fnkeys, use=putty+keypad, use=vt220+cvis,
-       use=bracketed+paste, use=putty+cursor,
+       use=ansi+local, use=ansi+tabs, use=ansi+rep,
+       use=ecma+index, use=vt220+pcedit, use=xterm+alt1049,
+       use=xterm+sm+1006, use=putty+fnkeys, use=vt102+enq,
+       use=xterm+sl, use=vt100+fnkeys, use=putty+keypad,
+       use=vt220+cvis, use=bracketed+paste, use=putty+cursor,
        use=ecma+strikeout,
 
 # older versions (e.g., before 0.71) of PuTTY used a shift-modifier to toggle
@@ -4862,21 +4825,20 @@ x10term+sl|status-line for X10 xterm,
 xterm-r5|xterm R5 version,
        OTbs, am, km, msgr, xenl,
        cols#80, it#8, lines#24,
-       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, ed=\E[J,
-       el=\E[K, home=\E[H, ht=^I, hts=\EH, ind=\n, kdl1=\E[31~,
-       kel=\E[8~, kf0=\EOq, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
-       kf12=\E[24~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~,
-       kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
-       khome=\E[1~, kil1=\E[30~, kmous=\E[M, rev=\E[7m, ri=\EM,
-       rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+       hts=\EH, ind=\n, kdl1=\E[31~, kel=\E[8~, kf0=\EOq,
+       kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+       kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~,
+       kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~,
+       kil1=\E[30~, kmous=\E[M, rev=\E[7m, ri=\EM, rmkx=\E[?1l\E>,
+       rmso=\E[m, rmul=\E[m,
        rs2=\E>\E[?1;3;4;5;6l\E[4l\E[?7h\E[m\E[r\E[2J\E[H,
        sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1
            %;m,
        sgr0=\E[m, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
        tbc=\E[3g, use=xterm+kbs, use=ansi+apparrows,
-       use=ansi+csr, use=ansi+idc, use=ansi+idl,
+       use=ansi+csr, use=ansi+idc, use=ansi+idl, use=ansi+local,
        use=vt220+pcedit, use=vt100+enq,
 
 # Compatible with the R6 xterm
@@ -4888,11 +4850,10 @@ xterm-r6|xterm X11R6 version,
        OTbs, am, km, mir, msgr, xenl,
        cols#80, it#8, lines#24,
        acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
-       dch=\E[%p1%dP, dch1=\E[P, ed=\E[J, el=\E[K, enacs=\E)0,
-       home=\E[H, ht=^I, hts=\EH, ind=\n,
+       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP,
+       dch1=\E[P, ed=\E[J, el=\E[K, enacs=\E)0, home=\E[H, ht=^I,
+       hts=\EH, ind=\n,
        is2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8,
        kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\E[11~,
        kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
@@ -4905,8 +4866,9 @@ xterm-r6|xterm X11R6 version,
        rs2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8,
        sgr0=\E[m, smacs=^N, smir=\E[4h, smkx=\E[?1h\E=,
        smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=xterm+alt47,
-       use=ansi+csr, use=ansi+idl, use=vt220+vtedit,
-       use=xterm+kbs, use=vt100+enq,
+       use=ansi+csr, use=ansi+idl, use=ansi+local,
+       use=vt220+vtedit, use=xterm+kbs, use=vt100+enq,
+
 xterm-old|antique xterm version,
        use=xterm-r6,
 # The monochrome version began as a copy of "xtermm" (from Solaris), and was
@@ -4924,12 +4886,11 @@ xterm-xf86-v32|xterm terminal emulator (XFree86 3.2 Window System),
        OTbs, am, bce, km, mir, msgr, xenl, XT,
        cols#80, lines#24, ncv@,
        acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
-       ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0,
-       flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
-       ind=\n, is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>,
+       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
+       el1=\E[1K, enacs=\E(B\E)0, flash=\E[?5h$<100/>\E[?5l,
+       home=\E[H, hpa=\E[%i%p1%dG, ind=\n,
+       is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>,
        kbeg=\EOE, kbs=^?, kdch1=^?, kend=\EOF, kf1=\E[11~,
        kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
        kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
@@ -4949,9 +4910,9 @@ xterm-xf86-v32|xterm terminal emulator (XFree86 3.2 Window System),
        sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
        smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd,
        use=ansi+apparrows, use=ansi+csr, use=ansi+idc,
-       use=ansi+idl, use=ansi+inittabs, use=xterm+alt47,
-       use=xterm+kbs, use=vt100+enq, use=ecma+color,
-       use=vt220+cvis, use=vt220+keypad,
+       use=ansi+idl, use=ansi+inittabs, use=ansi+local,
+       use=xterm+alt47, use=xterm+kbs, use=vt100+enq,
+       use=ecma+color, use=vt220+cvis, use=vt220+keypad,
 
 # This is the stock xterm entry supplied with XFree86 3.3, which uses VT100
 # codes for F1-F4 except while in VT220 mode.
@@ -5317,18 +5278,16 @@ xterm-basic|modern xterm terminal emulator - common,
        OTbs, am, bce, mir, msgr, xenl, AX, XT,
        colors#8, cols#80, lines#24, pairs#64,
        acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
        dim=\E[2m, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
        flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
-       ich=\E[%p1%d@, ind=\n, invis=\E[8m,
-       is2=\E[!p\E[?3;4l\E[4l\E>, kmous=\E[M, meml=\El,
-       memu=\Em, op=\E[39;49m, rev=\E[7m, ri=\EM, rmacs=\E(B,
-       rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
-       rmul=\E[24m, rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>,
-       setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+       ich=\E[%p1%d@, ind=\n, is2=\E[!p\E[?3;4l\E[4l\E>,
+       kmous=\E[M, meml=\El, memu=\Em, op=\E[39;49m, ri=\EM,
+       rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>,
+       rmso=\E[27m, rmul=\E[24m, rs1=\Ec,
+       rs2=\E[!p\E[?3;4l\E[4l\E>, setab=\E[4%p1%dm,
+       setaf=\E[3%p1%dm,
        setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
             %=%t3%e%p1%d%;m,
        setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
@@ -5338,8 +5297,9 @@ xterm-basic|modern xterm terminal emulator - common,
        sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
        smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd,
        E3=\E[3J, use=ansi+csr, use=ansi+enq, use=ansi+idl,
-       use=ansi+inittabs, use=ansi+pp, use=xterm+kbs,
-       use=xterm+alt+title, use=att610+cvis, use=xterm+meta,
+       use=ansi+inittabs, use=ansi+local, use=ansi+pp,
+       use=ansi+sgr, use=xterm+kbs, use=xterm+alt+title,
+       use=att610+cvis, use=xterm+meta,
 
 xterm+meta|meta mode for xterm,
        km,
@@ -6006,9 +5966,7 @@ xtermm|xterm terminal emulator (monochrome),
        OTbs, am, km, mir, msgr, xenl,
        btns#3, cols#80, it#8, lines#24,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink@, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
-       cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cuu=\E[%p1%dA, cuu1=\E[A,
+       bel=^G, blink@, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cud1=\n,
        dch=\E[%p1%dP, dch1=\E[P, el1=\E[1K$<3>, enacs=\E(B\E)0,
        getm=\E[%p1%dY, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
        ind=\n, kend=\E[Y, kf0=\EOy, kf10=\EOY, kf11=\EOZ, kf12=\EOA,
@@ -6022,7 +5980,7 @@ xtermm|xterm terminal emulator (monochrome),
        sgr0=\E[m\017, smacs=^N, smcup=\E@0\E[?4s\E[?4h\E@1,
        smso=\E[7m, tbc=\E[3g, use=ansi+apparrows, use=ansi+csr,
        use=ansi+cup, use=ansi+erase, use=ansi+idl,
-       use=decid+cpr, use=vt100+fnkeys,
+       use=ansi+local, use=decid+cpr, use=vt100+fnkeys,
 
 xtermc|xterm terminal emulator (color),
        colors#8, ncv#7, pairs#64,
@@ -6072,26 +6030,24 @@ color_xterm|cx|cx100|color_xterm color terminal emulator for X,
        OTbs, am, km, mir, msgr, xenl, XT,
        cols#80, it#8, lines#65, ncv@,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
-       dch=\E[%p1%dP, dch1=\E[P, ed=\E[J, el=\E[K, el1=\E[1K,
-       enacs=\E(B\E)0, home=\E[H, ht=^I, ich=\E[%p1%d@, ind=\n,
-       is1=\E[r\E[m\E[?7h\E[?4;6l\E[4l, kend=\E[8~,
-       kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
-       kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~,
-       kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[7~,
-       kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, rev=\E[7m,
-       ri=\EM, rmacs=^O, rmam=\E[?7l, rmcup=\E>\E[?41;1r,
-       rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
+       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P, ed=\E[J,
+       el=\E[K, el1=\E[1K, enacs=\E(B\E)0, home=\E[H, ht=^I,
+       ich=\E[%p1%d@, ind=\n, is1=\E[r\E[m\E[?7h\E[?4;6l\E[4l,
+       kend=\E[8~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
+       kf12=\E[24~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~,
+       kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       khome=\E[7~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
+       rev=\E[7m, ri=\EM, rmacs=^O, rmam=\E[?7l,
+       rmcup=\E>\E[?41;1r, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
        rs1=\E(B\017\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E<,
        sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
            %;m%?%p9%t\016%e\017%;,
        sgr0=\E[0m\017, smacs=^N, smam=\E[?7h,
        smcup=\E[?1;41s\E[?1;41h\E=, smir=\E[4h, smso=\E[7m,
        smul=\E[4m, use=ansi+apparrows, use=ansi+csr,
-       use=ansi+idl, use=decid+cpr, use=ecma+color,
-       use=vt220+keypad,
+       use=ansi+idl, use=ansi+local, use=decid+cpr,
+       use=ecma+color, use=vt220+keypad,
 
 # The IRAF source has a terminfo using "xterm-r5", but line-drawing does not
 # work in that case.  This entry uses xterm+acs, to work around that problem.
@@ -6415,23 +6371,23 @@ termite|VTE-based terminal,
        cols#80, lines#24, ncv@,
        acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
             yzz{{||}}~~,
-       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
-       ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
-       flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
-       ind=\n, invis=\E[8m, is2=\E[!p\E[?3;4l\E[4l\E>, kb2=\EOE,
-       kbs=^?, kcbt=\E[Z, kent=\EOM, kmous=\E[M, rev=\E[7m, ri=\EM,
-       rmacs=\E(B, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[27m,
-       rmul=\E[24m, rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>,
+       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
+       el1=\E[1K, flash=\E[?5h$<100/>\E[?5l, home=\E[H,
+       hpa=\E[%i%p1%dG, ind=\n, invis=\E[8m,
+       is2=\E[!p\E[?3;4l\E[4l\E>, kb2=\EOE, kbs=^?, kcbt=\E[Z,
+       kent=\EOM, kmous=\E[M, rev=\E[7m, ri=\EM, rmacs=\E(B,
+       rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
+       rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>,
        sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
            %t;7%;%?%p7%t;8%;m,
        sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smkx=\E[?1h\E=,
        smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd, use=ansi+csr,
        use=ansi+enq, use=ansi+idc, use=ansi+idl,
        use=ansi+inittabs, use=ecma+index, use=ecma+italics,
-       use=xterm+alt1049, use=xterm+256color, use=ecma+color,
-       use=vt220+cvis, use=xterm+pcfkeys, use=xterm+sl-twm,
+       use=ansi+local, use=xterm+alt1049, use=xterm+256color,
+       use=ecma+color, use=vt220+cvis, use=xterm+pcfkeys,
+       use=xterm+sl-twm,
 
 #### Other GNOME
 # Multi-GNOME-Terminal 1.6.2
@@ -6703,12 +6659,10 @@ mlterm2|multi lingual terminal emulator 2.x,
        am, eslok, km, mc5i, mir, msgr, npc, xenl, XT,
        colors#8, cols#80, lines#24, pairs#64,
        acsc=00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
-       dch=\E[%p1%dP, dch1=\E[P, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
-       el1=\E[1K, enacs=, home=\E[H, hpa=\E[%i%p1%dG,
-       ich=\E[%p1%d@, ind=\n,
+       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+       ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=,
+       home=\E[H, hpa=\E[%i%p1%dG, ich=\E[%p1%d@, ind=\n,
        is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, kbs=^?,
        kcbt=\E[Z, kend=\EOF, kent=\EOM, kind=\EO1;2B, kmous=\E[M,
        kri=\EO1;2A, mc0=\E[i, nel=\EE, op=\E[39;49m, rev=\E[7m,
@@ -6722,8 +6676,9 @@ mlterm2|multi lingual terminal emulator 2.x,
        smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, u8=\E[?1;2c,
        vpa=\E[%i%p1%dd, use=ansi+apparrows, use=ansi+csr,
        use=ansi+enq, use=ansi+idl, use=ansi+inittabs,
-       use=vt220+vtedit, use=xterm+alt1049, use=ecma+index,
-       use=mlterm+pcfkeys, use=vt220+cvis, use=xterm+r6f2,
+       use=ansi+local, use=vt220+vtedit, use=xterm+alt1049,
+       use=ecma+index, use=mlterm+pcfkeys, use=vt220+cvis,
+       use=xterm+r6f2,
 
 # The insert/delete/home/end keys do not respond to modifiers because mlterm
 # looks in its termcap to decide which string to send.  If it used terminfo
@@ -6769,11 +6724,9 @@ rxvt-basic|rxvt terminal base (X Window System),
        cols#80, it#8, lines#24,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, ed=\E[J, el=\E[K, el1=\E[1K,
-       enacs=\E(B\E)0, flash=\E[?5h$<100/>\E[?5l, home=\E[H,
-       ht=^I, hts=\EH, ich=\E[%p1%d@, ind=\n,
+       cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K,
+       el1=\E[1K, enacs=\E(B\E)0, flash=\E[?5h$<100/>\E[?5l,
+       home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ind=\n,
        is1=\E[?47l\E=\E[?1l,
        is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^H,
        kcbt=\E[Z, kmous=\E[M, rev=\E[7m, ri=\EM, rmacs=^O,
@@ -6786,8 +6739,9 @@ rxvt-basic|rxvt terminal base (X Window System),
            %p9%t\016%e\017%;,
        sgr0=\E[0m\017, smacs=^N, smir=\E[4h, smkx=\E=, smso=\E[7m,
        smul=\E[4m, tbc=\E[3g, use=ansi+csr, use=ansi+idl,
-       use=xterm+alt47, use=vt100+enq, use=rxvt+pcfkeys,
-       use=vt220+cvis, use=vt220+keypad,
+       use=ansi+local, use=xterm+alt47, use=vt100+enq,
+       use=rxvt+pcfkeys, use=vt220+cvis, use=vt220+keypad,
+
 # Key Codes from rxvt reference:
 #
 # Note: Shift + F1-F10 generates F11-F20
@@ -7014,9 +6968,7 @@ Eterm|Eterm-color|Eterm with xterm-style color support (X Window System),
        btns#5, cols#80, it#8, lines#24, lm#0, ncv@,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+       cub1=^H, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
        ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0,
        home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
        ind=\n, is1=\E[?47l\E>\E[?1l,
@@ -7032,9 +6984,9 @@ Eterm|Eterm-color|Eterm with xterm-style color support (X Window System),
            %;m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, smkx=,
        smso=\E[7m, smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd,
-       use=ansi+csr, use=ansi+idl, use=xterm+alt47,
-       use=vt100+enq, use=rxvt+pcfkeys, use=ecma+color,
-       use=vt220+cvis,
+       use=ansi+csr, use=ansi+idl, use=ansi+local,
+       use=xterm+alt47, use=vt100+enq, use=rxvt+pcfkeys,
+       use=ecma+color, use=vt220+cvis,
 
 Eterm-256color|Eterm with xterm 256-colors,
        use=xterm+256color, use=Eterm,
@@ -7180,11 +7132,10 @@ emu-220|Emu-220 (vt200-7bit mode),
        cols#80, it#8, lines#24, vt#200,
        acsc=aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
        blink=\E[0;5m, bold=\E[0;1m, clear=\E[2J\E[H, cr=\r,
-       cub=\E[%p1%dD, cub1=\E[1D, cud=\E[%p1%dB, cud1=\E[1B,
-       cuf=\E[%p1%dC, cuf1=\E[1C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[1A, dch=\E[%p1%dP, dch1=\E[1P,
-       dl=\E[%p1%dM, dl1=\E[1M, ed=\E[0J, el=\E[0K, el1=\E[1K,
-       enacs=\E)0, home=\E[H, ht=^I, hts=\EH,
+       cub1=\E[1D, cud1=\E[1B, cuf1=\E[1C,
+       cup=\E[%i%p1%d;%p2%dH, cuu1=\E[1A, dch=\E[%p1%dP,
+       dch1=\E[1P, dl=\E[%p1%dM, dl1=\E[1M, ed=\E[0J, el=\E[0K,
+       el1=\E[1K, enacs=\E)0, home=\E[H, ht=^I, hts=\EH,
        if=/usr/share/tabset/vt300, il=\E[%p1%dL, il1=\E[1L,
        ind=\ED, is2=\E>\E[?1l\E[?3l\E[4l\E[?7h, kbs=^H,
        kcmd=\E[29~, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
@@ -7201,7 +7152,7 @@ emu-220|Emu-220 (vt200-7bit mode),
            2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smcup=\E[?1l\E=, smkx=\E=,
        smso=\E[0;7m, smul=\E[0;4m, tbc=\E[3g, use=ansi+csr,
-       use=vt220+vtedit, use=vt220+cvis,
+       use=ansi+local, use=vt220+vtedit, use=vt220+cvis,
 
 #### MVTERM
 # A commercial product, Reportedly a version of Xterm with an OPEN LOOK UI,
@@ -7219,21 +7170,20 @@ mvterm|vv100|SwitchTerm aka mvTERM,
        colors#8, cols#80, it#8, lines#24, pairs#64,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
-       ed=\E[J, el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0, home=\E[H,
-       ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, ind=\n, kbs=^H,
-       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, op=\E[100m,
-       rev=\E[7m, ri=\EM, rmacs=^O, rmkx=\E[?1l\E>, rmso=\E[m,
-       rmul=\E[m,
+       cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP,
+       dch1=\E[P, ed=\E[J, el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0,
+       home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, ind=\n,
+       kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+       op=\E[100m, rev=\E[7m, ri=\EM, rmacs=^O, rmkx=\E[?1l\E>,
+       rmso=\E[m, rmul=\E[m,
        rs2=\E>\E[1;3;4;5;6l\E[?7h\E[100m\E[m\E[r\E[2J\E[H,
        setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
        sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
            %;m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smkx=\E[?1h\E=, smso=\E[7m,
        smul=\E[4m, tbc=\E[3g, use=ansi+csr, use=ansi+idl,
-       use=xterm+alt47, use=vt100+fnkeys, use=x10term+sl,
+       use=ansi+local, use=xterm+alt47, use=vt100+fnkeys,
+       use=x10term+sl,
 
 #### MTERM
 #
@@ -7244,18 +7194,16 @@ mterm-ansi|ANSI emulation,
        am, bw, mir, msgr,
        it#8,
        acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub=\E[%p1%dD,
-       cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
-       cuu1=\E[A, dch=\E[%p1%dP, dim=\E[2m, ech=\E[%p1%dX,
-       home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich1=, ind=\E[S,
-       invis=\E[8m, is2=\E)0\017, kbs=^H, nel=\EE, rev=\E[7m,
-       ri=\E[T, rmacs=^O, rmso=\E[27m, rmul=\E[24m,
+       bel=^G, bold=\E[1m, cr=\r, cup=\E[%i%p1%d;%p2%dH,
+       dch=\E[%p1%dP, dim=\E[2m, ech=\E[%p1%dX, home=\E[H,
+       hpa=\E[%i%p1%d`, ht=^I, ich1=, ind=\E[S, is2=\E)0\017,
+       kbs=^H, nel=\EE, ri=\E[T, rmacs=^O, rmso=\E[27m, rmul=\E[24m,
        sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
            %p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smso=\E[7m, smul=\E[4m,
        vpa=\E[%i%p1%dd, use=ansi+erase, use=ansi+idc1,
-       use=ansi+idl, use=ecma+index,
+       use=ansi+idl, use=ansi+local, use=ansi+sgr,
+       use=ecma+index,
 
 # mterm normally sets $TERM to "mterm"
 mterm|mouse-sun|Der Mouse term,
@@ -7272,28 +7220,25 @@ decansi|ANSI emulation with DEC compatibility hacks,
        am, mir, msgr, xenl,
        colors#8, it#8, pairs#64,
        acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub=\E[%p1%dD,
-       cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
-       cuu1=\E[A, dch=\E[%p1%dP, dim=\E[2m, ech=\E[%p1%dX,
-       enacs=\E(B\E)0, home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich1=,
-       ind=\E[S, invis=\E[8m, is2=\E)0\E[r\017, kbs=^H,
-       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\E[11~,
-       kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
-       kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
-       kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, kf20=\E[34~,
-       kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~,
-       kf8=\E[19~, kf9=\E[20~, nel=\EE, op=\E[0m, rev=\E[7m,
-       ri=\E[T, rmacs=^O, rmam=\E[?7l, rmkx=\E[?1l\E>,
-       rmso=\E[27m, rmul=\E[24m, setab=\E[4%p1%dm,
-       setaf=\E[3%p1%dm,
+       bel=^G, bold=\E[1m, cr=\r, cup=\E[%i%p1%d;%p2%dH,
+       dch=\E[%p1%dP, dim=\E[2m, ech=\E[%p1%dX, enacs=\E(B\E)0,
+       home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich1=, ind=\E[S,
+       is2=\E)0\E[r\017, kbs=^H, kcub1=\EOD, kcud1=\EOB,
+       kcuf1=\EOC, kcuu1=\EOA, kf1=\E[11~, kf10=\E[21~,
+       kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+       kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+       kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, kf3=\E[13~,
+       kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+       kf9=\E[20~, nel=\EE, op=\E[0m, ri=\E[T, rmacs=^O,
+       rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
+       setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
        sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
            %p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
        smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd, use=ansi+cpr,
        use=ansi+csr, use=ansi+erase, use=ansi+idc1,
-       use=ansi+idl, use=vt220+vtedit, use=ecma+index,
-       use=vt220+cvis,
+       use=ansi+idl, use=ansi+local, use=ansi+sgr,
+       use=vt220+vtedit, use=ecma+index, use=vt220+cvis,
 
 #### VWM
 # http://vwm.sourceforge.net/
@@ -7305,23 +7250,20 @@ vwmterm|VWM terminal,
        am, bce, ccc, mir, msgr, npc, xenl, xon,
        colors#8, pairs#64,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
-       cuu1=\E[A, cvvis=\E[?25h, dim=\E[2m, home=\E[H, il1=\E[L,
-       ind=\n, invis=\E[8m, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
-       kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\E[[A,
-       kf10=\E[21~, kf11=\E[22~, kf12=\E[23~, kf2=\E[[B,
-       kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
-       kf8=\E[19~, kf9=\E[20~, khome=\E[1~, knp=\E[6~, kpp=\E[5~,
-       rev=\E[7m, rmacs=\E[10m, rmam=\E[?7l,
-       rs1=\E[H\E[J\E[m\Ec, setab=\E[4%p1%dm,
+       bel=^G, bold=\E[1m, cr=\r, cub1=^H, cup=\E[%i%p1%d;%p2%dH,
+       cvvis=\E[?25h, dim=\E[2m, home=\E[H, il1=\E[L, ind=\n,
+       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+       kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, kf10=\E[21~,
+       kf11=\E[22~, kf12=\E[23~, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D,
+       kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       khome=\E[1~, knp=\E[6~, kpp=\E[5~, rmacs=\E[10m,
+       rmam=\E[?7l, rs1=\E[H\E[J\E[m\Ec, setab=\E[4%p1%dm,
        setaf=\E[3%p1%dm,
        sgr=\E[0;10%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
            %t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
        sgr0=\E[0;10m, smacs=\E[11m, smam=\E[?7h, smso=\E[3m,
-       smul=\E[4m, use=ansi+erase, use=vt220+cvis,
-       use=xterm+alt1049,
+       smul=\E[4m, use=ansi+erase, use=ansi+local, use=ansi+sgr,
+       use=vt220+cvis, use=xterm+alt1049,
 
 #### MGR
 #
@@ -7436,13 +7378,11 @@ st-0.6|simpleterm 0.6,
        colors#8, cols#80, lines#24, pairs#64,
        acsc=+C\,D-A.B0E``aaffgghFiGjjkkllmmnnooppqqrrssttuuvvwwxxyy
             zz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
        dim=\E[2m, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
        enacs=\E)0, flash=\E[?5h$<100/>\E[?5l, home=\E[H,
-       hpa=\E[%i%p1%dG, ich=\E[%p1%d@, ind=\n, invis=\E[8m,
+       hpa=\E[%i%p1%dG, ich=\E[%p1%d@, ind=\n,
        is2=\E[4l\E>\E[?1034l, kDC=\E[3;2~, kEND=\E[1;2F,
        kHOM=\E[1;2H, kIC=\E[2;2~, kLFT=\E[1;2D, kNXT=\E[6;2~,
        kPRV=\E[5;2~, kRIT=\E[1;2C, ka1=\E[1~, ka3=\E[5~, kb2=\EOu,
@@ -7467,9 +7407,9 @@ st-0.6|simpleterm 0.6,
        kf61=\E[1;4P, kf62=\E[1;4Q, kf63=\E[1;4R, kf7=\E[18~,
        kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kil1=\E[2;5~,
        kind=\E[1;2B, kmous=\E[M, kri=\E[1;2A, krmir=\E[2;2~,
-       mc0=\E[i, mc4=\E[4i, mc5=\E[5i, op=\E[39;49m, rev=\E[7m,
-       ri=\EM, rmacs=\E(B, rmir=\E[4l, rmkx=\E[?1l\E>,
-       rmso=\E[27m, rmul=\E[24m, rs1=\Ec, rs2=\E[4l\E>\E[?1034l,
+       mc0=\E[i, mc4=\E[4i, mc5=\E[5i, op=\E[39;49m, ri=\EM,
+       rmacs=\E(B, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
+       rmul=\E[24m, rs1=\Ec, rs2=\E[4l\E>\E[?1034l,
        setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
        setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
             %=%t3%e%p1%d%;m,
@@ -7481,10 +7421,10 @@ st-0.6|simpleterm 0.6,
        smso=\E[7m, smul=\E[4m, u8=\E[?1;2c, vpa=\E[%i%p1%dd,
        Se=\E[2 q, Ss=\E[%p1%d q, use=ansi+apparrows,
        use=ansi+csr, use=ansi+enq, use=ansi+idl,
-       use=ansi+inittabs, use=vt220+pcedit, use=ecma+index,
-       use=xterm+alt1049, use=vt220+cvis, use=xterm+sl,
-       use=ecma+italics, use=ecma+strikeout,
-       use=bracketed+paste,
+       use=ansi+inittabs, use=ansi+local, use=ansi+sgr,
+       use=vt220+pcedit, use=ecma+index, use=xterm+alt1049,
+       use=vt220+cvis, use=xterm+sl, use=ecma+italics,
+       use=ecma+strikeout, use=bracketed+paste,
 #
 # st-0.1.1
 #
@@ -7614,12 +7554,10 @@ terminator|Terminator no line wrap,
        bce, eo, mir, msgr, xenl, xon,
        cols#80, it#8, lines#24, lm#0,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
-       dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, ed=\E[J, el=\E[K,
-       el1=\E[1K, enacs=\E(B\E)0, flash=^G, home=\E[H,
-       hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ind=\n,
+       bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+       dim=\E[2m, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0,
+       flash=^G, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ind=\n,
        is1=\E[?47l\E=\E[?1l,
        is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^?,
        kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
@@ -7632,7 +7570,7 @@ terminator|Terminator no line wrap,
            %;m%?%p9%t\E(0%e\E(B%;,
        sgr0=\E[m\E(B, smacs=\E(0, smir=\E[4h, smso=\E[7m,
        smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd, use=ansi+arrows,
-       use=ansi+csr, use=ansi+enq, use=ansi+idl,
+       use=ansi+csr, use=ansi+enq, use=ansi+idl, use=ansi+local,
        use=vt220+pcedit, use=ecma+italics, use=ecma+index,
        use=xterm+256setaf, use=xterm+sl-twm,
        use=xterm+alt1049, use=vt220+cvis, use=bracketed+paste,
@@ -7951,23 +7889,22 @@ kitty+common|KovId's TTY common properties,
        cols#80, lines#24,
        acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
             yzz{{||}}~~,
-       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
-       dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, ech=\E[%p1%dX,
-       ed=\E[J, el=\E[K, el1=\E[1K, flash=\E[?5h$<100/>\E[?5l,
-       home=\E[H, hpa=\E[%i%p1%dG, ich=\E[%p1%d@, ind=\n,
-       kBEG=\E[1;2E, kbeg=\EOE, kbs=^?, kcbt=\E[Z, op=\E[39;49m,
-       rev=\E[7m, ri=\EM, rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l,
-       rmkx=\E[?1l, rmso=\E[27m, rmul=\E[24m, rs1=\E]\E\\\Ec,
+       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+       dim=\E[2m, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
+       flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
+       ich=\E[%p1%d@, ind=\n, kBEG=\E[1;2E, kbeg=\EOE, kbs=^?,
+       kcbt=\E[Z, op=\E[39;49m, rev=\E[7m, ri=\EM, rmacs=\E(B,
+       rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l, rmso=\E[27m,
+       rmul=\E[24m, rs1=\E]\E\\\Ec,
        sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;
            %?%p1%p3%|%t;7%;m,
        sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
        smkx=\E[?1h, smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd,
        Smulx=\E[4:%p1%dm, use=ansi+csr, use=ansi+enq,
-       use=ansi+idl, use=ansi+inittabs, use=ansi+rep,
-       use=xterm+focus, use=xterm+sm+1006, use=ecma+index,
-       use=xterm+pcfkeys, use=xterm+sl-twm,
+       use=ansi+idl, use=ansi+inittabs, use=ansi+local,
+       use=ansi+rep, use=xterm+focus, use=xterm+sm+1006,
+       use=ecma+index, use=xterm+pcfkeys, use=xterm+sl-twm,
        use=ecma+strikeout, use=ecma+italics,
        use=xterm+alt1049, use=att610+cvis, use=xterm+tmux,
        use=bracketed+paste, use=report+version,
@@ -8015,24 +7952,24 @@ foot+base|foot base fragment,
        am, bce, bw, mir, msgr, npc, xenl, AX, XT,
        cols#80, it#8, lines#24,
        acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
-       cub1=^H, cud1=\n, dim=\E[2m, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
-       el1=\E[1K, flash=\E]555\E\\, ind=\n, invis=\E[8m,
-       is2=\E[!p\E[4l\E>, kbs=^?, kcbt=\E[Z, oc=\E]104\E\\,
-       op=\E[39;49m, rev=\E[7m, ri=\EM, rmacs=\E(B, rmam=\E[?7l,
-       rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, rs1=\Ec,
-       rs2=\E[!p\E[4l\E>,
+       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+       dim=\E[2m, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
+       flash=\E]555\E\\, ind=\n, is2=\E[!p\E[4l\E>, kbs=^?,
+       kcbt=\E[Z, oc=\E]104\E\\, op=\E[39;49m, ri=\EM, rmacs=\E(B,
+       rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
+       rs1=\Ec, rs2=\E[!p\E[4l\E>,
        sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;
            %?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
        sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smkx=\E[?1h\E=,
        smso=\E[7m, smul=\E[4m, E3=\E[3J, use=att610+cvis,
        use=ansi+csr, use=ansi+cup, use=ansi+enq, use=ansi+local,
        use=ansi+idc, use=ansi+idl, use=ansi+rca2, use=ansi+rep,
-       use=ansi+tabs, use=ecma+index, use=ecma+italics,
-       use=ecma+strikeout, use=xterm+alt+title,
-       use=xterm+pcfkeys, use=xterm+sm+1006, use=xterm+tmux2,
-       use=xterm+sl-alt, use=bracketed+paste,
-       use=report+version, use=xterm+focus,
+       use=ansi+tabs, use=ansi+sgr, use=ecma+index,
+       use=ecma+italics, use=ecma+strikeout,
+       use=xterm+alt+title, use=xterm+pcfkeys,
+       use=xterm+sm+1006, use=xterm+tmux2, use=xterm+sl-alt,
+       use=bracketed+paste, use=report+version,
+       use=xterm+focus,
 
 ######## WEB CLIENTS
 
@@ -8208,16 +8145,14 @@ contour|contour-latest|Contour Terminal Emulator,
        am, bce, eslok, hs, km, mc5i, mir, msgr, npc, xenl, xvpa,
        cols#80, lines#24, pairs#0x7fff,
        acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cuu=\E[%p1%dA, cuu1=\E[A, dim=\E[2m, dsl=\E[$~,
-       ech=\E[%p1%dX, el1=\E[1K, flash=\E[?5h$<100/>\E[?5l,
-       fsl=\E[$}, hpa=\E[%i%p1%dG, ind=\n, indn=\E[%p1%dS,
-       invis=\E[8m, ka1=, ka3=, kbs=^?, kc1=, kc3=, kcbt=\E[Z,
-       kend=\EOF, khlp=, kmous=\E[M, kund=, oc=\E]104\E\\,
-       op=\E[39;49m, rev=\E[7m, ri=\EM, rin=\E[%p1%dT, rmacs=\E(B,
-       rmam=\E[?7l, rmkx=\E[?1l, rmso=\E[27m, rmul=\E[24m,
-       rs1=\E]\E\\\Ec,
+       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+       dim=\E[2m, dsl=\E[$~, ech=\E[%p1%dX, el1=\E[1K,
+       flash=\E[?5h$<100/>\E[?5l, fsl=\E[$}, hpa=\E[%i%p1%dG,
+       ind=\n, indn=\E[%p1%dS, invis=\E[8m, ka1=, ka3=, kbs=^?, kc1=,
+       kc3=, kcbt=\E[Z, kend=\EOF, khlp=, kmous=\E[M, kund=,
+       oc=\E]104\E\\, op=\E[39;49m, rev=\E[7m, ri=\EM,
+       rin=\E[%p1%dT, rmacs=\E(B, rmam=\E[?7l, rmkx=\E[?1l,
+       rmso=\E[27m, rmul=\E[24m, rs1=\E]\E\\\Ec,
        sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
            %t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
        sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smkx=\E[?1h,
@@ -8226,8 +8161,8 @@ contour|contour-latest|Contour Terminal Emulator,
        Rmol=\E[55m, Se=\E[ q, Smol=\E[53m, Smulx=\E[4:%p1%dm,
        Ss=\E[%p1%d q, use=ansi+apparrows, use=ansi+cup,
        use=ansi+csr, use=ansi+erase, use=ansi+idc, use=ansi+idl,
-       use=ansi+inittabs, use=ansi+rep, use=att610+cvis,
-       use=ecma+italics, use=ecma+strikeout,
+       use=ansi+inittabs, use=ansi+local, use=ansi+rep,
+       use=att610+cvis, use=ecma+italics, use=ecma+strikeout,
        use=xterm+256color, use=xterm+alt1049, use=xterm+pcc2,
        use=xterm+pce2, use=xterm+pcf2,
 
@@ -8266,26 +8201,25 @@ pty|4bsd pseudo teletype,
 eterm|GNU Emacs term.el terminal emulation,
        am, mir, xenl,
        cols#80, lines#24,
-       bel=^G, bold=\E[1m, cr=\r, csr=\E[%i%p1%d;%p2%dr,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+       bel=^G, bold=\E[1m, cr=\r, csr=\E[%i%p1%d;%p2%dr, cub1=^H,
+       cud1=\n, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
        el1=\E[1K, home=\E[H, ht=^I, ich=\E[%p1%d@, ind=\n,
        rev=\E[7m, rmir=\E[4l, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
        smir=\E[4h, smso=\E[7m, smul=\E[4m, use=ansi+cpr,
-       use=ansi+erase, use=ansi+idl, use=xterm+alt47,
+       use=ansi+erase, use=ansi+idl, use=ansi+local,
+       use=xterm+alt47,
 
 # The codes supported by the term.el terminal emulation in GNU Emacs 22.2
 eterm-color|Emacs term.el terminal emulator term-protocol-version 0.96,
        msgr,
        colors#8, pairs#64,
-       blink=\E[5m, invis=\E[8m, kbs=^?, khome=\E[1~,
-       op=\E[39;49m, ri=\EM, rmso=\E[27m, rmul=\E[24m, rs1=\Ec,
-       setab=\E[%p1%'('%+%dm, setaf=\E[%p1%{30}%+%dm,
+       kbs=^?, khome=\E[1~, op=\E[39;49m, ri=\EM, rmso=\E[27m,
+       rmul=\E[24m, rs1=\Ec, setab=\E[%p1%'('%+%dm,
+       setaf=\E[%p1%{30}%+%dm,
        sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?
            %p7%t;8%;m,
        sgr0=\E[m, use=ansi+apparrows, use=ansi+csr,
-       use=vt220+pcedit, use=eterm,
+       use=ansi+sgr, use=vt220+pcedit, use=eterm,
 
 # shell.el can "do" color, though not nearly as well.
 #
@@ -8385,26 +8319,25 @@ screen-base|VT 100/ANSI X3.64 virtual terminal (base),
        acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
             yzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
-       cnorm=\E[34h\E[?25h, cr=\r, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM,
-       cvvis=\E[34l, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
-       el1=\E[1K, enacs=\E(B\E)0, flash=\Eg, home=\E[H,
-       hpa=\E[%i%p1%dG, ich=\E[%p1%d@, ind=\n, indn=\E[%p1%dS,
-       is2=\E)0, kbs=^?, kcbt=\E[Z, kf1=\EOP, kf10=\E[21~,
-       kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
-       kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
-       khome=\E[1~, kmous=\E[M, nel=\EE, rev=\E[7m, ri=\EM,
-       rmacs=^O, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[23m,
-       rmul=\E[24m, rs2=\Ec\E[?1000l\E[?25h,
+       cnorm=\E[34h\E[?25h, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, cuu1=\EM, cvvis=\E[34l,
+       dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, el1=\E[1K,
+       enacs=\E(B\E)0, flash=\Eg, home=\E[H, hpa=\E[%i%p1%dG,
+       ich=\E[%p1%d@, ind=\n, indn=\E[%p1%dS, is2=\E)0, kbs=^?,
+       kcbt=\E[Z, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+       kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[15~, kf6=\E[17~,
+       kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~,
+       kmous=\E[M, nel=\EE, rev=\E[7m, ri=\EM, rmacs=^O, rmir=\E[4l,
+       rmkx=\E[?1l\E>, rmso=\E[23m, rmul=\E[24m,
+       rs2=\Ec\E[?1000l\E[?25h,
        sgr=\E[0%?%p6%t;1%;%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;
            5%;%?%p5%t;2%;m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smir=\E[4h, smkx=\E[?1h\E=,
        smso=\E[3m, smul=\E[4m, vpa=\E[%i%p1%dd, E0=\E(B,
        S0=\E(%p1%c, use=ansi+apparrows, use=ansi+csr,
        use=ansi+erase, use=ansi+idl, use=ansi+inittabs,
-       use=xterm+kbs, use=vt220+pcedit, use=xterm+alt1049,
-       use=ecma+color, use=vt100+enq,
+       use=ansi+local, use=xterm+kbs, use=vt220+pcedit,
+       use=xterm+alt1049, use=ecma+color, use=vt100+enq,
 
 screen|VT 100/ANSI X3.64 virtual terminal,
        use=screen4,
@@ -8607,31 +8540,28 @@ screen-w|VT 100/ANSI X3.64 virtual terminal with 132 cols,
 
 screen2|VT 100/ANSI X3.64 virtual terminal (old 2.x),
        cols#80, lines#24,
-       clear=\E[2J\E[H, cr=\r, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, ed=\E[J,
-       el=\E[K, ich1=, ind=\n, kbs=^H, kcub1=\ED, kcud1=\EB,
+       clear=\E[2J\E[H, cr=\r, cub1=^H, cup=\E[%i%p1%d;%p2%dH,
+       ed=\E[J, el=\E[K, ich1=, ind=\n, kbs=^H, kcub1=\ED, kcud1=\EB,
        kcuf1=\EC, kcuu1=\EA, kf0=\E~, kf1=\ES, kf2=\ET, kf3=\EU,
        kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\E0I,
        khome=\EH, nel=\r\n, rc=\E8, ri=\EM, rmso=\E[23m,
        rmul=\E[24m, rs1=\Ec, sc=\E7, sgr0=\E[m, smso=\E[3m,
        smul=\E[4m, use=ansi+idc, use=ansi+idl,
-       use=ansi+inittabs,
+       use=ansi+inittabs, use=ansi+local,
 
 # (screen3: removed unknown ":xv:LP:G0:" -- esr)
 screen3|VT 100/ANSI X3.64 virtual terminal (old 3.x),
        km, mir, msgr,
        cols#80, lines#24,
-       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM,
-       dch=\E[%p1%dP, dch1=\E[P, home=\E[H, ich=\E[%p1%d@, ind=\n,
-       is2=\E)0, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
-       kcuu1=\EOA, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=\EE,
-       rev=\E[7m, ri=\EM, rmir=\E[4l, rmkx=\E>, rmso=\E[23m,
-       rmul=\E[24m, rs1=\Ec, sgr0=\E[m, smir=\E[4h, smkx=\E=,
-       smso=\E[3m, smul=\E[4m, use=ansi+csr, use=ansi+erase,
-       use=ansi+idl, use=ansi+inittabs,
+       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, cuu1=\EM, dch=\E[%p1%dP,
+       dch1=\E[P, home=\E[H, ich=\E[%p1%d@, ind=\n, is2=\E)0,
+       kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+       kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=\EE, rev=\E[7m,
+       ri=\EM, rmir=\E[4l, rmkx=\E>, rmso=\E[23m, rmul=\E[24m,
+       rs1=\Ec, sgr0=\E[m, smir=\E[4h, smkx=\E=, smso=\E[3m,
+       smul=\E[4m, use=ansi+csr, use=ansi+erase, use=ansi+idl,
+       use=ansi+inittabs, use=ansi+local,
 
 # screen 4.0 was released 2003-07-21, and as of March 2019, its terminfo file
 # was last updated in 2009 to include 256-color support.  The most recent
@@ -8757,11 +8687,10 @@ dvtm|dynamic virtual terminal manager,
        colors#8, cols#80, it#8, lines#24, ncv@, pairs#64,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, ed=\E[J, el=\E[K, el1=\E[1K,
-       enacs=\E(B\E)0, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH,
-       ich=\E[%p1%d@, ich1=\E[@, ind=\n, is1=\E[?47l\E=\E[?1l,
+       cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K,
+       el1=\E[1K, enacs=\E(B\E)0, home=\E[H, hpa=\E[%i%p1%dG,
+       ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, ind=\n,
+       is1=\E[?47l\E=\E[?1l,
        is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l,
        kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kIC=\E[2$, kLFT=\E[d,
        kNXT=\E[6$, kPRV=\E[5$, kRIT=\E[c, ka1=\EOw, ka3=\EOy,
@@ -8783,8 +8712,9 @@ dvtm|dynamic virtual terminal manager,
            %p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smir=\E[4h, smso=\E[7m,
        smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd, use=ansi+arrows,
-       use=ansi+csr, use=ansi+idl, use=xterm+alt47,
-       use=vt220+vtedit, use=vt220+cvis, use=ecma+italics,
+       use=ansi+csr, use=ansi+idl, use=ansi+local,
+       use=xterm+alt47, use=vt220+vtedit, use=vt220+cvis,
+       use=ecma+italics,
 
 dvtm-256color|dynamic virtual terminal manager with 256 colors,
        colors#0x100, pairs#0x10000,
@@ -8834,10 +8764,8 @@ ncsa-m|ncsa-vt220-8|NCSA Telnet 2.6 for Macintosh in VT220-8 mode,
        am, km, mir, msgr, xenl,
        acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
-       ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0,
+       cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP,
+       dch1=\E[P, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0,
        flash=\E[?5h$<100/>\E[?5l, home=\E[H, ht=^I, hts=\EH,
        ich=\E[%p1%d@, if=/usr/share/tabset/vt100,
        ind=\n$<150*>,
@@ -8856,7 +8784,8 @@ ncsa-m|ncsa-vt220-8|NCSA Telnet 2.6 for Macintosh in VT220-8 mode,
        sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smcup=\E7,
        smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
        u8=\E[?62;1;6c, use=ansi+arrows, use=ansi+csr,
-       use=ansi+idl, use=vt220+cvis, use=xterm+sl, use=ansi+enq,
+       use=ansi+idl, use=ansi+local, use=vt220+cvis,
+       use=xterm+sl, use=ansi+enq,
 
 ncsa|NCSA Telnet 2.7 for Macintosh in VT220-8 mode (color),
        use=ncsa-m, use=klone+color,
@@ -8914,9 +8843,9 @@ elks-vt52|ELKS VT52 console,
        home=\EH, use=elks-glasstty,
 
 elks-ansi|ELKS ANSI console,
-       clear=\E[H\E[2J, cub1=\E[D, cud1=\E[B, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[K, home=\E[H,
-       rmso=\E[m, smso=\E[7m, use=elks-glasstty,
+       clear=\E[H\E[2J, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
+       el=\E[K, home=\E[H, rmso=\E[m, smso=\E[7m, use=ansi+local1,
+       use=elks-glasstty,
 
 # As a matter of fact, ELKS 0.0.83 on PCs defaults to ANSI emulation
 # instead of VT52, but the "elks" entry still refers to the latter.
@@ -8953,12 +8882,12 @@ pccons|pcconsole|ANSI (mostly) Alpha PC console terminal emulation,
 oldsun|Sun Microsystems Workstation console,
        OTbs, am, km, mir, msgr,
        cols#80, it#8, lines#34,
-       bel=^G, clear=^L, cr=\r, cub1=^H, cud1=\E[B, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP,
-       dch1=\E[P, ed=\E[J, el=\E[K, ht=^I, ich=\E[%p1%d@, ich1=\E[@,
-       ind=\n, is1=\E[1r, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
-       kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
-       khome=\E[H, rmso=\E[m, sgr0=\E[m, smso=\E[7m, use=ansi+idl,
+       bel=^G, clear=^L, cr=\r, cub1=^H, cup=\E[%i%p1%d;%p2%dH,
+       dch=\E[%p1%dP, dch1=\E[P, ed=\E[J, el=\E[K, ht=^I,
+       ich=\E[%p1%d@, ich1=\E[@, ind=\n, is1=\E[1r, kcub1=\E[D,
+       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ,
+       kf3=\EOR, kf4=\EOS, khome=\E[H, rmso=\E[m, sgr0=\E[m,
+       smso=\E[7m, use=ansi+idl, use=ansi+local1,
 
 # From: Alexander Lukyanov <lav@video.yars.free.net>, 14 Nov 1995
 # <lines> capability later corrected by J.T. Conklin <jtc@cygnus.com>
@@ -9063,15 +8992,14 @@ sun-type4|Sun Workstation console with type 4 keyboard,
 # It supports bold, but not underline -TD (2009-09-19)
 sun-color|Sun Microsystems Workstation console with color support (IA systems),
        colors#8, ncv#3, pairs#64,
-       bold=\E[1m, cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC,
-       cuu=\E[%p1%dA, home=\E[H, op=\E[0m, setab=\E[4%p1%dm,
-       setaf=\E[3%p1%dm,
+       bold=\E[1m, cub1=^H, cud1=\n, home=\E[H, op=\E[0m,
+       setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
        setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
             %=%t3%e%p1%d%;m,
        setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
             %=%t3%e%p1%d%;m,
        sgr=\E[0%?%p6%t;1%;%?%p1%p3%|%t;7%;m, sgr0=\E[m,
-       use=sun,
+       use=ansi+local, use=sun,
 
 #### Iris consoles
 #
@@ -9270,16 +9198,15 @@ news29|news28-a|old Sony VT100 emulator 29 lines,
 nwp511|nwp-511|nwp-511 VT100,
        OTbs, OTpt, am, xenl,
        cols#80, lines#24,
-       clear=\E[;H\E[2J$<20/>, cub1=\E[D, cud1=\E[B, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A$<2/>, dl1=\E[M,
-       ed=\E[J$<30/>, el=\E[K$<3/>,
+       clear=\E[;H\E[2J$<20/>, cup=\E[%i%p1%d;%p2%dH,
+       cuu1=\E[A$<2/>, dl1=\E[M, ed=\E[J$<30/>, el=\E[K$<3/>,
        flash=\E[?5h\0\0\0\0\0\0\0\0\0\0\0\0\0\E[?5l,
        il1=\E[L, is2=\E[?5l\E[?1l\E>\E[?7h\E[?8h, kcub1=\E[D,
        kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ,
        kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\E#W, khome=\E[H,
        ri=\EM$<5/>, rmso=\E[m$<2/>, rmul=\E[m$<2/>,
        rs2=\E7\E[r\E8\E[?5l\E[?1l\E>\E[?7h\E[?8h,
-       smso=\E[7m$<2/>, smul=\E[4m$<2/>,
+       smso=\E[7m$<2/>, smul=\E[4m$<2/>, use=ansi+local1,
 # (news517: this had :TY=sjis:. --esr)
 nwp517|nwp-517|nwp-517 VT200 80 cols 30 rows,
        eslok, hs,
@@ -9305,27 +9232,26 @@ dtterm|CDE desktop terminal,
        am, mir, msgr, xenl, xon,
        cols#80, it#8, lines#24, lm#0, ncv@,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
-       dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, ech=\E[%p1%dX,
-       el1=\E[1K, enacs=\E(B\E)0, flash=\E[?5h$<200>\E[?5l,
-       home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ind=\ED,
-       invis=\E[8m, is2=\E F\E>\E[?1l\E[?7h\E[?45l, kbs=^H,
-       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\E[11~,
-       kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
-       kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
-       kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, kf20=\E[34~,
-       kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~,
-       kf8=\E[19~, kf9=\E[20~, khlp=\E[28~, nel=\EE, rev=\E[7m,
-       ri=\EM, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmso=\E[22;27m,
-       rmul=\E[24m,
+       bel=^G, bold=\E[1m, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+       dim=\E[2m, ech=\E[%p1%dX, el1=\E[1K, enacs=\E(B\E)0,
+       flash=\E[?5h$<200>\E[?5l, home=\E[H, ht=^I, hts=\EH,
+       ich=\E[%p1%d@, ind=\ED, is2=\E F\E>\E[?1l\E[?7h\E[?45l,
+       kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+       kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+       kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+       kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[12~,
+       kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~,
+       kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       khlp=\E[28~, nel=\EE, ri=\EM, rmacs=^O, rmam=\E[?7l,
+       rmir=\E[4l, rmso=\E[22;27m, rmul=\E[24m,
        sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
            %t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
        smso=\E[2;7m, smul=\E[4m, tbc=\E[3g, use=ansi+csr,
-       use=ansi+erase, use=ansi+idl, use=decid+cpr,
-       use=vt220+vtedit, use=vt220+cvis, use=ecma+color,
+       use=ansi+erase, use=ansi+idl, use=ansi+local,
+       use=ansi+sgr, use=decid+cpr, use=vt220+vtedit,
+       use=vt220+cvis, use=ecma+color,
 
 ######## Non-Unix Consoles
 #
@@ -9368,13 +9294,12 @@ ansi-color-3-emx|ANSI.SYS color 3,
 mono-emx|stupid monochrome ANSI terminal with only one kind of emphasis,
        am,
        cols#80, it#8, lines#24,
-       clear=\E[H\E[2J$<50>, cub1=\E[D, cud1=\E[B, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[K, home=\E[H,
-       ht=^I, kb2=\E[G, kbs=^H, kcub1=\0K, kcud1=\0P, kcuf1=\0M,
-       kcuu1=\0H, kf0=\0D, kf1=\0;, kf2=\0<, kf3=\0=, kf4=\0>,
-       kf5=\0?, kf6=\0@, kf7=\0A, kf8=\0B, kf9=\0C, khome=\0G,
-       kich1=\0R, kll=\0O, knp=\0Q, kpp=\0I, nel=\r\n, rev=\E[7m,
-       sgr0=\E[0m,
+       clear=\E[H\E[2J$<50>, cup=\E[%i%p1%d;%p2%dH, el=\E[K,
+       home=\E[H, ht=^I, kb2=\E[G, kbs=^H, kcub1=\0K, kcud1=\0P,
+       kcuf1=\0M, kcuu1=\0H, kf0=\0D, kf1=\0;, kf2=\0<, kf3=\0=,
+       kf4=\0>, kf5=\0?, kf6=\0@, kf7=\0A, kf8=\0B, kf9=\0C,
+       khome=\0G, kich1=\0R, kll=\0O, knp=\0Q, kpp=\0I, nel=\r\n,
+       rev=\E[7m, sgr0=\E[0m, use=ansi+local1,
 
 #### Cygwin
 
@@ -9448,14 +9373,12 @@ cygwin|ANSI emulation for Cygwin,
             \331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v
             \301w\302x\263y\363z\362{\343|\330}\234~\376,
        bel=^G, bold=\E[1m, cr=\r, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
-       el1=\E[1K, fsl=^G, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ind=\n,
-       invis=\E[8m, kb2=\E[G, kf1=\E[[A, kf10=\E[21~, kf11=\E[23~,
-       kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
-       kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
-       kf2=\E[[B, kf20=\E[34~, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E,
-       kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       cup=\E[%i%p1%d;%p2%dH, el1=\E[1K, fsl=^G, home=\E[H, ht=^I,
+       ind=\n, invis=\E[8m, kb2=\E[G, kf1=\E[[A, kf10=\E[21~,
+       kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+       kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+       kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, kf3=\E[[C, kf4=\E[[D,
+       kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
        khome=\E[1~, kspd=^Z, nel=\r\n, op=\E[39;49m, rc=\E8,
        rev=\E[7m, ri=\EM, rmacs=\E[10m, rmpch=\E[10m, rmso=\E[27m,
        rmul=\E[24m, rs1=\Ec\E]R, sc=\E7, setab=\E[4%p1%dm,
@@ -9463,9 +9386,10 @@ cygwin|ANSI emulation for Cygwin,
        sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p6%t;1%;%?%p7
            %t;8%;%?%p9%t;11%;m,
        sgr0=\E[0;10m, smacs=\E[11m, smpch=\E[11m, smso=\E[7m,
-       smul=\E[4m, tsl=\E];, vpa=\E[%i%p1%dd, use=ansi+arrows,
-       use=ansi+erase, use=ansi+idc, use=ansi+idl,
-       use=xterm+alt47, use=vt220+pcedit, use=vt102+enq,
+       smul=\E[4m, tsl=\E];, use=ansi+arrows, use=ansi+erase,
+       use=ansi+idc, use=ansi+idl, use=ansi+local,
+       use=ansi+rca2, use=xterm+alt47, use=vt220+pcedit,
+       use=vt102+enq,
 
 # I've supplied this so that you can help test new values and add other
 # features.  Cheers, earnie_boyd@yahoo.com.
@@ -9479,26 +9403,24 @@ cygwinDBG|Debug Version for Cygwin,
        acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j
             \331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v
             \301w\302x\263y\363z\362{\343|\330}\234~\376,
-       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub=\E[%p1%dD,
-       cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
-       cuu1=\E[A, dim=\E[2m, el1=\E[1K,
-       flash=\E[?5h$<200/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
-       ind=\n, invis=\E[8m, kNXT=\E[6$, kPRV=\E[5$, kb2=\E[G,
-       kcbt=\E[Z, kf1=\E[[A, kf10=\E[21~, kf11=\E[23~,
+       bel=^G, bold=\E[1m, cr=\r, cup=\E[%i%p1%d;%p2%dH,
+       dim=\E[2m, el1=\E[1K, flash=\E[?5h$<200/>\E[?5l,
+       home=\E[H, hpa=\E[%i%p1%dG, ind=\n, kNXT=\E[6$, kPRV=\E[5$,
+       kb2=\E[G, kcbt=\E[Z, kf1=\E[[A, kf10=\E[21~, kf11=\E[23~,
        kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
        kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
        kf2=\E[[B, kf20=\E[34~, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E,
        kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
-       khome=\E[1~, kspd=^Z, nel=\r\n, op=\E[39;49m, rc=\E8,
-       rev=\E[7m, ri=\EM, rmacs=\E[10m, rmso=\E[m, rmul=\E[m,
-       rs1=\Ec\E]R, sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+       khome=\E[1~, kspd=^Z, nel=\r\n, op=\E[39;49m, rc=\E8, ri=\EM,
+       rmacs=\E[10m, rmso=\E[m, rmul=\E[m, rs1=\Ec\E]R, sc=\E7,
+       setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
        sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
            %t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m,
        sgr0=\E[0;10m, smacs=\E[11m, smso=\E[7m, smul=\E[4m,
        vpa=\E[%i%p1%dd, use=ansi+arrows, use=ansi+erase,
        use=ansi+idc, use=ansi+idl, use=ansi+inittabs,
-       use=vt220+pcedit, use=vt220+cvis, use=vt102+enq,
+       use=ansi+local, use=ansi+sgr, use=vt220+pcedit,
+       use=vt220+cvis, use=vt102+enq,
 
 #### DJGPP
 
@@ -9626,23 +9548,21 @@ djgpp|ANSI emulation for DJGPP alpha,
        acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j
             \331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v
             \301w\302x\263y\363z\362{\343|\330}\234~\376,
-       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[1v,
-       cnorm=\E[v, cr=\r, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB,
-       cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
-       cvvis=\E[2v, dch=\E[%p1%dP, dch1=\E[P, ech=\E[%p1%dX,
-       el1=\E[1K, home=\E[H, hpa=\E[%i%p1%dG, ht=^I,
-       ich=\E[%p1%d@, ich1=\E[@, ind=\E[S, invis=\E[8m, kf1=\E[[A,
-       kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\E[[B,
-       kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
-       kf8=\E[19~, kf9=\E[20~, khome=\E[1~, nel=\r\n,
-       op=\E[37;40m, rev=\E[7m, ri=\E[T, rmso=\E[m,
+       bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[1v, cnorm=\E[v, cr=\r,
+       cub1=^H, cup=\E[%i%p1%d;%p2%dH, cvvis=\E[2v,
+       dch=\E[%p1%dP, dch1=\E[P, ech=\E[%p1%dX, el1=\E[1K,
+       home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@,
+       ich1=\E[@, ind=\E[S, kf1=\E[[A, kf10=\E[21~, kf11=\E[23~,
+       kf12=\E[24~, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E,
+       kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       khome=\E[1~, nel=\r\n, op=\E[37;40m, ri=\E[T, rmso=\E[m,
        setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
        sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%e;25%;%?
            %p6%t;1%;%?%p7%t;8%;m,
        sgr0=\E[m, smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd,
        use=ansi+arrows, use=ansi+erase, use=ansi+idl,
-       use=vt220+pcedit, use=ecma+index,
+       use=ansi+local, use=ansi+sgr, use=vt220+pcedit,
+       use=ecma+index,
 
 djgpp203|entry for DJGPP 2.03,
        OTbs, am,
@@ -9654,18 +9574,17 @@ djgpp204|entry for DJGPP 2.04,
        OTbs, am, AX,
        colors#8, cols#80, it#8, lines#25, ncv#3, pairs#64,
        bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[1v,
-       clear=\E[H\E[2J, cnorm=\E[v, cr=\r, cub=\E[%p1%dD,
-       cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
-       cuu1=\E[A, cvvis=\E[2v, dch=\E[%p1%dP, dch1=\E[P,
-       ech=\E[%p1%dX, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+       clear=\E[H\E[2J, cnorm=\E[v, cr=\r,
+       cup=\E[%i%p1%d;%p2%dH, cvvis=\E[2v, dch=\E[%p1%dP,
+       dch1=\E[P, ech=\E[%p1%dX, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
        ich=\E[%p1%d@, ich1=\E[@, ind=\E[S, invis=\E[8m,
        kf0=\E[21~, kf1=\E[[A, kf10=\E[21~, kf2=\E[[B, kf3=\E[[C,
        kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
        kf9=\E[20~, khome=\E[1~, kll=\E[4~, nel=\r\n, rev=\E[7m,
        ri=\E[T, rmso=\E[m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
        sgr0=\E[m, smso=\E[7m, smul=\E[4m, use=ansi+arrows,
-       use=ansi+idl, use=vt220+pcedit, use=ecma+index,
+       use=ansi+idl, use=ansi+local, use=vt220+pcedit,
+       use=ecma+index,
 
 #### U/Win
 
@@ -9780,29 +9699,28 @@ interix|opennt|opennt-25|ntconsole|ntconsole-25|OpenNT-term compatible with colo
        acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j
             \331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v
             \301w\302x\263y\363z\362{\343|\330}\234~\376,
-       bel=^G, bold=\E[1m, clear=\E[2J, cr=\r, cub=\E[%p1%dD,
-       cub1=\E[D, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
-       cuu1=\E[A, ed=\E[J, el=\E[K, home=\E[H, ht=^I, ind=\E[S,
-       kLFT=\EF\^, kRIT=\EF$, kcbt=\E[Z, kdch1=^?, kend=\E[U,
-       kf0=\EFA, kf1=\EF1, kf10=\EFA, kf11=\EFB, kf12=\EFC,
-       kf13=\EFD, kf14=\EFE, kf15=\EFF, kf16=\EFG, kf17=\EFH,
-       kf18=\EFI, kf19=\EFJ, kf2=\EF2, kf20=\EFK, kf21=\EFL,
-       kf22=\EFM, kf23=\EFN, kf24=\EFO, kf25=\EFP, kf26=\EFQ,
-       kf27=\EFR, kf28=\EFS, kf29=\EFT, kf3=\EF3, kf30=\EFU,
-       kf31=\EFV, kf32=\EFW, kf33=\EFX, kf34=\EFY, kf35=\EFZ,
-       kf36=\EFa, kf37=\EFb, kf38=\EFc, kf39=\EFd, kf4=\EF4,
-       kf40=\EFe, kf41=\EFf, kf42=\EFg, kf43=\EFh, kf44=\EFi,
-       kf45=\EFj, kf46=\EFk, kf47=\EFm, kf48=\EFn, kf49=\EFo,
-       kf5=\EF5, kf50=\EFp, kf51=\EFq, kf52=\EFr, kf53=\EFs,
-       kf54=\EFt, kf55=\EFu, kf56=\EFv, kf57=\EFw, kf58=\EFx,
-       kf59=\EFy, kf6=\EF6, kf60=\EFz, kf7=\EF7, kf8=\EF8, kf9=\EF9,
-       kich1=\E[L, kind=\EF+, kll=\E[U, knp=\E[T, kpp=\E[S,
-       kri=\EF-, ll=\E[U, nel=\r\n, op=\E[m, rc=\E[u, rev=\E[7m,
-       ri=\E[T, rmcup=\E[2b\E[u\r\E[K, rmso=\E[m, rmul=\E[m,
-       rs1=\Ec, sc=\E[s, sgr0=\E[0m, smcup=\E[s\E[1b, smso=\E[7m,
-       smul=\E[4m, use=ansi+arrows, use=ansi+idl,
-       use=ecma+index, use=klone+color,
+       bel=^G, bold=\E[1m, clear=\E[2J, cr=\r, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+       ind=\E[S, kLFT=\EF\^, kRIT=\EF$, kcbt=\E[Z, kdch1=^?,
+       kend=\E[U, kf0=\EFA, kf1=\EF1, kf10=\EFA, kf11=\EFB,
+       kf12=\EFC, kf13=\EFD, kf14=\EFE, kf15=\EFF, kf16=\EFG,
+       kf17=\EFH, kf18=\EFI, kf19=\EFJ, kf2=\EF2, kf20=\EFK,
+       kf21=\EFL, kf22=\EFM, kf23=\EFN, kf24=\EFO, kf25=\EFP,
+       kf26=\EFQ, kf27=\EFR, kf28=\EFS, kf29=\EFT, kf3=\EF3,
+       kf30=\EFU, kf31=\EFV, kf32=\EFW, kf33=\EFX, kf34=\EFY,
+       kf35=\EFZ, kf36=\EFa, kf37=\EFb, kf38=\EFc, kf39=\EFd,
+       kf4=\EF4, kf40=\EFe, kf41=\EFf, kf42=\EFg, kf43=\EFh,
+       kf44=\EFi, kf45=\EFj, kf46=\EFk, kf47=\EFm, kf48=\EFn,
+       kf49=\EFo, kf5=\EF5, kf50=\EFp, kf51=\EFq, kf52=\EFr,
+       kf53=\EFs, kf54=\EFt, kf55=\EFu, kf56=\EFv, kf57=\EFw,
+       kf58=\EFx, kf59=\EFy, kf6=\EF6, kf60=\EFz, kf7=\EF7,
+       kf8=\EF8, kf9=\EF9, kich1=\E[L, kind=\EF+, kll=\E[U,
+       knp=\E[T, kpp=\E[S, kri=\EF-, ll=\E[U, nel=\r\n, op=\E[m,
+       rc=\E[u, rev=\E[7m, ri=\E[T, rmcup=\E[2b\E[u\r\E[K,
+       rmso=\E[m, rmul=\E[m, rs1=\Ec, sc=\E[s, sgr0=\E[0m,
+       smcup=\E[s\E[1b, smso=\E[7m, smul=\E[4m, use=ansi+arrows,
+       use=ansi+idl, use=ansi+local, use=ecma+index,
+       use=klone+color,
 
 opennt-35|ntconsole-35|OpenNT-term35 compatible with color,
        lines#35, use=opennt,
@@ -10378,10 +10296,9 @@ hpansi|hp700|Hewlett Packard 700/44 in HP-PCterm mode,
        cols#80, lines#25,
        acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x
             \263,
-       bel=^G, cbt=\E[Z, clear=\E[2J\E[H, cr=\r, cub1=\E[D,
-       cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
-       dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
-       ich1=\E[@, il1=\E[L, ind=\n,
+       bel=^G, cbt=\E[Z, clear=\E[2J\E[H, cr=\r,
+       cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, dl1=\E[M, ed=\E[J,
+       el=\E[K, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L, ind=\n,
        is2=\E[44"p\E[?7h\E[>10h\E[>12h\EP1;1|3/7F\E\\,
        kcbt=\E[Z, kend=\E[4~, kf1=\E[17~, kf10=\E[28~, kf2=\E[18~,
        kf3=\E[19~, kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, kf7=\E[24~,
@@ -10390,7 +10307,7 @@ hpansi|hp700|Hewlett Packard 700/44 in HP-PCterm mode,
        rmso=\E[m, rmul=\E[m, sgr0=\E[m, smam=\E[?7h,
        smsc=\E[>11h\EPO**x0/65;1/67\E\\$<250>, smso=\E[7m,
        smul=\E[4m, xoffc=g, xonc=e, use=ansi+arrows,
-       use=vt220+cvis,
+       use=ansi+local1, use=vt220+cvis,
 #
 # (hp2392: copied <rmir> here from hpex -- esr)
 hp2392|239x series,
@@ -11006,18 +10923,16 @@ adm1178|1178|LSI adm1178,
 pt100|pt200|wren|fenix|Prime pt100/pt200,
        am, bw, mir, msgr,
        cols#80, it#8, lines#24,
-       cbt=\E[Z, clear=\E?, cr=\r, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\ED, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E0%p1%{33}%+%c%p2%{33}%+%c, cuu=\E[%p1%dA,
-       cuu1=\EM, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl1=\E[M,
-       ed=\E[J\E[r, el=\E[K\E[t, flash=\E$$<200/>\E$P,
-       home=\E$B, ht=^I, il1=\E[L\E[t, ind=\n, khome=\E$A, nel=\r\n,
-       rmcup=, rmir=\E[4l, rmkx=\E[>13l, rmso=\E[m, rmul=\E[m,
-       sgr0=\E[m,
+       cbt=\E[Z, clear=\E?, cr=\r, cub1=^H, cud1=\ED,
+       cup=\E0%p1%{33}%+%c%p2%{33}%+%c, cuu1=\EM,
+       dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl1=\E[M, ed=\E[J\E[r,
+       el=\E[K\E[t, flash=\E$$<200/>\E$P, home=\E$B, ht=^I,
+       il1=\E[L\E[t, ind=\n, khome=\E$A, nel=\r\n, rmcup=,
+       rmir=\E[4l, rmkx=\E[>13l, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
        smcup=\E[>1l\E[>2l\E[>16l\E[4l\E[>9l\E[20l\E[>3l\E[>7h\E[>12
              l\E[1Q,
        smir=\E[4h, smkx=\E[>13h, smso=\E[2;7m, smul=\E[4m,
-       use=ansi+arrows,
+       use=ansi+arrows, use=ansi+local,
 
 pt100w|pt200w|wrenw|fenixw|Prime pt100/pt200 in 132-column mode,
        cols#132,
@@ -11093,9 +11008,8 @@ qvt103|Qume qvt 103,
        am, xenl, xon,
        cols#80, it#8, lines#24, vt#3,
        bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
-       clear=\E[H\E[2J$<50>, cr=\r, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C$<2>,
-       cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA,
+       clear=\E[H\E[2J$<50>, cr=\r, cub1=^H, cud1=\n,
+       cuf1=\E[C$<2>, cup=\E[%i%p1%d;%p2%dH$<5>,
        cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I,
        hts=\EH, ind=\n, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
        kcuu1=\EOA, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
@@ -11106,6 +11020,7 @@ qvt103|Qume qvt 103,
            %;m$<2>,
        sgr0=\E[m$<2>, smam=\E[?7h, smkx=\E[?1h\E=,
        smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, use=ansi+csr,
+       use=ansi+local,
 
 qvt103-w|Qume qvt103 132 cols,
        cols#132, lines#24,
@@ -12189,10 +12104,9 @@ tvi9065|TeleVideo 9065,
        wnum#0, wsl#30,
        acsc='r0_jhkglfmeniopqksqtmulvownxj, bel=^G,
        blink=\EG2, bold=\EG\,, cbt=\EI, civis=\E.0, clear=^Z,
-       cnorm=\E.3, cr=\r, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=^V, cuf=\E[%p1%dC, cuf1=^L,
-       cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu=\E[%p1%dA,
-       cuu1=^K, cvvis=\E.2, dch=\E[%p1%dP, dch1=\EW, dim=\EGp,
+       cnorm=\E.3, cr=\r, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^V,
+       cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+       cvvis=\E.2, dch=\E[%p1%dP, dch1=\EW, dim=\EGp,
        dl=\E[%p1%dM, dl1=\ER, dsl=\E_30\r, ech=\E[%p1%d@, ed=\EY,
        el=\ET, flash=\Eb$<15>\Ed, fsl=\r, home=^^, ht=^I, hts=\E1,
        ich=\E[%p1%d@, if=/usr/share/tabset/stdcrt,
@@ -12224,7 +12138,8 @@ tvi9065|TeleVideo 9065,
            %p9%t\E$%e\E%%%;,
        sgr0=\EG0\E%, smacs=\E$, smam=\E=7h, smcup=\E.2, smdc=\Er,
        smir=\Eq, smln=\E[4;2v, smso=\EGt, smul=\EG8, smxon=^O,
-       tbc=\E3, tsl=\E[4;1v\E_30, uc=\EG8\EG0, use=ecma+index,
+       tbc=\E3, tsl=\E[4;1v\E_30, uc=\EG8\EG0, use=ansi+local,
+       use=ecma+index,
 
 #### Visual (vi)
 #
@@ -12321,17 +12236,17 @@ vi200-rv|Visual 200 reverse video,
 vi300|Visual 300 ANSI x3.64,
        am, bw, mir, xenl,
        cols#80, lines#24,
-       bel=^G, cbt=\E[Z, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\E[B,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
-       dch1=\E[P$<40>, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
-       il1=\E[L, ind=\n,
+       bel=^G, cbt=\E[Z, clear=\E[H\E[2J, cr=\r, cub1=^H,
+       cup=\E[%i%p1%d;%p2%dH, dch1=\E[P$<40>, dl1=\E[M, ed=\E[J,
+       el=\E[K, home=\E[H, ht=^I, il1=\E[L, ind=\n,
        is2=\E[7s\E[2;3;4;20;?5;?6l\E[12;?7h\E[1Q\E[0;1(D\E[8s,
        kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
        kf1=\E_A\E\\, kf2=\E_B\E\\, kf3=\E_C\E\\, kf4=\E_D\E\\,
        kf5=\E_E\E\\, kf6=\E_F\E\\, kf7=\E_G\E\\, kf8=\E_H\E\\,
        kf9=\E_I\E\\, khome=\E[H, ri=\EM, rmam=\E[?7l, rmir=\E[4l,
        rmso=\E[m, rmul=\E[m, sgr0=\E[m, smam=\E[?7h, smir=\E[4h,
-       smso=\E[1m, smul=\E[4m,
+       smso=\E[1m, smul=\E[4m, use=ansi+local1,
+
 # some of the vi300s have older firmware that has the command
 # sequence for setting editing extent reversed.
 vi300-old|Visual 300 with old firmware (set edit extent reversed),
@@ -12819,10 +12734,10 @@ wy99gt-w-vb|wy99gt-wvb|wyse99gt-wvb|Wyse 99gt 132-column visible bell,
 # not, so smir and rmir are commented out as well.
 # From: Francesco Potorti` <F.Potorti@cnuce.cnr.it>, 24 Aug 1998
 wy99-ansi|Wyse WY-99GT in ANSI mode (int'l PC keyboard),
-       am, km, mc5i, mir, msgr, xenl,
+       am, km, mir, msgr, xenl,
        cols#80, it#8, lines#25, vt#3,
        acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+       bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
        clear=\E[H\E[J$<200>, cnorm=\E[34h\E[?25h, cr=\r,
        cub=\E[%p1%dD$<1>, cub1=\010$<1>, cud=\E[%p1%dB,
        cud1=\ED, cuf=\E[%p1%dC$<1>, cuf1=\E[C$<1>,
@@ -12830,7 +12745,7 @@ wy99-ansi|Wyse WY-99GT in ANSI mode (int'l PC keyboard),
        cvvis=\E[34l\E[?25h, dim=\E[2m, ech=\E[%p1%dX,
        ed=\E[J$<8*>, el=\E[K$<1>, el1=\E[1K$<1>, enacs=\E)0,
        flash=\E[?5h$<30/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
-       ht=^I, ich=\E[%p1%d@, ind=\n$<1>, invis=\E[8m,
+       ht=^I, ich=\E[%p1%d@, ind=\n$<1>,
        is2=\E7\E[1r\E8\E[2;3;4;13;20;34;39;36l\E[12;16;34h\E[?1;3;4
            ;5;10;18l\E[?7;8;25h\E>\E[?5W\E(B\017\E[4i,
        kbs=^H, kcbt=\E[z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
@@ -12839,9 +12754,8 @@ wy99-ansi|Wyse WY-99GT in ANSI mode (int'l PC keyboard),
        kf20=\E[33~, kf21=\E[34~, kf22=\E[35~, kf23=\E[1~,
        kf24=\E[2~, kf3=\EOR, kf4=\EOS, kf5=\E[M, kf6=\E[17~,
        kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, ll=\E[24E, mc0=\E[?19h,
-       mc4=\E[4i, mc5=\E[5i, nel=\EE, prot=\E[1"q, rev=\E[7m,
-       ri=\EM, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l,
-       rmso=\E[27m, rmul=\E[24m,
+       nel=\EE, prot=\E[1"q, ri=\EM, rmacs=^O, rmam=\E[?7l,
+       rmir=\E[4l, rmkx=\E[?1l, rmso=\E[27m, rmul=\E[24m,
        rs2=\E[61"p\E[40h\E[?6l\E[1r\E[2;3;4;13;20;34;39;36l\E[12;16
            ;34h\E[?1;3;4;5;10;18l\E[?7;8;25h\E>\E[?5W\E(B\017\E[24E
            \E[4i,
@@ -12849,7 +12763,7 @@ wy99-ansi|Wyse WY-99GT in ANSI mode (int'l PC keyboard),
            %p5%t;2%;%?%p7%t;8%;m\E[%?%p8%t1%;"q%?%p9%t\016%e\017%;,
        sgr0=\E[m\017\E["q, smacs=^N, smam=\E[?7h, smir=\E[4h,
        smkx=\E[?1h, smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd,
-       use=ansi+csr, use=ansi+idl,
+       use=ansi+csr, use=ansi+idl, use=ansi+pp, use=ansi+sgr,
 
 #   This is the american terminal. Here tabs work fine.
 # From: Francesco Potorti` <F.Potorti@cnuce.cnr.it>, 24 Aug 1998
@@ -13002,20 +12916,19 @@ wy160-w-vb|wy160-wvb|wyse160-wvb|Wyse 160 132-column visible bell,
 #      to correctly handle multiple attributes on a screen.
 #
 wy75|wyse75|Wyse 75,
-       am, hs, mc5i, mir, msgr, xenl, xon,
+       am, hs, mir, msgr, xenl, xon,
        cols#80, lines#24, ma#1, pb#1201, wsl#78,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, cbt=\E[Z, clear=\E[H\E[J$<30>, cr=\r,
-       csr=\E[%i%p1%d;%p2%dr$<2>, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
-       dch=\E[%p1%dP$<3*>, dch1=\E[P$<3>, dim=\E[0t\E[2m,
-       dl=\E[%p1%dM$<1*>, dl1=\E[M,
-       dsl=\E[>\,\001\001\E[>-\001\001, ech=\E[%p1%dX,
-       ed=\E[J$<30>, el=\E[K$<3>, el1=\E[1K$<3>, enacs=\E)0,
-       flash=\E[30h\E\,$<250/>\E[30l, fsl=^A, home=\E[H,
-       hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@$<1*>,
-       il=\E[%p1%dL$<2*>, il1=\E[L$<2>, ind=\n$<2>, ip=$<1>,
+       csr=\E[%i%p1%d;%p2%dr$<2>, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP$<3*>,
+       dch1=\E[P$<3>, dim=\E[0t\E[2m, dl=\E[%p1%dM$<1*>,
+       dl1=\E[M, dsl=\E[>\,\001\001\E[>-\001\001,
+       ech=\E[%p1%dX, ed=\E[J$<30>, el=\E[K$<3>, el1=\E[1K$<3>,
+       enacs=\E)0, flash=\E[30h\E\,$<250/>\E[30l, fsl=^A,
+       home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH,
+       ich=\E[%p1%d@$<1*>, il=\E[%p1%dL$<2*>, il1=\E[L$<2>,
+       ind=\n$<2>, ip=$<1>,
        is1=\E[2;4;20;30l\E[?1;10l\E[12h\E[?7;8;25h,
        is2=\E>\E(B\E)0\017, is3=\E[m, kdl1=\E[M, kel=\E[K,
        kf1=\E[?5i, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
@@ -13024,18 +12937,18 @@ wy75|wyse75|Wyse 75,
        kf20=\E[34~, kf21=\E[35~, kf3=\E[2i, kf4=\E[@, kf5=\E[M,
        kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~,
        khlp=\E[28~, kich1=\E[@, kil1=\E[L, knp=\E[6~, kpp=\E[5~,
-       kprt=\E[?5i, kslt=\E[4~, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i,
-       rc=\E8, rev=\E[1t\E[7m, ri=\EM$<2>, rmacs=^O, rmam=\E[?7l,
-       rmir=\E[4l, rmkx=\E>, rmso=\E[m, rmul=\E[m,
-       rs1=\E[13l\E[3l\E!p, rs2=\E[35h\E[?3l$<80>, rs3=\E[?5l,
-       sc=\E7,
+       kprt=\E[?5i, kslt=\E[4~, mc0=\E[0i, rc=\E8, rev=\E[1t\E[7m,
+       ri=\EM$<2>, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>,
+       rmso=\E[m, rmul=\E[m, rs1=\E[13l\E[3l\E!p,
+       rs2=\E[35h\E[?3l$<80>, rs3=\E[?5l, sc=\E7,
        sgr=%?%p5%t\E[0t%;%?%p3%p1%|%t\E[1t%;%?%p2%t\E[2t%;%?%p4%t
            \E[3t%;%?%p1%p2%p3%p4%p5%|%|%|%|%t\E[7m%e\E[m%;%?%p9%t
            \016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
        smkx=\E[?1l\E[?7h\E=, smso=\E[1t\E[7m, smul=\E[2t\E[4m,
        tbc=\E[3g, tsl=\E[>\,\001, use=ansi+arrows,
-       use=decid+cpr, use=vt220+cvis, use=vt220+keypad,
+       use=ansi+local, use=ansi+pp, use=decid+cpr,
+       use=vt220+cvis, use=vt220+keypad,
 #
 #      This terminal description uses the non-hidden attribute mode
 #      (with magic cookie).
@@ -13073,36 +12986,34 @@ wy75-wvb|wyse75-wvb|Wyse 75 with visible bell 132 columns,
 #      <dch> leave trash on the screen when used without XON/XOFF.
 #
 wy85|wyse85|Wyse 85,
-       am, hs, mc5i, mir, msgr, xenl, xon,
+       am, hs, mir, msgr, xenl, xon,
        cols#80, lines#24, wsl#80,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J$<110>,
-       cr=\r, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH$<1>,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP$<3*>,
-       dch1=\E[P$<3>, dim=\E[2m, dl=\E[%p1%dM$<3*>,
-       dl1=\E[M$<3>, dsl=\E[40l, ech=\E[%p1%dX, ed=\E[J$<110>,
-       el=\E[K$<1>, el1=\E[1K, enacs=\E)0,
-       flash=\E[30h\E\,$<300/>\E[30l, fsl=\E[1;24r\E8,
-       home=\E[H, ht=\011$<1>, ich=\E[%p1%d@$<4*>,
-       il=\E[%p1%dL$<5*>, il1=\E[L$<5>, ind=\n$<3>, invis=\E[8m,
-       ip=$<3>, is1=\E[62;1"p\E[?5W,
+       bel=^G, bold=\E[1m, clear=\E[H\E[J$<110>, cr=\r, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, cup=\E[%i%p1%d;%p2%dH$<1>,
+       dch=\E[%p1%dP$<3*>, dch1=\E[P$<3>, dim=\E[2m,
+       dl=\E[%p1%dM$<3*>, dl1=\E[M$<3>, dsl=\E[40l,
+       ech=\E[%p1%dX, ed=\E[J$<110>, el=\E[K$<1>, el1=\E[1K,
+       enacs=\E)0, flash=\E[30h\E\,$<300/>\E[30l,
+       fsl=\E[1;24r\E8, home=\E[H, ht=\011$<1>,
+       ich=\E[%p1%d@$<4*>, il=\E[%p1%dL$<5*>, il1=\E[L$<5>,
+       ind=\n$<3>, ip=$<3>, is1=\E[62;1"p\E[?5W,
        is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h$<16>,
        is3=\E>\E(B\E)0\017\E[m, kf10=\E[21~, kf11=\E[23~,
        kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
        kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
        kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
        kf9=\E[20~, khlp=\E[28~, khome=\E[26~, lf1=PF1, lf2=PF2,
-       lf3=PF3, lf4=PF4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rev=\E[7m,
-       ri=\EM$<3>, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>,
-       rmso=\E[m, rmul=\E[m, rs1=\E[13l\E[3l\E!p,
-       rs2=\E[35h\E[?3l$<70>, rs3=\E[?5l,
+       lf3=PF3, lf4=PF4, mc0=\E[0i, ri=\EM$<3>, rmacs=^O,
+       rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rmso=\E[m, rmul=\E[m,
+       rs1=\E[13l\E[3l\E!p, rs2=\E[35h\E[?3l$<70>, rs3=\E[?5l,
        sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?
            %p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
        smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m,
        tsl=\E[40h\E7\E[25;%i%p1%dH, use=ansi+arrows,
-       use=ansi+csr, use=ansi+inittabs, use=decid+cpr,
+       use=ansi+csr, use=ansi+inittabs, use=ansi+local,
+       use=ansi+pp, use=ansi+sgr, use=decid+cpr,
        use=vt220+vtedit, use=vt220+cvis, use=vt220+keypad,
 #
 #      Wyse 85 with visual bell.
@@ -13129,20 +13040,18 @@ wy85-wvb|wyse85-wvb|Wyse 85 with visible bell 132-columns,
 # terminfo should reflect the manufacturer's intended behaviour of the terminal
 # or the actual."
 wy85-8bit|wyse85-8bit|Wyse 85 in 8-bit mode,
-       am, hs, mc5i, mir, msgr, xenl, xon,
+       am, hs, mir, msgr, xenl, xon,
        cols#80, lines#24, wsl#80,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J$<110>,
-       cr=\r, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH$<1>,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP$<3*>,
+       bel=^G, bold=\E[1m, clear=\E[H\E[J$<110>, cr=\r, cub1=^H,
+       cud1=\n, cup=\E[%i%p1%d;%p2%dH$<1>, dch=\E[%p1%dP$<3*>,
        dch1=\E[P$<3>, dim=\E[2m, dl=\E[%p1%dM$<3*>,
        dl1=\E[M$<3>, dsl=\E[40l, ech=\E[%p1%dX, ed=\E[J$<110>,
        el=\E[K$<1>, el1=\E[1K, enacs=\E)0,
        flash=\E[30h\E\,$<300/>\E[30l, fsl=\E[1;24r\E8,
        home=\E[H, ht=\011$<1>, ich=\E[%p1%d@$<4*>,
-       il=\E[%p1%dL$<5*>, il1=\E[L$<5>, ind=\n$<3>, invis=\E[8m,
-       ip=$<3>, is1=\E[62;1"p\E[?5W,
+       il=\E[%p1%dL$<5*>, il1=\E[L$<5>, ind=\n$<3>, ip=$<3>,
+       is1=\E[62;1"p\E[?5W,
        is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h$<16>,
        is3=\E>\E(B\E)0\017\E[m, ka1=\EOw, ka3=\EOy, kb2=\EOu,
        kbs=^H, kc1=\EOq, kc3=\EOs, kcub1=\233D, kcud1=\233B,
@@ -13154,15 +13063,16 @@ wy85-8bit|wyse85-8bit|Wyse 85 in 8-bit mode,
        kf8=\23319~, kf9=\23320~, kfnd=\2331~, khlp=\23328~,
        khome=\23326~, kich1=\2332~, knp=\2336~, kpp=\2335~,
        kslt=\2334~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i,
-       mc4=\E[4i, mc5=\E[5i, rev=\E[7m, ri=\EM$<3>, rmacs=^O,
-       rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rmso=\E[m, rmul=\E[m,
-       rs1=\E[13l\E[3l\E!p, rs2=\E[35h\E[?3l$<70>, rs3=\E[?5l,
+       ri=\EM$<3>, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>,
+       rmso=\E[m, rmul=\E[m, rs1=\E[13l\E[3l\E!p,
+       rs2=\E[35h\E[?3l$<70>, rs3=\E[?5l,
        sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?
            %p6%t;1%;%?%p7%t;8%;+m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
        smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m,
        tsl=\E[40h\E7\E[25;%i%p1%dH, use=ansi+csr,
-       use=ansi+inittabs, use=decid+cpr, use=vt220+cvis,
+       use=ansi+inittabs, use=ansi+local, use=ansi+pp,
+       use=ansi+sgr, use=decid+cpr, use=vt220+cvis,
 #
 #      Wyse 185 emulating a VT320 7 bit mode.
 #
@@ -13175,39 +13085,38 @@ wy85-8bit|wyse85-8bit|Wyse 85 in 8-bit mode,
 #      by set-up.
 #
 wy185|wyse185|Wyse 185,
-       am, hs, km, mc5i, mir, msgr, xenl, xon,
+       am, hs, km, mir, msgr, xenl, xon,
        cols#80, lines#24, wsl#80,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
-       clear=\E[H\E[J$<40>, cnorm=\E[34h\E[?25h, cr=\r,
-       csr=\E[%i%p1%d;%p2%dr$<20>, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+       bel=^G, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[J$<40>,
+       cnorm=\E[34h\E[?25h, cr=\r, csr=\E[%i%p1%d;%p2%dr$<20>,
+       cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH,
        cvvis=\E[?25h\E[34l, dch=\E[%p1%dP$<3>, dch1=\E[P$<3>,
        dim=\E[2m, dl=\E[%p1%dM$<2*>, dl1=\E[M$<2>,
        dsl=\E7\E[99;0H\E[K\E8, ech=\E[%p1%dX, ed=\E[J$<40>,
        el=\E[K, el1=\E[1K, enacs=\E)0,
        flash=\E[30h\E\,$<100/>\E[30l, fsl=\E[1;24r\E8,
        home=\E[H, hpa=\E[%i%p1%d`, ich=\E[%p1%d@$<2>,
-       il=\E[%p1%dL$<3*>, il1=\E[L$<3>, ind=\n$<2>, invis=\E[8m,
-       ip=$<4>, is1=\E[?5W,
+       il=\E[%p1%dL$<3*>, il1=\E[L$<3>, ind=\n$<2>, ip=$<4>,
+       is1=\E[?5W,
        is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h,
        is3=\E>\E(B\E)0\017\E[m, kcbt=\E[Z, kf10=\E[21~,
        kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
        kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
        kf19=\E[33~, kf20=\E[34~, kf6=\E[17~, kf7=\E[18~,
        kf8=\E[19~, kf9=\E[20~, khlp=\E[28~, khome=\E[26~, lf1=PF1,
-       lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i,
-       rc=\E8, rev=\E[7m, ri=\EM$<2>, rmacs=^O, rmam=\E[?7l,
-       rmcup=\E[ R, rmir=\E[4l, rmkx=\E>, rmso=\E[27m,
-       rmul=\E[24m, rs1=\E[13l\E[3l\E\\\E[63;1"p\E[!p,
-       rs2=\E[35h\E[?3l, rs3=\E[?5l\E[47h\E[40l\E[r, sc=\E7,
+       lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i, rc=\E8, ri=\EM$<2>,
+       rmacs=^O, rmam=\E[?7l, rmcup=\E[ R, rmir=\E[4l, rmkx=\E>,
+       rmso=\E[27m, rmul=\E[24m,
+       rs1=\E[13l\E[3l\E\\\E[63;1"p\E[!p, rs2=\E[35h\E[?3l,
+       rs3=\E[?5l\E[47h\E[40l\E[r, sc=\E7,
        sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?
            %p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[ Q,
        smir=\E[4h, smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m,
        tsl=\E7\E[99;%i%p1%dH, vpa=\E[%i%p1%dd,
-       use=ansi+arrows, use=ansi+inittabs, use=decid+cpr,
+       use=ansi+arrows, use=ansi+inittabs, use=ansi+local,
+       use=ansi+pp, use=ansi+sgr, use=decid+cpr,
        use=vt220+vtedit, use=vt220+keypad,
 #
 #      Wyse 185 with 24 data lines and top status (terminal status)
@@ -13353,14 +13262,12 @@ wy325-43w-vb|wy325-43wvb|Wyse-325 43 lines wide mode visual bell,
 #
 # Bug: The <op> capability resets attributes.
 wy370-nk|Wyse 370 without function keys,
-       am, ccc, hs, mc5i, mir, msgr, xenl, xon,
+       am, ccc, hs, mir, msgr, xenl, xon,
        colors#64, cols#80, lines#24, ncv#48, pairs#64, wsl#80,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
-       clear=\E[H\E[J$<40>, cnorm=\E[34h\E[?25h, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH$<1>,
-       cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[?25h\E[34l,
+       bel=^G, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[J$<40>,
+       cnorm=\E[34h\E[?25h, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH$<1>, cvvis=\E[?25h\E[34l,
        dch=\E[%p1%dP$<1*>, dch1=\E[P$<1>, dclk=\E[31h,
        dim=\E[2m, dl=\E[%p1%dM$<2*>, dl1=\E[M$<2>, dsl=\E[40l,
        ech=\E[%p1%dX$<.1*>, ed=\E[J$<40>, el=\E[K$<10>,
@@ -13374,15 +13281,14 @@ wy370-nk|Wyse 370 without function keys,
              %{500}%<%t%{4}%e%p3%{750}%<%t%{8}%e%{12}%;%?%p4%{250}
              %<%t%{0}%e%p4%{500}%<%t%{1}%e%p4%{750}%<%t%{2}%e%{3}%;
              %{1}%+%+%+%dw,
-       invis=\E[8m, ip=$<1>, is1=\E[90;1"p\E[?5W$<6>,
+       ip=$<1>, is1=\E[90;1"p\E[?5W$<6>,
        is2=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h,
-       is3=\E>\017\E)0\E(B\E[63;0w\E[m, mc0=\E[0i, mc4=\E[4i,
-       mc5=\E[5i,
+       is3=\E>\017\E)0\E(B\E[63;0w\E[m, mc0=\E[0i,
        oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w
           \E[66;5;51w\E[66;6;61w\E[66;7;64w,
-       op=\E[m, rev=\E[7m, ri=\EM$<2>, rmacs=^O, rmam=\E[?7l,
-       rmclk=\E[31l, rmcup=\E[ R, rmir=\E[4l, rmkx=\E>,
-       rmso=\E[27m, rmul=\E[24m, rs1=\E[13l\E[3l\E!p\E[?4i,
+       op=\E[m, ri=\EM$<2>, rmacs=^O, rmam=\E[?7l, rmclk=\E[31l,
+       rmcup=\E[ R, rmir=\E[4l, rmkx=\E>, rmso=\E[27m,
+       rmul=\E[24m, rs1=\E[13l\E[3l\E!p\E[?4i,
        rs2=\E[35h\E[?3l$<8>, rs3=\E[?5l, setb=\E[62;%p1%dw,
        setf=\E[61;%p1%dw,
        sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?
@@ -13392,7 +13298,8 @@ wy370-nk|Wyse 370 without function keys,
        tsl=\E[40l\E[40h\E7\E[99;%i%p1%dH, u0=\E[?38h\E8,
        u1=\E[?38l\E)0, u2=\E[92;52"p, u3=\E~B, u4=\E[92;76"p,
        u5=\E%!1\E[90;1"p, vpa=\E[%i%p1%dd, use=ansi+csr,
-       use=ansi+inittabs, use=decid+cpr,
+       use=ansi+inittabs, use=ansi+local, use=ansi+pp,
+       use=ansi+sgr, use=decid+cpr,
 #
 #      Function key set for the ASCII (wy-50 compatible) keyboard
 #      This is the default 370.
@@ -13515,28 +13422,26 @@ wy370-tek|Wyse 370 Tektronix 4010/4014 emulator,
 #         with SCO applications.
 #
 wy520|wyse520|Wyse 520,
-       am, hs, km, mc5i, mir, xenl, xon,
+       am, hs, km, mir, xenl, xon,
        cols#80, it#8, lines#24, wsl#80,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+       bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
        clear=\E[H\E[J$<40>, cnorm=\E[34h\E[?25h, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[?25h\E[34l,
+       csr=\E[%i%p1%d;%p2%dr$<20>, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, cvvis=\E[?25h\E[34l,
        dch=\E[%p1%dP$<3>, dch1=\E[P$<30>, dim=\E[2m,
        dl=\E[%p1%dM$<2*>, dl1=\E[M$<2>, dsl=\E[0$~,
        ech=\E[%p1%dX, ed=\E[J$<40>, el=\E[K, el1=\E[1K,
        enacs=\E)0, fsl=\E[0$}, home=\E[H, hpa=\E[%i%p1%d`, ht=^I,
        hts=\EH, ich=\E[%p1%d@$<2>, il=\E[%p1%dL$<3*>,
-       il1=\E[L$<3>, ind=\n$<2>, invis=\E[8m, ip=$<4>, is1=\E[?5W,
+       il1=\E[L$<3>, ind=\n$<2>, ip=$<4>, is1=\E[?5W,
        is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25;67h,
        is3=\E>\E(B\E)0\017\E[m, kcbt=\E[Z, ked=\E[1~, kel=\E[4~,
-       kent=\EOM, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
-       kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
-       kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf20=\E[34~,
-       kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
-       khlp=\E[28~, khome=\E[26~, lf1=PF1, lf2=PF2, lf3=PF3,
-       lf4=PF4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rev=\E[7m,
+       kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+       kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
+       kf18=\E[32~, kf19=\E[33~, kf20=\E[34~, kf6=\E[17~,
+       kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khlp=\E[28~,
+       khome=\E[26~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i,
        ri=\EM$<2>, rmacs=^O, rmam=\E[?7l, rmcup=\E[ R, rmir=\E[4l,
        rmso=\E[m, rmul=\E[24m,
        rs1=\E[13l\E[3l\E\\\E[63;1"p\E[!p, rs2=\E[35h\E[?3l,
@@ -13547,7 +13452,8 @@ wy520|wyse520|Wyse 520,
        smcup=\E[ Q\E[?67;8h, smir=\E[4h, smso=\E[7m, smul=\E[4m,
        tbc=\E[3g, tsl=\E[2$~\E[1$}\E[%i%p1%d`,
        vpa=\E[%i%p1%dd, use=ansi+arrows, use=ansi+csr,
-       use=decid+cpr, use=vt220+vtedit, use=vt220+keypad,
+       use=ansi+local, use=ansi+pp, use=ansi+sgr, use=decid+cpr,
+       use=vt220+vtedit, use=vt220+keypad,
 #
 #       Wyse 520 with 24 data lines and status (terminal status)
 wy520-24|wyse520-24|Wyse 520 with 24 data lines,
@@ -13783,10 +13689,8 @@ vt320-k3|MS-Kermit 3.00's VT320 emulation,
        am, eslok, hs, km, mir, msgr, xenl,
        cols#80, it#8, lines#49, pb#9600, vt#3,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, cmdch=\E, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+       bel=^G, blink=\E[5m, bold=\E[1m, cmdch=\E, cr=\r, cub1=^H,
+       cud1=\n, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
        dsl=\E[0$~, ech=\E[%p1%dX,
        flash=\E[?5h$<100/>\E[?5l\E[?5h$<100/>\E[?5l\E[?5h$<100/>\E[
              ?5l,
@@ -13804,7 +13708,8 @@ vt320-k3|MS-Kermit 3.00's VT320 emulation,
        sgr0=\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
        smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
        tsl=\E[1$}\r\E[K, vpa=\E[%i%p1%dd, use=ansi+csr,
-       use=ansi+erase, use=ansi+idl, use=vt220+cvis,
+       use=ansi+erase, use=ansi+idl, use=ansi+local,
+       use=vt220+cvis,
 
 # From: Joseph Gil <yogi@cs.ubc.ca> 13 Dec 1991
 # ACS capabilities from Philippe De Muyter  <phdm@info.ucl.ac.be> 30 May 1996
@@ -13814,12 +13719,10 @@ vt320-k311|DEC VT320 series as defined by kermit 3.11,
        cols#80, it#8, lines#24, vt#3,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[;H\E[2J, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
-       dsl=\E[2$~\r\E[1$}\E[K\E[$}, ed=\E[J, el=\E[K,
+       cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP,
+       dch1=\E[P, dsl=\E[2$~\r\E[1$}\E[K\E[$}, ed=\E[J, el=\E[K,
        flash=\E[?5h$<100/>\E[?5l, fsl=\E[$}, home=\E[H, ht=^I,
-       hts=\EH, ich=\E[%p1%d@, ind=\ED,
+       hts=\EH, ich=\E[%p1%d@, il1=\E[L$<3/>, ind=\ED,
        is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H,
        kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
        kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~,
@@ -13830,7 +13733,7 @@ vt320-k311|DEC VT320 series as defined by kermit 3.11,
        rmul=\E[24m, rs1=\E[?3l, sgr0=\E[m, smacs=^N, smam=\E[?7h,
        smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
        tbc=\E[3g, tsl=\E[2$~\E[1$}\E[1;%dH, use=ansi+csr,
-       use=ansi+idl, use=vt220+cvis,
+       use=ansi+idl, use=ansi+local, use=vt220+cvis,
 
 ######## NON-ANSI TERMINAL EMULATIONS
 #
@@ -14005,18 +13908,17 @@ MtxOrb162|16x2 Matrix Orbital LCD display,
 att2300|sv80|AT&T 2300 Video Information Terminal 80 column mode,
        am, eo, mir, msgr, xon,
        cols#80, it#8, lines#24,
-       bel=^G, cr=\r, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB,
-       cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
-       el1=\E[1K, home=\E[H, ht=^I, ich=\E[%p1%d@, ind=\n,
-       kcbt=\E[Z, kclr=\E[J, kdch1=\E[P, kdl1=\E[M, kf1=\E[1r,
-       kf10=\E[10r, kf11=\E[11r, kf12=\E[12r, kf13=\E[13r,
-       kf14=\E[14r, kf15=\E[15r, kf16=\E[16r, kf2=\E[2r,
-       kf3=\E[3r, kf4=\E[4r, kf5=\E[5r, kf6=\E[6r, kf7=\E[7r,
-       kf8=\E[8r, kf9=\E[9r, kich1=\E[@, kil1=\E[L, mc0=\E[0i,
-       mc4=\E[4i, mc5=\E[5i, rev=\E[7m, rmir=\E[4l, rmso=\E[m,
-       sgr0=\E[m, smir=\E[4h, smso=\E[7m, use=ansi+arrows,
-       use=ansi+cpr, use=ansi+erase, use=ansi+idl,
+       bel=^G, cr=\r, cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH,
+       dch=\E[%p1%dP, dch1=\E[P, el1=\E[1K, home=\E[H, ht=^I,
+       ich=\E[%p1%d@, ind=\n, kcbt=\E[Z, kclr=\E[J, kdch1=\E[P,
+       kdl1=\E[M, kf1=\E[1r, kf10=\E[10r, kf11=\E[11r,
+       kf12=\E[12r, kf13=\E[13r, kf14=\E[14r, kf15=\E[15r,
+       kf16=\E[16r, kf2=\E[2r, kf3=\E[3r, kf4=\E[4r, kf5=\E[5r,
+       kf6=\E[6r, kf7=\E[7r, kf8=\E[8r, kf9=\E[9r, kich1=\E[@,
+       kil1=\E[L, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rev=\E[7m,
+       rmir=\E[4l, rmso=\E[m, sgr0=\E[m, smir=\E[4h, smso=\E[7m,
+       use=ansi+arrows, use=ansi+cpr, use=ansi+erase,
+       use=ansi+idl, use=ansi+local,
 
 att2350|AT&T 2350 Video Information Terminal 80 column mode,
        mc0@, mc4@, mc5@, use=att2300,
@@ -14037,10 +13939,10 @@ att5410v1|att4410v1|tty5410v1|AT&T 4410/5410 80 columns - version 1,
        cols#80, it#8, lh#2, lines#24, lw#8, nlab#8, wsl#80,
        acsc=++\,\,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyz
             z{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[2;7m, cr=\r, cub1=^H, cud1=\E[B,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P,
-       dim=\E[2m, dl1=\E[M, fsl=\E8, home=\E[H, ht=^I, ich1=\E[@,
-       il1=\E[L, ind=\n, invis=\E[8m, is1=\E[?3l\E)0,
+       bel=^G, bold=\E[2;7m, cr=\r, cub1=^H, cuf1=\E[C,
+       cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, dim=\E[2m, dl1=\E[M,
+       fsl=\E8, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L, ind=\n,
+       is1=\E[?3l\E)0,
        is3=\E[1;03q\s\s\sf1\s\s\s\s\s\s\s\s\s\s\s\EOP\E[2;03q\s\s
            \sf2\s\s\s\s\s\s\s\s\s\s\s\EOQ\E[3;03q\s\s\sf3\s\s\s\s
            \s\s\s\s\s\s\s\EOR\E[4;03q\s\s\sf4\s\s\s\s\s\s\s\s\s\s
@@ -14053,13 +13955,14 @@ att5410v1|att4410v1|tty5410v1|AT&T 4410/5410 80 columns - version 1,
        nel=\r\n,
        pfx=\E[%p1%1d;%p2%l%2.2dq\s\s\sf%p1%1d\s\s\s\s\s\s\s\s\s\s
            \s%p2%s,
-       pln=\E[%p1%d;00q%p2%:-16s, rev=\E[7m, ri=\EM, rmacs=^O,
-       rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y,
+       pln=\E[%p1%d;00q%p2%:-16s, ri=\EM, rmacs=^O, rmso=\E[m,
+       rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y,
        sgr=\E[0%?%p1%p5%|%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1
            %|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smso=\E[7m, smul=\E[4m,
        tsl=\E7\E[25;%p1%{1}%+%dH, use=ansi+arrows,
-       use=ansi+csr, use=ansi+erase,
+       use=ansi+csr, use=ansi+erase, use=ansi+local1,
+       use=ansi+sgr,
 
 att4410v1-w|att5410v1-w|tty5410v1-w|AT&T 4410/5410 132 columns - version 1,
        cols#132, wsl#132,
@@ -14136,12 +14039,10 @@ v5410|att5410 in terms of a VT100,
 att4415|tty5420|att5420|AT&T 4415/5420 80 cols,
        db,
        lm#78, wsl#55,
-       clear=\E[x\E[J, cnorm=\E[11;0j, cub=\E[%p1%dD,
-       cud=\E[%p1%dB, cuf=\E[%p1%dC, cup=\E[%i%p1%d;%p2%dx,
-       cuu=\E[%p1%dA, cvvis=\E[11;1j, ech=\E[%p1%ds\E[%p1%dD,
-       flash=\E[?5h$<200>\E[?5l, home=\E[x,
-       hpa=\E[%p1%{1}%+%dG, ich1@, indn=\E[%p1%dE,
-       is1=\E[?3l$<100>,
+       clear=\E[x\E[J, cnorm=\E[11;0j, cub1=^H,
+       cup=\E[%i%p1%d;%p2%dx, cvvis=\E[11;1j,
+       ech=\E[%p1%ds\E[%p1%dD, flash=\E[?5h$<200>\E[?5l,
+       home=\E[x, ich1@, indn=\E[%p1%dE, is1=\E[?3l$<100>,
        is2=\E[m\017\E[1;2;3;4;6l\E[12;13;14;20l\E[?6;97;99l\E[?7h
            \E[4i\Ex\E[21;1j\212,
        is3=\E[?5l, kbeg=\Et, kcbt=\E[Z, kdch1=\E[P, kdl1=\E[M,
@@ -14158,9 +14059,9 @@ att4415|tty5420|att5420|AT&T 4415/5420 80 cols,
        sgr=\E[0%?%p1%p5%|%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1
            %|%p6%|%t;7%;%?%p7%t;8%;m%?%p8%t\EV%;%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smam=\E[?7h, smkx=\E[19;1j\E[21;4j\Eent,
-       smln=\E~, tsl=\E7\E[25;%p1%{8}%+%dH,
-       vpa=\E[%p1%{1}%+%dd, use=ansi+idc, use=ansi+idl,
-       use=ansi+inittabs, use=att4410,
+       smln=\E~, tsl=\E7\E[25;%p1%{8}%+%dH, use=ansi+idc,
+       use=ansi+idl, use=ansi+inittabs, use=ansi+local,
+       use=ansi+rca, use=att4410,
 
 att4415-w|tty5420-w|att5420-w|AT&T 4415/5420 132 cols,
        cols#132, lm#54, wsl#97,
@@ -14203,14 +14104,13 @@ att5420_2|AT&T 5420 model 2 80 cols,
        am, db, hs, mir, msgr, xon,
        cols#80, lh#2, lines#24, lm#78, lw#8, nlab#8, wsl#55,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       blink=\E[5m, cbt=\E[1Z, clear=\EH\EJ, cnorm=\E[11;0j,
-       cr=\EG, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[1B,
-       cuf=\E[%p1%dC, cuf1=\E[1C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[1A, cvvis=\E[11;1j, dch=\E[%p1%dP,
-       dch1=\E[P, dim=\E[2m, ech=\E[%p1%ds\E[%p1%dD, ed=\E[0J,
-       el=\E[0K, el1=\E[1K, flash=\E[?5h$<200>\E[?5l, fsl=\E8,
-       home=\E[H, hpa=\E[%p1%{1}%+%dG, ich=\E[%p1%d@, ich1=\E[@,
-       ind=\n, indn=\E[%p1%dE, invis=\E[8m,
+       cbt=\E[1Z, clear=\EH\EJ, cnorm=\E[11;0j, cr=\EG, cub1=^H,
+       cud1=\E[1B, cuf1=\E[1C, cup=\E[%i%p1%d;%p2%dH,
+       cuu1=\E[1A, cvvis=\E[11;1j, dch=\E[%p1%dP, dch1=\E[P,
+       dim=\E[2m, ech=\E[%p1%ds\E[%p1%dD, ed=\E[0J, el=\E[0K,
+       el1=\E[1K, flash=\E[?5h$<200>\E[?5l, fsl=\E8, home=\E[H,
+       hpa=\E[%p1%{1}%+%dG, ich=\E[%p1%d@, ich1=\E[@, ind=\n,
+       indn=\E[%p1%dE,
        is1=\E[0;23r\Ex\Ey\E[2;0j\E[3;3j\E[4;0j\E[5;0j\E[6;0j\E[7;0j
            \E[8;0j\E[9;1j\E[10;0j\E[15;0j\E[16;1j\E[19;0j\E[20;1j
            \E[29;0j\E[1;24r,
@@ -14223,15 +14123,16 @@ att5420_2|AT&T 5420 model 2 80 cols,
        mc5=\E[5i, mrcup=\E[%i%p1%d;%p2%dt, nel=\r\n,
        pfx=\E[%p1%d;%p2%l%02dq\s\s\sF%p1%d\s\s\s\s\s\s\s\s\s\s\s%p2
            %s\E~,
-       pln=\E[%p1%d;0;0;0q%p2%:-16.16s\E~, prot=\EV,
-       rev=\E[7m, ri=\EM, rin=\E[%p1%dF, rmacs=^O, rmkx=\E[19;0j,
-       rmln=\E|, rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y,
+       pln=\E[%p1%d;0;0;0q%p2%:-16.16s\E~, prot=\EV, ri=\EM,
+       rin=\E[%p1%dF, rmacs=^O, rmkx=\E[19;0j, rmln=\E|,
+       rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y,
        sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1
            %|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;%?%p8%t\EV%;,
        sgr0=\E[m\017, smacs=^N, smkx=\E[19;1j, smln=\E~,
        smso=\E[7m, smul=\E[4m, tsl=\E7\E[25;%p1%{8}%+%dH,
        vpa=\E[%p1%{1}%+%dd, use=ansi+arrows, use=ansi+csr,
-       use=ansi+idl, use=ansi+inittabs, use=decid+cpr,
+       use=ansi+idl, use=ansi+inittabs, use=ansi+local,
+       use=ansi+sgr, use=decid+cpr,
 
 att5420_2-w|AT&T 5420 model 2 in 132 column mode,
        cols#132,
@@ -14244,20 +14145,19 @@ att4418|att5418|AT&T 5418 80 cols,
        am, xon,
        cols#80, lines#24,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, clear=\E[H\E[2J, cr=\r, cub=\E[%p1%dD,
-       cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
-       cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[1P, dim=\E[2m, ed=\E[0J,
-       el=\E[0K, home=\E[H, ich=\E[%p1%d@, ich1=\E[1@, il1=\E[1L,
-       ind=\n, is1=\E[?3l, is2=\E)0\E?6l\E?5l, kclr=\E[%%,
-       kcub1=\E@, kcud1=\EU, kcuf1=\EA, kcuu1=\ES, kent=\E[,
-       kf1=\E[h, kf10=\E[m, kf11=\E[n, kf12=\E[o, kf13=\E[H,
-       kf14=\E[I, kf15=\E[J, kf18=\E[K, kf19=\E[L, kf2=\E[i,
-       kf20=\E[E, kf21=\E[_, kf22=\E[M, kf23=\E[N, kf24=\E[O,
-       kf3=\E[j, kf6=\E[k, kf7=\E[l, kf8=\E[f, kf9=\E[w, khome=\Ec,
-       rc=\E8, rev=\E[7m, rmacs=^O, rmso=\E[m, rmul=\E[m, sc=\E7,
-       sgr0=\E[m\017, smacs=^N, smso=\E[7m, smul=\E[4m,
-       use=ansi+idl,
+       bel=^G, blink=\E[5m, clear=\E[H\E[2J, cr=\r,
+       cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[1P,
+       dim=\E[2m, ed=\E[0J, el=\E[0K, home=\E[H, ich=\E[%p1%d@,
+       ich1=\E[1@, il1=\E[1L, ind=\n, is1=\E[?3l,
+       is2=\E)0\E?6l\E?5l, kclr=\E[%%, kcub1=\E@, kcud1=\EU,
+       kcuf1=\EA, kcuu1=\ES, kent=\E[, kf1=\E[h, kf10=\E[m,
+       kf11=\E[n, kf12=\E[o, kf13=\E[H, kf14=\E[I, kf15=\E[J,
+       kf18=\E[K, kf19=\E[L, kf2=\E[i, kf20=\E[E, kf21=\E[_,
+       kf22=\E[M, kf23=\E[N, kf24=\E[O, kf3=\E[j, kf6=\E[k,
+       kf7=\E[l, kf8=\E[f, kf9=\E[w, khome=\Ec, rc=\E8, rev=\E[7m,
+       rmacs=^O, rmso=\E[m, rmul=\E[m, sc=\E7, sgr0=\E[m\017,
+       smacs=^N, smso=\E[7m, smul=\E[4m, use=ansi+idl,
+       use=ansi+local,
 
 att4418-w|att5418-w|AT&T 5418 132 cols,
        cols#132,
@@ -14295,18 +14195,17 @@ att4424|tty4424|Teletype 4424,
        cols#80, lines#24,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E3, bold=\E3, cbt=\EO, clear=\E[H\E[2J, cr=\r,
-       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\EB, cuf=\E[%p1%dC, cuf1=\EC,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EA,
-       dch=\E[%p1%dP, dch1=\EP, dim=\EW, dl=\E[%p1%dM, dl1=\EM,
-       ed=\EJ, el=\Ez, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
-       ich1=\E\^, il=\E[%p1%dL, il1=\EL, ind=\n, is2=\E[20l\E[?7h,
-       kclr=\EJ, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=\EE,
-       rev=\E}, ri=\ET, rmacs=\E(B, rmso=\E~, rmul=\EZ,
+       csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\EB, cuf1=\EC,
+       cup=\E[%i%p1%d;%p2%dH, cuu1=\EA, dch=\E[%p1%dP, dch1=\EP,
+       dim=\EW, dl=\E[%p1%dM, dl1=\EM, ed=\EJ, el=\Ez, home=\E[H,
+       ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E\^, il=\E[%p1%dL,
+       il1=\EL, ind=\n, is2=\E[20l\E[?7h, kclr=\EJ, kf1=\EOP,
+       kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=\EE, rev=\E}, ri=\ET,
+       rmacs=\E(B, rmso=\E~, rmul=\EZ,
        sgr=\EX\E~\EZ\E4\E(B%?%p1%p3%|%t\E}%;%?%p2%t\E\\%;%?%p4%p6%|
            %t\E3%;%?%p5%t\EW%;%?%p9%t\E(0%;,
        sgr0=\EX\E~\EZ\E4\E(B, smacs=\E(0, smso=\E}, smul=\E\\,
-       tbc=\EF, use=ansi+arrows,
+       tbc=\EF, use=ansi+arrows, use=ansi+local,
 
 att4424-1|tty4424-1|Teletype 4424 in display function group I,
        kclr@, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome@,
@@ -14341,14 +14240,13 @@ att5425|tty5425|att4425|AT&T 4425/5425,
        am, da, db, hs, mir, msgr, xenl, xon,
        cols#80, lh#2, lines#24, lm#78, lw#8, nlab#8, wsl#55,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[2;7m, cnorm=\E[12;0j, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[12;1j, dch=\E[%p1%dP,
-       dch1=\E[P, dim=\E[2m, ech=\E[%p1%ds\E[%p1%dD, el1=\E[1K,
-       enacs=\E(B\E)0, flash=\E[?5h$<200>\E[?5l, fsl=\E8,
-       home=\E[H, hpa=\E[%p1%{1}%+%dG, ich=\E[%p1%d@, ind=\n,
-       indn=\E[%p1%dE, invis=\E[8m, is1=\E<\E[?3l$<100>,
+       bel=^G, bold=\E[2;7m, cnorm=\E[12;0j, cr=\r, cub1=^H,
+       cud1=\n, cup=\E[%i%p1%d;%p2%dH, cvvis=\E[12;1j,
+       dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
+       ech=\E[%p1%ds\E[%p1%dD, el1=\E[1K, enacs=\E(B\E)0,
+       flash=\E[?5h$<200>\E[?5l, fsl=\E8, home=\E[H,
+       hpa=\E[%p1%{1}%+%dG, ich=\E[%p1%d@, ind=\n,
+       indn=\E[%p1%dE, is1=\E<\E[?3l$<100>,
        is2=\E[m\017\E[1;2;3;4;6l\E[12;13;14;20l\E[?6;97;99l\E[?7h
            \E[4i\Ex\E[25;1j\212,
        is3=\E[?5l, kbeg=\Et, kcbt=\E[Z, kclr=\E[J, kdch1=\E[P,
@@ -14357,8 +14255,8 @@ att5425|tty5425|att4425|AT&T 4425/5425,
        kf8=\EOj, kich1=\E[4h, kil1=\E[L, kind=\E[T, kri=\E[S,
        ll=\E[24H, mc0=\E[?2i, mc4=\E[?9i, mc5=\E[?4i, nel=\r\n,
        pfx=\E[%p1%d;%p2%l%02dq   F%p1%1d           %p2%s,
-       pln=\E[%p1%d;0;0;0q%p2%:-16.16s, prot=\EV, rev=\E[7m,
-       ri=\EM, rin=\E[%p1%dF, rmacs=^O, rmam=\E[?7l, rmir=\E[4l,
+       pln=\E[%p1%d;0;0;0q%p2%:-16.16s, prot=\EV, ri=\EM,
+       rin=\E[%p1%dF, rmacs=^O, rmam=\E[?7l, rmir=\E[4l,
        rmkx=\E[21;0j\E[25;1j\212, rmln=\E|, rmso=\E[m,
        rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y,
        sgr=\E[0%?%p5%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6
@@ -14368,7 +14266,7 @@ att5425|tty5425|att4425|AT&T 4425/5425,
        smul=\E[4m, tsl=\E7\E[25;%p1%{8}%+%dH,
        vpa=\E[%p1%{1}%+%dd, use=ansi+arrows, use=ansi+csr,
        use=ansi+erase, use=ansi+idl, use=ansi+inittabs,
-       use=decid+cpr,
+       use=ansi+local, use=ansi+sgr, use=decid+cpr,
 
 att5425-nl|tty5425-nl|att4425-nl|AT&T 4425/5425 80 columns no labels,
        smkx=\E[21;1j\E[25;4j\Eent, use=att4425,
@@ -14384,10 +14282,8 @@ att4426|tty4426|Teletype 4426S,
        cols#80, lines#24, lm#48,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, bold=\E[5m, clear=\E[H\E[2J\E[1U\E[H\E[2J\E[1V,
-       cr=\r, cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\EP, ed=\E[J,
-       el=\E[0K, home=\E[H, hpa=\E[%p1%dG, ht=^I, hts=\E1,
+       cr=\r, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\EP,
+       ed=\E[J, el=\E[0K, home=\E[H, hpa=\E[%p1%dG, ht=^I, hts=\E1,
        ich=\E[%p1%d@, ich1=\E\^, il1=\EL, ind=\n, is1=\Ec\E[?7h,
        is2=\E[m\E[1;24r, kbs=^H, kcbt=\EO, kclr=\E[2J, kcub1=\ED,
        kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kf1=\EOP, kf2=\EOQ,
@@ -14396,7 +14292,8 @@ att4426|tty4426|Teletype 4426S,
        rev=\E[7m, ri=\ET, rmacs=\E(B, rmam=\E[?7l, rmso=\E[m,
        rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y, sc=\E7, sgr0=\E[m\E(B,
        smacs=\E(0, smam=\E[?7h, smso=\E[5m, smul=\E[4m, tbc=\E[3g,
-       vpa=\E[%p1%dd, use=ansi+idl, use=ecma+index,
+       vpa=\E[%p1%dd, use=ansi+idl, use=ansi+local,
+       use=ecma+index,
 
 # Terminfo entry for the AT&T 510 A Personal Terminal
 # Function keys 9 - 16 are available only after the
@@ -14412,12 +14309,10 @@ att510a|bct510a|AT&T 510A Personal Terminal,
        acsc=+g\,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[2;7m, cbt=\E[Z,
        civis=\E[11;0|, clear=\E[H\E[J, cnorm=\E[11;3|, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[11;2|, dch=\E[%p1%dP,
-       dch1=\E[P, dim=\E[2m, ed=\E[0J, el=\E[0K, el1=\E[1K,
-       enacs=\E(B\E)1, ff=^L, home=\E[H, ht=^I, hts=\EH, ind=\n,
-       is1=\E(B\E)1\E[2l, is3=\E[21;1|\212, kLFT=\E[u,
+       cub1=^H, cup=\E[%i%p1%d;%p2%dH, cvvis=\E[11;2|,
+       dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, ed=\E[0J, el=\E[0K,
+       el1=\E[1K, enacs=\E(B\E)1, ff=^L, home=\E[H, ht=^I, hts=\EH,
+       ind=\n, is1=\E(B\E)1\E[2l, is3=\E[21;1|\212, kLFT=\E[u,
        kRIT=\E[v, kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
        kcuf1=\E[C, kcuu1=\E[A, kf1=\EOm, kf10=\EOd, kf11=\EOe,
        kf12=\EOf, kf13=\EOg, kf14=\EOh, kf15=\EOi, kf16=\EOj,
@@ -14430,6 +14325,7 @@ att510a|bct510a|AT&T 510A Personal Terminal,
            %|%t;7%;m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smkx=\E[19;1|, smso=\E[7m,
        smul=\E[4m, tbc=\E[3g, use=ansi+cpr, use=ansi+idl,
+       use=ansi+local,
 
 # Terminfo entry for the AT&T 510 D Personal Terminal
 # Function keys 9 through 16 are accessed by bringing up the
@@ -14444,43 +14340,40 @@ att510d|bct510d|AT&T 510D Personal Terminal,
        am, da, db, mir, msgr, xenl, xon,
        cols#80, lh#2, lines#24, lm#48, lw#7, nlab#8,
        acsc=+g\,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[2;7m, cbt=\E[Z,
-       clear=\E[H\E[J, cnorm=\E[11;3|, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
-       cuu1=\E[A, cvvis=\E[11;2|, dch=\E[%p1%dP, dch1=\E[P,
-       dim=\E[2m, ed=\E[0J, el=\E[0K, el1=\E[1K, enacs=\E(B\E)1,
-       ff=^L, home=\E[H, hpa=\E[%p1%{1}%+%dG, ht=^I, hts=\EH,
-       ich=\E[%p1%d@, ind=\n, invis=\E[8m, is1=\E(B\E)1\E[5;0|,
+       bel=^G, bold=\E[2;7m, cbt=\E[Z, clear=\E[H\E[J,
+       cnorm=\E[11;3|, cr=\r, cub1=^H, cup=\E[%i%p1%d;%p2%dH,
+       cvvis=\E[11;2|, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
+       ed=\E[0J, el=\E[0K, el1=\E[1K, enacs=\E(B\E)1, ff=^L,
+       home=\E[H, hpa=\E[%p1%{1}%+%dG, ht=^I, hts=\EH,
+       ich=\E[%p1%d@, ind=\n, is1=\E(B\E)1\E[5;0|,
        is3=\E[21;1|\212, kLFT=\E[u, kRIT=\E[v, kbs=^H, kcbt=\E[Z,
        kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOm,
        kf10=\EOd, kf11=\EOe, kf12=\EOf, kf13=\EOg, kf14=\EOh,
        kf15=\EOi, kf16=\EOj, kf2=\EOV, kf3=\EOu, kf4=\ENj, kf5=\ENe,
        kf6=\ENf, kf7=\ENh, kf8=\E[H, kf9=\EOc, kind=\E[S, kri=\E[T,
        ll=\E#2, mc0=\E[0i, mc4=\E[?8i, mc5=\E[?4i, mgc=\E:, nel=\EE,
-       pln=\E[%p1%dp%p2%:-16s, rc=\E8, rev=\E[7m, ri=\EM,
-       rmacs=^O, rmir=\E[4l, rmkx=\E[19;0|, rmln=\E<, rmso=\E[m,
-       rmul=\E[m, rmxon=\E[29;1|, rs2=\E[5;0|, sc=\E7,
+       pln=\E[%p1%dp%p2%:-16s, rc=\E8, ri=\EM, rmacs=^O,
+       rmir=\E[4l, rmkx=\E[19;0|, rmln=\E<, rmso=\E[m, rmul=\E[m,
+       rmxon=\E[29;1|, rs2=\E[5;0|, sc=\E7,
        sgr=\E[0%?%p5%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6
            %|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smgl=\E4, smgr=\E5, smir=\E[4h,
        smkx=\E[19;1|, smln=\E?, smso=\E[7m, smul=\E[4m,
        smxon=\E[29;0|, tbc=\E[3g, vpa=\E[%p1%{1}%+%dd,
-       use=ansi+cpr, use=ansi+idl, use=ansi+rep, use=ecma+index,
+       use=ansi+cpr, use=ansi+idl, use=ansi+local, use=ansi+rep,
+       use=ansi+sgr, use=ecma+index,
 
 # (att500: I merged this with the att513 entry, att500 just used att513 -- esr)
 att500|att513|AT&T 513 using page mode,
        am, chts, mir, msgr, xenl, xon,
        cols#80, lh#2, lines#24, lw#8, nlab#8,
        acsc=+g\,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[2;7m, cbt=\E[Z,
-       cnorm=\E[11;0|, cr=\r, csr=%i\E[%p1%d;%p2%dr,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[11;1|, dch=\E[%p1%dP,
+       bel=^G, bold=\E[2;7m, cbt=\E[Z, cnorm=\E[11;0|, cr=\r,
+       csr=%i\E[%p1%d;%p2%dr, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, cvvis=\E[11;1|, dch=\E[%p1%dP,
        dch1=\E[P$<1>, dim=\E[2m, el1=\E[1K, enacs=\E(B\E)1,
        home=\E[H, hpa=\E[%p1%{1}%+%dG, ht=^I, hts=\EH,
-       ich=\E[%p1%d@, ind=\n, indn=\E[%p1%dE, invis=\E[8m,
+       ich=\E[%p1%d@, ind=\n, indn=\E[%p1%dE,
        is1=\E?\E[3;3|\E[10;0|\E[21;1|\212\E[6;1|\E[1{\E[?99l,
        kBEG=\ENB, kCAN=\EOW, kCMD=\EOU, kCPY=\END, kCRT=\EON,
        kDC=\ENF, kDL=\ENE, kEND=\ENN, kEOL=\EOA, kEXT=\EOK,
@@ -14504,10 +14397,9 @@ att500|att513|AT&T 513 using page mode,
        pfloc=\E[%p1%d;%p2%l%d;2;0p\s\s\sF%p1%d\s\s\s\s\s\s\s\s\s\s
              \s%p2%s,
        pfx=\E[%p1%d;%p2%l%d;1;0p   F%p1%d           %p2%s,
-       pln=\E[%p1%dp%p2%:-16s, rc=\E8, rev=\E[7m, ri=\EM,
-       rin=\E[%p1%dF, rmacs=^O, rmir=\E[4l,
-       rmkx=\E[19;0|\E[21;1|\212, rmln=\E<, rmso=\E[m,
-       rmul=\E[m,
+       pln=\E[%p1%dp%p2%:-16s, rc=\E8, ri=\EM, rin=\E[%p1%dF,
+       rmacs=^O, rmir=\E[4l, rmkx=\E[19;0|\E[21;1|\212,
+       rmln=\E<, rmso=\E[m, rmul=\E[m,
        rs1=\E?\E[3;3|\E[10;0|\E[21;1|\212\E[6;1|\E[1{\E[?99l\E[2;0|
            \E[6;1|\E[8;0|\E[19;0|\E[1{\E[?99l,
        rs2=\E[5;0|, sc=\E7,
@@ -14517,7 +14409,8 @@ att500|att513|AT&T 513 using page mode,
        smkx=\E[19;1|\E[21;4|\Eent, smln=\E?, smso=\E[7m,
        smul=\E[4m, tbc=\E[3g, vpa=\E[%p1%{1}%+%dd,
        use=ansi+arrows, use=ansi+erase, use=ansi+idl,
-       use=ansi+rep, use=decid+cpr,
+       use=ansi+local, use=ansi+rep, use=ansi+sgr,
+       use=decid+cpr,
 
 # 01-07-88:
 # printer must be set to EMUL ANSI to accept ESC codes
@@ -14567,12 +14460,12 @@ att5310|att5320|AT&T Model 53210 or 5320 matrix printer,
 att5620-1|tty5620-1|dmd1|Teletype 5620 with old ROMs,
        am, xon,
        cols#88, it#8, lines#70, vt#3,
-       bel=^G, cr=\r, cub1=^H, cud1=\n, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP,
-       dch1=\E[P, home=\E[H, ht=^I, ich=\E[%p1%d@, ich1=\E[@,
-       ind=\n, kclr=\E[2J, kll=\E[70;1H, nel=\r\n, rc=\E8, ri=\E[T,
-       rs1=\Ec, sc=\E7, use=ansi+arrows, use=ansi+erase,
-       use=ansi+idl, use=ecma+index,
+       bel=^G, cr=\r, cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH,
+       dch=\E[%p1%dP, dch1=\E[P, home=\E[H, ht=^I, ich=\E[%p1%d@,
+       ich1=\E[@, ind=\n, kclr=\E[2J, kll=\E[70;1H, nel=\r\n,
+       rc=\E8, ri=\E[T, rs1=\Ec, sc=\E7, use=ansi+arrows,
+       use=ansi+erase, use=ansi+idl, use=ansi+local1,
+       use=ecma+index,
 
 # 5620 terminfo  (2.0 or later ROMS with char attributes)
 # The following SET-UP modes are assumed for normal operation:
@@ -14589,14 +14482,14 @@ att5620-1|tty5620-1|dmd1|Teletype 5620 with old ROMs,
 att5620|dmd|tty5620|ttydmd|5620|AT&T 5620 terminal 88 columns,
        OTbs, am, msgr, npc, xon,
        cols#88, it#8, lines#70,
-       bel=^G, bold=\E[2m, cr=\r, cub1=^H, cud1=\E[B, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP,
-       dch1=\E[P, dim=\E[2m, home=\E[H, ht=^I, ich=\E[%p1%d@,
-       ich1=\E[@, ind=\E[S, kclr=\E[2J, kll=\E[70;1H, nel=\n,
-       pfx=\E[%p1%d;%p2%l%dq%p2%s, rc=\E8, rev=\E[7m, ri=\E[T,
-       rmso=\E[0m, rmul=\E[0m, rs1=\Ec, sc=\E7, sgr0=\E[0m,
-       smso=\E[7m, smul=\E[4m, use=ansi+arrows, use=ansi+erase,
-       use=ansi+idl, use=ecma+index,
+       bel=^G, bold=\E[2m, cr=\r, cub1=^H, cup=\E[%i%p1%d;%p2%dH,
+       dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, home=\E[H, ht=^I,
+       ich=\E[%p1%d@, ich1=\E[@, ind=\E[S, kclr=\E[2J,
+       kll=\E[70;1H, nel=\n, pfx=\E[%p1%d;%p2%l%dq%p2%s, rc=\E8,
+       rev=\E[7m, ri=\E[T, rmso=\E[0m, rmul=\E[0m, rs1=\Ec, sc=\E7,
+       sgr0=\E[0m, smso=\E[7m, smul=\E[4m, use=ansi+arrows,
+       use=ansi+erase, use=ansi+idl, use=ansi+local1,
+       use=ecma+index,
 
 att5620-24|tty5620-24|dmd-24|Teletype dmd 5620 in a 24x80 layer,
        lines#24, use=att5620,
@@ -14620,9 +14513,8 @@ att605|AT&T 605 80 column 102key keyboard,
        cols#80, lines#24, lw#8, nlab#8, wsl#80,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, cr=\r, cub1=^H,
-       cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
-       dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, el1=\E[1K, fsl=\E8, ht=^I,
-       il1=\E[L, ind=\n, invis=\E[8m,
+       cup=\E[%i%p1%d;%p2%dH, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M,
+       el1=\E[1K, fsl=\E8, ht=^I, il1=\E[L, ind=\n, invis=\E[8m,
        is1=\E[8;0|\E[?\E[13;20l\E[?\E[12h, is2=\E[m\017,
        kLFT=\E[ A, kRIT=\E[ @, kcbt=\E[Z, kclr=\E[2J, kdch1=\E[P,
        kdl1=\E[M, kend=\E[24;1H, kf1=\EOc, kf10=\ENp, kf11=\ENq,
@@ -14643,7 +14535,7 @@ att605|AT&T 605 80 column 102key keyboard,
        sc=\E7, sgr0=\E[m\017, smacs=\E)0\016, smln=\E[p,
        smso=\E[7m, smul=\E[4m, tsl=\E7\E[25;%i%p1%dx,
        use=ansi+arrows, use=ansi+cpr, use=ansi+erase,
-       use=ansi+idc,
+       use=ansi+idc, use=ansi+local1,
 
 att605-pc|AT&T 605 in pc term mode,
        acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x
@@ -14663,12 +14555,10 @@ att610|AT&T 610; 80 column; 98key keyboard,
        am, eslok, hs, mir, msgr, xenl, xon,
        cols#80, it#8, lh#2, lines#24, lw#8, nlab#8, wsl#80,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
-       cuf=\E[%p1%dC, cuf1=\E[C, cuu=\E[%p1%dA, cuu1=\E[A,
+       bel=^G, bold=\E[1m, cbt=\E[Z, cr=\r, cub1=^H,
        cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
        el1=\E[1K, flash=\E[?5h$<200>\E[?5l, fsl=\E8, ht=^I,
-       ich=\E[%p1%d@, ind=\ED, invis=\E[8m,
+       ich=\E[%p1%d@, ind=\ED,
        is1=\E[8;0|\E[?3;4;5;13;15l\E[13;20l\E[?7h\E[12h\E(B\E)0,
        is2=\E[m\017, is3=\E(B\E)0, kLFT=\E[ @, kRIT=\E[ A,
        kcbt=\E[Z, kclr=\E[2J, kf1=\EOc, kf10=\ENp, kf11=\ENq,
@@ -14677,16 +14567,17 @@ att610|AT&T 610; 80 column; 98key keyboard,
        kind=\E[S, kri=\E[T, ll=\E[24H, mc4=\E[?4i, mc5=\E[?5i,
        nel=\EE,
        pfx=\E[%p1%d;%p2%l%02dq   F%p1%1d           %p2%s,
-       pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rev=\E[7m, ri=\EM,
-       rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmln=\E[2p, rmso=\E[m,
-       rmul=\E[m, rs2=\Ec\E[?3l,
+       pln=\E[%p1%d;0;0;0q%p2%:-16.16s, ri=\EM, rmacs=^O,
+       rmam=\E[?7l, rmir=\E[4l, rmln=\E[2p, rmso=\E[m, rmul=\E[m,
+       rs2=\Ec\E[?3l,
        sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1
            %|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
        smln=\E[p, smso=\E[7m, smul=\E[4m, tsl=\E7\E[25;%i%p1%dx,
        use=ansi+arrows, use=ansi+csr, use=ansi+cup,
-       use=ansi+erase, use=ansi+idl, use=decid+cpr,
-       use=ecma+index, use=att610+cvis,
+       use=ansi+erase, use=ansi+idl, use=ansi+local,
+       use=ansi+sgr, use=decid+cpr, use=ecma+index,
+       use=att610+cvis,
 
 att610-w|AT&T 610; 132 column; 98key keyboard,
        cols#132, wsl#132,
@@ -14737,12 +14628,10 @@ att620|AT&T 620; 80 column; 98key keyboard,
        am, eslok, hs, mir, msgr, xenl, xon,
        cols#80, it#8, lh#2, lines#24, lw#8, nlab#8, wsl#80,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
-       cuf=\E[%p1%dC, cuf1=\E[C, cuu=\E[%p1%dA, cuu1=\E[A,
+       bel=^G, bold=\E[1m, cbt=\E[Z, cr=\r, cub1=^H,
        cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
        el1=\E[1K, flash=\E[?5h$<200>\E[?5l, fsl=\E8, ht=^I,
-       ich=\E[%p1%d@, ind=\ED, invis=\E[8m,
+       ich=\E[%p1%d@, ind=\ED,
        is1=\E[8;0|\E[?3;4;5;13;15l\E[13;20l\E[?7h\E[12h,
        is2=\E[m\017, is3=\E(B\E)0, kLFT=\E[ A, kRIT=\E[ @,
        kcbt=\E[Z, kclr=\E[2J, kf1=\EOc, kf10=\ENp, kf11=\ENq,
@@ -14757,7 +14646,7 @@ att620|AT&T 620; 80 column; 98key keyboard,
        kf7=\EOi, kf8=\EOj, kf9=\ENo, kind=\E[S, kri=\E[T, ll=\E[24H,
        mc4=\E[?4i, mc5=\E[?5i, nel=\EE,
        pfx=\E[%p1%d;%p2%l%02dq   F%p1%1d           %p2%s,
-       pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rev=\E[7m, ri=\EM,
+       pln=\E[%p1%d;0;0;0q%p2%:-16.16s, ri=\EM,
        rmacs=\E(B\017, rmam=\E[?7l, rmir=\E[4l, rmln=\E[2p,
        rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l,
        sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1
@@ -14766,7 +14655,8 @@ att620|AT&T 620; 80 column; 98key keyboard,
        smir=\E[4h, smln=\E[p, smso=\E[7m, smul=\E[4m,
        tsl=\E7\E[25;%i%p1%dx, use=ansi+arrows, use=ansi+csr,
        use=ansi+cup, use=ansi+erase, use=ansi+idl,
-       use=decid+cpr, use=ecma+index, use=att610+cvis,
+       use=ansi+local, use=ansi+sgr, use=decid+cpr,
+       use=ecma+index, use=att610+cvis,
 
 att620-w|AT&T 620; 132 column; 98key keyboard,
        cols#132, wsl#132,
@@ -14808,22 +14698,21 @@ att620-103k-w|AT&T 620; 132 column; 103key keyboard,
 att630|AT&T 630 windowing terminal,
        OTbs, am, da, db, mir, msgr, npc, xon,
        cols#80, it#8, lines#60, lm#0,
-       bel=^G, blink=\E[5m, cbt=\E[Z, cr=\r, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
-       dim=\E[2m, el1=\E[1K, home=\E[H, ht=^I, ind=\ED, is2=\E[m,
-       kcbt=\E[Z, kclr=\E[2J, kdch1=\E[P, kdl1=\E[M, kent=\r,
-       kf10=\ENp, kf11=\ENq, kf12=\ENr, kf13=\ENs, kf14=\ENt,
-       kf15=\ENu, kf16=\ENv, kf17=\ENw, kf18=\ENx, kf19=\ENy,
-       kf20=\ENz, kf21=\EN{, kf22=\EN|, kf23=\EN}, kf24=\EN~,
-       kf9=\ENo, kich1=\E[@, kil1=\E[L, mc4=\E[?4i, mc5=\E[?5i,
-       nel=\r\n, pfx=\E[%p1%d;%p2%l%dq%p2%s, rc=\E8, rev=\E[7m,
-       ri=\EM, rmso=\E[m, rmul=\E[m, rs2=\Ec, sc=\E7,
+       bel=^G, blink=\E[5m, cbt=\E[Z, cr=\r, cub1=^H,
+       cup=\E[%i%p1%d;%p2%dH, dim=\E[2m, el1=\E[1K, home=\E[H,
+       ht=^I, ind=\ED, is2=\E[m, kcbt=\E[Z, kclr=\E[2J, kdch1=\E[P,
+       kdl1=\E[M, kent=\r, kf10=\ENp, kf11=\ENq, kf12=\ENr,
+       kf13=\ENs, kf14=\ENt, kf15=\ENu, kf16=\ENv, kf17=\ENw,
+       kf18=\ENx, kf19=\ENy, kf20=\ENz, kf21=\EN{, kf22=\EN|,
+       kf23=\EN}, kf24=\EN~, kf9=\ENo, kich1=\E[@, kil1=\E[L,
+       mc4=\E[?4i, mc5=\E[?5i, nel=\r\n,
+       pfx=\E[%p1%d;%p2%l%dq%p2%s, rc=\E8, rev=\E[7m, ri=\EM,
+       rmso=\E[m, rmul=\E[m, rs2=\Ec, sc=\E7,
        sgr=\E[0%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%p4%|%t;7
            %;m,
        sgr0=\E[m, smso=\E[7m, smul=\E[4m, use=ansi+arrows,
        use=ansi+cpr, use=ansi+erase, use=ansi+idc, use=ansi+idl,
-       use=ecma+index,
+       use=ansi+local, use=ecma+index,
 
 att630-24|5630-24|5630DMD-24|630MTG-24|AT&T 630 windowing terminal 24 lines,
        lines#24, use=att630,
@@ -14909,13 +14798,10 @@ att700|AT&T 700 24x80 column display w/102key keyboard,
        am, eslok, hs, mir, msgr, xenl, xon,
        cols#80, lh#2, lines#24, lw#8, nlab#8, wsl#80,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
-       cuu1=\E[A, cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P,
-       dim=\E[2m, el1=\E[1K, enacs=\E(B\E)0,
-       flash=\E[?5h$<200>\E[?5l, fln=4\,4, fsl=\E8, home=\E[H,
-       ich=\E[%p1%d@, ind=\ED, invis=\E[8m,
+       bel=^G, bold=\E[1m, cr=\r, cub1=^H, cup=\E[%i%p1%d;%p2%dH,
+       cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
+       el1=\E[1K, enacs=\E(B\E)0, flash=\E[?5h$<200>\E[?5l,
+       fln=4\,4, fsl=\E8, home=\E[H, ich=\E[%p1%d@, ind=\ED,
        is2=\E[50;4|\E[53;0|\E[8;0|\E[?4;13;15l\E[13;20l\E[?7h\E[12h
            \E(B\E)0\E[?31l\E[0m\017,
        is3=\E(B\E)0, kLFT=\E[ A, kRIT=\E[ @, kcbt=\E[Z,
@@ -14933,16 +14819,17 @@ att700|AT&T 700 24x80 column display w/102key keyboard,
        mc4=\E[?4i, mc5=\E[?5i, nel=\EE,
        pfx=\E[%p1%d;%p2%l%02dq%?%p1%{9}%<%t\s\s\sF%p1%1d\s\s\s\s\s
            \s\s\s\s\s\s%;%p2%s,
-       pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rev=\E[7m, ri=\EM,
-       rmacs=^O, rmir=\E[4l, rmln=\E[2p, rmso=\E[27m, rmul=\E[24m,
+       pln=\E[%p1%d;0;0;0q%p2%:-16.16s, ri=\EM, rmacs=^O,
+       rmir=\E[4l, rmln=\E[2p, rmso=\E[27m, rmul=\E[24m,
        rmxon=\E[53;3|, rs1=\Ec\E[?3;5l\E[56;0|,
        sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1
            %|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smir=\E[4h, smln=\E[p, smso=\E[7m,
        smul=\E[4m, smxon=\E[53;0|, tsl=\E7\E[99;%i%p1%dx,
        use=ansi+arrows, use=ansi+csr, use=ansi+erase,
-       use=ansi+idl, use=ansi+inittabs, use=ansi+rep,
-       use=decid+cpr, use=att610+cvis0,
+       use=ansi+idl, use=ansi+inittabs, use=ansi+local,
+       use=ansi+rep, use=ansi+sgr, use=decid+cpr,
+       use=att610+cvis0,
 
 # This entry was modified 3/13/90 by JWE.
 # fixes include additions of <enacs>, correcting <rep>, and modification
@@ -14961,12 +14848,10 @@ att730|AT&T 730 windowing terminal,
        am, da, db, eslok, hs, mir, msgr, npc, xenl, xon,
        cols#80, it#8, lh#2, lines#60, lm#0, lw#8, nlab#24, wsl#80,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
-       cuf=\E[%p1%dC, cuf1=\E[C, cuu=\E[%p1%dA, cuu1=\E[A,
+       bel=^G, bold=\E[1m, cbt=\E[Z, cr=\r, cub1=^H,
        cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
        el1=\E[1K, enacs=\E(B\E)0, flash=\E[?5h$<200>\E[?5l,
-       fsl=\E8, ht=^I, ich=\E[%p1%d@, ind=\ED, invis=\E[8m,
+       fsl=\E8, ht=^I, ich=\E[%p1%d@, ind=\ED,
        is1=\E[8;0|\E[?3;4;5;13;15l\E[13;20l\E[?7h\E[12h\E(B\E)B,
        is2=\E[m\017, is3=\E(B\E)0, kLFT=\E[ @, kRIT=\E[ A,
        kcbt=\E[Z, kclr=\E[2J, kf1=\EOc, kf10=\ENp, kf11=\ENq,
@@ -14984,16 +14869,17 @@ att730|AT&T 730 windowing terminal,
        pfx=\E[%?%p1%{25}%<%t%p1%e%p1%{24}%-%;%d;%p2%l%02d%?%p1%{25}
            %<%tq\s\s\sSYS\s\s\s\s\sF%p1%:-2d\s\s%e;0;3q%;%p2%s,
        pfxl=\E[%p1%d;%p2%l%02d;0;0q%p3%:-16.16s%p2%s,
-       pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rev=\E[7m, ri=\EM,
-       rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmln=\E[?13h,
-       rmso=\E[27m, rmul=\E[24m, rmxon=\E[?21l, rs2=\Ec\E[?3l,
+       pln=\E[%p1%d;0;0;0q%p2%:-16.16s, ri=\EM, rmacs=^O,
+       rmam=\E[?7l, rmir=\E[4l, rmln=\E[?13h, rmso=\E[27m,
+       rmul=\E[24m, rmxon=\E[?21l, rs2=\Ec\E[?3l,
        sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1
            %|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
        sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
        smln=\E[?13l, smso=\E[7m, smul=\E[4m, smxon=\E[?21h,
        swidm=\E#6, tsl=\E7\E[;%i%p1%dx, use=ansi+arrows,
        use=ansi+csr, use=ansi+cup, use=ansi+erase, use=ansi+idl,
-       use=ansi+rep, use=decid+cpr, use=att610+cvis,
+       use=ansi+local, use=ansi+rep, use=ansi+sgr,
+       use=decid+cpr, use=att610+cvis,
 
 # "MGT" is "Multi-Tasking Graphics Terminal"
 att730-41|730MTG-41|AT&T 730-41 windowing terminal,
@@ -15175,11 +15061,9 @@ att505|pt505|att5430|gs5430|AT&T Personal Terminal 505 or 5430 GETSET terminal,
        cols#80, it#8, lines#24,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[2J\E[H,
-       cnorm=\E[>l, cr=\r, cub=\E[%p1%dD, cub1=\E[D,
-       cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
-       cvvis=\E[>h, dch=\E[%p1%dP, dch1=\E[P, ed=\E[0J, el=\E[0K,
-       el1=\E[2K, home=\E[H, ht=^I, ind=\n,
+       cnorm=\E[>l, cr=\r, cup=\E[%p1%d;%p2%dH, cvvis=\E[>h,
+       dch=\E[%p1%dP, dch1=\E[P, ed=\E[0J, el=\E[0K, el1=\E[2K,
+       home=\E[H, ht=^I, ind=\n,
        is1=\EPr\\E[0u\E[2J\E[0;0H\E[m\E[3l\E[<l\E[4l\E[>l\E[=l\E[?l,
        kbs=^H, kcmd=\E!, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
        kcuu1=\E[A, kf0=\E[00s, kf1=\E[01s, kf18=\E[18s,
@@ -15190,7 +15074,7 @@ att505|pt505|att5430|gs5430|AT&T Personal Terminal 505 or 5430 GETSET terminal,
        rmacs=\E[10m, rmam=\E[11;1j, rmir=\E[4l, rmso=\E[m,
        rmul=\E[m, rs1=\Ec, sc=\E7, sgr0=\E[m, smacs=\E[11m,
        smam=\E[11;0j, smir=\E[4h, smso=\E[1m, smul=\E[4m,
-       use=ansi+cpr, use=ansi+idl,
+       use=ansi+cpr, use=ansi+idl, use=ansi+local,
 
 # The following Terminfo entry describes functions which are supported by
 # the AT&T 5430/pt505 terminal software version 1.
@@ -15453,13 +15337,11 @@ aas1901|Ann Arbor K4080 w/S1901 mod,
 aaa+unk|aaa-unk|Ann Arbor Ambassador (internal - don't use this directly),
        OTbs, am, km, mc5i, mir, xon,
        cols#80,
-       bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J$<156>,
-       cr=\r, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^K,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+       bel=^G, bold=\E[1m, clear=\E[H\E[J$<156>, cr=\r, cub1=^H,
+       cud1=^K, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
        ed=\E[J, el=\E[K$<5>, home=\E[H, hpa=\E[%p1%{1}%+%dG,
        ich=\E[%p1%d@$<4*>, ich1=\E[@$<4>, il1=\E[L$<3>, ind=^K,
-       invis=\E[8m, is1=\E[m\E7\E[H\E9\E8,
+       is1=\E[m\E7\E[H\E9\E8,
        is3=\E[1Q\E[>20;30l\EP`+x~M\E\\, kcbt=\E[Z, kclr=\E[J,
        kdch1=\E[P, kdl1=\E[M, kf1=\EOA, kf10=\EOJ, kf11=\EOK,
        kf12=\EOL, kf13=\EOM, kf14=\EON, kf15=\EOO, kf16=\EOP,
@@ -15467,7 +15349,7 @@ aaa+unk|aaa-unk|Ann Arbor Ambassador (internal - don't use this directly),
        kf21=\EOU, kf22=\EOV, kf23=\EOW, kf24=\EOX, kf3=\EOC,
        kf4=\EOD, kf5=\EOE, kf6=\EOF, kf7=\EOG, kf8=\EOH, kf9=\EOI,
        kich1=\E[@, kil1=\E[L, krmir=\E6, mc0=\E[0i, mc4=^C,
-       mc5=\E[v, mc5p=\E[%p1%dv, rc=\E8, rev=\E[7m,
+       mc5=\E[v, mc5p=\E[%p1%dv, rc=\E8,
        rmkx=\EP`>y~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\E
             \\,
        rmm=\E[>52l, rmso=\E[m, rmul=\E[m, sc=\E7,
@@ -15478,7 +15360,7 @@ aaa+unk|aaa-unk|Ann Arbor Ambassador (internal - don't use this directly),
             \\,
        smm=\E[>52h, smso=\E[7m, smul=\E[4m, vpa=\E[%p1%{1}%+%dd,
        use=ansi+arrows, use=ansi+idl, use=ansi+inittabs,
-       use=ansi+rep,
+       use=ansi+local, use=ansi+rep, use=ansi+sgr,
 
 aaa+rv|Ann Arbor Ambassador in reverse video,
        blink=\E[5;7m, bold=\E[1;7m, invis=\E[7;8m,
@@ -15856,24 +15738,26 @@ adds980|a980|ADDS Consul 980,
 cit80|cit-80|citoh 80,
        OTbs, am,
        cols#80, lines#24,
-       clear=\E[H\EJ, cr=\r, cub1=^H, cud1=\E[B, cuf1=\E[C,
-       cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, ed=\EJ, el=\EK, ff=^L,
-       ind=\n, is2=\E>, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
-       kcuu1=\EOA, rmkx=\E[?1l\E>, smkx=\E[?1h\E=,
+       clear=\E[H\EJ, cr=\r, cub1=^H, cup=\E[%i%p1%2d;%p2%2dH,
+       ed=\EJ, el=\EK, ff=^L, ind=\n, is2=\E>, kcub1=\EOD, kcud1=\EOB,
+       kcuf1=\EOC, kcuu1=\EOA, rmkx=\E[?1l\E>, smkx=\E[?1h\E=,
+       use=ansi+local1,
+
 # From: Tim Wood <mtxinu!sybase!tim> Fri Sep 27 09:39:12 PDT 1985
 # (cit101: added <rmam>/<smam> based on init string, merged this with c101 -- esr)
 cit101|citc|C. Itoh fast VT100,
        OTbs, am, xenl,
        cols#80, lines#24,
-       bel=^G, clear=\E[H\E[2J, cnorm=\E[V\E8, cub1=^H, cud1=\E[B,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
-       cvvis=\E7\E[U, dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K,
-       flash=\E[?5h$<200/>\E[?5l, ich1=\E[@, il1=\E[L,
+       bel=^G, clear=\E[H\E[2J, cnorm=\E[V\E8, cub1=^H,
+       cup=\E[%i%p1%d;%p2%dH, cvvis=\E7\E[U, dch1=\E[P,
+       dl1=\E[M, ed=\E[J, el=\E[K, flash=\E[?5h$<200/>\E[?5l,
+       ich1=\E[@, il1=\E[L,
        is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[3g\E[>5g,
        kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
        rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
        sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m,
-       smul=\E[4m,
+       smul=\E[4m, use=ansi+local1,
+
 # CIE Terminals CIT-101e from Geoff Kuenning <callan!geoff> via BRL
 # The following termcap entry was created from the Callan cd100 entry.  The
 # last two lines (with the capabilities in caps) are used by RM-cobol to allow
@@ -15884,15 +15768,15 @@ cit101|citc|C. Itoh fast VT100,
 cit101e|C. Itoh CIT-101e,
        OTbs, OTpt, am, mir, msgr,
        cols#80, it#8, lines#24,
-       acsc=, cnorm=, csr=\E[%i%p1%2d;%p2%2dr, cub1=\E[D,
-       cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A,
-       cvvis=\E[?1l\E[?4l\E[?7h, dch1=\E[P, dl1=\E[M,
-       if=/usr/share/tabset/vt100, il1=\E[L, kcub1=\E[D,
-       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\EOT, kf1=\EOP,
-       kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOm, kf6=\EOl, kf7=\EOM,
-       kf8=\EOn, rc=\E8, ri=\EM, rmacs=^O, rmir=\E[4l, rmkx=\E>,
-       rmso=\E[m, rmul=\E[m, sc=\E7, smacs=^N, smir=\E[4h, smkx=\E=,
-       smso=\E[7m, smul=\E[4m, use=ansi+erase,
+       acsc=, cnorm=, csr=\E[%i%p1%2d;%p2%2dr,
+       cup=\E[%i%p1%2d;%p2%2dH, cvvis=\E[?1l\E[?4l\E[?7h,
+       dch1=\E[P, dl1=\E[M, if=/usr/share/tabset/vt100,
+       il1=\E[L, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+       kf0=\EOT, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOm,
+       kf6=\EOl, kf7=\EOM, kf8=\EOn, rc=\E8, ri=\EM, rmacs=^O,
+       rmir=\E[4l, rmkx=\E>, rmso=\E[m, rmul=\E[m, sc=\E7, smacs=^N,
+       smir=\E[4h, smkx=\E=, smso=\E[7m, smul=\E[4m,
+       use=ansi+erase, use=ansi+local1,
 
 # From: David S. Lawyer, June 1997:
 # The CIT 101-e was made in Japan in 1983-4 and imported by CIE
@@ -15915,9 +15799,7 @@ cit101e-rv|C. Itoh CIT-101e (sets reverse video),
        am, eo, mir, msgr, xenl, xon,
        cols#80, lines#24,
        OTnl=\EM, bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[1v,
-       cnorm=\E[0;3;4v, cr=\r, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+       cnorm=\E[0;3;4v, cr=\r, cub1=^H, cup=\E[%i%p1%d;%p2%dH,
        cvvis=\E[3;5v, flash=\E[?5l$<200/>\E[?5h, home=\E[H,
        hpa=\E[%i%p1%dG, ind=\n,
        is2=\E<\E>\E[?1l\E[?3l\E[?4l\E[?5h\E[?7h\E[?8h\E[3g\E[>5g\E(
@@ -15928,7 +15810,8 @@ cit101e-rv|C. Itoh CIT-101e (sets reverse video),
        sgr0=\E[m, smcup=\E[>5g\E[?7h\E[?5h, smso=\E[7m,
        smul=\E[4m, u6=\E[%i%p1%d;%p2%dR, u8=\E[?6c,
        use=ansi+enq, use=ansi+csr, use=ansi+erase, use=ansi+idc,
-       use=ansi+idl, use=ansi+inittabs, use=ecma+index,
+       use=ansi+idl, use=ansi+inittabs, use=ansi+local,
+       use=ecma+index,
 
 cit101e-n|CIT-101e w/o am,
        am@,
@@ -15957,22 +15840,20 @@ cit500|CIE Terminals CIT-500,
        OTbs, OTpt, mir, msgr, xon,
        OTkn#10, cols#80, lines#64, vt#3,
        acsc=, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J,
-       cr=\r, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\EM, dch1=\E[P, ed=\EJ, el=\EK,
-       home=\E[H, ind=\n, is2=\E<\E)0, kcbt=\E[Z, kdch1=\E[P,
-       kdl1=\E[M, ked=\EJ, kel=\EK, kf0=\EOP, kf1=\EOQ, kf2=\EOR,
-       kf3=\EOS, kf4=\EOU, kf5=\EOV, kf6=\EOW, kf7=\EOX, kf8=\EOY,
-       kf9=\EOZ, khome=\E[H, kich1=\E[4h, kil1=\E[L, krmir=\E[4l,
-       lf0=PF1, lf1=PF2, lf2=PF3, lf3=PF4, lf4=F15, lf5=F16, lf6=F17,
-       lf7=F18, lf8=F19, lf9=F20, ll=\E[64H, nel=\EE, rev=\E[7m,
-       ri=\EM, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>,
-       rmso=\E[m, rmul=\E[m,
+       cr=\r, cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, cuu1=\EM,
+       dch1=\E[P, ed=\EJ, el=\EK, home=\E[H, ind=\n, is2=\E<\E)0,
+       kcbt=\E[Z, kdch1=\E[P, kdl1=\E[M, ked=\EJ, kel=\EK, kf0=\EOP,
+       kf1=\EOQ, kf2=\EOR, kf3=\EOS, kf4=\EOU, kf5=\EOV, kf6=\EOW,
+       kf7=\EOX, kf8=\EOY, kf9=\EOZ, khome=\E[H, kich1=\E[4h,
+       kil1=\E[L, krmir=\E[4l, lf0=PF1, lf1=PF2, lf2=PF3, lf3=PF4,
+       lf4=F15, lf5=F16, lf6=F17, lf7=F18, lf8=F19, lf9=F20,
+       ll=\E[64H, nel=\EE, rev=\E[7m, ri=\EM, rmacs=^O, rmam=\E[?7l,
+       rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
        rs1=\E<\E2\E[20l\E[?6l\E[r\E[m\E[q\E(B\017\E)0\E>,
        sgr0=\E[m, smacs=^N, smam=\E[?7h, smir=\E[4h,
        smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
        use=ansi+apparrows, use=ansi+csr, use=ansi+idl,
-       use=ansi+inittabs,
+       use=ansi+inittabs, use=ansi+local,
 
 # C. Itoh printers begin here
 citoh|ci8510|8510|C. Itoh 8510a,
@@ -16110,9 +15991,7 @@ visa50|Geveke VISA 50 terminal in ANSI 80 character mode,
        cols#80, lines#25,
        acsc=0_aaffggh jjkkllmmnnooqqssttuuvvwwxx, bel=^G,
        blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[2J, cr=\r,
-       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
-       cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+       csr=\E[%i%p1%d;%p2%dr, cup=\E[%i%p1%d;%p2%dH,
        dch=\E[%p1%dX, dch1=\E[X, dim=\E[2m, ed=\E[J, el=\E[K,
        flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
        ht=^I, ind=\n, invis=\E[8m,
@@ -16128,6 +16007,7 @@ visa50|Geveke VISA 50 terminal in ANSI 80 character mode,
        sgr0=\E[0;2m, smacs=\E3h, smam=\E?7h, smkx=\E=,
        smso=\E[2;7m, smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd,
        use=ansi+arrows, use=ansi+idc, use=ansi+idl,
+       use=ansi+local,
 
 #### Human Designed Systems (Concept)
 #
@@ -16517,9 +16397,7 @@ hds200|Human Designed Systems HDS200,
        cols#80, lines#24, lm#0,
        acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
        blink=\E[0;5m, bold=\E[0;1m, civis=\E[6+{, cnorm=\E[+{,
-       cr=\r, cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+       cr=\r, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
        dsl=\E[2!w\r\n\E[!w, el1=\E[1K, fsl=\E[!w, home=\E[H,
        hpa=\E[%i%p1%dG, ich=\E[%p1%d@, ind=\ED, invis=\E[0;8m,
        is2=\E)0\017\E[m\E[=107;207h\E[90;3u\E[92;3u\E[43;1u\177\E$P
@@ -16548,22 +16426,21 @@ hds200|Human Designed Systems HDS200,
        sgr0=\E[m\017, smacs=^N, smir=\E[4h, smso=\E[0;1;7m,
        smul=\E[0;4m, tsl=\E[2!w\E[%i%p1%dG, vpa=\E[%i%p1%dd,
        use=ansi+arrows, use=ansi+csr, use=ansi+erase,
-       use=ansi+idl, use=ansi+inittabs, use=ansi+pp,
+       use=ansi+idl, use=ansi+inittabs, use=ansi+local,
+       use=ansi+pp,
 
 # <ht> through <el> included to specify padding needed in raw mode.
 # (avt-ns: added empty <acsc> to suppress a tic warning --esr)
 avt-ns|Concept AVT no status line,
        OTbs, am, eo, mir, ul, xenl, xon,
        cols#80, lines#24, lm#192,
-       acsc=, bel=^G, blink=\E[5m, bold=\E[1m,
-       clear=\E[H\E[J$<38>, cnorm=\E[=119l, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[=119h, dim=\E[1!{,
+       acsc=, bel=^G, bold=\E[1m, clear=\E[H\E[J$<38>,
+       cnorm=\E[=119l, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, cvvis=\E[=119h, dim=\E[1!{,
        dl=\E[%p1%dM$<4*>, dl1=\E[M$<4>, ed=\E[J$<96>,
        el=\E[K$<6>, home=\E[H, hpa=\E[%p1%{1}%+%dG, ht=\011$<4>,
        ich=\E[%p1%d@, il=\E[%p1%dL$<4*>, il1=\E[L$<4>,
-       ind=\n$<8>, invis=\E[8m, ip=$<4>, is1=\E[=103l\E[=205l,
+       ind=\n$<8>, ip=$<4>, is1=\E[=103l\E[=205l,
        is2=\E[1*q\E[2!t\E[7!t\E[=4;101;119;122l\E[=107;118;207h\E)1
            \E[1Q\EW\E[!y\E[!z\E>\E[0:0:32!r\E[0*w\E[w\E2\r\n\E[2;27
            !t,
@@ -16571,7 +16448,7 @@ avt-ns|Concept AVT no status line,
        kf4=\EOS, kich1=\E\001\r, kil1=\E\003\r, ll=\E[24H,
        mc0=\E[0i, mc4=\E[4i, mc5=\E[5i,
        pfloc=\E[%p1%d;0u#%p2%s#, pfx=\E[%p1%d;1u#%p2%s#,
-       prot=\E[99m, rev=\E[7m, ri=\EM$<4>, rmacs=\016$<1>,
+       prot=\E[99m, ri=\EM$<4>, rmacs=\016$<1>,
        rmcup=\E[w\E2\r\n, rmkx=\E[!z\E[0;2u, rmso=\E[7!{,
        rmul=\E[4!{,
        sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;
@@ -16581,7 +16458,8 @@ avt-ns|Concept AVT no status line,
        smcup=\E[=4l\E[1;24w\E2\r, smkx=\E[1!z\E[0;3u,
        smso=\E[7m, smul=\E[4m, vpa=\E[%p1%{1}%+%dd,
        use=ansi+arrows, use=ansi+csr, use=ansi+idc1,
-       use=ansi+inittabs, use=ansi+rep,
+       use=ansi+inittabs, use=ansi+local, use=ansi+rep,
+       use=ansi+sgr,
 
 avt-rv-ns|Concept AVT in reverse video mode/no status line,
        flash=\E[=205l$<200>\E[=205h, is1=\E[=103l\E[=205h,
@@ -16865,11 +16743,11 @@ dg200|Data General DASHER 200,
 dg210|dg-ansi|Data General 210/211,
        am,
        cols#80, lines#24,
-       OTnl=\E[B, clear=\E[2J, cub1=\E[D, cud1=\E[B, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, el=\E[K,
-       home=\E[H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
-       khome=\E[H, nel=\r\E[H\E[A\n, rmso=\E[0;m, rmul=\E[0;m,
-       smso=\E[7;m, smul=\E[4;m,
+       OTnl=\E[B, clear=\E[2J, cup=\E[%i%p1%d;%p2%dH, ed=\E[J,
+       el=\E[K, home=\E[H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+       kcuu1=\E[A, khome=\E[H, nel=\r\E[H\E[A\n, rmso=\E[0;m,
+       rmul=\E[0;m, smso=\E[7;m, smul=\E[4;m, use=ansi+local1,
+
 # From: Peter N. Wan <ihnp4!gatech!gacsr!wan>
 # courtesy of Carlos Rucalde of Vantage Software, Inc.
 # (dg211: this had <cup=\020%r%.%>., which was an ancient termcap hangover.
@@ -16895,19 +16773,18 @@ dg450|dg6134|Data General 6134,
 dg460-ansi|Data General Dasher 460 in ANSI-mode,
        OTbs, am, msgr, ul,
        cols#80, it#8, lines#24,
-       OTnl=\ED, blink=\E[5m, clear=\E[2J, cub1=^H, cud1=\E[B,
-       cuf1=\E[C, cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, dch1=\E[P,
-       dim=\E[2m, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
-       ich1=\E[@, il1=\E[L, ind=\E[S, is2=^^F@, kbs=\E[D,
-       kf0=\E[001z, kf1=\E[002z, kf2=\E[003z, kf3=\E[004z,
-       kf4=\E[005z, kf5=\E[006z, kf6=\E[007z, kf7=\E[008z,
-       kf8=\E[009z, kf9=\E[00:z, lf0=f1, lf1=f2, lf2=f3, lf3=f4,
-       lf4=f5, lf5=f6, lf6=f7, lf7=f8, lf9=f10, mc0=\E[i, rev=\E[7m,
-       ri=\E[T, rmso=\E[m, rmul=\E[05,
+       OTnl=\ED, blink=\E[5m, clear=\E[2J, cub1=^H,
+       cup=\E[%i%p1%2d;%p2%2dH, dch1=\E[P, dim=\E[2m, dl1=\E[M,
+       ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L,
+       ind=\E[S, is2=^^F@, kbs=\E[D, kf0=\E[001z, kf1=\E[002z,
+       kf2=\E[003z, kf3=\E[004z, kf4=\E[005z, kf5=\E[006z,
+       kf6=\E[007z, kf7=\E[008z, kf8=\E[009z, kf9=\E[00:z, lf0=f1,
+       lf1=f2, lf2=f3, lf3=f4, lf4=f5, lf5=f6, lf6=f7, lf7=f8, lf9=f10,
+       mc0=\E[i, rev=\E[7m, ri=\E[T, rmso=\E[m, rmul=\E[05,
        sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;
            %?%p1%p3%|%t;7%;m,
        sgr0=\E(B\E[m, smso=\E[7m, smul=\E[4m, u8=\E[5n, u9=\E[0n,
-       use=ansi+arrows, use=ansi+cpr,
+       use=ansi+arrows, use=ansi+cpr, use=ansi+local1,
 
 # From: Wayne Throop <mcnc!rti-sel!rtp47!throopw> (not official)
 # Data General 605x
@@ -16950,14 +16827,13 @@ d210|d214|Data General DASHER D210 series,
        am, bw, msgr, xon,
        cols#80, lines#24,
        bel=^G, blink=\E[5m, bold=\E[4;7m, clear=\E[2J, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dim=\E[2m, ed=\E[J, el=\E[K,
-       el1=\E[1K, home=\E[H, ind=\n, is1=\E[<0;<1;<4l,
+       cub1=^H, cup=\E[%i%p1%d;%p2%dH, dim=\E[2m, ed=\E[J,
+       el=\E[K, el1=\E[1K, home=\E[H, ind=\n, is1=\E[<0;<1;<4l,
        ll=\E[H\E[A, nel=\n, rev=\E[7m, rmso=\E[m, rmul=\E[m,
        sgr=\E[%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;%?%p1%p3%|
            %p6%|%t7;%;m,
-       sgr0=\E[m, smso=\E[2;7m, smul=\E[4m, use=dgkeys+7b,
+       sgr0=\E[m, smso=\E[2;7m, smul=\E[4m, use=ansi+local,
+       use=dgkeys+7b,
 
 # DASHER D210 series terminals in DG mode.
 # Like D200, but adds clear to end-of-screen and needs XON/XOFF.
@@ -17155,18 +17031,17 @@ d400|d400-dg|d450|d450-dg|Data General DASHER D400/D450 series,
 #      \E)4            - default secondary character set (international)
 #
 d410|d411|d460|d461|Data General DASHER D410/D460 series,
-       mc5i,
        acsc=j$k"l!m#n)q+t'u&v(w%x*, civis=\E[3;0v,
        cnorm=\E[3;2v, dch=\E[%p1%dP, dch1=\E[P, ich=\E[%p1%d@,
        ich1=\E[@,
        is1=\E[<0;<1;<2;<4l\E[5;0v\E[1;1;80w\E[1;6;<2h,
-       is2=\E[3;2;2;1;1;1v\E(B\E)4\017, mc4=\E[4i, mc5=\E[5i,
-       ri=\EM, rmacs=\E)4\017, rs1=\Ec\E[<2h,
+       is2=\E[3;2;2;1;1;1v\E(B\E)4\017, ri=\EM,
+       rmacs=\E)4\017, rs1=\Ec\E[<2h,
        rs2=\E[4;0;2;1;1;1v\E(B\E)4,
        sgr=\E[%?%p1%t2;7%;%?%p3%t7;%;%?%p4%t5;%;%?%p2%t4;%;%?%p1%p5
            %|%t2;%;%?%p6%t4;7;%;m\E)%?%p9%t6\016%e4\017%;,
        sgr0=\E[m\E)4\017, smacs=\E)6\016, use=d211,
-       use=ansi+idl,
+       use=ansi+idl, use=ansi+pp,
 
 # Initialization string 2 sets:
 #      \E[3;2;2;0;1;0v
@@ -17594,22 +17469,22 @@ falco|ts1|ts-1|Falco ts-1,
 falco-p|ts1p|ts-1p|Falco ts-1 with paging option,
        OTbs, am, da, db, mir, msgr, ul,
        cols#80, it#8, lines#24,
-       bel=^G, cbt=\EI, clear=\E*, cr=\r, cub1=^H, cud1=\E[B,
-       cuf1=\E[C, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=\E[A,
-       dch1=\EW, dl1=\ER, ed=\EY, el=\ET\EG0\010\Eg0, ht=^I,
-       il1=\EE, ind=\n, is2=\EZ\E3\E_c, kcub1=\E[D, kcud1=\E[B,
-       kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, rmcup=\E_b, rmir=\Er,
-       rmso=\Eg0, rmul=\Eg0, sgr0=\Eg0, smcup=\E_d, smir=\Eq,
-       smso=\Eg4, smul=\Eg1,
+       bel=^G, cbt=\EI, clear=\E*, cr=\r, cub1=^H,
+       cup=\E=%p1%{32}%+%c%p2%{32}%+%c, dch1=\EW, dl1=\ER,
+       ed=\EY, el=\ET\EG0\010\Eg0, ht=^I, il1=\EE, ind=\n,
+       is2=\EZ\E3\E_c, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+       kcuu1=\E[A, khome=\E[H, rmcup=\E_b, rmir=\Er, rmso=\Eg0,
+       rmul=\Eg0, sgr0=\Eg0, smcup=\E_d, smir=\Eq, smso=\Eg4,
+       smul=\Eg1, use=ansi+local1,
+
 # (ts100: I added <rmam>/<smam> based on the init string -- esr)
 ts100|ts100-sp|Falco ts100-sp,
        am, mir, msgr, xenl, xon,
        cols#80, it#8, lines#24, vt#3,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
-       clear=\E[H\E[J$<50>, cr=\r, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C$<2>,
-       cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA,
+       clear=\E[H\E[J$<50>, cr=\r, cub1=^H, cud1=\n,
+       cuf1=\E[C$<2>, cup=\E[%i%p1%d;%p2%dH$<5>,
        cuu1=\E[A$<2>, dch1=\E~W, dl1=\E~R, ed=\E[J$<50>,
        el=\E[K$<3>, el1=\E[1K$<3>, enacs=\E(B\E)0, home=\E[H,
        ht=^I, hts=\EH, ich1=\E~Q, il1=\E~E, ind=\n, is1=\E~)\E~ea,
@@ -17621,7 +17496,8 @@ ts100|ts100-sp|Falco ts100-sp,
            %;m%?%p9%t\016%e\017%;$<2>,
        sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
        smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g,
-       use=ansi+csr, use=decid+cpr, use=vt100+fnkeys,
+       use=ansi+csr, use=ansi+local, use=decid+cpr,
+       use=vt100+fnkeys,
 
 ts100-ctxt|Falco ts-100 saving context,
        rmcup=\E~_b, smcup=\E~_d\E[2J, use=ts100,
@@ -17659,11 +17535,11 @@ beacon|FCG Beacon System,
 f1720|f1720a|fluke 1720A,
        xt,
        cols#80, lines#16, xmc#1,
-       bel=^G, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\E[B,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J,
-       el=\E[K, ind=\ED, is2=\E[H\E[2J, kcub1=^_, kcud1=^],
-       kcuf1=^^, kcuu1=^\, ri=\EM, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
-       smso=\E[7m, smul=\E[4m,
+       bel=^G, clear=\E[H\E[2J, cr=\r, cub1=^H,
+       cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K, ind=\ED,
+       is2=\E[H\E[2J, kcub1=^_, kcud1=^], kcuf1=^^, kcuu1=^\,
+       ri=\EM, rmso=\E[m, rmul=\E[m, sgr0=\E[m, smso=\E[7m,
+       smul=\E[4m, use=ansi+local1,
 
 #### Liberty Electronics (Freedom)
 #
@@ -17765,8 +17641,8 @@ f200vi-w|Liberty Freedom 200 - 132 cols for vi,
 go140|graphon go-140,
        OTbs,
        cols#80, it#8, lines#24,
-       clear=\E[H\E[2J$<10/>, cub1=^H, cud1=\E[B, cuf1=\E[C,
-       cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M,
+       clear=\E[H\E[2J$<10/>, cub1=^H,
+       cup=\E[%i%p1%2d;%p2%2dH, dch1=\E[P, dl1=\E[M,
        ed=\E[J$<10/>, el=\E[K, ht=^I,
        if=/usr/share/tabset/vt100, il1=\E[L,
        is2=\E<\E=\E[?3l\E[?7l\E(B\E[J\E7\E[;r\E8\E[m\E[q,
@@ -17774,7 +17650,8 @@ go140|graphon go-140,
        kf2=\EOQ, kf3=\EOR, kf4=\EOS, khome=\E[H, ri=\EM,
        rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m,
        rmul=\E[m, sgr0=\E[m, smam=\E[?7h, smir=\E[4h,
-       smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+       smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, use=ansi+local1,
+
 go140w|graphon go-140 in 132 column mode,
        am,
        cols#132,
@@ -18214,29 +18091,27 @@ ibm5151|wy60-AT|wyse60-AT|IBM 5151 Monochrome display,
        cols#80, it#8, lines#25,
        acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x
             \263,
-       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
-       dch1=\E[P, ech=\E[%p1%dX, home=\E[H, hpa=\E[%i%p1%dG,
-       ind=\E[S, invis=\E[8m, is2=\Ec, kcbt=\E[Z, kclr=\E[144q,
-       kdch1=\E[P, ked=\E[148q, kel=\E[142q, kend=\E[146q,
-       kf1=\E[001q, kf10=\E[010q, kf11=\E[011q, kf12=\E[012q,
-       kf13=\E[013q, kf14=\E[014q, kf15=\E[015q, kf16=\E[016q,
-       kf17=\E[017q, kf18=\E[018q, kf19=\E[019q, kf2=\E[002q,
-       kf20=\E[020q, kf21=\E[021q, kf22=\E[022q, kf23=\E[023q,
-       kf24=\E[024q, kf25=\E[025q, kf26=\E[026q, kf27=\E[027q,
-       kf28=\E[028q, kf29=\E[029q, kf3=\E[003q, kf30=\E[030q,
-       kf31=\E[031q, kf32=\E[032q, kf33=\E[033q, kf34=\E[034q,
-       kf35=\E[035q, kf36=\E[036q, kf4=\E[004q, kf5=\E[005q,
-       kf6=\E[006q, kf7=\E[007q, kf8=\E[008q, kf9=\E[009q,
-       kich1=\E[139q, kil1=\E[140q, kind=\E[151q, knp=\E[154q,
-       kpp=\E[150q, kri=\E[155q, krmir=\E[4l, rev=\E[7m, ri=\E[T,
-       rmir=\E[4l, rmso=\E[m, rmul=\E[m, rs2=\Ec,
+       bel=^G, bold=\E[1m, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, ech=\E[%p1%dX,
+       home=\E[H, hpa=\E[%i%p1%dG, ind=\E[S, is2=\Ec, kcbt=\E[Z,
+       kclr=\E[144q, kdch1=\E[P, ked=\E[148q, kel=\E[142q,
+       kend=\E[146q, kf1=\E[001q, kf10=\E[010q, kf11=\E[011q,
+       kf12=\E[012q, kf13=\E[013q, kf14=\E[014q, kf15=\E[015q,
+       kf16=\E[016q, kf17=\E[017q, kf18=\E[018q, kf19=\E[019q,
+       kf2=\E[002q, kf20=\E[020q, kf21=\E[021q, kf22=\E[022q,
+       kf23=\E[023q, kf24=\E[024q, kf25=\E[025q, kf26=\E[026q,
+       kf27=\E[027q, kf28=\E[028q, kf29=\E[029q, kf3=\E[003q,
+       kf30=\E[030q, kf31=\E[031q, kf32=\E[032q, kf33=\E[033q,
+       kf34=\E[034q, kf35=\E[035q, kf36=\E[036q, kf4=\E[004q,
+       kf5=\E[005q, kf6=\E[006q, kf7=\E[007q, kf8=\E[008q,
+       kf9=\E[009q, kich1=\E[139q, kil1=\E[140q, kind=\E[151q,
+       knp=\E[154q, kpp=\E[150q, kri=\E[155q, krmir=\E[4l,
+       ri=\E[T, rmir=\E[4l, rmso=\E[m, rmul=\E[m, rs2=\Ec,
        sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1
            %;%?%p7%t;8%;m,
        sgr0=\E[0m, smir=\E[4h, smso=\E[7m, smul=\E[4m,
        use=ansi+arrows, use=ansi+erase, use=ansi+idl,
-       use=ecma+index,
+       use=ansi+local, use=ansi+sgr, use=ecma+index,
 
 ibmaed|IBM Experimental display,
        OTbs, am, eo, msgr,
@@ -18362,13 +18237,11 @@ lft|lft-pc850|LFT-PC850|IBM LFT PC850 Device,
        cols#80, it#8, lines#25,
        acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x
             \263,
-       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J,
-       cr=\r, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+       bel=^G, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, cr=\r, cub1=^H,
+       cud1=\n, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
        ech=\E[%p1%dX, ed=\E[2J, el=\E[0K, home=\E[H,
-       hpa=\E[%i%p1%dG, ich=\E[%p1%d@, ind=\ED, invis=\E[8m,
-       is2=\Ec, kcbt=\E[Z, kclr=\E[144q, kdch1=\E[P, ked=\E[148q,
+       hpa=\E[%i%p1%dG, ich=\E[%p1%d@, ind=\ED, is2=\Ec,
+       kcbt=\E[Z, kclr=\E[144q, kdch1=\E[P, ked=\E[148q,
        kel=\E[142q, kend=\E[146q, kf1=\E[001q, kf10=\E[010q,
        kf11=\E[011q, kf12=\E[012q, kf13=\E[013q, kf14=\E[014q,
        kf15=\E[015q, kf16=\E[016q, kf17=\E[017q, kf18=\E[018q,
@@ -18380,12 +18253,13 @@ lft|lft-pc850|LFT-PC850|IBM LFT PC850 Device,
        kf4=\E[004q, kf5=\E[005q, kf6=\E[006q, kf7=\E[007q,
        kf8=\E[008q, kf9=\E[009q, kich1=\E[139q, kil1=\E[140q,
        kind=\E[151q, knp=\E[154q, kpp=\E[150q, kri=\E[155q,
-       krmir=\E[4l, rev=\E[7m, ri=\EL, rmacs=\E(B, rmir=\E[4l,
-       rmso=\E[0m, rmul=\E[0m, rs2=\Ec,
+       krmir=\E[4l, ri=\EL, rmacs=\E(B, rmir=\E[4l, rmso=\E[0m,
+       rmul=\E[0m, rs2=\Ec,
        sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1
            %;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;,
        sgr0=\E[0m, smacs=\E(0, smir=\E[4h, smso=\E[7m, smul=\E[4m,
-       tbc=\E[3g, use=ansi+arrows, use=ansi+idl, use=ecma+index,
+       tbc=\E[3g, use=ansi+arrows, use=ansi+idl, use=ansi+local,
+       use=ansi+sgr, use=ecma+index,
 
 # "Megapel" refers to the display adapter, which was used with the IBM RT
 # aka IBM 6150.
@@ -18789,9 +18663,9 @@ intext|Interactive Systems Corporation modified owl 1200,
 intext2|intextii|INTERACTIVE modified owl 1251,
        am, bw, ul,
        cols#80, lines#24, xmc#0,
-       bel=^G, cbt=\E[Z, clear=\E[H\E[2J, cr=\r, cub1=\E[D,
-       cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
-       dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K,
+       bel=^G, cbt=\E[Z, clear=\E[H\E[2J, cr=\r,
+       cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, dl1=\E[M, ed=\E[J,
+       el=\E[K,
        flash=\E[;;;;;;;;;2;;u$<200/>\E[;;;;;;;;;1;;u,
        hpa=\E[%p1%{1}%+%dG, ht=^I, ich1=\E[@, il1=\E[L, ind=\E[S,
        kbs=^H, kcub1=\ED\r, kcud1=\EB\r, kcuf1=\EC\r, kcuu1=\EA\r,
@@ -18800,7 +18674,7 @@ intext2|intextii|INTERACTIVE modified owl 1251,
        khome=\ER\r, lf0=REFRSH, lf1=DEL CH, lf2=TABSET, lf3=GOTO,
        lf4=+PAGE, lf5=+SRCH, lf6=-PAGE, lf7=-SRCH, lf8=LEFT,
        lf9=RIGHT, ri=\E[T, rmso=\E[2 D, rmul=\E[2 D, smso=\E[6 D,
-       smul=\E[18 D,
+       smul=\E[18 D, use=ansi+local1,
 
 #### Kimtron (abm, kt)
 #
@@ -19087,10 +18961,8 @@ prism9|p9|P9|MDC Prism-9 in ANSI mode,
        am, bw, hs, msgr, xenl, xon,
        cols#80, lines#24, vt#3, wsl#72,
        bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[<4l, clear=^L,
-       cnorm=\E[<4h, cr=\r, csr=\E[%i%p1%d;%p2%d%%v,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+       cnorm=\E[<4h, cr=\r, csr=\E[%i%p1%d;%p2%d%%v, cub1=^H,
+       cud1=\n, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
        dsl=\E[%}\024, ech=\E[%p1%dX, ed=\E[J$<10>, el=\E[K,
        fsl=^T, home=\E[H, hpa=\E[%i%p1%d`, ind=\n,
        is2=\E[&p\E[<12l\E F, kclr=^L, kf1=\E[11~, kf10=\E[21~,
@@ -19107,7 +18979,8 @@ prism9|p9|P9|MDC Prism-9 in ANSI mode,
            %p8%t\E[32%%{%;%?%p9%t\016%e\017%;,
        sgr0=\E[0m\017, smir=\E[4h, smso=\E[7m, smul=\E[4m,
        tsl=\E[%i%p1%d%%}, vpa=\E[%i%p1%dd, use=ansi+arrows,
-       use=ansi+idl, use=ansi+inittabs, use=ansi+pp,
+       use=ansi+idl, use=ansi+inittabs, use=ansi+local,
+       use=ansi+pp,
 
 # p9-w: Prism-9 in 132 column mode
 # --------------------------------
@@ -19325,9 +19198,7 @@ mm340|mime340|mime 340,
 mt4520-rv|micro-term 4520 reverse video,
        am, hs, msgr, xenl, xon,
        cols#80, it#8, lines#24, wsl#80,
-       bel=^G, cnorm=\E[0V\E8, cr=\r, cub=\E[%p1%dD, cub1=\E[D,
-       cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+       bel=^G, cnorm=\E[0V\E8, cr=\r, cup=\E[%i%p1%d;%p2%dH,
        cvvis=\E7\E[0U, dch=\E[%p1%dP, dch1=\E[P,
        flash=\E[?5l$<200/>\E[?5h, fsl=\E[?5l\E[?5h, home=\E[H,
        ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, ind=\ED,
@@ -19339,7 +19210,7 @@ mt4520-rv|micro-term 4520 reverse video,
        rs1=\E(B\E[2l\E>\E[20l\E[?3l\E[?5h\E[?7h\E[H\E[J,
        sgr0=\E[m, smam=\E[?7h, smso=\E[7m, smul=\E[4m, tbc=\E[g,
        tsl=\E[25;1H, use=ansi+arrows, use=ansi+csr,
-       use=ansi+erase, use=ansi+idl,
+       use=ansi+erase, use=ansi+idl, use=ansi+local,
 
 # Fri Aug  5 08:11:57 1983
 # This entry works for the ergo 4000 with the following setups:
@@ -19353,17 +19224,17 @@ mt4520-rv|micro-term 4520 reverse video,
 ergo4000|microterm ergo 4000,
        da, db, msgr,
        cols#80, lines#66,
-       bel=^G, clear=\E[H\E[2J$<80>, cr=\r, cub1=^H, cud1=\E[B,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
-       dch1=\E[1P$<80>, dl1=\E[1M$<5*>, ed=\E[0J$<15>,
-       el=\E[0K$<13>, ht=^I, il1=\E[1L$<5*>, ind=\ED$<20*>,
+       bel=^G, clear=\E[H\E[2J$<80>, cr=\r, cub1=^H,
+       cup=\E[%i%p1%d;%p2%dH, dch1=\E[1P$<80>, dl1=\E[1M$<5*>,
+       ed=\E[0J$<15>, el=\E[0K$<13>, ht=^I, il1=\E[1L$<5*>,
+       ind=\ED$<20*>,
        is2=\E<\E=\E[?1l\E[?4l\E[?5l\E[?7h\E[?8h$<300>,
        kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP,
        kf2=\EOQ, kf3=\EOR, kf4=\EOS, lf1=pf1, lf2=pf2, lf3=pf3,
        lf4=pf4, ri=\EM$<20*>, rmam=\E[?7l, rmir=\E[4l,
        rmkx=\E=$<4>, rmso=\E[m$<20>, sgr0=\E[m$<20>,
        smam=\E[?7m, smir=\E[4h$<6>, smkx=\E=$<4>,
-       smso=\E[7m$<20>,
+       smso=\E[7m$<20>, use=ansi+local1,
 
 #### NCR
 #
@@ -19458,31 +19329,31 @@ ncr260vt100an|NCR 2900/260 VT100 with ANSI keyboard,
        am, mir, msgr, xenl, xon,
        cols#80, lines#24, nlab#32,
        acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
-       blink=\E[5m, bold=\E[1m, clear=\E[2J\E[1;1H$<20>,
-       cr=\r$<1>, cub=\E[%p1%dD$<5>, cub1=\E[D$<5>,
-       cud=\E[%p1%dB$<5>, cud1=\E[B$<5>, cuf=\E[%p1%dC$<5>,
-       cuf1=\E[C$<5>, cup=\E[%i%p1%d;%p2%dH$<10>,
-       cuu=\E[%p1%dA$<5>, cuu1=\E[A$<5>, dch=\E[%p1%dP$<5>,
-       dch1=\E[1P$<5>, dl=\E[%p1%dM$<5>, dl1=\E[M$<5>,
-       ech=\E[%p1%dX, ed=\E[0J$<5>, el=\E[0K$<3>, el1=\E[1K$<3>,
-       home=\E[H$<1>, hpa=\E[%p1%dG$<40>, ht=^I, hts=\EH,
-       ich=\E[%p1%d@$<5>, il=\E[%p1%dL$<5>, il1=\E[L$<5>,
-       ind=\ED$<5>, indn=\E[%p1%dE$<5>, invis=\E[8m,
+       bold=\E[1m, clear=\E[2J\E[1;1H$<20>, cr=\r$<1>,
+       cub=\E[%p1%dD$<5>, cub1=\E[D$<5>, cud=\E[%p1%dB$<5>,
+       cud1=\E[B$<5>, cuf=\E[%p1%dC$<5>, cuf1=\E[C$<5>,
+       cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA$<5>,
+       cuu1=\E[A$<5>, dch=\E[%p1%dP$<5>, dch1=\E[1P$<5>,
+       dl=\E[%p1%dM$<5>, dl1=\E[M$<5>, ech=\E[%p1%dX,
+       ed=\E[0J$<5>, el=\E[0K$<3>, el1=\E[1K$<3>, home=\E[H$<1>,
+       hpa=\E[%p1%dG$<40>, ht=^I, hts=\EH, ich=\E[%p1%d@$<5>,
+       il=\E[%p1%dL$<5>, il1=\E[L$<5>, ind=\ED$<5>,
+       indn=\E[%p1%dE$<5>,
        is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<
            200>,
        kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
        khlp=\E[28~, kich1=\E[2~, krdo=\E[29~, nel=\EE$<5>,
-       rev=\E[7m, ri=\EM$<5>, rmacs=^O, rmir=\E[4l,
-       rmkx=\E[?1l\E>, rmso=\E[0m, rmul=\E[0m,
+       ri=\EM$<5>, rmacs=^O, rmir=\E[4l, rmkx=\E[?1l\E>,
+       rmso=\E[0m, rmul=\E[0m,
        rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<
            200>,
        sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
            %;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<20>,
        sgr0=\E[0m\017$<20>, smacs=^N, smir=\E[4h,
        smkx=\E[?1h\E=, smso=\E[1;7m, smul=\E[4m, tbc=\E[3g,
-       vpa=\E[%p1%dd$<40>, use=ansi+csr, use=decid+cpr,
-       use=vt220+vtedit, use=vt220+cvis, use=vt220+keypad,
-       use=ncr260vt+sl,
+       vpa=\E[%p1%dd$<40>, use=ansi+csr, use=ansi+sgr,
+       use=decid+cpr, use=vt220+vtedit, use=vt220+cvis,
+       use=vt220+keypad, use=ncr260vt+sl,
 
 ncr260vt+sl|NCR 2900/260 VT100 status line,
        hs,
@@ -19513,17 +19384,17 @@ ncr260vt200an|NCR 2900/260 VT200 with ANSI keyboard,
        am, mir, msgr, xenl, xon,
        cols#80, lines#24, nlab#32,
        acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
-       blink=\E[5m, bold=\E[1m, clear=\E[2J\E[1;1H$<20>,
-       cr=\r$<1>, csr=\E[%i%p1%d;%p2%dr$<5>,
-       cub=\E[%p1%dD$<5>, cub1=\E[D$<5>, cud=\E[%p1%dB$<5>,
-       cud1=\E[B$<5>, cuf=\E[%p1%dC$<5>, cuf1=\E[C$<5>,
+       bold=\E[1m, clear=\E[2J\E[1;1H$<20>, cr=\r$<1>,
+       csr=\E[%i%p1%d;%p2%dr$<5>, cub=\E[%p1%dD$<5>,
+       cub1=\E[D$<5>, cud=\E[%p1%dB$<5>, cud1=\E[B$<5>,
+       cuf=\E[%p1%dC$<5>, cuf1=\E[C$<5>,
        cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA$<5>,
        cuu1=\E[A$<5>, dch=\E[%p1%dP$<5>, dch1=\E[1P$<5>,
        dl=\E[%p1%dM$<5>, dl1=\E[M$<5>, ech=\E[%p1%dX$<5>,
        ed=\E[0J, el=\E[0K$<5>, el1=\E[1K$<5>, home=\E[H,
        hpa=\E[%p1%dG$<40>, ht=^I, hts=\EH, ich=\E[%p1%d@$<5>,
        il=\E[%p1%dL$<5>, il1=\E[L$<5>, ind=\ED$<5>,
-       indn=\E[%p1%dE$<5>, invis=\E[8m,
+       indn=\E[%p1%dE$<5>,
        is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<
            200>,
        kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
@@ -19535,7 +19406,7 @@ ncr260vt200an|NCR 2900/260 VT200 with ANSI keyboard,
        kf29=\E[4~, kf30=\E[5~, kf31=\E[6~, kf32=\E[7~, kf33=\E[8~,
        kf34=\E[9~, kf35=\E[10~, kf5=\E[M, kf6=\E[17~, kf7=\E[18~,
        kf8=\E[19~, kf9=\E[20~, khlp=\E[28~, krdo=\E[29~, mc0=\E[i,
-       mc4=\E[4i, mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM$<5>,
+       mc4=\E[4i, mc5=\E[5i, nel=\EE, rc=\E8, ri=\EM$<5>,
        rmacs=\017$<20>, rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>,
        rmso=\E[27m, rmul=\E[24m,
        rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<
@@ -19545,9 +19416,10 @@ ncr260vt200an|NCR 2900/260 VT200 with ANSI keyboard,
            %;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<20>,
        sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h,
        smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
-       tbc=\E[3g, vpa=\E[%p1%dd$<40>, use=decid+cpr,
-       use=vt220+vtedit, use=vt220+cvis, use=vt220+keypad,
-       use=ncr260vt+sl,
+       tbc=\E[3g, vpa=\E[%p1%dd$<40>, use=ansi+sgr,
+       use=decid+cpr, use=vt220+vtedit, use=vt220+cvis,
+       use=vt220+keypad, use=ncr260vt+sl,
+
 ncr260vt200wan|NCR 2900/260 VT200 wide mode ANSI keyboard,
        cols#132,
        cup=\E[%i%p1%d;%p2%dH$<30>,
@@ -19570,17 +19442,17 @@ ncr260vt300an|NCR 2900/260 VT300 with ANSI keyboard,
        am, mir, msgr, xenl, xon,
        cols#80, lines#24, nlab#32,
        acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
-       blink=\E[5m, bold=\E[1m, clear=\E[2J\E[1;1H$<20>,
-       cr=\r$<1>, csr=\E[%i%p1%d;%p2%dr$<5>,
-       cub=\E[%p1%dD$<5>, cub1=\E[D$<5>, cud=\E[%p1%dB$<5>,
-       cud1=\E[B$<5>, cuf=\E[%p1%dC$<5>, cuf1=\E[C$<5>,
+       bold=\E[1m, clear=\E[2J\E[1;1H$<20>, cr=\r$<1>,
+       csr=\E[%i%p1%d;%p2%dr$<5>, cub=\E[%p1%dD$<5>,
+       cub1=\E[D$<5>, cud=\E[%p1%dB$<5>, cud1=\E[B$<5>,
+       cuf=\E[%p1%dC$<5>, cuf1=\E[C$<5>,
        cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA$<5>,
        cuu1=\E[A$<5>, dch=\E[%p1%dP$<5>, dch1=\E[1P$<5>,
        dl=\E[%p1%dM$<5>, dl1=\E[M$<5>, ech=\E[%p1%dX$<5>,
        ed=\E[0J, el=\E[0K$<5>, el1=\E[1K$<5>, home=\E[H,
        hpa=\E[%p1%dG$<40>, ht=^I, hts=\EH, ich=\E[%p1%d@$<5>,
        il=\E[%p1%dL$<5>, il1=\E[L$<5>, ind=\ED$<5>,
-       indn=\E[%p1%dE$<5>, invis=\E[8m,
+       indn=\E[%p1%dE$<5>,
        is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1
            ;1H\E>$<200>,
        kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
@@ -19592,7 +19464,7 @@ ncr260vt300an|NCR 2900/260 VT300 with ANSI keyboard,
        kf29=\E[4~, kf30=\E[5~, kf31=\E[6~, kf32=\E[7~, kf33=\E[8~,
        kf34=\E[9~, kf35=\E[10~, kf5=\E[M, kf6=\E[17~, kf7=\E[18~,
        kf8=\E[19~, kf9=\E[20~, khlp=\E[28~, krdo=\E[29~, mc0=\E[i,
-       mc4=\E[4i, mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM$<5>,
+       mc4=\E[4i, mc5=\E[5i, nel=\EE, rc=\E8, ri=\EM$<5>,
        rmacs=\017$<20>, rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>,
        rmso=\E[27m, rmul=\E[24m,
        rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1
@@ -19602,9 +19474,10 @@ ncr260vt300an|NCR 2900/260 VT300 with ANSI keyboard,
            %;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<20>,
        sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h,
        smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
-       tbc=\E[3g, vpa=\E[%p1%dd$<40>, use=decid+cpr,
-       use=vt220+vtedit, use=vt220+cvis, use=vt220+keypad,
-       use=ncr260vt+sl,
+       tbc=\E[3g, vpa=\E[%p1%dd$<40>, use=ansi+sgr,
+       use=decid+cpr, use=vt220+vtedit, use=vt220+cvis,
+       use=vt220+keypad, use=ncr260vt+sl,
+
 ncr260vt300wan|NCR 2900/260 VT300 wide mode ANSI keyboard,
        cols#132,
        cup=\E[%i%p1%d;%p2%dH$<30>,
@@ -20151,17 +20024,16 @@ uts30|Sperry UTS30 with cp/m@1R1,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[1m, civis=\ER, clear=^L,
        cnorm=\ES, cr=\r, csr=\EU%p1%{32}%+%c%p2%{32}%+%c,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\EM,
-       dl=\E[%p1%dM, dl1=\EL, ed=\E[J, el=\E[K, fsl=\r, home=\E[H,
-       ht=^I, ich=\E[%p1%d@, ich1=\EO, il=\E[%p1%dL, il1=\EN,
-       ind=\n, indn=\E[%p1%dB, is2=\E[U 7\E[24;1H, khome=\E[H,
-       rc=\EX, rev=\E[7m, rf=/usr/share/tabset/vt100, ri=\EI,
-       rin=\E[%p1%dA, rmacs=\Ed, rmam=\E[?7l, rmso=\E[m,
-       rmul=\E[m, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
-       sc=\EW, sgr0=\E[m, smacs=\EF, smam=\E[?7m, smso=\E[7m,
-       smul=\E[4m, tsl=\E], uc=\EPB, use=ansi+apparrows,
+       cub1=^H, cud1=\E[B, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP,
+       dch1=\EM, dl=\E[%p1%dM, dl1=\EL, ed=\E[J, el=\E[K, fsl=\r,
+       home=\E[H, ht=^I, ich=\E[%p1%d@, ich1=\EO, il=\E[%p1%dL,
+       il1=\EN, ind=\n, indn=\E[%p1%dB, is2=\E[U 7\E[24;1H,
+       khome=\E[H, rc=\EX, rev=\E[7m,
+       rf=/usr/share/tabset/vt100, ri=\EI, rin=\E[%p1%dA,
+       rmacs=\Ed, rmam=\E[?7l, rmso=\E[m, rmul=\E[m,
+       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\EW,
+       sgr0=\E[m, smacs=\EF, smam=\E[?7m, smso=\E[7m, smul=\E[4m,
+       tsl=\E], uc=\EPB, use=ansi+apparrows, use=ansi+local,
 
 #### Tandem
 #
@@ -20208,34 +20080,33 @@ dt100|dt-100|Tandy DT-100 terminal,
        xon,
        cols#80, lines#24, xmc#1,
        acsc=jjkkllmmnnqqttuuvvwwxx, bel=^G, clear=\E[H\E[2J,
-       cr=\r, csr=\E[%p1%2d;%p2%2dr, cub1=^H, cud1=\E[B,
-       cuf1=\E[C, cup=\010\E[%i%p1%d;%p2%dH, cuu1=\E[A,
-       dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
-       ich1=\E[@, il1=\E[L, ind=\n, is2=\E[?3l\E)0\E(B,
-       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\E[?3i,
-       kf10=\E[?5i, kf2=\E[2i, kf3=\E[@, kf4=\E[M, kf5=\E[17~,
-       kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, kf9=\E[21~, khome=\E[H,
-       knp=\E[29~, kpp=\E[28~, lf1=f1, lf2=f2, lf3=f3, lf4=f4, lf5=f5,
-       lf6=f6, lf7=f7, lf8=f8, ri=\EM, rmacs=^O, rmso=\E[m, rmul=\E[m,
-       sgr0=\E[m, smacs=^N, smso=\E[7m, smul=\E[4m,
-       use=vt220+cvis,
+       cr=\r, csr=\E[%p1%2d;%p2%2dr, cub1=^H,
+       cup=\010\E[%i%p1%d;%p2%dH, dch1=\E[P, dl1=\E[M, ed=\E[J,
+       el=\E[K, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L, ind=\n,
+       is2=\E[?3l\E)0\E(B, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+       kcuu1=\E[A, kf1=\E[?3i, kf10=\E[?5i, kf2=\E[2i, kf3=\E[@,
+       kf4=\E[M, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~,
+       kf9=\E[21~, khome=\E[H, knp=\E[29~, kpp=\E[28~, lf1=f1,
+       lf2=f2, lf3=f3, lf4=f4, lf5=f5, lf6=f6, lf7=f7, lf8=f8, ri=\EM,
+       rmacs=^O, rmso=\E[m, rmul=\E[m, sgr0=\E[m, smacs=^N,
+       smso=\E[7m, smul=\E[4m, use=ansi+local1, use=vt220+cvis,
 dt100w|dt-100w|Tandy DT-100 terminal (wide mode),
        cols#132, use=dt100,
 dt110|Tandy DT-110 emulating ANSI,
        xon,
        cols#80, lines#24,
        acsc=jjkkllmmnnqqttuuvvwwxx, bel=^G, clear=\E[H\E[2J,
-       cr=\r, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[B,
-       cuf1=\E[C, cup=\010\E[%i%p1%d;%p2%dH, cuu1=\E[A,
-       dch1=\E[0P, dl1=\E[0M, ed=\E[0J, el=\E[0K, enacs=\E(B\E)0,
-       home=\E[H, ht=^I, ich1=\E[0@, il1=\E[0L, ind=\n,
-       is2=\E[?3l\E)0\E(B, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
-       kcuu1=\E[A, kend=\E[K, kf1=\E[1~, kf10=\E[10~, kf2=\E[2~,
-       kf3=\E[3~, kf4=\E[4~, kf5=\E[5~, kf6=\E[6~, kf7=\E[7~,
-       kf8=\E[8~, kf9=\E[9~, khome=\E[G, kich1=\E[@, knp=\E[26~,
-       kpp=\E[25~, lf0=f1, lf1=f2, lf2=f3, lf3=f4, lf4=f5, lf5=f6,
-       lf6=f7, lf7=f8, lf8=f9, lf9=f10, ri=\EM, rmacs=^O, rmso=\E[m,
-       rmul=\E[m, sgr0=\E[m, smacs=^N, smso=\E[7m, smul=\E[4m,
+       cr=\r, csr=\E[%i%p1%d;%p2%dr, cub1=^H,
+       cup=\010\E[%i%p1%d;%p2%dH, dch1=\E[0P, dl1=\E[0M,
+       ed=\E[0J, el=\E[0K, enacs=\E(B\E)0, home=\E[H, ht=^I,
+       ich1=\E[0@, il1=\E[0L, ind=\n, is2=\E[?3l\E)0\E(B,
+       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kend=\E[K,
+       kf1=\E[1~, kf10=\E[10~, kf2=\E[2~, kf3=\E[3~, kf4=\E[4~,
+       kf5=\E[5~, kf6=\E[6~, kf7=\E[7~, kf8=\E[8~, kf9=\E[9~,
+       khome=\E[G, kich1=\E[@, knp=\E[26~, kpp=\E[25~, lf0=f1,
+       lf1=f2, lf2=f3, lf3=f4, lf4=f5, lf5=f6, lf6=f7, lf7=f8, lf8=f9,
+       lf9=f10, ri=\EM, rmacs=^O, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
+       smacs=^N, smso=\E[7m, smul=\E[4m, use=ansi+local1,
        use=vt220+cvis,
 pt210|TRS-80 PT-210 printing terminal,
        hc, os,
@@ -20402,9 +20273,8 @@ tek4105-30|Tektronix 4015 emulating 30 line VT100,
        cols#80, it#8, lines#30, vt#3,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
-       clear=\E[H\E[J$<50>, cr=\r, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C$<2>,
-       cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA,
+       clear=\E[H\E[J$<50>, cr=\r, cub1=^H, cud1=\n,
+       cuf1=\E[C$<2>, cup=\E[%i%p1%d;%p2%dH$<5>,
        cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>,
        enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=\n, kbs=^H,
        kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
@@ -20415,7 +20285,7 @@ tek4105-30|Tektronix 4015 emulating 30 line VT100,
            %;m%?%p9%t\016%e\017%;$<2>,
        sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
        smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g,
-       use=ansi+csr, use=vt100+fnkeys,
+       use=ansi+csr, use=ansi+local, use=vt100+fnkeys,
 
 # Tektronix 4105 from BRL
 # The following setup modes are assumed for normal operation:
@@ -20443,23 +20313,22 @@ tek4105a|Tektronix 4105 (BRL),
        OTkn#8, cols#80, lines#30, vt#3,
        acsc=, bel=^G, blink=\E[5m, bold=\E[1m,
        civis=\E%!0\ETD00\E%!1, cnorm=\E%!0\ETD10\E%!1, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\EM, cvvis=\E%!0\ETD70\E%!1,
-       dch=\E[%p1%dP, dch1=\E[P, ech=\E[%p1%dX, home=\E[H, ind=\n,
-       is2=\E%!1, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
-       kcuu1=\EOA, kf0=\EOA, kf1=\EOB, kf2=\EOC, kf3=\EOD, kf4=\EOP,
-       kf5=\EOQ, kf6=\EOR, kf7=\EOS, lf0=F1, lf1=F2, lf2=F3, lf3=F4,
-       lf4=F5, lf5=F6, lf6=F8, ll=\E[30;H, nel=\EE, rev=\E[7m, ri=\EM,
-       rmacs=^O, rmcup=\E%!0\ELBH=\E%!1, rmir=\E[4l,
-       rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+       cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, cuu1=\EM,
+       cvvis=\E%!0\ETD70\E%!1, dch=\E[%p1%dP, dch1=\E[P,
+       ech=\E[%p1%dX, home=\E[H, ind=\n, is2=\E%!1, kbs=^H,
+       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOA,
+       kf1=\EOB, kf2=\EOC, kf3=\EOD, kf4=\EOP, kf5=\EOQ, kf6=\EOR,
+       kf7=\EOS, lf0=F1, lf1=F2, lf2=F3, lf3=F4, lf4=F5, lf5=F6, lf6=F8,
+       ll=\E[30;H, nel=\EE, rev=\E[7m, ri=\EM, rmacs=^O,
+       rmcup=\E%!0\ELBH=\E%!1, rmir=\E[4l, rmkx=\E[?1l\E>,
+       rmso=\E[m, rmul=\E[m,
        rs2=\030\E%!0\EKC\E\014\EKR0\EKF0\ENM0\ELBH=\ETF8000010F40
            \ELI100\ELLA>\ELM0\EKE0\ENF1\EKS0\END0\E%!1\Ec\E[?3;5l
            \E[?7;8h\E[r\E[m\E>,
        sgr0=\E[m, smacs=^N, smcup=\E[?6l, smir=\E[4h,
        smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, use=ansi+csr,
        use=ansi+erase, use=ansi+idl, use=ansi+inittabs,
-       use=ecma+index,
+       use=ansi+local, use=ecma+index,
 
 # Tektronix 4106/4107/4109 from BRL
 # The following setup modes are assumed for normal operation:
@@ -20487,23 +20356,22 @@ tek4106brl|tek4107brl|tek4109brl|Tektronix 4106 4107 or 4109,
        cols#80, lines#32, vt#3,
        acsc=, bel=^G, blink=\E[5m, bold=\E[1m,
        civis=\E%!0\ETD00\E%!1, cnorm=\E%!0\ETD10\E%!1, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\EM, cvvis=\E%!0\ETD70\E%!1,
-       dch=\E[%p1%dP, dch1=\E[P, ech=\E[%p1%dX, home=\E[H, ind=\n,
-       is2=\E%!1, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
-       kcuu1=\EOA, kf0=\EOA, kf1=\EOB, kf2=\EOC, kf3=\EOD, kf4=\EOP,
-       kf5=\EOQ, kf6=\EOR, kf7=\EOS, lf0=F1, lf1=F2, lf2=F3, lf3=F4,
-       lf4=F5, lf5=F6, lf6=F8, ll=\E[32;H, nel=\EE, rev=\E[7m, ri=\EM,
-       rmacs=^O, rmcup=\E%!0\ELBH=\E%!1, rmir=\E[4l,
-       rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+       cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, cuu1=\EM,
+       cvvis=\E%!0\ETD70\E%!1, dch=\E[%p1%dP, dch1=\E[P,
+       ech=\E[%p1%dX, home=\E[H, ind=\n, is2=\E%!1, kbs=^H,
+       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOA,
+       kf1=\EOB, kf2=\EOC, kf3=\EOD, kf4=\EOP, kf5=\EOQ, kf6=\EOR,
+       kf7=\EOS, lf0=F1, lf1=F2, lf2=F3, lf3=F4, lf4=F5, lf5=F6, lf6=F8,
+       ll=\E[32;H, nel=\EE, rev=\E[7m, ri=\EM, rmacs=^O,
+       rmcup=\E%!0\ELBH=\E%!1, rmir=\E[4l, rmkx=\E[?1l\E>,
+       rmso=\E[m, rmul=\E[m,
        rs1=\030\E%!0\EKC\E\014\EKR0\EKF0\ENM0\ELBH=\ETF8000010F40
            \ELI100\ELLB0\ELM0\EKE0\ENF1\EKS0\END0\ERE0\E%!1\Ec\E[?3
            ;5l\E[?7;8h\E[r\E[m\E>,
        sgr0=\E[m, smacs=^N, smcup=\E[?6l, smir=\E[4h,
        smkx=\E[?1h\E=, smso=\E[7;42m, smul=\E[4m, use=ansi+csr,
        use=ansi+erase, use=ansi+idl, use=ansi+inittabs,
-       use=ecma+index,
+       use=ansi+local, use=ecma+index,
 
 # Refer to:
 # TEK Programmer's Reference
@@ -20614,32 +20482,29 @@ otek4115|Tektronix 4115 (old),
        OTbs, am, da, db, eo,
        cols#80, it#8, lines#34,
        cbt=\E[Z, clear=\E[H\E[2J,
-       cnorm=\E%!0\ELBG8\E%!1\E[34;1H, cub1=\E[D, cud1=\E[B,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
-       cvvis=\E%!0\ELBB2\E%!1, dch1=\E[P, dl1=\E[M, ed=\E[J,
-       el=\E[K, home=\E[H, ht=^I, if=/usr/share/tabset/vt100,
-       il1=\E[L,
+       cnorm=\E%!0\ELBG8\E%!1\E[34;1H,
+       cup=\E[%i%p1%d;%p2%dH, cvvis=\E%!0\ELBB2\E%!1,
+       dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+       if=/usr/share/tabset/vt100, il1=\E[L,
        is2=\E%!0\E%\014\ELV0\EKA1\ELBB2\ENU@=\ELLB2\ELM0\ELV1\EKYA?
            \E%!1\E[<1l\E[?7h\E[?8h\E[34;1H\E[34B\E[m,
        kbs=^H, ri=\EM, rmam=\E[?7l,
        rmcup=\E%!0\ELBG8\E%!1\E[34;1H\E[J, rmir=\E[4l,
        rmkx=\E>, rmso=\E[m, rmul=\E[m, sgr0=\E[m, smam=\E[?7h,
        smcup=\E%!0\ELBB2\E%!1, smir=\E[4h, smkx=\E=, smso=\E[7m,
-       smul=\E[4m,
+       smul=\E[4m, use=ansi+local1,
 tek4115|Tektronix 4115 entry with more ANSI capabilities (new),
        am, xon,
        cols#80, lines#34,
-       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cuu=\E[%p1%dA, cuu1=\E[A,
-       dch1=\E[P, hpa=\E[%p1%{1}%+%dG, ht=^I, hts=\EH,
-       ich=\E[%p1%d@, ich1=\E[@, ind=\n, invis=\E[8m, kcuu1=\E[A,
-       rev=\E[7m, rmam=\E[?7l, rmso=\E[m, rmul=\E[m,
+       bel=^G, bold=\E[1m, cbt=\E[Z, cr=\r, cub1=^H, cud1=\n,
+       dch1=\E[P, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, ind=\n,
+       kcuu1=\E[A, rmam=\E[?7l, rmso=\E[m, rmul=\E[m,
        sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;
            %;%?%p7%t8;%;m,
        sgr0=\E[m, smam=\E[?7h, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
-       vpa=\E[%p1%{1}%+%dd, use=ansi+arrows, use=ansi+cup,
-       use=ansi+erase, use=ansi+idl, use=ansi+rep,
+       use=ansi+arrows, use=ansi+cup, use=ansi+erase,
+       use=ansi+idl, use=ansi+local, use=ansi+rep, use=ansi+rca,
+       use=ansi+sgr,
 
 # The tek4125 emulates a VT100 incorrectly - the scrolling region
 # command is ignored.  The following entry replaces <csr> with the needed
@@ -20725,9 +20590,7 @@ tek4205|Tektronix 4205,
        colors#8, cols#80, it#8, lines#30, ncv#49, pairs#63,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[=7;<4m, cbt=\E[Z,
-       clear=\E[2J\E[H, cr=\r, cub=\E[%p1%dD, cub1=\E[D,
-       cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+       clear=\E[2J\E[H, cr=\r, cup=\E[%i%p1%d;%p2%dH,
        dch1=\E[1P, dim=\E[=1;<6m, dl=\E[%p1%dM, dl1=\E[1M,
        ech=\E%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0,
        home=\E[H, ht=^I, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[1L,
@@ -20758,7 +20621,7 @@ tek4205|Tektronix 4205,
             %e1m%;,
        sgr0=\E[=0;<1m\E[24;25;27m\017, smacs=^N,
        smcup=\E%%!1\E[?6l\E[2J, smir=\E[4h, smso=\E[=2;<3m,
-       smul=\E[4m, tbc=\E[1g,
+       smul=\E[4m, tbc=\E[1g, use=ansi+local,
 
 #### Teletype (tty)
 #
@@ -20906,9 +20769,7 @@ ibmpc|wy60-PC|wyse60-PC|IBM PC/XT running PC/IX,
        acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x
             \263,
        bel=^G, blink=\E[5m, bold=\E[1m, clear=\Ec, cr=\r,
-       cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
+       cup=\E[%i%p1%d;%p2%dH, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
        home=\E[H, hpa=\E[%i%p1%dG, ind=\E[S\E[B,
        indn=\E[%p1%dS\E[%p1%dB, invis=\E[30;40m, kcbt=^],
        kdch1=^?, kend=\E[Y, kf1=\240, kf10=\251, kf2=\241, kf3=\242,
@@ -20919,6 +20780,7 @@ ibmpc|wy60-PC|wyse60-PC|IBM PC/XT running PC/IX,
        sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1
            %;%?%p7%t30;40%;m,
        sgr0=\E[m, smso=\E[7m, smul=\E[4m, use=ansi+arrows,
+       use=ansi+local,
 
 #### Apple II
 #
@@ -21090,12 +20952,12 @@ lisa|Apple Lisa console display (black on white),
        OTbs, am, eo, msgr,
        cols#88, it#8, lines#32,
        acsc=jdkclfmenbqattuvvuwsx`, civis=\E[5h, clear=^L,
-       cnorm=\E[5l, cub1=^H, cud1=\E[B, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M,
-       ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L,
-       is2=\E>\E[m\014, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+       cnorm=\E[5l, cub1=^H, cup=\E[%i%p1%d;%p2%dH, dch1=\E[P,
+       dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@,
+       il1=\E[L, is2=\E>\E[m\014, kbs=^H, kcub1=\E[D, kcud1=\E[B,
        kcuf1=\E[C, kcuu1=\E[A, rmacs=\E[10m, rmso=\E[m, rmul=\E[m,
        sgr0=\E[m, smacs=\E[11m, smso=\E[7m, smul=\E[4m,
+       use=ansi+local1,
 liswb|Apple Lisa console display (white on black),
        is2=\E>\E[0;7m\014, rmso=\E[0;7m, rmul=\E[0;7m,
        smso=\E[m, smul=\E[4m, use=lisa,
@@ -21115,16 +20977,14 @@ lisaterm|Apple Lisa or Lisa/2 running LisaTerm VT100 emulation,
        OTbs, OTpt, am, xenl, xon,
        OTkn#4, cols#80, it#8, lines#24, vt#3,
        bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
-       hts=\EH, ind=\n, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
-       kcuu1=\EOA, kf0=\EOP, kf1=\EOQ, kf2=\EOR, kf3=\EOS, lf0=F1,
-       lf1=F2, lf2=F3, lf3=F4, rev=\E[7m, ri=\EM, rmkx=\E[?1l\E>,
-       rmso=\E[m, rmul=\E[m,
+       cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K,
+       home=\E[H, ht=^I, hts=\EH, ind=\n, kbs=^H, kcub1=\EOD,
+       kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOP, kf1=\EOQ,
+       kf2=\EOR, kf3=\EOS, lf0=F1, lf1=F2, lf2=F3, lf3=F4, rev=\E[7m,
+       ri=\EM, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
        rs1=\E>\E[?1l\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r,
        sgr0=\E[m, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
-       tbc=\E[3g, use=ansi+csr,
+       tbc=\E[3g, use=ansi+csr, use=ansi+local,
 
 # Lisaterm in 132 column ("wide") mode.
 lisaterm-w|Apple Lisa with Lisaterm in 132 column mode,
@@ -21216,9 +21076,7 @@ amiga|Amiga ANSI,
        OTbs, am, bw, xenl,
        cols#80, lines#24,
        acsc=, bel=^G, blink=\E[7;2m, bold=\E[1m, cbt=\E[Z,
-       civis=\E[0 p, cnorm=\E[ p, cub=\E[%p1%dD, cub1=\E[D,
-       cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+       civis=\E[0 p, cnorm=\E[ p, cup=\E[%i%p1%d;%p2%dH,
        dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, home=\E[H,
        ich=\E[%p1%d@, ich1=\E[@, ind=\E[S, invis=\E[8m,
        is2=\E[20l, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
@@ -21226,7 +21084,8 @@ amiga|Amiga ANSI,
        kf4=\E[3~, kf5=\E[4~, kf6=\E[5~, kf7=\E[6~, kf8=\E[7~,
        kf9=\E[8~, rev=\E[7m, ri=\E[T, rmacs=^O, rmso=\E[m,
        rmul=\E[m, rs1=\Ec, sgr0=\E[m, smacs=^N, smso=\E[7m,
-       smul=\E[4m, use=ansi+erase, use=ansi+idl, use=ecma+index,
+       smul=\E[4m, use=ansi+erase, use=ansi+idl, use=ansi+local,
+       use=ecma+index,
 
 # From: Hans Verkuil <hans@wyst.hobby.nl>, 4 Dec 1995
 # (amiga: added empty <acsc> to suppress a warning.
@@ -21270,9 +21129,7 @@ amiga-vnc|Amiga using VNC console (black on light gray),
        btns#1, colors#16, cols#80, lines#24, lm#0, ncv#0, pairs#0x100,
        bel=^G, blink=\E[7;2m, bold=\E[1m, civis=\E[0p,
        cnorm=\E[p\E[>?6l, cr=\r, csr=\E[%i%p1%d;%p2%dr,
-       cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[>?6h, dch=\E[%p1%dP,
+       cup=\E[%i%p1%d;%p2%dH, cvvis=\E[>?6h, dch=\E[%p1%dP,
        dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[1M, flash=^G,
        ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[1L, ind=\ED,
        invis=\E8m,
@@ -21288,7 +21145,7 @@ amiga-vnc|Amiga using VNC console (black on light gray),
        setaf=\E[%?%p1%{8}%>%t%'2'%p1%+%d%e3%p1%d%;m,
        sgr0=\E[0m\017\E[30;85;>15m, smcup=\E[?7h, smkx=\E[?1h,
        smso=\E[1m, smul=\E[4m, use=ansi+arrows, use=ansi+erase,
-       use=ecma+index,
+       use=ansi+local, use=ecma+index,
 
 # MorphOS on Genesi Pegasos
 # By Pavel Fedin <sonic_amiga@rambler.ru>
@@ -21427,14 +21284,12 @@ minix-old|minix-1.5|minix console (v1.5),
        xon, NQ,
        cols#80, it#8, lines#25,
        bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[0J, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+       cub1=^H, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
        ed=\E[0J, el=\E[K, home=\E[H, ht=^I, ich=\E[%p1%d@,
        ich1=\E[@, ind=\n, kf0=\E[Y, kf1=\E[V, kf2=\E[U, kf3=\E[T,
        kf4=\E[S, kf5=\E[G, nel=\r\n, rev=\E[7m, ri=\EM, rmso=\E[0m,
        rmul=\E[0m, sgr0=\E[0m, smso=\E[7m, smul=\E[4m,
-       use=ansi+arrows, use=ansi+idl,
+       use=ansi+arrows, use=ansi+idl, use=ansi+local,
 
 # The linewrap option can be specified by editing /usr/include/minix/config.h
 # before recompiling the minix 1.5 kernel.
@@ -21548,9 +21403,7 @@ m2-nam|minitel|minitel-2|minitel-2-nam|France Telecom Minitel 2 mode te'le'infor
        cols#80, it#8, lines#24, wsl#72, xmc#0,
        acsc=aaffggjjkkllmmnnooqqssttuuvvwwxx, bel=^G,
        blink=\E[5m, bold=\E[1m, civis=\E[<1h, cnorm=\E[<1l, cr=\r,
-       cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+       cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
        flash=^G, fsl=\n, home=\E[H, ht=^I, ind=\n, ip=$<7/>,
        is1=\E:1}\Ec\E[?4l\E[12h, is2=\Ec\E[12h\E)0,
        is3=\E[?3l, kclr=\E[2J, kdch1=\E[P, kdl1=\E[M, kf0=\EOp,
@@ -21562,6 +21415,7 @@ m2-nam|minitel|minitel-2|minitel-2-nam|France Telecom Minitel 2 mode te'le'infor
        rs2=\Ec\E)0, sgr0=\E[m, smacs=^N, smir=\E[4h, smso=\E[7m,
        smul=\E[4m, tsl=^_@A, use=ansi+arrows, use=ansi+cpr,
        use=ansi+csr, use=ansi+erase, use=ansi+idl,
+       use=ansi+local,
 
 # From: Alexandre Montaron <canal@mygale.org>, 18 Jun 1998, updated 19 Sep 2016
 #
@@ -21607,22 +21461,22 @@ minitel1|minitel 1,
           \177\,--,
 minitel1b|minitel 1-bistandard (in 40cols mode),
        mir,
-       cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC,
-       cuu=\E[%p1%dA, dch=\E[%p1%dP, dch1=\E[P, ed=\E[J,
-       el1=\E[1K, is1=\E;iYA\E;jYC, kbs@, kcan@, kclr=\E[2J,
-       kctab=^I, kdch1=\E[P, kdl1=\E[M, kent@, kf1=^SD, kf10=^Y0,
-       kf11=^Y1, kf12=^Y/, kf13=^Y{1, kf14=^Y{2, kf15=^Y{3,
-       kf16=^Y{4, kf17=^Y{5, kf18=^Y{6, kf19=^Y{7, kf2=^SC,
-       kf20=^Y{8, kf21=^Y{9, kf22=^Y{0, kf23=^Y{*, kf24=^Y{#,
-       kf3=^SF, kf4=^SA, kf5=^SG, kf6=^SE, kf7=^Y8, kf8=^Y\,, kf9=^Y.,
-       khlp@, kich1=\E[4h, kil1=\E[L, krfr@, lf1=Guide,
-       lf2=Repetition, lf3=Sommaire, lf4=Envoi, lf5=Correction,
-       lf6=Annulation, rmir=\E[4l, smir=\E[4h,
+       cub1=^H, cud1=\n, cuf1=^I, cuu1=^K, dch=\E[%p1%dP, dch1=\E[P,
+       ed=\E[J, el1=\E[1K, is1=\E;iYA\E;jYC, kbs@, kcan@,
+       kclr=\E[2J, kctab=^I, kdch1=\E[P, kdl1=\E[M, kent@, kf1=^SD,
+       kf10=^Y0, kf11=^Y1, kf12=^Y/, kf13=^Y{1, kf14=^Y{2,
+       kf15=^Y{3, kf16=^Y{4, kf17=^Y{5, kf18=^Y{6, kf19=^Y{7,
+       kf2=^SC, kf20=^Y{8, kf21=^Y{9, kf22=^Y{0, kf23=^Y{*,
+       kf24=^Y{#, kf3=^SF, kf4=^SA, kf5=^SG, kf6=^SE, kf7=^Y8,
+       kf8=^Y\,, kf9=^Y., khlp@, kich1=\E[4h, kil1=\E[L, krfr@,
+       lf1=Guide, lf2=Repetition, lf3=Sommaire, lf4=Envoi,
+       lf5=Correction, lf6=Annulation, rmir=\E[4l, smir=\E[4h,
        u8=\001%[ABCPtuvwxyz0123456789:;<=>?]\004,
        .ich=\E[%p1%d@, .ich1=\E[@, .kLFT=\E[P, .kRIT=\E[4h,
        .kb2=^Y{g, .kcbt=^Y{i, .kel=^X, .mc0=\E:|k, .rmkx=\E;jYA,
        .rs1=\E[4l\E[2l, .smkx=\E;iYA\E;jYC, .u8=^ACu<^D,
-       use=ansi+arrows, use=ansi+idl, use=minitel1,
+       use=ansi+arrows, use=ansi+idl, use=ansi+local,
+       use=minitel1,
 
 # rmkx posait des problemes (logout en sortant de vi).
 minitel1b-80|minitel 1-bistandard (standard teleinformatique),
@@ -21805,10 +21659,9 @@ linux-m1|Linux Minitel 1 "like" Couleurs,
        acsc=a\261f\370g\361h\260j\274k\273l\311m\310n\316q\315t
             \314u\271v\312w\313x\272y\363z\362{\343|\252~\372,
        bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub1=^H, cud1=\n,
-       cuf1=\E[C, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
-       ech=\E[%p1%dX, el1=\E[1K, enacs=\E)U,
-       flash=\E[?5h$<100/>\E[?5l, hpa=\E[%i%p1%d`, ht=^I,
-       hts=\EH, ind=\n,
+       dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, ech=\E[%p1%dX,
+       el1=\E[1K, enacs=\E)U, flash=\E[?5h$<100/>\E[?5l,
+       hpa=\E[%i%p1%d`, ht=^I, hts=\EH, ind=\n,
        initc=\E]P%p1%{15}%&%X%p2%{255}%&%02X%p3%{255}%&%02X%p4
              %{255}%&%02X,
        is2=\E]R\E]P3FFFF80\E[?8c, ka1=\EOw, ka3=\EOy, kb2=\E[G,
@@ -21837,8 +21690,8 @@ linux-m1|Linux Minitel 1 "like" Couleurs,
           \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
           \n\n\n\n\n\n\n\n\n\n,
        use=ansi+arrows, use=ansi+csr, use=ansi+cup,
-       use=ansi+erase, use=ansi+idl, use=vt220+pcedit,
-       use=vt220+cvis, use=linux+decid,
+       use=ansi+erase, use=ansi+idl, use=ansi+local1,
+       use=vt220+pcedit, use=vt220+cvis, use=linux+decid,
 
 # 1. Using double-shapes for VT100 graphical chars (eg: mc).
 # 2. Native brown color corrected to good yellow color.
@@ -22106,13 +21959,13 @@ bg2.0rv|bg3.10rv|BBn BitGraph 2.0 (reverse video),
 bg2.0|bg3.10|BBN BitGraph 2.0 or later (no init),
        OTbs, xenl,
        cols#85, lines#64,
-       bel=^G, clear=\E[H\E[J$<150>, cr=\r, cub1=^H, cud1=\E[B,
-       cuf1=\E[C, cup=%i\E[%p1%d;%p2%dH, cuu1=\E[A,
-       dl1=\E[M$<2*>, ed=\E[J$<150>, el=\E[K$<2>, ht=^I,
-       il1=\E[L$<2*>, ind=\n$<280>, kcub1=\E[D, kcud1=\E[B,
-       kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, kf3=\EOR,
-       kf4=\EOS, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, rmkx=\E>,
-       rmso=\E[m, sgr0=\E[m, smkx=\E=, smso=\E[7m, use=ansi+csr,
+       bel=^G, clear=\E[H\E[J$<150>, cr=\r, cub1=^H,
+       cup=%i\E[%p1%d;%p2%dH, dl1=\E[M$<2*>, ed=\E[J$<150>,
+       el=\E[K$<2>, ht=^I, il1=\E[L$<2*>, ind=\n$<280>,
+       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP,
+       kf2=\EOQ, kf3=\EOR, kf4=\EOS, lf1=PF1, lf2=PF2, lf3=PF3,
+       lf4=PF4, rmkx=\E>, rmso=\E[m, sgr0=\E[m, smkx=\E=,
+       smso=\E[7m, use=ansi+csr, use=ansi+local1,
 
 bg1.25rv|BBN BitGraph 1.25 (reverse video),
        flash=\E[?5l$<200/>\E[?5h, is2=\E>\E[?5h\E[?7h,
@@ -22123,14 +21976,13 @@ bg1.25nv|BBN BitGraph 1.25 (normal video),
 # (bg1.25: I added <rmam>/<smam> based on the init string -- esr)
 bg1.25|BBN BitGraph 1.25,
        cols#85, lines#64,
-       bel=^G, clear=\E[H\E[J$<150>, cr=\r, cub1=^H, cud1=\E[B,
-       cuf1=\E[C, cup=%i\E[%p1%d;%p2%dH, cuu1=\E[A,
-       dl1=\E[M$<2*>, ed=\E[J$<150>, el=\E[K$<2>, ht=^I,
-       il1=\E[L$<2*>, ind=\n$<280>, kcub1=\ED, kcud1=\EB,
-       kcuf1=\EC, kcuu1=\EA, kf1=\EP, kf2=\EQ, kf3=\ER, kf4=\ES,
-       lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, ll=\E[64;1H, rmam=\E[?7l,
-       rmkx=\E>, rmso=\E[m, sgr0=\E[m, smam=\E[?7h, smkx=\E=,
-       smso=\E[7m,
+       bel=^G, clear=\E[H\E[J$<150>, cr=\r, cub1=^H,
+       cup=%i\E[%p1%d;%p2%dH, dl1=\E[M$<2*>, ed=\E[J$<150>,
+       el=\E[K$<2>, ht=^I, il1=\E[L$<2*>, ind=\n$<280>, kcub1=\ED,
+       kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kf1=\EP, kf2=\EQ, kf3=\ER,
+       kf4=\ES, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, ll=\E[64;1H,
+       rmam=\E[?7l, rmkx=\E>, rmso=\E[m, sgr0=\E[m, smam=\E[?7h,
+       smkx=\E=, smso=\E[7m, use=ansi+local1,
 
 #### Bull (bq, dku, vip)
 #
@@ -22204,11 +22056,10 @@ tws-generic|dku7102|Bull Questar tws terminals,
        cols#80, lines#24, wsl#80,
        acsc=``aaffggj)k\,l&m#n/ooppq*rrsst'u-v+w.x%yyzz{{||}}~~,
        bel=^G, blink=\E[0;5m, civis=\E[1r, clear=\E[2J,
-       cnorm=\E[r, cr=\r, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB,
-       cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%df,
-       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
-       dim=\E[0;2m, dsl=\EPY99:98\E\\\E[0;98v\E[2J\E[v,
-       fsl=\E[v, home=\E[H, ht=\E[I, ind=\n, invis=\E[0;8m,
+       cnorm=\E[r, cr=\r, cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%df,
+       dch=\E[%p1%dP, dch1=\E[P, dim=\E[0;2m,
+       dsl=\EPY99:98\E\\\E[0;98v\E[2J\E[v, fsl=\E[v,
+       home=\E[H, ht=\E[I, ind=\n, invis=\E[0;8m,
        is1=\E[?=h\Ec\E`\E[?>h\EPY99:98\E\\,
        is2=\E[5;>;12;18;?<l\E[=h\EP1s\E\\\E[\027p,
        is3=\Eb\E[?<h, kcbt=\E[Z, kctab=\E[g, kdch1=\E[P,
@@ -22226,6 +22077,7 @@ tws-generic|dku7102|Bull Questar tws terminals,
        smir=\E[4h, smso=\E[0;7m, smul=\E[0;4m,
        tsl=\EPY99:98\E\\\E[0;98v\E[2;7m, use=ansi+arrows,
        use=ansi+erase, use=ansi+idl, use=ansi+inittabs,
+       use=ansi+local,
 
 tws2102-sna|dku7102-sna|Bull Questar tws2102 for SNA,
        dsl=\E[0;98v\E[2J\E[v, fsl=\E[v, is3=\Eb, tsl=\E[0;98v,
@@ -22325,10 +22177,8 @@ bq300|Bull VT320 ISO Latin 1 80 columns terminal,
        am, eo, eslok, hs, km, mir, msgr, xenl, xon,
        cols#80, it#8, lines#24, vt#3, wsl#80,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub=\E[%p1%dD,
-       cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
-       cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r,
+       cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
        dsl=\E[1$}\E[2$~\n\E[0$}, ech=\E[%p1%dX, el1=\E[1K,
        enacs=\E(B\E)0, flash=\E[?5h$<50>\E[?5l, fsl=\E[0$},
        home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ind=\ED,
@@ -22351,8 +22201,9 @@ bq300|Bull VT320 ISO Latin 1 80 columns terminal,
        sgr0=\E[0m\E(B, smacs=\E(0, smam=\E[?7h,
        smcup=\E[?7l\E[?1l\E(B, smir=\E[4h, smso=\E[7m,
        smul=\E[4m, tbc=\E[3g, tsl=\E[1$}\E[2$~, use=ansi+enq,
-       use=ansi+csr, use=ansi+erase, use=ansi+idl, use=ansi+pp,
-       use=vt220+cvis, use=vt220+vtedit,
+       use=ansi+csr, use=ansi+erase, use=ansi+idl,
+       use=ansi+local, use=ansi+pp, use=vt220+cvis,
+       use=vt220+vtedit,
 
 bq300-rv|Bull VT320 reverse 80 columns,
        flash=\E[?5l$<50>\E[?5h,
@@ -22807,16 +22658,14 @@ vt61|vt-61|vt61.5|DEC VT61,
 gigi|vk100|DEC gigi graphics terminal,
        OTbs, am, xenl,
        cols#84, lines#24,
-       bel=^G, clear=\E[H\E[2J, cr=\r, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, ed=\E[J,
-       el=\E[K, ht=^I, ind=\n,
+       bel=^G, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K, ht=^I, ind=\n,
        is2=\E>\E[?3l\E[?4l\E[?5l\E[?20l\E[?7h\E[?8h,
        kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP,
        kf2=\EOQ, kf3=\EOR, kf4=\EOS, khome=\E[H, ri=\EM,
        rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
        sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7;31m,
-       smul=\E[4m,
+       smul=\E[4m, use=ansi+local,
 
 # DEC PRO-350 console (VT220-style).  The 350 was DEC's attempt to produce
 # a PC differentiated from the IBM clones.  It was a total, ludicrous,
@@ -23101,21 +22950,19 @@ z29a|z29a-kc-bc|h29a-kc-bc|Heath/Zenith 29 in ANSI mode,
        OTbs, OTpt, am, eslok, hs, mir, msgr,
        OTkn#10, cols#80, it#8, lines#24,
        OTbc=\ED, bel=^G, blink=\E[5m, bold=\E[2m, clear=\E[2J,
-       cr=\r, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
-       dch=\E[%p1%dP, dch1=\E[1P, dim=\E[2m, dsl=\E[>1l, ed=\E[J,
-       el=\E[K, fsl=\E[u\E[>5l, home=\E[H, ht=^I, hts=\EH,
-       if=/usr/share/tabset/vt100, ind=\ED, kclr=\E[J, ked=\E[J,
-       kf0=\E[~, kf1=\EOS, kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW,
-       kf6=\EOP, kf7=\EOQ, kf8=\EOR, kf9=\EOX, khome=\E[H, lf0=help,
-       mc0=\E#7, nel=\r\ED, rc=\E[r, rev=\E[7m, ri=\EM,
-       rmcup=\E[?7h, rmso=\E[m, rmul=\E[m,
+       cr=\r, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[1P,
+       dim=\E[2m, dsl=\E[>1l, ed=\E[J, el=\E[K, fsl=\E[u\E[>5l,
+       home=\E[H, ht=^I, hts=\EH, if=/usr/share/tabset/vt100,
+       ind=\ED, kclr=\E[J, ked=\E[J, kf0=\E[~, kf1=\EOS, kf2=\EOT,
+       kf3=\EOU, kf4=\EOV, kf5=\EOW, kf6=\EOP, kf7=\EOQ, kf8=\EOR,
+       kf9=\EOX, khome=\E[H, lf0=help, mc0=\E#7, nel=\r\ED, rc=\E[r,
+       rev=\E[7m, ri=\EM, rmcup=\E[?7h, rmso=\E[m, rmul=\E[m,
        rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>4h\E[>1;2;3;5;6;7;8;9l\E[m
            \E[11m,
        sc=\E[s, sgr0=\E[m, smcup=\E[?7l, smso=\E[7;2m, smul=\E[4m,
        tbc=\E[3g, tsl=\E[s\E[>5;1h\E[25;%i%dH\E[1K,
-       use=ansi+apparrows, use=ansi+idl,
+       use=ansi+apparrows, use=ansi+idl, use=ansi+local,
 
 z29a-kc-uc|h29a-kc-uc|Zenith z29 ANSI mode with keyclick and underscore cursor,
        rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>1;2;3;4;5;6;7;8;9l\E[m\E[11
@@ -23131,14 +22978,12 @@ z29a-nkc-uc|h29a-nkc-uc|Zenith z29 ANSI mode with underscore cursor and no keycl
        use=z29a,
 # From: Jeff Bartig <jeffb@dont.doit.wisc.edu> 31 Mar 1995
 z39-a|z39a|zenith39-a|zenith39-ansi|Zenith 39 in ANSI mode,
-       am, eslok, hs, mc5i, mir, msgr, xon,
+       am, eslok, hs, mir, msgr, xon,
        cols#80, lines#24,
        acsc=0a``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
        blink=\E[5m, bold=\E[1m, cbt=\E[1Z, civis=\E[>5h,
        clear=\E[2J\E[H, cnorm=\E[>5l, cr=\r,
-       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+       csr=\E[%i%p1%d;%p2%dr, cub1=^H, cup=\E[%i%p1%d;%p2%dH,
        dch=\E[%p1%dP, dch1=\E[1P, dim=\E[2m, dl=\E[%p1%dM,
        dl1=\E[1M, dsl=\E[>1l, ed=\E[0J, el=\E[0K, el1=\E[1K,
        fsl=\E[u, home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[1L,
@@ -23146,11 +22991,12 @@ z39-a|z39a|zenith39-a|zenith39-ansi|Zenith 39 in ANSI mode,
        ka3=\EOu, kb2=\EOy, kc1=\EOq, kc3=\EOs, ked=\E[J, kf1=\EOS,
        kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW, kf6=\EOP, kf7=\EOQ,
        kf8=\EOR, kf9=\EOX, khlp=\E[~, ll=\E[24;1H,
-       mc0=\E[?19h\E[i, mc4=\E[4i, mc5=\E[5i, rc=\E[u, rev=\E[7m,
-       rmacs=\E(B, rmir=\E[4l, rmkx=\E[>7l, rmso=\E[0m,
-       rmul=\E[0m, rs2=\E<\Ec\0, sc=\E[s, sgr0=\E[0m, smacs=\E(0,
-       smir=\E[4h, smkx=\E[>7h, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+       mc0=\E[?19h\E[i, rc=\E[u, rev=\E[7m, rmacs=\E(B,
+       rmir=\E[4l, rmkx=\E[>7l, rmso=\E[0m, rmul=\E[0m,
+       rs2=\E<\Ec\0, sc=\E[s, sgr0=\E[0m, smacs=\E(0, smir=\E[4h,
+       smkx=\E[>7h, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
        tsl=\E[s\E[>1h\E[25;%i%p1%dH, use=ansi+arrows,
+       use=ansi+local, use=ansi+pp,
 
 # From: Brad Brahms <Brahms@USC-ECLC>
 z100|h100|z110|z-100|h-100|Heath/Zenith z-100 pc with color monitor,
@@ -23271,14 +23117,13 @@ graphos|graphos III,
        am, mir,
        cols#80, it#8, lines#24,
        clear=\E[H\E[2J, cnorm=\Ez56;2;0;0z\Ez73z\Ez4;1;1z,
-       cr=\r, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\E[A,
+       cr=\r, cub1=^H, cud=\E[%p1%dB, cup=\E[%i%p1%d;%p2%dH,
        cvvis=\Ez4;2;1z\Ez56;2;80;24z, dch1=\E[P, ed=\E[J,
        el=\E[K, home=\E[H, ht=^I, ind=\ED, kf1=\EOP, kf2=\EOQ,
        kf3=\EOR, kf4=\EOS, nel=\r\ED, rc=\E8, ri=\EM, rmdc=\E[4l,
        rmir=\E[4l, rmso=\E[m, sc=\E7, sgr0=\E[m, smdc=\E[4h,
        smir=\E[4h, smso=\E[7m, use=ansi+arrows, use=ansi+idl,
+       use=ansi+local,
 
 graphos-30|graphos III with 30 lines,
        lines#30,
@@ -23432,20 +23277,19 @@ rt6221|Ramtek 6221 80x24,
        OTbs, OTpt, msgr, xon,
        OTkn#4, cols#80, it#8, lines#24, vt#3,
        acsc=, bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[>5l,
-       clear=\E[1;1H\E[J, cnorm=\E[>5h\E[>9h, cr=\r,
-       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^K,
-       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu=\E[%p1%dA, cuu1=\EM, cvvis=\E[>7h\E[>9l, ed=\E[J,
-       el=\E[K, home=\E[1;1H, ht=^I, hts=\EH, ind=\n, is2=\E)0,
-       kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
-       kf0=\EOP, kf1=\EOQ, kf2=\EOR, kf3=\EOS, lf0=PF1, lf1=PF2,
-       lf2=PF3, lf3=PF4, ll=\E[24;1H, nel=\EE, rev=\E[7m, ri=\EM,
-       rmacs=^O, rmkx=\E>, rmso=\E[m, rmul=\E[m,
+       clear=\E[1;1H\E[J, cnorm=\E[>5h\E[>9h, cr=\r, cub1=^H,
+       cud1=^K, cup=\E[%i%p1%d;%p2%dH, cuu1=\EM,
+       cvvis=\E[>7h\E[>9l, ed=\E[J, el=\E[K, home=\E[1;1H, ht=^I,
+       hts=\EH, ind=\n, is2=\E)0, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+       kcuf1=\E[C, kcuu1=\E[A, kf0=\EOP, kf1=\EOQ, kf2=\EOR,
+       kf3=\EOS, lf0=PF1, lf1=PF2, lf2=PF3, lf3=PF4, ll=\E[24;1H,
+       nel=\EE, rev=\E[7m, ri=\EM, rmacs=^O, rmkx=\E>, rmso=\E[m,
+       rmul=\E[m,
        rs1=\E[1w\E[>37m\E[>39m\E[1v\E[20l\E[?3l\E[?6l\E[>5h\E[>6h
            \E[>7h\E[>8l\E[>9h\E[>10l\E[1;24r\E[m\E[q\E(B\017\E)0\E#
            5\E>,
        sgr0=\E[m, smacs=^N, smkx=\E=, smso=\E[7m, smul=\E[4m,
-       tbc=\E[3g, use=ansi+csr,
+       tbc=\E[3g, use=ansi+csr, use=ansi+local,
 
 # [TO DO: Check out: short forms of ho/cl and ll; reset (\Ec)].
 rt6221-w|Ramtek 6221 160x48,
@@ -23482,8 +23326,7 @@ hirez100|Selanar HiREZ-100,
        OTbs, OTpt, mir, msgr, xon,
        OTkn#4, cols#80, it#8, lines#48, vt#3,
        acsc=, bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM,
+       cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, cuu1=\EM,
        dch=\E[%p1%dP, dch1=\E[P, home=\E[H, ht=^I, hts=\EH,
        is2=\E<\E)0, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
        kcuu1=\EOA, kf0=\EOP, kf1=\EOQ, kf2=\EOR, kf3=\EOS, lf0=PF1,
@@ -23494,6 +23337,7 @@ hirez100|Selanar HiREZ-100,
            9l\E[r\E[m\E(B\017\E)0\E>,
        sc=\E7, sgr0=\E[m, smacs=^N, smkx=\E[?1h\E=, smso=\E[7m,
        smul=\E[4m, tbc=\E[3g, use=ansi+erase, use=ansi+idl,
+       use=ansi+local,
 
 hirez100-w|Selanar HiREZ-100 in 132-column mode,
        cols#132, use=hirez100,
@@ -23715,14 +23559,14 @@ t10|Teleray 10 special,
 t16|Teleray 16,
        am, da, db, mir, xhp, xt,
        cols#80, lines#24,
-       bel=^G, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\E[B,
-       cuf1=\E[C, cup=%i\E[%p1%d;%p2%df, cuu1=\E[A, dch1=\E[P,
-       dl1=\E[M, ed=\E[0J, el=\E[0K, home=\E[H, ht=^I, il1=\E[L,
-       ind=\n, kf1=^Z1, kf10=^Z0, kf2=^Z2, kf3=^Z3, kf4=^Z4, kf5=^Z5,
-       kf6=^Z6, kf7=^Z7, kf8=^Z8, kf9=^Z9, ri=\E[T,
-       rmcup=\E[V\E[24;1f\E[?38h, rmir=\E[4l, rmso=\E[m,
-       rmul=\E[m, sgr0=\E[m, smcup=\E[U\E[?38l, smir=\E[4h,
-       smso=\E[7m, smul=\E[4m,
+       bel=^G, clear=\E[H\E[2J, cr=\r, cub1=^H,
+       cup=%i\E[%p1%d;%p2%df, dch1=\E[P, dl1=\E[M, ed=\E[0J,
+       el=\E[0K, home=\E[H, ht=^I, il1=\E[L, ind=\n, kf1=^Z1,
+       kf10=^Z0, kf2=^Z2, kf3=^Z3, kf4=^Z4, kf5=^Z5, kf6=^Z6, kf7=^Z7,
+       kf8=^Z8, kf9=^Z9, ri=\E[T, rmcup=\E[V\E[24;1f\E[?38h,
+       rmir=\E[4l, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
+       smcup=\E[U\E[?38l, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+       use=ansi+local1,
 
 #### Texas Instruments (ti)
 #
@@ -23795,28 +23639,27 @@ ti924|Texas Instruments 924 VDT 8859/1 7 bit CTRL,
        OTbs, am, xon,
        cols#80, it#8, lines#24,
        bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[2J\E[H, cr=\r,
-       csr=%i\E[%p1%d;%p2%dr, cub1=\E[D, cud1=\E[B, cuf1=\E[C,
-       cup=%i\E[%p1%d;%p2%dH, cuu1=\E[A, cvvis=\E[?31h,
-       dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, hts=\EH,
-       il1=\E[L, ind=\ED, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+       csr=%i\E[%p1%d;%p2%dr, cup=%i\E[%p1%d;%p2%dH,
+       cvvis=\E[?31h, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+       hts=\EH, il1=\E[L, ind=\ED, kbs=^H, kcub1=\E[D, kcud1=\E[B,
        kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kf1=\EOP, kf2=\EOQ,
        kf3=\EOR, kf4=\EOS, kf5=\E[16~, kf6=\E[17~, kf7=\E[18~,
        kf8=\E[19~, kf9=\E[20~, kich1=\E[@, rc=\E8, rev=\E[7m,
        ri=\EM, rmso=\E[m, rmul=\E[m, sc=\E7, sgr0=\E[m, smso=\E[7m,
-       smul=\E[4m, tbc=\E[3g, use=vt220+cvis,
+       smul=\E[4m, tbc=\E[3g, use=ansi+local1, use=vt220+cvis,
 ti924-8|Texas Instruments 924 VDT 8859/1 8 bit CTRL,
        am, xon,
        cols#80, it#8, lines#24,
        bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[2J\E[H, cr=\r,
-       csr=%i\E[%p1%d;%p2%dr, cub1=\E[D, cud1=\E[B, cuf1=\E[C,
-       cup=%i\E[%p1%d;%p2%dH, cuu1=\E[A, cvvis=\E[?31h,
-       dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, hts=\EH,
-       il1=\E[L, ind=\ED, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+       csr=%i\E[%p1%d;%p2%dr, cup=%i\E[%p1%d;%p2%dH,
+       cvvis=\E[?31h, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+       hts=\EH, il1=\E[L, ind=\ED, kbs=^H, kcub1=\E[D, kcud1=\E[B,
        kcuf1=\E[C, kcuu1=\E[A, kdch1=\233P, kf1=\217P, kf2=\217Q,
        kf3=\217R, kf4=\217S, kf5=\23316~, kf6=\23317~,
        kf7=\23318~, kf8=\23319~, kf9=\23320~, kich1=\233@, rc=\E8,
        rev=\E[7m, ri=\EM, rmso=\E[m, rmul=\E[m, sc=\E7, sgr0=\E[m,
-       smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=vt220+cvis,
+       smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=ansi+local1,
+       use=vt220+cvis,
 ti924w|Texas Instruments 924 VDT 7 bit - 132 column mode,
        cols#132, use=ti924,
 ti924-8w|Texas Instruments 924 VDT 8 bit - 132 column mode,
@@ -23842,14 +23685,14 @@ ti_ansi|basic entry for ti928,
        am, bce, eo, xenl, xon,
        colors#8, cols#80, it#8, lines#25, pairs#64,
        bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[2J\E[H,
-       cr=\r, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[B,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P,
-       dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@,
-       il1=\E[L, ind=\E[S, kend=\E[F, kf0=\E[V, kf1=\E[M, kf2=\E[N,
-       kf3=\E[O, kf4=\E[P, kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T,
-       kf9=\E[U, knp=\E[G, kpp=\E[I, op=\E[37;40m, ri=\E[T,
-       rmso=\E[m, rmul=\E[m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
-       sgr0=\E[m, smso=\E[7m, smul=\E[4m, use=ansi+arrows,
+       cr=\r, csr=\E[%i%p1%d;%p2%dr, cub1=^H,
+       cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, dl1=\E[M, ed=\E[J,
+       el=\E[K, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L, ind=\E[S,
+       kend=\E[F, kf0=\E[V, kf1=\E[M, kf2=\E[N, kf3=\E[O, kf4=\E[P,
+       kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, knp=\E[G,
+       kpp=\E[I, op=\E[37;40m, ri=\E[T, rmso=\E[m, rmul=\E[m,
+       setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[m,
+       smso=\E[7m, smul=\E[4m, use=ansi+arrows, use=ansi+local1,
 #
 #       928 VDT 7 bit control mode
 #
@@ -23953,13 +23796,11 @@ att6386|at386|386at|AT&T WGS 6386 console,
        cols#80, lines#25,
        acsc=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[=C,
-       clear=\E[2J\E[H, cnorm=\E[=1C, cr=\r, cub=\E[%p1%dD,
-       cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
-       cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
-       dl=\E[%p1%dM, dl1=\E[1M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
-       home=\E[H, hpa=\E[%i%p1%dG, ich=\E[%p1%d@, ich1=\E[1@,
-       il=\E[%p1%dL, il1=\E[1L, ind=\E[S, invis=\E[9m,
+       clear=\E[2J\E[H, cnorm=\E[=1C, cr=\r,
+       cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+       dim=\E[2m, dl=\E[%p1%dM, dl1=\E[1M, ech=\E[%p1%dX, ed=\E[J,
+       el=\E[K, home=\E[H, hpa=\E[%i%p1%dG, ich=\E[%p1%d@,
+       ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L, ind=\E[S, invis=\E[9m,
        is2=\E[0;10;39m, kcbt=^], kdch1=\E[P, kend=\E[Y, kf1=\EOP,
        kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf2=\EOQ, kf3=\EOR,
        kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, kf9=\EOX,
@@ -23970,22 +23811,22 @@ att6386|at386|386at|AT&T WGS 6386 console,
            2%;%?%p6%t;1%;%?%p9%t;12%e;10%;%?%p7%t;9%;m,
        sgr0=\E[0;10m, smacs=\E[12m, smso=\E[7m, smul=\E[4m,
        vpa=\E[%i%p1%dd, use=ansi+arrows, use=ansi+inittabs,
-       use=ecma+index, use=klone+color,
+       use=ansi+local, use=ecma+index, use=klone+color,
 
 # (pc6300plus: removed ":KM=/usr/lib/ua/kmap.s5:"; renamed BO/EE/CI/CV -- esr)
 pc6300plus|AT&T 6300 plus,
        OTbs, am, xon,
        cols#80, lines#24,
        bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[=C,
-       clear=\E[2J\E[H, cnorm=\E[=1C, cr=\r, cub1=^H, cud1=\E[B,
-       cuf1=\E[C, cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A,
-       dch1=\E[1P, dim=\E[2m, dl1=\E[1M, ed=\E[0J, el=\E[0K,
-       home=\E[H, hts=\EH, ich1=\E[1@, il1=\E[1L, ind=\n,
-       invis=\E[9m, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
-       kcuu1=\E[A, kf1=\EOc, kf10=\EOu, kf2=\EOd, kf3=\EOe,
-       kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, kf9=\EOk,
-       nel=\r\n, rev=\E[7m, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
-       smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+       clear=\E[2J\E[H, cnorm=\E[=1C, cr=\r, cub1=^H,
+       cup=\E[%i%p1%2d;%p2%2dH, dch1=\E[1P, dim=\E[2m,
+       dl1=\E[1M, ed=\E[0J, el=\E[0K, home=\E[H, hts=\EH,
+       ich1=\E[1@, il1=\E[1L, ind=\n, invis=\E[9m, kbs=^H,
+       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOc,
+       kf10=\EOu, kf2=\EOd, kf3=\EOe, kf4=\EOf, kf5=\EOg, kf6=\EOh,
+       kf7=\EOi, kf8=\EOj, kf9=\EOk, nel=\r\n, rev=\E[7m, rmso=\E[m,
+       rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+       use=ansi+local1,
 
 # From: Benjamin C. W. Sittler <bsittler@nmt.edu>
 #
@@ -24108,26 +23949,25 @@ att7300|unixpc|pc7300|3b1|s4|AT&T UNIX PC Model 7300,
        am, xon,
        cols#80, it#8, lines#24,
        bel=^G, blink=\E[9m, bold=\E[1m, cbt=\E^I, civis=\E[=1C,
-       clear=\E[2J\E[H, cnorm=\E[=0C, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
-       cuu1=\E[A, dch1=\E[P, dim=\E[2m, ed=\E[0J, el=\E[0K,
-       home=\E[H, ich1=\E[@, ind=\n, invis=\E[9m, is1=\017\E[=1w,
-       kBEG=\ENB, kCAN=\EOW, kCPY=\END, kCRT=\EON, kDC=\ENF,
-       kDL=\ENE, kEND=\ENN, kEOL=\EOA, kFND=\EOX, kHLP=\EOM,
-       kHOM=\ENM, kIC=\ENJ, kLFT=\ENK, kMOV=\ENC, kNXT=\ENH,
-       kOPT=\EOR, kPRV=\ENG, kRDO=\EOT, kRIT=\ENL, kRPL=\EOY,
-       kSAV=\EOO, kUND=\EOS, kbeg=\ENb, kcan=\EOw, kcbt=\E[Z,
-       kclo=\EOV, kclr=\E[J, kcmd=\EOu, kcpy=\ENd, kcrt=\EOn,
-       kdch1=\ENf, ked=\E[J, kel=\EOa, kend=\E0, kext=\EOk,
-       kf1=\EOc, kf2=\EOd, kf3=\EOe, kf4=\EOf, kf5=\EOg, kf6=\EOh,
-       kf7=\EOi, kf8=\EOj, kfnd=\EOx, khlp=\EOm, kich1=\ENj,
-       kind=\E[B, kmov=\ENc, kmrk=\ENi, knp=\E[U, knxt=\ENh,
-       kopn=\EOv, kopt=\EOr, kpp=\E[V, kprt=\EOz, kprv=\ENg,
-       krdo=\EOt, kref=\EOb, krfr=\ENa, kri=\E[A, krpl=\EOy,
-       krst=\EOB, ksav=\EOo, kslt=\ENI, kund=\EOs, nel=\EE,
-       rev=\E[7m, ri=\EM, rmso=\E[m, rmul=\E[m, sgr0=\E[0;10m,
-       smso=\E[7m, smul=\E[4m, use=ansi+arrows, use=ansi+idl,
+       clear=\E[2J\E[H, cnorm=\E[=0C, cr=\r, cub1=^H,
+       cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, dim=\E[2m, ed=\E[0J,
+       el=\E[0K, home=\E[H, ich1=\E[@, ind=\n, invis=\E[9m,
+       is1=\017\E[=1w, kBEG=\ENB, kCAN=\EOW, kCPY=\END, kCRT=\EON,
+       kDC=\ENF, kDL=\ENE, kEND=\ENN, kEOL=\EOA, kFND=\EOX,
+       kHLP=\EOM, kHOM=\ENM, kIC=\ENJ, kLFT=\ENK, kMOV=\ENC,
+       kNXT=\ENH, kOPT=\EOR, kPRV=\ENG, kRDO=\EOT, kRIT=\ENL,
+       kRPL=\EOY, kSAV=\EOO, kUND=\EOS, kbeg=\ENb, kcan=\EOw,
+       kcbt=\E[Z, kclo=\EOV, kclr=\E[J, kcmd=\EOu, kcpy=\ENd,
+       kcrt=\EOn, kdch1=\ENf, ked=\E[J, kel=\EOa, kend=\E0,
+       kext=\EOk, kf1=\EOc, kf2=\EOd, kf3=\EOe, kf4=\EOf, kf5=\EOg,
+       kf6=\EOh, kf7=\EOi, kf8=\EOj, kfnd=\EOx, khlp=\EOm,
+       kich1=\ENj, kind=\E[B, kmov=\ENc, kmrk=\ENi, knp=\E[U,
+       knxt=\ENh, kopn=\EOv, kopt=\EOr, kpp=\E[V, kprt=\EOz,
+       kprv=\ENg, krdo=\EOt, kref=\EOb, krfr=\ENa, kri=\E[A,
+       krpl=\EOy, krst=\EOB, ksav=\EOo, kslt=\ENI, kund=\EOs,
+       nel=\EE, rev=\E[7m, ri=\EM, rmso=\E[m, rmul=\E[m,
+       sgr0=\E[0;10m, smso=\E[7m, smul=\E[4m, use=ansi+arrows,
+       use=ansi+idl, use=ansi+local,
 
 #### Convergent Technology
 #
@@ -24223,11 +24063,11 @@ fos|fortune|Fortune system,
 masscomp|masscomp workstation console,
        OTbs, km, mir,
        cols#80, it#8, lines#24,
-       clear=\E[2J, cub1=^H, cud1=\E[B, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M,
-       ed=\E[J, el=\E[K, ht=^I, il1=\E[L, is2=\EGc\EGb\EGw, kbs=^H,
-       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rmir=\E[4l,
-       rmso=\E[m, rmul=\EGau, smir=\E[4h, smso=\E[7m, smul=\EGu,
+       clear=\E[2J, cub1=^H, cup=\E[%i%p1%d;%p2%dH, dch1=\E[P,
+       dl1=\E[M, ed=\E[J, el=\E[K, ht=^I, il1=\E[L,
+       is2=\EGc\EGb\EGw, kbs=^H, kcub1=\EOD, kcud1=\EOB,
+       kcuf1=\EOC, kcuu1=\EOA, rmir=\E[4l, rmso=\E[m, rmul=\EGau,
+       smir=\E[4h, smso=\E[7m, smul=\EGu, use=ansi+local1,
 masscomp1|masscomp large screen version 1,
        cols#104, lines#36, use=masscomp,
 masscomp2|masscomp large screen version 2,
@@ -24255,10 +24095,9 @@ pmcons|pmconsole|PMAX console,
 pcix|PC/IX console,
        am, bw, eo,
        cols#80, lines#24,
-       clear=\Ec, cub1=^H, cud1=\E[B, cuf1=\E[C,
-       cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, ed=\E[J, el=\E[K,
-       home=\E[H, rmso=\E[m, rmul=\E[m, sgr0=\E[m, smso=\E[7m,
-       smul=\E[4m,
+       clear=\Ec, cub1=^H, cup=\E[%i%p1%2d;%p2%2dH, ed=\E[J,
+       el=\E[K, home=\E[H, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
+       smso=\E[7m, smul=\E[4m, use=ansi+local1,
 
 # (ibmpcx: this entry used to be known as ibmx.
 # It formerly included the following extension capabilities:
@@ -24274,11 +24113,11 @@ pcix|PC/IX console,
 ibmpcx|xenix|ibmx|IBM PC xenix console display,
        OTbs, am, msgr,
        cols#80, lines#25,
-       clear=^L, cub1=^H, cud1=\E[B, cuf1=\E[C,
-       cup=\E[%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M,
-       ed=\E[J, el=\E[K, home=\E[H, ich1=\E[@, il1=\E[L, kend=\E[d,
-       kf1=\E[K, kf2=\E[L, kf3=\E[M, kf4=\E[N, khome=\E[Y, knp=\E[e,
-       kpp=\E[Z, use=ansi+arrows, use=klone+acs, use=klone+sgr8,
+       clear=^L, cub1=^H, cup=\E[%p1%d;%p2%dH, dch1=\E[P,
+       dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ich1=\E[@, il1=\E[L,
+       kend=\E[d, kf1=\E[K, kf2=\E[L, kf3=\E[M, kf4=\E[N,
+       khome=\E[Y, knp=\E[e, kpp=\E[Z, use=ansi+arrows,
+       use=ansi+local1, use=klone+acs, use=klone+sgr8,
 
 ######## OTHER OBSOLETE TYPES
 #
@@ -24355,18 +24194,17 @@ gs6300|emots|AT&T PC6300 with EMOTS terminal emulator,
        colors#8, cols#80, it#8, lines#24, pairs#63,
        acsc=++\,\,--..``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyz
             z{{||}}~~,
-       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub=\E[%p1%dD,
-       cub1=^H, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
-       dch=\E[%p1%dP, dch1=\E[P, home=\E[H, ht=^I, ich=\E[%p1%d@,
-       ich1=\E[@, ind=\n, is2=\E[m, kcbt=^R^I, kf1=\E[0s,
-       kf2=\E[24s, kf3=\E[1s, kf4=\E[23s, kf5=\E[2s, kf6=\E[22s,
-       kf7=\E[3s, kf8=\E[21s, mc4=\E[4i, mc5=\E[5i, op=\E[?;m,
-       rev=\E[7m, ri=\E[L, rmacs=\E[10m, rs1=\Ec,
-       setb=\E[?;%p1%dm,
+       bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+       home=\E[H, ht=^I, ich=\E[%p1%d@, ich1=\E[@, ind=\n, is2=\E[m,
+       kcbt=^R^I, kf1=\E[0s, kf2=\E[24s, kf3=\E[1s, kf4=\E[23s,
+       kf5=\E[2s, kf6=\E[22s, kf7=\E[3s, kf8=\E[21s, mc4=\E[4i,
+       mc5=\E[5i, op=\E[?;m, rev=\E[7m, ri=\E[L, rmacs=\E[10m,
+       rs1=\Ec, setb=\E[?;%p1%dm,
        setf=\E[?%?%p1%{0}%=%t0%e%p1%{1}%=%t2%e%p1%{1}%-%d%;m,
        sgr0=\E[m\E[10m, smacs=\E[11m, smso=\E[1m, smul=\E[4m,
        use=ansi+arrows, use=ansi+erase, use=ansi+idl,
+       use=ansi+local,
 
 # From: <earle@smeagol.UUCP> 29 Oct 85 05:40:18 GMT
 # MS-Kermit with Heath-19 emulation mode enabled
@@ -24402,9 +24240,8 @@ xtalk|IBM PC with xtalk communication program (versions up to 3.4),
        am, mir, msgr, xon,
        cols#80, it#8, lines#24, vt#3, xmc#1,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, clear=\E[H\E[J$<50>, cr=\r, cub=\E[%p1%dD, cub1=^H,
-       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C$<2>,
-       cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA,
+       bel=^G, clear=\E[H\E[J$<50>, cr=\r, cub1=^H, cud1=\n,
+       cuf1=\E[C$<2>, cup=\E[%i%p1%d;%p2%dH$<5>,
        cuu1=\E[A$<2>, dl1=\E[M$<99>, ed=\E[J$<50>, el=\E[K$<3>,
        el1=\E[1K$<3>, enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH,
        il1=\E[L$<99>, ind=\n, kbs=^H, kcub1=\EOD, kcud1=\EOB,
@@ -24412,7 +24249,7 @@ xtalk|IBM PC with xtalk communication program (versions up to 3.4),
        rmkx=\E[?1l\E>, rmso=\E[m\s,
        rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sgr0=\E[m,
        smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m\s,
-       tbc=\E[3g, use=vt100+fnkeys,
+       tbc=\E[3g, use=ansi+local, use=vt100+fnkeys,
 
 # The official PC terminal emulator program of the AT&T Product Centers.
 # Note - insert mode commented out - doesn't seem to work on AT&T PC.
@@ -24692,15 +24529,14 @@ teletec|Teletec Datascreen,
 v3220|LANPAR Vision II model 3220/3221/3222,
        OTbs, am, mir, xenl,
        cols#80, it#8, lines#24,
-       cub1=^H, cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
-       cuu1=\E[A, dch1=\E[P, dl1=\E[M, ht=^I, il1=\E[L,
-       is2=\E>\E[?3l\E[?7h\E[?8h\E[p, kcub1=\E[D, kcud1=\E[B,
-       kcuf1=\E[C, kcuu1=\E[A, kf0=\E[1~, kf1=\E[2~, kf2=\E[3~,
-       kf3=\E[4~, kf4=\E[5~, kf5=\E[6~, kf6=\E[OP, kf7=\E[OQ,
-       kf8=\E[OR, kf9=\E[OS, khome=\E[H, ri=\EM, rmam=\E[?7l,
-       rmir=\E[4l, rmkx=\E>, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
-       smam=\E[?7h, smir=\E[4h, smkx=\E=, smso=\E[7m, smul=\E[4m,
-       use=ansi+erase,
+       cub1=^H, cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, dl1=\E[M, ht=^I,
+       il1=\E[L, is2=\E>\E[?3l\E[?7h\E[?8h\E[p, kcub1=\E[D,
+       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\E[1~, kf1=\E[2~,
+       kf2=\E[3~, kf3=\E[4~, kf4=\E[5~, kf5=\E[6~, kf6=\E[OP,
+       kf7=\E[OQ, kf8=\E[OR, kf9=\E[OS, khome=\E[H, ri=\EM,
+       rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rmso=\E[m, rmul=\E[m,
+       sgr0=\E[m, smam=\E[?7h, smir=\E[4h, smkx=\E=, smso=\E[7m,
+       smul=\E[4m, use=ansi+erase, use=ansi+local1,
 ######## ICH/ICH1 VERSUS RMIR/SMIR
 #
 # Some non-curses applications get confused if both ich/ich1 and rmir/smir
@@ -27851,4 +27687,11 @@ v3220|LANPAR Vision II model 3220/3221/3222,
 #      + use ansi+arrows, ansi+apparrows, ansi+csr, ansi+erase, ansi+idc,
 #        ansi+idc1, ansi+idl, ansi+idl1, ansi+inittabs to trim -TD
 #
+# 2024-01-07
+#      + restore padding for wy520* and vt320-k311 (report by Sven Joachim).
+#
+# 2024-01-13
+#      + use ansi+local, ansi+local1, ansi+pp, ansi+rca, ansi+rca2, ansi+sgr
+#        to trim -TD
+#
 ######## SHANTIH!  SHANTIH!  SHANTIH!
index 7654959d34c46b775457908f6ec5c77baf023f48..93de69c0ac2e54f1666c47a94b6488747f652a7a 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.4+20240106) unstable; urgency=low
+ncurses6 (6.4+20240113) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 31 Dec 2023 06:24:52 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 13 Jan 2024 05:52:13 -0500
 
 ncurses6 (5.9+20131005) unstable; urgency=low
 
index 7654959d34c46b775457908f6ec5c77baf023f48..93de69c0ac2e54f1666c47a94b6488747f652a7a 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.4+20240106) unstable; urgency=low
+ncurses6 (6.4+20240113) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 31 Dec 2023 06:24:52 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 13 Jan 2024 05:52:13 -0500
 
 ncurses6 (5.9+20131005) unstable; urgency=low
 
index 5359014152b569cda8dbd84c1e7b460f7f8cbf7d..2bbe1c660304481f568c9c3488c87c8f0acddb09 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.4+20240106) unstable; urgency=low
+ncurses6 (6.4+20240113) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 31 Dec 2023 06:24:52 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 13 Jan 2024 05:52:13 -0500
 
 ncurses6 (5.9+20120608) unstable; urgency=low
 
index 11c53df1ce285554357ece9f1b3473379ff4d6a3..803262a2ce1a32a75e0f929d4a7ad6775ead41cd 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.627 2023/12/31 11:24:52 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.628 2024/01/13 10:52:13 tom Exp $\r
 \r
 ; TODO add examples\r
 ; TODO bump ABI to 6\r
@@ -10,7 +10,7 @@
 !define VERSION_MAJOR "6"\r
 !define VERSION_MINOR "4"\r
 !define VERSION_YYYY  "2024"\r
-!define VERSION_MMDD  "0106"\r
+!define VERSION_MMDD  "0113"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
index 209572d8cc253b224d31d7e8b0a7aa01c60aec6e..6e43bd2fafd7aebd375fefdca669d7fd6728fd35 100644 (file)
@@ -3,7 +3,7 @@
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 6.4
-Release: 20240106
+Release: 20240113
 License: X11
 Group: Development/Libraries
 URL: https://invisible-island.net/ncurses/
index 383cbb77b20935504511ac7d936bfcf78ad4f08c..22af400a0076cc5da12140d2f1615204712ffec1 100644 (file)
@@ -1,7 +1,7 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 6.4
-Release: 20240106
+Release: 20240113
 License: X11
 Group: Development/Libraries
 URL: https://invisible-island.net/ncurses/
index 1c4ff3e1c307425c05350a2f857f9a9f86ec918f..b32a9607dc8a902e501eee0e904cd698f2eb1693 100644 (file)
@@ -1,7 +1,7 @@
 Summary: Curses library with POSIX thread support.
 Name: ncursest6
 Version: 6.4
-Release: 20240106
+Release: 20240113
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz