]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/curs_termcap.3x.html
ncurses 6.4 - patch 20240420
[ncurses.git] / doc / html / man / curs_termcap.3x.html
index fff45be4804b1cb012e7405093772869bc48ddca..cb46f66b396587654d294c82a34a887f75258161 100644 (file)
@@ -1,6 +1,6 @@
 <!--
   ****************************************************************************
-  * 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: curs_termcap.3x,v 1.80 2023/12/23 20:19:05 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).
+  * @Id: curs_termcap.3x,v 1.85 2024/04/20 19:13:12 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_termcap 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_termcap 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_termcap 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_termcap 3x 2024-04-20 ncurses 6.4 Library calls</H1>
 <PRE>
 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
 
               implementations conforming to  portions  of  X/Open  Curses  now
               withdrawn.   The  BSD  <EM>termcap</EM> library would store a copy of the
               terminal  type  description  in  the  area  referenced  by  this
-              pointer.   <EM>ncurses</EM> stores terminal type descriptions in compiled
+              pointer.  <EM>terminfo</EM> stores terminal type descriptions in compiled
               form, which is not the same thing.
 
           <STRONG>o</STRONG>   The meanings of the  return  values  differ.   The  BSD  <EM>termcap</EM>
        program.  The library remained much the same though 4.3BSD (June 1986).
        4.4BSD-Lite (June 1994) refactored it, leaving the API unchanged.
 
-       Function  prototypes were a feature of ANSI C (1989).  Thus the library
-       itself provided no header file declaring them.  Nevertheless,  the  BSD
-       sources included two different <EM>termcap.h</EM> header files over time.
+       Function  prototypes were a feature of ANSI C (1989).  The library long
+       antedated the standard and thus provided no header file declaring them.
+       Nevertheless,  the  BSD sources included two different <EM>termcap.h</EM> header
+       files over time.
 
-       <STRONG>o</STRONG>   One was used internally by <STRONG>jove(1)</STRONG> from 4.3BSD onward.  It delcared
+       <STRONG>o</STRONG>   One was used internally by <STRONG>jove(1)</STRONG> from 4.3BSD onward.  It declared
            global symbols for the <EM>termcap</EM> variables that it used.
 
-       <STRONG>o</STRONG>   The other appeared in 4.4BSD-Lite Release 2 (June 1995) as part  of
-           <EM>libedit</EM>  (also known as the <EM>editline</EM> library).  CSRG source history
+       <STRONG>o</STRONG>   The  other appeared in 4.4BSD-Lite Release 2 (June 1995) as part of
+           <EM>libedit</EM> (also known as the <EM>editline</EM> library).  CSRG source  history
            shows that this was added in mid-1992.  The <EM>libedit</EM> header file was
            used  internally  as  a  convenience  for  compiling  the  <EM>editline</EM>
            library.  It declared function prototypes, but no global variables.
            This header file was added to NetBSD's <EM>termcap</EM> library in mid-1994.
 
-       Meanwhile,  GNU  <EM>termcap</EM>  began development in 1990.  Its first release
-       (1.0) in 1991  included  a  <EM>termcap.h</EM>  header.   Its  second  (1.1)  in
-       September  1992  modified  the  header  to  use  <EM>const</EM> for the function
-       prototypes in the header where one would expect the  parameters  to  be
+       Meanwhile, GNU <EM>termcap</EM> began development in 1990.   Its  first  release
+       (1.0)  in  1991  included  a  <EM>termcap.h</EM>  header.   Its  second (1.1) in
+       September 1992 modified the  header  to  use  <EM>const</EM>  for  the  function
+       prototypes  in  the  header where one would expect the parameters to be
        read-only.   BSD  <EM>termcap</EM>  did  not.   The  prototype  for  <STRONG>tputs</STRONG>  also
-       differed, but in that instance, it was <EM>libedit</EM> that differed  from  BSD
+       differed,  but  in that instance, it was <EM>libedit</EM> that differed from BSD
        <EM>termcap</EM>.
 
-       GNU  <EM>termcap</EM>  1.3  was  bundled with <STRONG>bash(1)</STRONG> in mid-1993 to support the
+       GNU <EM>termcap</EM> 1.3 was bundled with <STRONG>bash(1)</STRONG> in  mid-1993  to  support  the
        <STRONG>readline(3)</STRONG> library.
 
-       <EM>ncurses</EM> 1.8.1 (November 1993) provided a <EM>termcap.h</EM> file.  It  reflected
-       influence   from  GNU  <EM>termcap</EM>  and  <STRONG>emacs(1)</STRONG>  (rather  than  <STRONG>jove(1)</STRONG>),
+       <EM>ncurses</EM>  1.8.1 (November 1993) provided a <EM>termcap.h</EM> file.  It reflected
+       influence  from  GNU  <EM>termcap</EM>  and  <STRONG>emacs(1)</STRONG>  (rather  than   <STRONG>jove(1)</STRONG>),
        providing the following interface:
 
        <STRONG>o</STRONG>   global symbols used by <EM>emacs</EM>,
 
        <STRONG>o</STRONG>   a prototype for <STRONG>tparam</STRONG>, a GNU <EM>termcap</EM> feature.
 
