]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/terminfo.5.html
ncurses 6.4 - patch 20231217
[ncurses.git] / doc / html / man / terminfo.5.html
index c1f2ea725a9deb8a4b01a397bece758a4f96c68c..6d55396d518cd6d0277eff12b71c6961c8c9801f 100644 (file)
@@ -32,7 +32,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: terminfo.head,v 1.51 2023/09/17 08:29:38 tom Exp @
+  * @Id: terminfo.head,v 1.57 2023/12/18 01:15:58 tom Exp @
   * Head of terminfo man page ends here
   ****************************************************************************
   * Copyright 2018-2022,2023 Thomas E. Dickey                                *
@@ -62,7 +62,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: terminfo.tail,v 1.131 2023/09/16 17:01:55 Branden.Robinson Exp @
+  * @Id: terminfo.tail,v 1.139 2023/12/17 22:56:21 tom Exp @
   *.in -2
   *.in +2
   *.in -2
 <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-09-17 ncurses 6.4 File formats</TITLE>
+<TITLE>terminfo 5 2023-12-17 ncurses 6.4 File formats</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">terminfo 5 2023-09-17 ncurses 6.4 File formats</H1>
+<H1 class="no-header">terminfo 5 2023-12-17 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 <STRONG>ncurses</STRONG> version 6.4 (patch 20230923).
+       This manual describes <EM>ncurses</EM> version 6.4 (patch 20231217).
 
 
 </PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
        <STRONG>o</STRONG>   Lines  beginning  with  a  "#"  in  the first column are treated as
            comments.
 
-           While comment lines are legal at any point, the output of <STRONG>captoinfo</STRONG>
+           While comment lines are valid at any point, the output of <STRONG>captoinfo</STRONG>
            and  <STRONG>infotocap</STRONG>  (aliases  for <STRONG>tic</STRONG>) will move comments so they occur
            only between entries.
 
        terminfo  description  block  and available to terminfo-using code.  In
        each line of the table,
 
-       The <STRONG>variable</STRONG> is the name by  which  the  programmer  (at  the  terminfo
-       level) accesses the capability.
+       <STRONG>o</STRONG>   The <STRONG>variable</STRONG> is the name by which the programmer (at  the  terminfo
+           level) accesses the capability.
 
-       The  <STRONG>capname</STRONG> is the short name used in the text of the database, and is
-       used by a person updating the database.   Whenever  possible,  capnames
-       are chosen to be the same as or similar to the ANSI X3.64-1979 standard
-       (now superseded by  ECMA-48,  which  uses  identical  or  very  similar
-       names).    Semantics   are   also   intended  to  match  those  of  the
-       specification.
+       <STRONG>o</STRONG>   The  <STRONG>capname</STRONG>  (<EM>Cap-name</EM>)  is the short name used in the text of the
+           database, and is used by a person updating the database.
 
-       The termcap code is the old <STRONG>termcap</STRONG> capability name (some  capabilities
-       are new, and have names which termcap did not originate).
+           Whenever possible, capnames are chosen to be the same as or similar
+           to  the  ANSI X3.64-1979 standard (now superseded by ECMA-48, which
+           uses identical or very similar names).  Semantics are also intended
+           to match those of the specification.
 
-       Capability  names have no hard length limit, but an informal limit of 5
-       characters has been adopted to keep them short and to allow the tabs in
-       the source file <STRONG>Caps</STRONG> to line up nicely.
+           Capability  names  have no hard length limit, but an informal limit
+           of 5 characters has been adopted to keep them short  and  to  allow
+           the tabs in the source file <STRONG>Caps</STRONG> to line up nicely.
 
-       Finally,  the description field attempts to convey the semantics of the
-       capability.  You may find some codes in the description field:
+       <STRONG>o</STRONG>   The   <STRONG>termcap</STRONG>   (<EM>Tcap</EM>)  code  is  the  old  capability  name  (some
+           capabilities  are  new,  and  have  names  which  termcap  did  not
+           originate).
+
+       <STRONG>o</STRONG>   Finally,  the <STRONG>description</STRONG> field attempts to convey the semantics of
+           the capability.
+
+       You may find some codes in the description field:
 
        (P)    indicates that padding may be specified
 
 
                   <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
                                                        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
        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
           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
        which are awkward or impossible to represent by reusing the  predefined
        capabilities.
 
-       <STRONG>ncurses</STRONG>    addresses   this   limitation   by   allowing   user-defined
+       <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  ncurses  library  provides  the  data
+       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
        numbered keys and the handful of special named keys) is best done using
        the longer names available using terminfo.
 
-       The ncurses library uses a few of these user-defined  capabilities,  as
+       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>
 
        <STRONG>o</STRONG>   Both <STRONG>\E</STRONG> and <STRONG>\e</STRONG> map to an ESCAPE character,
 
