X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_termcap.3x.html;fp=doc%2Fhtml%2Fman%2Fcurs_termcap.3x.html;h=fff45be4804b1cb012e7405093772869bc48ddca;hb=159cd0555e0efc14be66c9c3a1548f58908b6a1d;hp=85c315547c8d62b844b9aac4f5f6b1f9f87c495b;hpb=d90067f9008bb8338a77c1ed519bc108c275ed04;p=ncurses.git diff --git a/doc/html/man/curs_termcap.3x.html b/doc/html/man/curs_termcap.3x.html index 85c31554..fff45be4 100644 --- a/doc/html/man/curs_termcap.3x.html +++ b/doc/html/man/curs_termcap.3x.html @@ -27,7 +27,7 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_termcap.3x,v 1.76 2023/12/18 00:22:30 tom Exp @ + * @Id: curs_termcap.3x,v 1.80 2023/12/23 20:19:05 tom Exp @ * See <https://minnie.tuhs.org/cgi-bin/utree.pl?file=2BSD/src/\ * termlib/termcap.c>. * See https://www.oreilly.com/openbook/opensources/book/kirkmck.html @@ -46,7 +46,7 @@ * Observe the `tncktc()`, `tnamatch()`, `tskip()`, and `tdecode()` * entry points disappearing from termcap.c. * 2BSD became a branch retaining support for non-virtual memory - * systems (like the PDP-11) whereas most BSD development focused on + * 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 @@ -62,12 +62,12 @@
-curs_termcap(3x) Library calls curs_termcap(3x) @@ -106,15 +106,15 @@
tgetent loads the terminal database entry for name; see term(7). This - must be done before calling any of the other functions. It returns: + must be done before calling any of the other functions. It returns - 1 on success, + 1 on success, - 0 if there is no such entry (or if the matching entry describes a - generic terminal, having too little information for curses - applications to run), and + 0 if there is no such entry (or if the matching entry describes a + generic terminal, having too little information for curses + applications to run), and - -1 if the terminfo database could not be found. + -1 if the terminfo database could not be found. This implementation differs from those of historical termcap libraries. @@ -126,10 +126,10 @@ form, which is not the same thing. o The meanings of the return values differ. The BSD termcap - library does not check whether the terminal type description is - marked with the gn (generic) capability, nor whether the - terminal type description supports an addressable cursor, a - property essential for any curses implementation to operate. + library does not check whether the terminal type description + includes the generic (gn) capability, nor whether the terminal + type description supports an addressable cursor, a property + essential for any curses implementation to operate.
@@ -175,9 +175,9 @@ Doing so reveals a quirk in tgoto: most hardware terminals use cursor addressing with row first, but the original developers of the termcap interface chose to put the col (column) parameter - first. The tgoto function swaps the order of parameters. It does - this even for calls requiring only a single parameter. In that - case, the first parameter is merely a placeholder. + first. The tgoto function swaps the order of its parameters. It + does this even for calls requiring only a single parameter. In + that case, the first parameter is merely a placeholder. o Normally the ncurses library is compiled without full termcap support. In that case, tgoto uses an internal version of tparm(3x) @@ -191,7 +191,7 @@ applications should not rely upon its availability. tputs is described in curs_terminfo(3x). It can retrieve capabilities - by either termcap or terminfo name. + by either termcap or terminfo code.
@@ -214,8 +214,8 @@ del_curterm(cur_term); to free this memory, but there is an additional complication with ncurses. It uses a fixed-size pool of storage locations, one per value - of the TERM environment variable when tgetent is called. The screen(1) - program relies upon this arrangement to improve its performance. + of the terminal name parameter given to tgetent. The screen(1) program + relies upon this arrangement to improve its performance. An application that uses only the termcap functions, not the higher level curses API, could release the memory using del_curterm(3x), @@ -255,18 +255,18 @@
o X/Open Curses, Issue 4, Version 2 (1996), describes these - functions. However, they are marked "TO BE WITHDRAWN". + functions, marking them as "TO BE WITHDRAWN". - o X/Open Curses, Issue 7 (2009) marked the termcap interface (along + o X/Open Curses, Issue 7 (2009) marks the termcap interface (along with vwprintw and vwscanw) as withdrawn. Neither X/Open Curses nor the SVr4 man pages documented the return - values of tgetent correctly, though all three were in fact returned - ever since SVr1. In particular, an omission in the X/Open Curses - specification has been misinterpreted to mean that tgetent returns OK - or ERR. Because the purpose of these functions is to provide - compatibility with the termcap library, that is a defect in X/Open - Curses, Issue 4, Version 2 rather than in ncurses. + values of tgetent correctly, though all three shown here were in fact + returned ever since SVr1. In particular, an omission in the X/Open + Curses specification has been misinterpreted to mean that tgetent + returns OK or ERR. Because the purpose of these functions is to + provide compatibility with the termcap library, that is a defect in + X/Open Curses, Issue 4, Version 2 rather than in ncurses. Compatibility with BSD termcap Externally visible variables are provided for support of certain @@ -313,36 +313,35 @@ 4BSD (November 1980) renamed termlib to termcap and added another test program. The library remained much the same though 4.3BSD (June 1986). - 4.4BSD-Lite (June 1994) refactored it but left the API unchanged. + 4.4BSD-Lite (June 1994) refactored it, leaving the API unchanged. - Function prototypes were a feature of the forthcoming ANSI C (1989). - Thus the library provided no header file declaring them. Nevertheless, - the BSD sources included two different termcap.h header files over - time. + 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 termcap.h header files over time. o One was used internally by jove(1) from 4.3BSD onward. It delcared global symbols for the termcap variables that it used. - o The other appeared in 4.4BSD-Lite Release 2 (June 1995) as part of - libedit (also known as the editline library). CSRG source history + o The other appeared in 4.4BSD-Lite Release 2 (June 1995) as part of + libedit (also known as the editline library). CSRG source history shows that this was added in mid-1992. The libedit header file was used internally as a convenience for compiling the editline library. It declared function prototypes, but no global variables. This header file was added to NetBSD's termcap library in mid-1994. - Meanwhile, GNU termcap began development in 1990. Its first release - (1.0) in 1991 included a termcap.h header. Its second (1.1) in - September 1992 modified the header to use const for the function - prototypes in the header where one would expect the parameters to be + Meanwhile, GNU termcap began development in 1990. Its first release + (1.0) in 1991 included a termcap.h header. Its second (1.1) in + September 1992 modified the header to use const for the function + prototypes in the header where one would expect the parameters to be read-only. BSD termcap did not. The prototype for tputs also - differed, but in that instance, it was libedit that differed from BSD + differed, but in that instance, it was libedit that differed from BSD termcap. - GNU termcap 1.3 was bundled with bash in mid-1993 to support the + GNU termcap 1.3 was bundled with bash(1) in mid-1993 to support the readline(3) library. - ncurses 1.8.1 (November 1993) provided a termcap.h file. It reflected - influence from GNU termcap and emacs(1) (rather than jove(1)), + ncurses 1.8.1 (November 1993) provided a termcap.h file. It reflected + influence from GNU termcap and emacs(1) (rather than jove(1)), providing the following interface: o global symbols used by emacs, @@ -351,43 +350,43 @@ o a prototype for tparam, a GNU termcap feature. - Later (in mid-1996) the tparam function was removed from ncurses. Any - two of the four implementations thus differ, and programs that intend + Later (in mid-1996) the tparam function was removed from ncurses. Any + two of the four implementations thus differ, and programs that intend to work with all termcap library interfaces must account for that fact.
- If you call tgetstr to fetch ca or any other parameterized string - capability, be aware that it is returned in terminfo notation, not the - older and not-quite-compatible termcap notation. This does not cause - problems if all you do with it is call tgoto or tparm, which both - expand terminfo-style strings as terminfo does. (If ncurses is - configured to support termcap, tgoto checks whether the string is term- - info-style by looking for "%p" parameters or "<...>" delays, and - invokes a termcap-style parser if the string appears not to use term- - info syntax.) - - Because terminfo's syntax for padding in string capabilities differs + If you call tgetstr to fetch column_address (ch) or any other + parameterized string capability, be aware that it is returned in term- + info notation, not the older and not-quite-compatible termcap notation. + This does not cause problems if all you do with it is call tgoto or + tparm, which both expand terminfo-style strings as terminfo does. (If + ncurses is configured to support termcap, tgoto checks whether the + string is terminfo-style by looking for "%p" parameters or "<...>" + delays, and invokes a termcap-style parser if the string appears not to + use terminfo syntax.) + + Because terminfo's syntax for padding in string capabilities differs from termcap's, users can be surprised. - o tputs("50") in a terminfo system transmits "50" rather than busy- + o tputs("50") in a terminfo system transmits "50" rather than busy- waiting for 50 milliseconds. - o However, if ncurses is configured to support termcap, it may also + o However, if ncurses is configured to support termcap, it may also have been configured to support BSD-style padding. - In that case, tputs inspects strings passed to it, looking for + In that case, tputs inspects strings passed to it, looking for digits at the beginning of the string. - tputs("50") in a termcap system may busy-wait for 50 milliseconds + tputs("50") in a termcap system may busy-wait for 50 milliseconds rather than transmitting "50". - termcap has nothing analogous to terminfo's sgr string. One - consequence is that termcap applications assume that "me" (equivalent - to terminfo's sgr0 capability) does not reset the alternate character - set. ncurses checks for, and modifies the data shared with, the - termcap interface to accommodate the latter's limitation in this - respect. + termcap has nothing analogous to terminfo's set_attributes (sgr) + capability. One consequence is that termcap applications assume that + "me" (equivalent to terminfo's exit_attribute_mode (sgr0) capability) + does not reset the alternate character set. ncurses checks for, and + modifies the data shared with, the termcap interface to accommodate the + latter's limitation in this respect.
@@ -397,7 +396,7 @@ -ncurses 6.4 2023-12-17 curs_termcap(3x) +ncurses 6.4 2023-12-23 curs_termcap(3x)