-       Later (in mid-1996) the <STRONG>tparam</STRONG> function was removed from <EM>ncurses</EM>.   Any
-       two  of  the four implementations thus differ, and programs that intend
+       Later  (in mid-1996) the <STRONG>tparam</STRONG> function was removed from <EM>ncurses</EM>.  Any
+       two of the four implementations thus differ, and programs  that  intend
        to work with all <EM>termcap</EM> library interfaces must account for that fact.
 
 
 </PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
        If  you  call  <STRONG>tgetstr</STRONG>  to  fetch  <STRONG>column_address</STRONG>  (<STRONG>ch</STRONG>)  or  any  other
-       parameterized  string capability, be aware that it is returned in <EM>term-</EM>
+       parameterized string capability, be aware that it is returned in  <EM>term-</EM>
        <EM>info</EM> notation, not the older and not-quite-compatible <EM>termcap</EM> notation.
-       This  does  not  cause  problems if all you do with it is call <STRONG>tgoto</STRONG> or
-       <STRONG>tparm</STRONG>, which both expand <EM>terminfo</EM>-style strings as <EM>terminfo</EM> does.   (If
-       <EM>ncurses</EM>  is  configured  to  support  <EM>termcap,</EM> <STRONG>tgoto</STRONG> checks whether the
-       string is <EM>terminfo</EM>-style by looking  for  "<STRONG>%p</STRONG>"  parameters  or  "<STRONG>&lt;</STRONG>...<STRONG>&gt;</STRONG>"
-       delays, and invokes a <EM>termcap</EM>-style parser if the string appears not to
-       use <EM>terminfo</EM> syntax.)
-
-       Because <EM>terminfo</EM>'s syntax for padding in  string  capabilities  differs
+       This does not cause problems if all you do with it  is  call  <STRONG>tgoto</STRONG>  or
+       <STRONG>tparm</STRONG>,   which   both   parametrically   expand  <EM>terminfo</EM>-style  string
+       capabilities as <EM>terminfo</EM> does.  (If <EM>ncurses</EM> is  configured  to  support
+       <EM>termcap,</EM>  <STRONG>tgoto</STRONG>  checks whether the string is <EM>terminfo</EM>-style by looking
+       for "<STRONG>%p</STRONG>" parameters or "<STRONG>&lt;</STRONG>...<STRONG>&gt;</STRONG>"  delays,  and  invokes  a  <EM>termcap</EM>-style
+       parser if the string appears not to use <EM>terminfo</EM> syntax.)
+
+       Because  <EM>terminfo</EM>'s  syntax  for padding in string capabilities differs
        from <EM>termcap</EM>'s, users can be surprised.
 
-       <STRONG>o</STRONG>   <STRONG>tputs("50")</STRONG>  in  a <EM>terminfo</EM> system transmits "50" rather than busy-
+       <STRONG>o</STRONG>   <STRONG>tputs("50")</STRONG> in a <EM>terminfo</EM> system transmits "50" rather  than  busy-
            waiting for 50 milliseconds.
 
-       <STRONG>o</STRONG>   However, if <EM>ncurses</EM> is configured to support <EM>termcap</EM>, it  may  also
+       <STRONG>o</STRONG>   However,  if  <EM>ncurses</EM> is configured to support <EM>termcap</EM>, it may also
            have been configured to support BSD-style padding.
 
-           In  that  case,  <STRONG>tputs</STRONG>  inspects  strings passed to it, looking for
+           In that case, <STRONG>tputs</STRONG> inspects strings  passed  to  it,  looking  for
            digits at the beginning of the string.
 
-           <STRONG>tputs("50")</STRONG> in a <EM>termcap</EM> system may busy-wait for  50  milliseconds
+           <STRONG>tputs("50")</STRONG>  in  a <EM>termcap</EM> system may busy-wait for 50 milliseconds
            rather than transmitting "50".
 
        <EM>termcap</EM>  has  nothing  analogous  to  <EM>terminfo</EM>'s  <STRONG>set_attributes</STRONG>  (<STRONG>sgr</STRONG>)
-       capability.  One consequence is that <EM>termcap</EM> applications  assume  that
-       "<STRONG>me</STRONG>"  (equivalent  to <EM>terminfo</EM>'s <STRONG>exit_attribute_mode</STRONG> (<STRONG>sgr0</STRONG>) capability)
-       does not reset the alternate character set.  <EM>ncurses</EM>  checks  for,  and
+       capability.   One  consequence is that <EM>termcap</EM> applications assume that
+       "<STRONG>me</STRONG>" (equivalent to <EM>terminfo</EM>'s <STRONG>exit_attribute_mode</STRONG>  (<STRONG>sgr0</STRONG>)  capability)
+       does  not  reset  the alternate character set.  <EM>ncurses</EM> checks for, and
        modifies the data shared with, the <EM>termcap</EM> interface to accommodate the
        latter's limitation in this respect.
 
 
 
 
-ncurses 6.4                       2023-12-23                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ncurses 6.4                       2024-04-20                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>