-       <STRONG>o</STRONG>   <STRONG>^x</STRONG> maps to a control-x for any appropriate <EM>x</EM>, and
+       <STRONG>o</STRONG>   <STRONG>^</STRONG><STRONG><EM>x</EM></STRONG> maps to a control-<EM>x</EM> for any appropriate <EM>x</EM>, and
 
        <STRONG>o</STRONG>   the sequences
 
 
 
 </PRE><H3><a name="h3-Fetching-Compiled-Descriptions">Fetching Compiled Descriptions</a></H3><PRE>
-       Terminal  descriptions  in  <STRONG>ncurses</STRONG>  are  stored in terminal databases.
+       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
        overridden  by  environment  variables.   Before  starting  to  search,
-       <STRONG>ncurses</STRONG>  checks  the  search list, eliminating duplicates and pathnames
-       where no terminal database is found.  The  <STRONG>ncurses</STRONG>  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
            database containing the terminal description.
 
-       <STRONG>o</STRONG>   Next, <STRONG>ncurses</STRONG> looks in <STRONG>$HOME/.terminfo</STRONG> for a compiled 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
            library,  or  limited  to  prevent  accidental  use  by  privileged
            applications.
 
-       <STRONG>o</STRONG>   Next, if the environment variable  <STRONG>TERMINFO_DIRS</STRONG>  is  set,  <STRONG>ncurses</STRONG>
+       <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.
 
            colon,  or  contains  adjacent colons) is interpreted as the system
            location <EM>/usr/share/terminfo</EM>.
 
-       <STRONG>o</STRONG>   Finally, <STRONG>ncurses</STRONG> searches these compiled-in locations:
+       <STRONG>o</STRONG>   Finally, <EM>ncurses</EM> searches these compiled-in locations:
 
            <STRONG>o</STRONG>   a list of directories (/usr/share/terminfo), and
 
 
        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 <STRONG>ncurses</STRONG> reads a terminal description  from  hexadecimal-
+       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 <STRONG>ncurses</STRONG>, which uses
+       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,  <STRONG>ncurses</STRONG>  can  also  be  configured  to  read <EM>termcap</EM>
-       descriptions.   In  that  configuration,  it  checks  the  <STRONG>TERMCAP</STRONG>  and
-       <STRONG>TERMPATH</STRONG>  variables  (for  content and search path, respectively) after
+       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
        the system terminal database.
 
 
             the next character to be a "-" flag, avoiding interpreting "%-" as
             an operator.
 
-       %c   print <EM>pop()</EM> like %c in <STRONG>printf</STRONG>
+       <STRONG>%c</STRONG>   print <EM>pop()</EM> like %c in <STRONG>printf</STRONG>
 
        <STRONG>%s</STRONG>   print <EM>pop()</EM> like %s in <STRONG>printf</STRONG>
 
                 <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, ncurses 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, ncurses 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,  ncurses   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 ncurses 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.
 
        available.)
 
 
-</PRE><H3><a name="h3-Insert_delete-line-and-vertical-motions">Insert/delete line and vertical motions</a></H3><PRE>
+</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
        The  boolean  capability  <STRONG>eslok</STRONG>  specifies that escape sequences, tabs,
        etc., work ordinarily in the status line.
 
-       The <STRONG>ncurses</STRONG> 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.
 
 
 
        <STRONG>o</STRONG>   Tektronix-like terminals have a predefined set of <EM>N</EM> colors (where <EM>N</EM>
            is usually 8), and can set character-cell foreground and background
-           characters independently, mixing them into <EM>N</EM> * <EM>N</EM> color-pairs.
+           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
+           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>
+       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
+       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>.
        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 <STRONG>ncurses</STRONG> libraries).  The terminal hardware  is
+       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.
 
        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:
            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
+           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
+       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:
 
        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>, ncurses 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.
 
 
        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 ncurses implements the termcap-compatible <STRONG>PC</STRONG> variable;
+       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,  ncurses will test <STRONG>npc</STRONG> first and use napms if the terminal has no
+       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
        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
+       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
        are replaced with the character in the environment variable.
 
        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
        while an <STRONG>mc5p</STRONG> is in effect.
 
 
-</PRE><H3><a name="h3-Glitches-and-Braindamage">Glitches and Braindamage</a></H3><PRE>
+</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
        should indicate <STRONG>hz</STRONG>.
 
        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 ncurses implementation ignores this glitch.
+       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
        will return incorrect data for the terminal.
 
        The  "after  tc  expansion"  length  will  have a similar effect to the
-       above, but only for people who actually set TERM to that terminal type,
+       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
        type it was looking for, not while searching.
 
        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 TERM variable does not  have  a  termcap
+       terminal types and users whose <EM>TERM</EM> variable does not  have  a  termcap
        entry.
 
-       When  in  -C (translate to termcap) mode, the <STRONG>ncurses</STRONG> implementation of
+       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><H3><a name="h3-Binary-Compatibility">Binary Compatibility</a></H3><PRE>
-       It is not wise to count  on  portability  of  binary  terminfo  entries
-       between  commercial  UNIX  versions.   The problem is that there are at
-       least two versions of terminfo (under HP-UX  and  AIX)  which  diverged
-       from   System   V   terminfo  after  SVr1,  and  have  added  extension
-       capabilities to the string table that (in the  binary  format)  collide
-       with System V and XSI Curses extensions.
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+       <EM>/usr/share/terminfo</EM>
+              compiled terminal description database directory
 
 
 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
-       Searching    for   terminal   descriptions   in   <STRONG>$HOME/.terminfo</STRONG>   and
-       TERMINFO_DIRS is not supported by older implementations.
+       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
-       <STRONG>ncurses</STRONG> 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 <STRONG>ncurses</STRONG> to have  <STRONG>msgr</STRONG>
+       interpretation  may need terminfo entries made for <EM>ncurses</EM> to have <STRONG>msgr</STRONG>
        turned off.
 
-       The <STRONG>ncurses</STRONG> library handles insert-character and insert-character modes
-       in a slightly non-standard way to get better  update  efficiency.   See
+       The <EM>ncurses</EM> library handles insert-character and insert-character modes
+       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 <STRONG>ncurses</STRONG> 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  terminfo and curses support different
-       subsets of the XSI  Curses  standard  and  (in  some  cases)  different
-       extension sets.  Here is a summary, accurate as of October 1995:
+       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>   <STRONG>SVR4,</STRONG> <STRONG>Solaris,</STRONG> <STRONG>ncurses</STRONG> -- These support all SVr4 capabilities.
+       <STRONG>o</STRONG>   SVr4, Solaris, and <EM>ncurses</EM> support all SVr4 capabilities.
 
-       <STRONG>o</STRONG>   <STRONG>SGI</STRONG> -- Supports the SVr4 set, adds one undocumented extended string
-           capability (<STRONG>set_pglen</STRONG>).
+       <STRONG>o</STRONG>   IRIX  supports  the  SVr4  set  and  adds one undocumented extended
+           string capability (<STRONG>set_pglen</STRONG>).
 
-       <STRONG>o</STRONG>   <STRONG>SVr1,</STRONG> <STRONG>Ultrix</STRONG> -- These  support  a  restricted  subset  of  terminfo
-           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>   <STRONG>HP/UX</STRONG> -- Supports the  SVr1  subset,  plus  the  SVr[234]  numerics
+       <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  some
-           incompatible extensions in the string table.
+           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>   <STRONG>AIX</STRONG>  -- 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>   <STRONG>OSF</STRONG> -- Supports both the SVr4 set and the AIX extensions.
+       <STRONG>o</STRONG>   OSF/1 supports both the SVr4 set and the AIX extensions.
 
 
-</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
-       /usr/share/terminfo/?/*  files containing terminal descriptions
+</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
+       <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
+       Curses extensions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
 
 
 </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_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>.
+       <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-09-17                       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ncurses 6.4                       2023-12-17                       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -2714,7 +2716,7 @@ ncurses 6.4                       2023-09-17                       <STRONG><A HR
 <li><a href="#h3-Cursor-Motions">Cursor Motions</a></li>
 <li><a href="#h3-Margins">Margins</a></li>
 <li><a href="#h3-Area-Clears">Area Clears</a></li>
-<li><a href="#h3-Insert_delete-line-and-vertical-motions">Insert/delete line and vertical motions</a></li>
+<li><a href="#h3-Insert_Delete-Line-and-Vertical-Motions">Insert/Delete Line and Vertical Motions</a></li>
 <li><a href="#h3-Insert_Delete-Character">Insert/Delete Character</a></li>
 <li><a href="#h3-Highlighting_-Underlining_-and-Visible-Bells">Highlighting, Underlining, and Visible Bells</a></li>
 <li><a href="#h3-Keypad-and-Function-Keys">Keypad and Function Keys</a></li>
@@ -2724,13 +2726,13 @@ ncurses 6.4                       2023-09-17                       <STRONG><A HR
 <li><a href="#h3-Line-Graphics">Line Graphics</a></li>
 <li><a href="#h3-Color-Handling">Color Handling</a></li>
 <li><a href="#h3-Miscellaneous">Miscellaneous</a></li>
-<li><a href="#h3-Glitches-and-Braindamage">Glitches and Braindamage</a></li>
+<li><a href="#h3-Glitches-and-Brain-Damage">Glitches and Brain Damage</a></li>
 <li><a href="#h3-Pitfalls-of-Long-Entries">Pitfalls of Long Entries</a></li>
-<li><a href="#h3-Binary-Compatibility">Binary Compatibility</a></li>
 </ul>
 </li>
-<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
 <li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>