From: Thomas E. Dickey Date: Sat, 26 Feb 2011 20:51:01 +0000 (+0000) Subject: ncurses 5.8 - patch 20110226 X-Git-Tag: v5.8 X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=commitdiff_plain;h=f86cbeb5f9bd96ab041d34039c35749a14965039 ncurses 5.8 - patch 20110226 + update release notes, for 5.8. + regenerated html manpages. + change open() in _nc_read_file_entry() to fopen() for consistency with write_file(). + modify misc/run_tic.in to create parent directory, in case this is a new install of hashed database. + fix typo in Ada95/mk-1st.awk which causes error with original awk. + add cons25-debian entry (patch by Brian M Carlson, Debian #607662). --- diff --git a/ANNOUNCE b/ANNOUNCE index e09e7317..269bd2bc 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,4 +1,4 @@ - Announcing ncurses 5.7 + Announcing ncurses 5.8 The ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, and more. It uses terminfo format, @@ -27,217 +27,393 @@ Release Notes This release is designed to be upward compatible from ncurses 5.0 - through 5.6; very few applications will require recompilation, + through 5.7; very few applications will require recompilation, depending on the platform. These are the highlights from the - change-log since ncurses 5.6 release. - - Interface changes: - * generate linkable stubs for some macros: - getattrs - - New features and improvements: - * library - + new flavor of the ncurses library provides rudimentary - support for POSIX threads. Several functions are reentrant, - but most require either a window-level or screen-level mutex. - (This is API-compatible, but not ABI-compatible with the - normal library). - + add NCURSES_OPAQUE symbol to curses.h, will use to make - structs opaque in selected configurations. - + add NCURSES_EXT_FUNCS and NCURSES_EXT_COLORS symbols to - curses.h to make it simpler to tell if the extended functions - and/or colors are declared. - + add wresize() to C++ binding - + eliminate fixed-buffer vsprintf() calls in C++ binding. - + add several functions to C++ binding which wrap C functions - that pass a WINDOW* parameter. - + adapt mouse-handling code from menu library in form-library - + improve tracing for form library, showing created forms, - fields, etc. - + make $NCURSES_NO_PADDING feature work for termcap interface . - + add check to trace-file open, if the given name is a - directory, add ".log" to the name and try again. - + several new manpages: curs_legacy.3x, curs_memleaks.3x, - curs_opaque.3x and curs_threads.3x - * programs: - + modified three test-programs to demonstrate the threading - support in this version: ditto, rain, worm. - + several new test-programs: demo_panels, dots_mvcur, - inch_wide, inchs, key_name, key_names, savescreen, - savescreen.sh test_arrays, test_get_wstr, test_getstr, - test_instr, test_inwstr and test_opaque. - + add adacurses-config to the Ada95 install. - + modify tic -f option to format spaces as \s to prevent them - from being lost when that is read back in unformatted - strings. - + The tack program is now distributed separately from ncurses. - * terminal database - + added entries: - o Eterm-256color, Eterm-88color and rxvt-88color - o aterm - o konsole-256color - o mrxvt - o screen.mlterm - o screen.rxvt - o teraterm4.59 is now the primary primary teraterm entry, - renamed original to teraterm2.3 - o 9term terminal - o Newbury Data entries - + updated/improved entries: - o gnome to version 2.22.3 - o h19, z100 - o konsole to version 1.6.6 - o mlterm, mlterm+pcfkeys - o xterm, and building-blocks for function-keys to [3]xterm - patch #230. - - Major bug fixes: - * add logic to tic for cancelling strings in user-defined - capabilities (this is needed for current konsole terminfo entry). - * modify mk-1st.awk so the generated makefile rules for linking or - installing shared libraries do not first remove the library, in - case it is in use, e.g., libncurses.so by /bin/sh. - * correct check for notimeout() in wgetch(). - * fix a sign-extension bug in infocmp's repair_acsc() function. - * change winnstr() to stop at the end of the line. - * make Ada95 demo_panels() example work. - * fix for adding a non-spacing character at the beginning of a line. - * fill in extended-color pair to make colors work for - wide-characters using extended-colors. - * improve refresh of window on top of multi-column characters, - taking into account split characters on left/right window - boundaries. - * modify win_wchnstr() to ensure that only a base cell is returned - for each multi-column character. - * improve waddch() and winsch() handling of EILSEQ from mbrtowc() by - using unctrl() to display illegal bytes rather than trying to - append further bytes to make up a valid sequence. - * restore curs_set() state after endwin()/refresh() - * modify keyname() to use "^X" form only if meta() has been called, - or if keyname() is called without initializing curses, e.g., via - initscr() or newterm(). - * modify unctrl() to check codes in 128-255 range versus isprint(). - If they are not printable, and locale was set, use a "M-" or "~" - sequence. - * improve resizeterm() by moving ripped-off lines, and repainting - the soft-keys. - * modify form library to accept control characters such as newline - in set_field_buffer(), which is compatible with Solaris. - * use NCURSES_MOUSE_MASK() in definition of BUTTON_RELEASE(), etc., - to make those work properly with the --enable-ext-mouse - configuration - * correct some functions in Ada95 binding which were using return - value from C where none was returned. - * reviewed/fixed issues reported by Coverity and Klocwork tools. - - Portability: + change-log since ncurses 5.7 release. + +Interface changes + + * turn on _XOPEN_CURSES definition in curses.h. + * change _nc_has_mouse to has_mouse, reflect its use in C++ and + Ada95. + * add is_pad and is_subwin functions for opaque access to the WINDOW + structure. + * add tiparm, based on review of X/Open Curses Issue 7. + +New features and improvements + + Library Improvements + + * add a terminal driver for Windows console, which supports a MinGW + port to Windows. + * add extended functions which specify the SCREEN pointer for + several curses functions which use the global SP. + * improve the NCURSES_NO_UTF8_ACS feature by adding a check for an + extended terminfo capability U8. + * improve performance of tigetstr, etc., by using hashing code from + tic. + * add WACS_xxx definitions to wide-character configuration for + thick- and double-lines. + * modify init_pair to allow caller to create extra color pairs + beyond the color_pairs limit, which use default colors. + + Improvements to Programs + + * add tabs program. + * modify tic's -I/-C dump to reformat acsc strings into canonical + form (sorted, unique mapping). + * add checks in tic for inconsistent cursor-movement controls, and + for inconsistent printer-controls. + * add special case to _nc_infotocap (used by tic and infocmp) to + recognize the setaf/setab strings from xterm+256color and + xterm+88color, and provide a reduced version which works with + termcap. + + Terminal Database + + * added entries: + + bterm terminfo entry, based on bogl 0.1.18 + + cons25-debian entry + + eterm-color entry + + linux-16color + + mlterm+256color entry, for mlterm 3.0.0 + + several screen-bce.xxx entries + + screen.Eterm terminfo entry + + vwmterm entry + + xterm-utf8 entry as a demo of the U8 feature + * updated/improved entries: + + use extended capabilities: + o add U8 feature to denote entries for terminal emulators + which do not support VT100 SI/SO when processing UTF-8 + encoding + o add XT capability to entries for terminals that support + both xterm-style mouse- and title-controls, for screen + which special-cases TERM beginning with xterm or rxvt + + improvements based on new checks in tic: + + + o fill in no-parameter forms of cursor-movement where a + parameterized form is available + o fill in missing cursor controls where the form of the + controls is ANSI + o add parameterized cursor-controls to linux-basic + o modify nsterm, xnuppc and tek4115 to make sgr/sgr0 + consistent + o change several terminfo entries to make consistent use + of ANSI clear-all-tabs + + extend ansi.sys pfkey capability from kf1-kf10 to kf1-kf48, + moving function key definitions from emx-base for + consistency. + + correct missing final 'p' in pfkey capability of + ansi.sys-old. + + rename atari and st52 terminfo entries to atari-old, + st52-old, use newer entries from FreeMiNT. + + repurpose gnome terminfo entries as vte, retaining gnome + variants for compatibility, but generally deprecating those + since the VTE library is what actually defines the behavior + of "gnome", etc., since 2003. + + improve interix smso terminfo capability by using reverse + rather than bold. + + correct initc capability of linux-c-nc end-of-range, make + similar change for dg+ccc and dgunix+ccc. + + update minix terminfo entry. + + updated nsterm* entries. + + remove unnecessary kcan assignment to ^C from putty. + + suppress ncv in screen and konsole-base entries, allowing + underline. + + change ncv and op capabilities in sun-color terminfo entry to + match Sun's entry for this. + + fix typo in rmso for tek4106 entry. + + improve acsc string for vt52, show arrow keys. + + add hard-reset for rs2 to wsvt25 to help ensure that reset + ends the alternate character set. + + add ccc and initc capabilities to xterm-16color. + +Major bug fixes + + * ncurses library + + wide character support + o modify length returned by getcchar to count the trailing + null which is documented in X/Open. + o fix an infinite recursion when adding a legacy-coding + 8-bit value using insch. + o improve a workaround in adding wide-characters, when a + control character is found. The library uses unctrl to + obtain a printable version of the control character, but + was not passing color or video attributes. + o modify waddch_literal, updating line-pointer after a + multicolumn character is found to not fit on the current + row, and wrapping is done. Since the line-pointer was + not updated, the wrapped multicolumn character was + written to the beginning of the current row. + o fixes in wins_nwstr and related functions to ensure that + special characters, i.e., control characters are handled + properly with the wide-character configuration. + o correct internal _nc_insert_ch to use _nc_insert_wch + when inserting wide characters, since the wins_wch + function that it used did not update the cursor + position. + + mouse + o add check if Gpm_Open returns a -2, e.g., for "xterm". + This is normally suppressed but can be overridden using + $NCURSES_GPM_TERMS. Ensure that Gpm_Close is called in + this case. + o add check in mouse-driver to disable connection if GPM + returns a zero, indicating that the connection is + closed. + o modify getmouse to act as its documentation implied, + returning on each call the preceding event until none + are left. When no more events remain, it will return + ERR. + + miscellaneous + o improve handling of color-pairs embedded in attributes + for the extended-colors configuration. + o add check for failure to open hashed-database needed for + db4.6. + o modify use of $CC environment variable which is defined + by X/Open as a curses feature, to ignore it if it is not + a single character. + o modify declaration of cur_term when broken-linker is + used, but enable-reentrant is not, to match pre-5.7. + o correct limit-checks in derwin. + o remove old check in mvderwin which prevented moving a + derived window whose origin happened to coincide with + its parent's origin. + o correct limit-checks in newwin, to ensure that windows + have nonzero size. + o modify set_curterm to make broken-linker configuration + work with changes from 20090228. + o modify wgetch to ensure it checks SIGWINCH when it gets + an error in non-blocking mode. + o correct limit-check in wredrawln, accounting for + begy/begx values. + o fix a null-pointer check in _nc_format_slks in + lib_slk.c, from 20070704 changes. + o correct translation of "^" in _nc_infotocap, used to + transform terminfo to termcap strings. + o modify _nc_wgetch to check for a -1 in the fifo, e.g., + after a SIGWINCH, and discard that value, to avoid + confusing application. + * other libraries + + correct transfer of multicolumn characters in multirow + field_buffer, which stopped at the end of the first row due + to filling of unused entries in a cchar_t array with nulls. + + correct buffer-size after internal resizing of wide-character + set_field_buffer, broken in 20081018 changes. + + correct layout of working window used to extract data in + wide-character configured by set_field_buffer + +Portability + * configure script: + new options: - --disable-big-strings - control whether static string tables are generated - as single large strings (to improve startup - performance), or as array of individual strings. - - --disable-relink - control whether shared libraries are relinked - (during install) when rpath is enabled. - - --disable-tic-depends - make explicit whether tic library depends on - ncurses/ncursesw library. - - --enable-mixed-case - override the configure script's check if the - filesystem supports mixed-case filenames. This - allows one to control how the terminal database - maps to the filesystem. For filesystems that do not - support mixed-case, the library uses generate - 2-character (hexadecimal) codes for the lower-level - of the filesystem terminfo database - - --enable-reentrant - builds a different flavor of the ncurses library - (ncursest) which improves reentrant use of the - library by reducing global and static variables - (see the "--with-pthread" option for the threaded - support). - - --enable-weak-symbols - use weak-symbols for linking to the POSIX thread - library, and use the same soname for the ncurses - shared library as the normal library (caveat: the - ABI is for the threaded library, which makes global - data accessed via functions). - - --with-pthread - build with the POSIX thread library (tested with - AIX, Linux, FreeBSD, OpenBSD, HPUX, IRIX64, - Solaris, Tru64). - - --with-ticlib - build/install the tic-support functions in a - separate library + --disable-libtool-version + use the "-version-number" feature which was added + in libtool 1.5. The default value for the option + uses the newer feature, which makes libraries + generated using libtool compatible with the + standard builds of ncurses. + + --disable-rpath-hack + disable a feature which adds rpath options for + libraries in unusual places. + + --enable-interop + integrate changes for generic/interop support to + form-library. + + --enable-pc-files + generate ".pc" files for each of the libraries, and + install them in pkg-config's library directory. + + --enable-pthreads-eintr + control whether to allow EINTR to interrupt a read + operation in wgetch. This applies only to the + pthread configuration + + --enable-sp-funcs + compile-in support for extended functions which + accept a SCREEN pointer, reducing the need for + juggling the global SP value with set_term and + delscreen. + + --enable-term-driver + compile with terminal-driver. That is used in the + MinGW port, and (being somewhat more complicated) + is an experimental alternative to the conventional + termlib internals. Currently, it requires the + sp-funcs feature to be enabled. + + --with-ncurses-wrap-prefix + allows setting the prefix for functions used to + wrap global variables to something other than + "_nc_". + + --with-pkg-config=[DIR] + check for pkg-config, optionally specifying its + path. + + --without-manpages + tells the configure script to suppress the install + of ncurses' manpages. + + --without-tests + suppress building test programs. + improved options: - - --enable-ext-colors - requires the wide-character configuration. - - --with-chtype - ignore option value "unsigned" is always added to - the type in curses.h; do the same for - --with-mmask-t. - - --with-dmalloc - build-fix for redefinition of strndup. - - --with-hashed-db - accepts a parameter which is the install-prefix of - a given Berkeley Database. - - --with-hashed-db - the $LIBS environment variable overrides the search - for the db library. - - --without-hashed-db - assumed when "--disable-database" is used. - + o correct logic for --with-database, which was coded as an + enable-type switch. + o omit the opaque-functions from lib_gen.o when + --disable-ext-funcs is used. + * packaging: + + *-config scripts: + o modify adacurses-config to look for ".ali" files in the + adalib directory. + o correct install for the Ada95 tree, which omitted + libAdaCurses.a used in adacurses-config. + o change install for adacurses-config to provide + additional flavors such as adacursesw-config, for + ncursesw. + o modify scripts to generate ncurses*-config and pc-files + to add dependency for tinfo library. + o use ncurses*-config scripts if available for + test/configure. + o correct name for termlib in ncurses*-config, e.g., if it + is renamed to provide a single file for ncurses/ncursesw + libraries. + o generate manpages for the *-config scripts, adapted from + help2man. + o modify install-rule for manpages so that *-config + manpages will install when building with --srcdir. + o build-fixes for OpenSolaris aka Solaris 11, for + wide-character configuration as well as for rpath + feature in *-config scripts. + o use $includedir symbol in misc/ncurses-config.in, add + --includedir option. + o improve install-rules for pc-files. + o create the pkg-config library directory if needed. + o fix typo "==" where "=" is needed in ncurses-config.in + and gen-pkgconfig.in files. + o modify gen-pkgconfig.in to eliminate a dependency on + rpath when deciding whether to add $LIBS to --libs + output; that should be shown for the ncurses and tinfo + libraries without taking rpath into account. + o modify handling of $PKG_CONFIG_LIBDIR to use only the + first item in a possibly colon-separated list. + + other packaging issues + o add make-tar.sh scripts to Ada95 and test subdirectories + to help with making those separately distributable. + o add Ada95/configure script, to use in tar-file created + by Ada95/make-tar.sh. + o remove tar-copy.sh and related configure/Makefile + chunks, since the Ada95 binding is now installed using + rules in Ada95/src. + * cross-compiling: + + improve configure checks for location of tic and infocmp + programs used for installing database and for generating + fallback data, e.g., for cross-compiling. + + modify #define's for build-compiler to suppress cchar_t + symbol from compile of make_hash and make_keys, improving + cross-compilation of ncursesw. + + simplify include-dependencies of make_hash and make_keys, to + reduce the need for setting BUILD_CPPFLAGS in cross-compiling + when the build- and target-machines differ. + + correct cross-compiling configure check for CF_MKSTEMP macro, + by adding a check cache variable set by AC_CHECK_FUNC. + * library dependencies: + + revise wadd_wch and wecho_wchar to eliminate dependency on + unctrl. + + adjust configure script so that "t" is not added to library + suffix when weak-symbols are used, allowing the pthread + configuration to more closely match the non-thread naming. + * building the Ada95 tree: + + changes to use gnatmake project files in the Ada95 tree. + + add/use configure check to turn on project rules for + Ada95/src. + + old gnatmake (3.15) does not produce libraries using + project-file; work around by adding script to generate + alternate makefile. + + add configure --with-ada-sharedlib option, for the test_make + rule. + + move Ada95-related logic into aclocal.m4, since additional + checks will be needed to distinguish old/new implementations + of gnat. + + add test_make / test_clean / test_install rules in Ada95/src + + change install-path for adainclude directory to + /usr/share/ada (was /usr/lib/ada). * other configure/build issues: - + build-fixes for LynxOS - + modify shared-library rules to allow FreeBSD 3.x to use - rpath. - + build-fix for FreeBSD "contemporary" TTY interface. - + build-fixes for AIX with libtool. - + build-fixes for Darwin and libtool. - + modify BeOS-specific ifdef's to build on Haiku. - + corrected gcc options for building shared libraries on - Solaris and IRIX64. - + change shared-library configuration for OpenBSD, make rpath - work. - + build-fixes for using libutf8, e.g., on OpenBSD 3.7 - + add "-e" option in ncurses/Makefile.in when generating - source-files to force earlier exit if the build environment - fails unexpectedly. - + add support for shared libraries for QNX. - + change delimiter in MKlib_gen.sh from '%' to '@', to avoid - substitution by IBM xlc to '#' as part of its extensions to - digraphs. - * library: - + rewrite wrapper for wcrtomb(), making it work on Solaris. - This is used in the form library to determine the length of - the buffer needed by field_buffer. - + add/use configure script macro CF_SIG_ATOMIC_T, use the - corresponding type for data manipulated by signal handlers. - + set locale in misc/ncurses-config.in since it uses a range - + disable GPM mouse support when $TERM does not happen to - contain "linux", since Gpm_Open() no longer limits its - assertion to terminals that it might handle, e.g., within - "screen" in xterm. - + reset mouse file-descriptor when unloading GPM library. + + make CCHARW_MAX value configurable, noting that changing this + would change the size of cchar_t, and would be + ABI-incompatible. + + improve comparison of program-names when checking for linked + flavors such as "reset" by ignoring the executable suffix. + + drop mkdirs.sh, use "mkdir -p". + + drop misc/ncu-indent and misc/jpf-indent; they are provided + by an external package [3]cindent. + + change makefiles to use $ARFLAGS rather than $AR_OPTS, + provide a configure check to detect whether a "-" is needed + before "ar" options. + + modify CF_DISABLE_LEAKS configure macro so that the + --enable-leaks option is not the same as --disable-leaks. + + improve configure script macros CF_HEADER_PATH and + CF_LIBRARY_PATH by adding CFLAGS, CPPFLAGS and LDFLAGS, LIBS + values to the search-lists. + + improve configure macros CF_GCC_VERSION and CF_GCC_WARNINGS + to work with gcc 4.x's c89 alias, which gives warning + messages for cases where older versions would produce an + error. + + modify CF_WITH_LIBTOOL configure check to allow unreleased + libtool version numbers (e.g. which include alphabetic chars, + as well as digits, after the final '.'). + + improve use of symbolic links in makefiles by using "-f" + option if it is supported, to eliminate temporary removal of + the target + + add a configure-time check to pick a suitable value for + CC_SHARED_OPTS for Solaris. + + add -shared option to MK_SHARED_LIB when -Bsharable is used, + for *BSD's, without which "main" might be one of the shared + library's dependencies. + + modify configure script to allow building shared libraries + with gcc on AIX 5 or 6. + + suppress configure check for static/dynamic linker flags for + gcc on Solaris 10, since gcc is confused by absence of static + libc, and does not switch back to dynamic mode before + finishing the libraries. + + suppress configure check for static/dynamic linker flags for + gcc on Darwin. + + modify misc/run_tic.in to create parent directory, in case + this is a new install of hashed database. + + modify configure check for tic program, used for fallbacks, + to a warning if not found. This makes it simpler to use + additonal scripts to bootstrap the fallbacks code using tic + from the build tree. * test programs: - + update test programs to build/work with various UNIX curses - for comparisons. + + add test/demo_terminfo, for comparison with demo_termcap. + + improve test/ncurses.c 'F' test, show combining characters in + color. + + fix logic for 'V' in test/ncurses.c tests f/F. + + improve test/ncurses.c 'a test to put mouse droppings in the + proper window. + + modify ncurses 'F' test to demo wborder_set with colored + lines. + + modify ncurses 'f' test to demo wborder with colored lines. + + improve test/ncurses.c 'a' test, using unctrl more + consistently to display meta-characters. + + correct use of key_name in test/ncurses.c 'A' test, which + only displays wide-characters, not key-codes since 20070612. + + add test/clip_printw.c to illustrate how to use printw + without wrapping. + + modify test-programs, e.g,. test/view.c, to address subtle + differences between Tru64/Solaris and HPUX/AIX getcchar + return values. + + add some test programs (and make these use the same special + keys by sharing linedata.h functions): test/test_addstr.c + test/test_addwstr.c test/test_addchstr.c + test/test_add_wchstr.c + + add test/xterm-256color.dat + + modify test programs to allow them to be built with NetBSD + curses. + + fixes for test programs to build/work on HPUX and AIX, etc. Features of Ncurses @@ -274,15 +450,15 @@ * Support for mouse event reporting with X Window xterm and FreeBSD and OS/2 console windows. * Extended mouse support via Alessandro Rubini's gpm package. - * The function wresize() allows you to resize windows, preserving + * The function wresize allows you to resize windows, preserving their data. - * The function use_default_colors() allows you to use the terminal's + * The function use_default_colors allows you to use the terminal's default colors for the default color pair, achieving the effect of transparent colors. - * The functions keyok() and define_key() allow you to better control - the use of function keys, e.g., disabling the ncurses KEY_MOUSE, - or by defining more than one control sequence to map to a given - key code. + * The functions keyok and define_key allow you to better control the + use of function keys, e.g., disabling the ncurses KEY_MOUSE, or by + defining more than one control sequence to map to a given key + code. * Support for 256-color terminals, such as modern xterm, when configured using the --enable-ext-colors option. * Support for 16-color terminals, such as aixterm and modern xterm. @@ -293,7 +469,7 @@ incorporates a novel, simple, and cheap algorithm that enables it to make optimal use of hardware scrolling, line-insertion, and line-deletion for screen-line movements. This algorithm is more - powerful than the 4.4BSD curses quickch() routine. + powerful than the 4.4BSD curses quickch routine. * Real support for terminals with the magic-cookie glitch. The screen-update code will refrain from drawing a highlight if the magic- cookie unattributed spaces required just before the @@ -374,7 +550,7 @@ Midnight Commander file manager - [9]http://www.ibiblio.org/mc/ + [9]http://www.midnight-commander.org/ mutt mail utility @@ -387,7 +563,7 @@ nvi New vi versions 1.50 are able to use ncurses versions 1.9.7 and later. - [12]http://www.bostic.com/vi/ + [12]https://sites.google.com/a/bostic.com/keithbostic/nvi pinfo Lynx-like info browser. @@ -412,7 +588,7 @@ Who's Who and What's What Zeyd Ben-Halim started it from a previous package pcurses, written by - Pavel Curtis. Eric S. Raymond continued development. Jürgen Pfeifer + Pavel Curtis. Eric S. Raymond continued development. Juergen Pfeifer wrote most of the form and menu libraries. Ongoing work is being done by [17]Thomas Dickey. Thomas Dickey acts as the maintainer for the Free Software Foundation, which holds the copyright on ncurses. @@ -452,16 +628,16 @@ References 1. ftp://ftp.gnu.org/gnu/ncurses/ 2. ftp://invisible-island.net/ncurses/ - 3. http://invisible-island.net/xterm/xterm.log.html#xterm_230 + 3. http://invisible-island.net/cindent/cindent.html 4. http://invisible-island.net/cdk/ 5. http://www.vexus.ca/products/CDK/ 6. http://invisible-island.net/ded/ 7. http://invisible-island.net/dialog/ 8. http://lynx.isc.org/release/ - 9. http://www.ibiblio.org/mc/ + 9. http://www.midnight-commander.org/ 10. http://www.mutt.org/ 11. http://www.ncftp.com/ - 12. http://www.bostic.com/vi/ + 12. https://sites.google.com/a/bostic.com/keithbostic/nvi 13. https://alioth.debian.org/projects/pinfo/ 14. http://www.tin.org/ 15. http://alioth.debian.org/projects/minicom/ @@ -470,4 +646,4 @@ References 18. mailto:bug-ncurses@gnu.org 19. ftp://invisible-island.net/ncurses/ 20. http://www.catb.org/~esr/terminfo/ - 21. http://www.cs.utk.edu/~shuford/terminal_index.html + 21. http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal diff --git a/Ada95/mk-1st.awk b/Ada95/mk-1st.awk index d0230815..77265497 100644 --- a/Ada95/mk-1st.awk +++ b/Ada95/mk-1st.awk @@ -1,6 +1,6 @@ -# $Id: mk-1st.awk,v 1.3 2010/06/26 23:37:46 tom Exp $ +# $Id: mk-1st.awk,v 1.4 2011/02/22 09:40:01 tom Exp $ ############################################################################## -# Copyright (c) 2010 Free Software Foundation, Inc. # +# Copyright (c) 2010,2011 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"), # @@ -51,7 +51,7 @@ BEGIN { } { printf "\n"; - printf "%s.o :", $1.o + printf "%s.o :", $1; if ( $2 == "none" ) { pre_spec = ""; diff --git a/INSTALL b/INSTALL index 15d41afd..282c2a36 100644 --- a/INSTALL +++ b/INSTALL @@ -25,7 +25,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: INSTALL,v 1.151 2011/01/23 00:06:15 tom Exp $ +-- $Id: INSTALL,v 1.152 2011/02/25 22:10:53 tom Exp $ --------------------------------------------------------------------- How to install Ncurses/Terminfo on your system --------------------------------------------------------------------- @@ -1068,7 +1068,7 @@ COMPATIBILITY WITH OLDER VERSIONS OF NCURSES: you may encounter when building a system with different versions of ncurses: - 5.8 (??? ?, 2011) + 5.8 (Feb 26, 2011) Interface changes: + add an alternate library configuration, i.e., "terminal driver" to diff --git a/NEWS b/NEWS index ec4cb92d..55f3cc74 100644 --- a/NEWS +++ b/NEWS @@ -25,7 +25,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: NEWS,v 1.1645 2011/02/21 01:42:08 tom Exp $ +-- $Id: NEWS,v 1.1651 2011/02/26 16:54:31 tom Exp $ ------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started @@ -45,13 +45,24 @@ 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. +20110226 5.8 release for upload to ftp.gnu.org + +20110226 + + update release notes, for 5.8. + + regenerated html manpages. + + change open() in _nc_read_file_entry() to fopen() for consistency + with write_file(). + + modify misc/run_tic.in to create parent directory, in case this is + a new install of hashed database. + + fix typo in Ada95/mk-1st.awk which causes error with original awk. + 20110220 + configure script rpath fixes from xterm #269. + workaround for cygwin's non-functional features.h, to force ncurses' configure script to define _XOPEN_SOURCE_EXTENDED when building wide-character configuration. + build-fix in run_tic.sh for OS/2 EMX install - + add cons25-debian entry (patch by Brian M Carlson, Debina #607662). + + add cons25-debian entry (patch by Brian M Carlson, Debian #607662). 20110212 + regenerated html manpages. @@ -3755,7 +3766,7 @@ it is not possible to add this information. 20030208 + add checking in tic for incomplete line-drawing character mapping. - + update configure script to reflect fix for AC_PROG_GCC_TRADITIONAL, + + updated configure script to reflect fix for AC_PROG_GCC_TRADITIONAL, which is broken in autoconf 2.5x for Mac OS X 10.2.3 (report by Gerben Wierda ). + make return value from _nc_printf_string() consistent. Before, @@ -4474,7 +4485,7 @@ it is not possible to add this information. + restore special case from 20010922 changes to omit SA_RESTART when setting up SIGWINCH handler, which is needed to allow wgetch() to be interrupted by that signal. - + update configure macro CF_WITH_PATHLIST, to omit some double quotes + + updated configure macro CF_WITH_PATHLIST, to omit some double quotes not needed with autoconf 2.52 + revert configure script to autoconf 2.13 patched with autoconf-2.13-19990117.patch.gz (or later) diff --git a/README.MinGW b/README.MinGW index 8bc5dad8..d111b387 100644 --- a/README.MinGW +++ b/README.MinGW @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Copyright (c) 2008,2010 Free Software Foundation, Inc. -- +-- Copyright (c) 2008-2010,2011 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 -- @@ -25,7 +25,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: README.MinGW,v 1.4 2010/12/18 21:07:03 tom Exp $ +-- $Id: README.MinGW,v 1.5 2011/02/26 16:57:17 tom Exp $ -- Author: Juergen Pfeifer ------------------------------------------------------------------------------- @@ -142,6 +142,8 @@ A lot is still TODO, e.g.: - A GUI console driver - Support for Terminals attached via a serial port (via terminfo) - Support for networked Terminal connections (via terminfo) + - Workarounds for MinGW's filesystem access are necessary to make infocmp + work (though tic works). To support terminfo, we need to have an ioctl() simulation for the serial and networked Terminals. diff --git a/TO-DO b/TO-DO index 8f8b7f1e..ae780b43 100644 --- a/TO-DO +++ b/TO-DO @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2010,2011 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 -- @@ -25,7 +25,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: TO-DO,v 1.54 2010/01/09 16:48:05 tom Exp $ +-- $Id: TO-DO,v 1.56 2011/02/26 16:58:53 tom Exp $ ------------------------------------------------------------------------------- SHORT-TERM TO-DO ITEMS: @@ -66,9 +66,9 @@ Known Problems: + the --with-pthread configuration builds for Cygwin, but does not work properly (test/worm.c shows all of the worms in the same location). -+ the Ada95 tree requires a small fix to build on Cygwin, since the GNAT port - to that platform provides an incomplete Interrupts.Names package. For - instance (your gcc version may be different): ++ the Ada95 tree may require a small fix to build on Cygwin, since the GNAT + port to that platform for 3.4.4 provides an incomplete Interrupts.Names + package. For instance (your gcc version may be different): /usr/lib/gcc/i686-pc-cygwin/3.4.4/adainclude/a-intnam.ads cut here... @@ -90,6 +90,8 @@ Known Problems: Building those with libtool does not work either. (This is a problem with the BSD platforms). ++ more work is needed to make the MinGW port support ordinary terminals. + Portability (or lack thereof): + Users of older System V UNIXes (but not Solaris, and probably not SVr4) may diff --git a/announce.html.in b/announce.html.in index 7b5875bc..da9298a2 100644 --- a/announce.html.in +++ b/announce.html.in @@ -1,8 +1,8 @@ - + - - -Announcing ncurses @VERSION@ - - - - - -

Announcing ncurses @VERSION@

- -The ncurses (new curses) library is a free software emulation of -curses in System V Release 4.0, and more. It uses terminfo format, -supports pads and color -and multiple highlights and forms characters and function-key mapping, -and has all the other SYSV-curses enhancements over BSD curses.

- -In mid-June 1995, the maintainer of 4.4BSD curses declared that he -considered 4.4BSD curses obsolete, and encouraged the keepers of -Unix releases such as BSD/OS, FreeBSD and NetBSD to switch over to -ncurses.

- -The ncurses code was developed under GNU/Linux. -It has been in use for some time with OpenBSD as the system curses library, -and on FreeBSD and NetBSD as an external package. -It should port easily to any ANSI/POSIX-conforming UNIX. -It has even been ported to OS/2 Warp!

- -The distribution includes the library and support utilities, including a -terminfo compiler tic(1), a decompiler infocmp(1), clear(1), tput(1), tset(1), -and a termcap conversion tool captoinfo(1). Full manual pages are provided for -the library and tools.

- -The ncurses distribution is available via anonymous FTP at -the GNU distribution site -ftp://ftp.gnu.org/gnu/ncurses/ . -
It is also available at -ftp://invisible-island.net/ncurses/ . - -

Release Notes

- -This release is designed to be upward compatible from ncurses 5.0 through 5.6; -very few applications will require recompilation, depending on the platform. -These are the highlights from the change-log since ncurses 5.6 release. -

-Interface changes: -

-New features and improvements: - -Major bug fixes: - - -Portability: - + + + +

Major bug fixes

+ + + +

Portability

+ + + +

Features of Ncurses

The ncurses package is fully + compatible with SVr4 (System V Release 4) curses: + + The ncurses package also has many useful extensions over + SVr4: + + + +

State of the Package

Numerous bugs present in earlier + versions have been fixed; the library is far more reliable than + it used to be. Bounds checking in many `dangerous' entry points + has been improved. The code is now type-safe according to gcc + -Wall. The library has been checked for malloc leaks and arena + corruption by the Purify memory-allocation tester. + +

The ncurses code has been tested with a wide variety of + applications including (versions starting with those noted):

+ +
+
cdk
+ +
Curses Development Kit
+ http://invisible-island.net/cdk/
+ + http://www.vexus.ca/products/CDK/
+ +
ded
+ +
directory-editor
+ http://invisible-island.net/ded/
+ +
dialog
+ +
the underlying application used in Slackware's setup, and + the basis for similar applications on GNU/Linux.
+ http://invisible-island.net/dialog/
+ +
lynx
+ +
the character-screen WWW browser
+ http://lynx.isc.org/release/
+ +
Midnight Commander
+ +
file manager
+ http://www.midnight-commander.org/
+ +
mutt
+ +
mail utility
+ http://www.mutt.org/
+ +
ncftp
+ +
file-transfer utility
+ http://www.ncftp.com/
+ +
nvi
+ +
New vi versions 1.50 are able to use ncurses versions 1.9.7 + and later.
+ https://sites.google.com/a/bostic.com/keithbostic/nvi
+
+ +
pinfo
+ +
Lynx-like info browser. https://alioth.debian.org/projects/pinfo/
+ +
tin
+ +
newsreader, supporting color, MIME http://www.tin.org/
+
as well as some that use ncurses for the terminfo support + alone: + +
+
minicom
+ +
terminal emulator
+ http://alioth.debian.org/projects/minicom/
+ +
vile
+ +
vi-like-emacs
+ http://invisible-island.net/vile/
+
+ +

The ncurses distribution includes a selection of test programs + (including a few games).

+ +

Who's Who and What's What

Zeyd Ben-Halim started it from + a previous package pcurses, written by Pavel Curtis. Eric S. + Raymond continued development. Jürgen Pfeifer wrote most of + the form and menu libraries. Ongoing work is being done by + Thomas Dickey. + Thomas Dickey acts as the maintainer for the Free Software + Foundation, which holds the copyright on ncurses. Contact the + current maintainers at bug-ncurses@gnu.org. + +

To join the ncurses mailing list, please write email to + bug-ncurses-request@gnu.org containing the line:

+
              subscribe <name>@<host.domain>
-
- -This list is open to anyone interested in helping with the development and -testing of this package.

- -Beta versions of ncurses and patches to the current release are made available at -ftp://invisible-island.net/ncurses/ . - -

Future Plans

- -We need people to help with these projects. If you are interested in working -on them, please join the ncurses list. - -

Other Related Resources

- -The distribution provides a newer version of the terminfo-format -terminal description file once maintained by -Eric Raymond . -Unlike the older version, the termcap and terminfo data are provided -in the same file, and provides several user-definable extensions -beyond the X/Open specification.

- -You can find lots of information on terminal-related topics -not covered in the terminfo file at -Richard Shuford's -archive . - - + + +

This list is open to anyone interested in helping with the + development and testing of this package.

+ +

Beta versions of ncurses and patches to the current release + are made available at ftp://invisible-island.net/ncurses/ .

+ +

Future Plans

+ + We need people to help with these projects. If you are + interested in working on them, please join the ncurses list. + +

Other Related Resources

The distribution provides a newer + version of the terminfo-format terminal description file once + maintained by Eric + Raymond . Unlike the older version, the termcap and + terminfo data are provided in the same file, and provides several + user-definable extensions beyond the X/Open specification. + +

You can find lots of information on terminal-related topics + not covered in the terminfo file at + Richard Shuford's archive .

+ + diff --git a/dist.mk b/dist.mk index 77117d80..1929e970 100644 --- a/dist.mk +++ b/dist.mk @@ -25,7 +25,7 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: dist.mk,v 1.796 2011/02/20 20:46:53 tom Exp $ +# $Id: dist.mk,v 1.800 2011/02/25 22:11:00 tom Exp $ # Makefile for creating ncurses distributions. # # This only needs to be used directly as a makefile by developers, but @@ -36,8 +36,8 @@ SHELL = /bin/sh # These define the major/minor/patch versions of ncurses. NCURSES_MAJOR = 5 -NCURSES_MINOR = 7 -NCURSES_PATCH = 20110220 +NCURSES_MINOR = 8 +NCURSES_PATCH = 20110226 # We don't append the patch to the version, since this only applies to releases VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) diff --git a/doc/html/ada/funcs/C.htm b/doc/html/ada/funcs/C.htm index eba0274a..04646263 100644 --- a/doc/html/ada/funcs/C.htm +++ b/doc/html/ada/funcs/C.htm @@ -29,14 +29,14 @@
  • Copy_Arg
  • Count - terminal_interface-curses-forms.adb:774
  • Count - terminal_interface-curses-menus.adb:912 -
  • Create - terminal_interface-curses.ads:569 -
  • Create - terminal_interface-curses-forms.ads:293 -
  • Create - terminal_interface-curses-forms.ads:623
  • Create - terminal_interface-curses-forms-field_types-enumeration-ada.ads:48
  • Create - terminal_interface-curses-forms-field_types-enumeration.ads:64 +
  • Create - terminal_interface-curses-forms.ads:293 +
  • Create - terminal_interface-curses-forms.ads:623
  • Create - terminal_interface-curses-menus.ads:191
  • Create - terminal_interface-curses-menus.ads:638
  • Create - terminal_interface-curses-panels.ads:67 +
  • Create - terminal_interface-curses.ads:569
  • Current - terminal_interface-curses-forms.ads:729
  • Current - terminal_interface-curses-menus.ads:294
  • Current_Fld diff --git a/doc/html/ada/funcs/D.htm b/doc/html/ada/funcs/D.htm index ea426477..4003553b 100644 --- a/doc/html/ada/funcs/D.htm +++ b/doc/html/ada/funcs/D.htm @@ -16,12 +16,12 @@
  • Def_Shell_Mode
  • Delayoutput
  • Delay_Output -
  • Delete - terminal_interface-curses.ads:588
  • Delete - terminal_interface-curses-forms.ads:315
  • Delete - terminal_interface-curses-forms.ads:634
  • Delete - terminal_interface-curses-menus.ads:203
  • Delete - terminal_interface-curses-menus.ads:645
  • Delete - terminal_interface-curses-panels.ads:139 +
  • Delete - terminal_interface-curses.ads:588
  • Delete_Character - terminal_interface-curses.ads:1334
  • Delete_Character - terminal_interface-curses.ads:1339
  • Delete_Line @@ -38,8 +38,8 @@
  • Driver - terminal_interface-curses-forms.ads:711
  • Driver - terminal_interface-curses-menus.ads:660
  • Driver - terminal_interface-curses-menus.adb:973 -
  • Duplicate - terminal_interface-curses.ads:614
  • Duplicate - terminal_interface-curses-forms.ads:321 +
  • Duplicate - terminal_interface-curses.ads:614
  • Dupwin
  • Dup_Field
  • Dynamic_Info diff --git a/doc/html/ada/funcs/P.htm b/doc/html/ada/funcs/P.htm index 6f057c37..f781d9c0 100644 --- a/doc/html/ada/funcs/P.htm +++ b/doc/html/ada/funcs/P.htm @@ -31,10 +31,6 @@
  • Pos_Menu_Cursor
  • Prefresh
  • Prev_Router -
  • Put - terminal_interface-curses-text_io.ads:108 -
  • Put - terminal_interface-curses-text_io.ads:109 -
  • Put - terminal_interface-curses-text_io.ads:115 -
  • Put - terminal_interface-curses-text_io.ads:116
  • Put - terminal_interface-curses-text_io-complex_io.ads:54
  • Put - terminal_interface-curses-text_io-complex_io.ads:61
  • Put - terminal_interface-curses-text_io-decimal_io.ads:50 @@ -49,6 +45,10 @@
  • Put - terminal_interface-curses-text_io-integer_io.ads:55
  • Put - terminal_interface-curses-text_io-modular_io.ads:49
  • Put - terminal_interface-curses-text_io-modular_io.ads:55 +
  • Put - terminal_interface-curses-text_io.ads:108 +
  • Put - terminal_interface-curses-text_io.ads:109 +
  • Put - terminal_interface-curses-text_io.ads:115 +
  • Put - terminal_interface-curses-text_io.ads:116
  • putp
  • putwin
  • Put_Buf diff --git a/doc/html/ada/funcs/S.htm b/doc/html/ada/funcs/S.htm index 9b08e4f2..b3a542df 100644 --- a/doc/html/ada/funcs/S.htm +++ b/doc/html/ada/funcs/S.htm @@ -20,9 +20,9 @@
  • scr_init
  • scr_restore
  • scr_set -
  • Set_Background - terminal_interface-curses.ads:1108
  • Set_Background - terminal_interface-curses-forms.ads:446
  • Set_Background - terminal_interface-curses-menus.ads:443 +
  • Set_Background - terminal_interface-curses.ads:1108
  • Set_Buffer
  • Set_Cbreak_Mode
  • Set_Character_Attributes @@ -60,7 +60,6 @@
  • Set_Field_Userptr
  • Set_Fld_Buffer
  • Set_Fld_Status -
  • Set_Fld_Type - terminal_interface-curses-forms-field_types.adb:151
  • Set_Fld_Type - terminal_interface-curses-forms-field_types-alpha.adb:52
  • Set_Fld_Type - terminal_interface-curses-forms-field_types-alphanumeric.adb:52
  • Set_Fld_Type - terminal_interface-curses-forms-field_types-enumeration.adb:97 @@ -68,6 +67,7 @@
  • Set_Fld_Type - terminal_interface-curses-forms-field_types-ipv4_address.adb:52
  • Set_Fld_Type - terminal_interface-curses-forms-field_types-numeric.adb:55
  • Set_Fld_Type - terminal_interface-curses-forms-field_types-user.adb:53 +
  • Set_Fld_Type - terminal_interface-curses-forms-field_types.adb:151
  • Set_Flush_On_Interrupt_Mode
  • Set_Foreground - terminal_interface-curses-forms.ads:426
  • Set_Foreground - terminal_interface-curses-menus.ads:423 diff --git a/doc/html/ada/funcs/T.htm b/doc/html/ada/funcs/T.htm index bb8dea12..22401c4b 100644 --- a/doc/html/ada/funcs/T.htm +++ b/doc/html/ada/funcs/T.htm @@ -29,6 +29,8 @@
  • Touch - terminal_interface-curses.ads:1145
  • Touch_Soft_Label_Keys
  • tputs +
  • traceC +
  • tracef
  • Trace_On
  • Trace_Put
  • Transform diff --git a/doc/html/ada/main.htm b/doc/html/ada/main.htm index d850608c..701fe7d1 100644 --- a/doc/html/ada/main.htm +++ b/doc/html/ada/main.htm @@ -29,11 +29,7 @@
    You should start your browsing with one of these files: diff --git a/doc/html/ada/table.html b/doc/html/ada/table.html index ff6d0bd4..ce8d91f4 100644 --- a/doc/html/ada/table.html +++ b/doc/html/ada/table.html @@ -10,6 +10,8 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN"> + + @@ -22,15 +24,15 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN"> + - - - + + @@ -50,9 +52,9 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN"> - + @@ -64,9 +66,9 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN"> - + @@ -96,17 +98,17 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN"> - + - + @@ -132,9 +134,9 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN"> - + @@ -150,20 +152,19 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN"> - + - + + - - @@ -171,10 +172,10 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN"> - + @@ -208,9 +209,9 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN"> - + @@ -258,10 +259,10 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN"> - - + + @@ -285,7 +286,6 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN"> - @@ -295,16 +295,16 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN"> - + + - @@ -319,8 +319,8 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN"> - + diff --git a/doc/html/ada/terminal_interface-curses-aux__ads.htm b/doc/html/ada/terminal_interface-curses-aux__ads.htm index 3441c5f6..043fe97e 100644 --- a/doc/html/ada/terminal_interface-curses-aux__ads.htm +++ b/doc/html/ada/terminal_interface-curses-aux__ads.htm @@ -48,22 +48,22 @@ -- Run the generator instead.-- |with System; -withInterfaces.C; -withInterfaces.C.Strings; useInterfaces.C.Strings; +withInterfaces.C; +withInterfaces.C.Strings; useInterfaces.C.Strings; withUnchecked_Conversion; packageTerminal_Interface.Curses.Auxispragma Preelaborate (Terminal_Interface.Curses.Aux); - usetypeInterfaces.C.int; + usetypeInterfaces.C.int; - subtypeC_IntisInterfaces.C.int; - subtypeC_ShortisInterfaces.C.short; - subtypeC_Long_IntisInterfaces.C.long; - subtypeC_Size_TisInterfaces.C.size_t; - subtypeC_UIntisInterfaces.C.unsigned; - subtypeC_ULongisInterfaces.C.unsigned_long; - subtypeC_Char_PtrisInterfaces.C.Strings.chars_ptr; + subtypeC_IntisInterfaces.C.int; + subtypeC_ShortisInterfaces.C.short; + subtypeC_Long_IntisInterfaces.C.long; + subtypeC_Size_TisInterfaces.C.size_t; + subtypeC_UIntisInterfaces.C.unsigned; + subtypeC_ULongisInterfaces.C.unsigned_long; + subtypeC_Char_PtrisInterfaces.C.Strings.chars_ptr; typeC_Void_Ptrisnew System.Address; typeC_ChtypeisnewC_ULong; typeC_AttrTypeisnewC_ULong; diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm index 87721a22..5866a704 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm @@ -44,8 +44,8 @@ -- Binding Version 01.00------------------------------------------------------------------------------with Ada.Unchecked_Deallocation; -withInterfaces.C; useInterfaces.C; -withInterfaces.C.Strings; useInterfaces.C.Strings; +withInterfaces.C; useInterfaces.C; +withInterfaces.C.Strings; useInterfaces.C.Strings; withTerminal_Interface.Curses.Aux; useTerminal_Interface.Curses.Aux; packagebodyTerminal_Interface.Curses.Forms.Field_Types.Enumerationis diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm index 953ebbec..bb0abeba 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm @@ -43,7 +43,7 @@ -- @Revision: 1.12 @-- Binding Version 01.00------------------------------------------------------------------------------ -withInterfaces.C.Strings; +withInterfaces.C.Strings; packageTerminal_Interface.Curses.Forms.Field_Types.Enumerationispragma Preelaborate @@ -91,7 +91,7 @@ pragma Inline (Set_Field_Type); private - typeCPA_AccessisaccessInterfaces.C.Strings.chars_ptr_array; + typeCPA_AccessisaccessInterfaces.C.Strings.chars_ptr_array; typeEnumeration_FieldisnewField_Typewithrecord diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm index 6b81cc57..472e248a 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm @@ -44,7 +44,7 @@ -- @Date: 2009/12/26 17:38:58 @-- Binding Version 01.00------------------------------------------------------------------------------ -withInterfaces.C; +withInterfaces.C; withTerminal_Interface.Curses.Aux; useTerminal_Interface.Curses.Aux; packagebodyTerminal_Interface.Curses.Forms.Field_Types.Numericis @@ -52,7 +52,7 @@ procedureSet_Field_Type (Fld : Field; Typ : Numeric_Field) is - typeDoubleisnewInterfaces.C.double; + typeDoubleisnewInterfaces.C.double; C_Numeric_Field_Type : C_Field_Type; pragma Import (C, C_Numeric_Field_Type, "TYPE_NUMERIC"); diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm index 9bd3141d..c1e149a8 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm @@ -43,7 +43,7 @@ -- @Revision: 1.9 @-- Binding Version 01.00------------------------------------------------------------------------------ -withInterfaces.C; useInterfaces.C; +withInterfaces.C; useInterfaces.C; withTerminal_Interface.Curses.Aux; useTerminal_Interface.Curses.Aux; packagebodyTerminal_Interface.Curses.Forms.Field_Types.RegExpis @@ -51,7 +51,7 @@ procedureSet_Field_Type (Fld : Field; Typ : Regular_Expression_Field) is - typeChar_PtrisaccessallInterfaces.C.char; + typeChar_PtrisaccessallInterfaces.C.char; C_Regexp_Field_Type : C_Field_Type; pragma Import (C, C_Regexp_Field_Type, "TYPE_REGEXP"); diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm index f7126694..7f39ab4a 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm @@ -44,13 +44,13 @@ -- @Date: 2008/07/26 18:49:20 @-- Binding Version 01.00------------------------------------------------------------------------------ -withInterfaces.C; +withInterfaces.C; packageTerminal_Interface.Curses.Forms.Field_Types.User.Choiceispragma Preelaborate (Terminal_Interface.Curses.Forms.Field_Types.User.Choice); - subtypeC_IntisInterfaces.C.int; + subtypeC_IntisInterfaces.C.int; typeUser_Defined_Field_Type_With_ChoiceisabstractnewUser_Defined_Field_Typewithnullrecord; diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm index 64c94dd7..bfbae59e 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm @@ -44,11 +44,11 @@ -- @Date: 2009/12/26 17:38:58 @-- Binding Version 01.00------------------------------------------------------------------------------ -withInterfaces.C; +withInterfaces.C; packageTerminal_Interface.Curses.Forms.Field_Types.Userispragma Preelaborate (Terminal_Interface.Curses.Forms.Field_Types.User); - subtypeC_IntisInterfaces.C.int; + subtypeC_IntisInterfaces.C.int; typeUser_Defined_Field_TypeisabstractnewField_Typewithnullrecord; -- This is the root of the mechanism we use to create field types in diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm index 02d74513..18fb83c0 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm @@ -43,12 +43,12 @@ -- @Revision: 1.15 @-- Binding Version 01.00------------------------------------------------------------------------------ -withInterfaces.C; +withInterfaces.C; packageTerminal_Interface.Curses.Forms.Field_Typesispragma Preelaborate (Terminal_Interface.Curses.Forms.Field_Types); - usetypeInterfaces.C.int; - subtypeC_IntisInterfaces.C.int; + usetypeInterfaces.C.int; + subtypeC_IntisInterfaces.C.int; -- |=====================================================================-- | Man page form_fieldtype.3x @@ -123,8 +123,8 @@ -- |typeLow_Level_Field_Typeisrecord - Status : Interfaces.C.short; - Ref_Count : Interfaces.C.long; + Status : Interfaces.C.short; + Ref_Count : Interfaces.C.long; Left, Right : System.Address; Makearg : Makearg_Function; Copyarg : Copyarg_Function; diff --git a/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm index b556d976..a04a469f 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm @@ -54,7 +54,7 @@ -- |-- |-- | - usetypeInterfaces.C.int; + usetypeInterfaces.C.int; procedureSet_User_Data (Fld : Field; Data : User_Access) diff --git a/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm b/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm index 09a441e8..3b91c7b9 100644 --- a/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm +++ b/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm @@ -52,7 +52,7 @@ packagebodyTerminal_Interface.Curses.Forms.Form_User_Datais - usetypeInterfaces.C.int; + usetypeInterfaces.C.int; -- |-- | diff --git a/doc/html/ada/terminal_interface-curses-forms__adb.htm b/doc/html/ada/terminal_interface-curses-forms__adb.htm index 0db8b031..5506d45a 100644 --- a/doc/html/ada/terminal_interface-curses-forms__adb.htm +++ b/doc/html/ada/terminal_interface-curses-forms__adb.htm @@ -47,9 +47,9 @@ with Ada.Unchecked_Deallocation; with Ada.Unchecked_Conversion; -withInterfaces.C; useInterfaces.C; -withInterfaces.C.Strings; useInterfaces.C.Strings; -withInterfaces.C.Pointers; +withInterfaces.C; useInterfaces.C; +withInterfaces.C.Strings; useInterfaces.C.Strings; +withInterfaces.C.Pointers; withTerminal_Interface.Curses.Aux; @@ -59,7 +59,7 @@ type C_Field_Array isarray (Natural range <>) ofaliasedField; package F_Array isnew - Interfaces.C.Pointers (Natural, Field, C_Field_Array, Null_Field); + Interfaces.C.Pointers (Natural, Field, C_Field_Array, Null_Field); -------------------------------------------------------------------------------- | @@ -232,7 +232,7 @@ Buffer : Buffer_Number := Buffer_Number'First; Str : String) is - typeChar_PtrisaccessallInterfaces.C.char; + typeChar_PtrisaccessallInterfaces.C.char; functionSet_Fld_Buffer (Fld : Field; Bufnum : C_Int; S : Char_Ptr) diff --git a/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm b/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm index a630674e..c9583dd3 100644 --- a/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm +++ b/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm @@ -43,12 +43,12 @@ -- @Revision: 1.12 @-- Binding Version 01.00------------------------------------------------------------------------------ -withInterfaces.C; +withInterfaces.C; withTerminal_Interface.Curses.Aux; useTerminal_Interface.Curses.Aux; packagebodyTerminal_Interface.Curses.Menus.Item_User_Datais - usetypeInterfaces.C.int; + usetypeInterfaces.C.int; procedureSet_User_Data (Itm : Item; Data : User_Access) diff --git a/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm b/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm index 7c0587a3..9c4e92f2 100644 --- a/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm +++ b/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm @@ -47,7 +47,7 @@ packagebodyTerminal_Interface.Curses.Menus.Menu_User_Datais - usetypeInterfaces.C.int; + usetypeInterfaces.C.int; procedureSet_User_Data (Men : Menu; Data : User_Access) diff --git a/doc/html/ada/terminal_interface-curses-menus__adb.htm b/doc/html/ada/terminal_interface-curses-menus__adb.htm index 86b3fb28..73ec35a0 100644 --- a/doc/html/ada/terminal_interface-curses-menus__adb.htm +++ b/doc/html/ada/terminal_interface-curses-menus__adb.htm @@ -47,9 +47,9 @@ with Ada.Unchecked_Deallocation; withTerminal_Interface.Curses.Aux; useTerminal_Interface.Curses.Aux; -withInterfaces.C; useInterfaces.C; -withInterfaces.C.Strings; useInterfaces.C.Strings; -withInterfaces.C.Pointers; +withInterfaces.C; useInterfaces.C; +withInterfaces.C.Strings; useInterfaces.C.Strings; +withInterfaces.C.Pointers; with Ada.Unchecked_Conversion; @@ -57,10 +57,10 @@ type C_Item_Array isarray (Natural range <>) ofaliasedItem; package I_Array isnew - Interfaces.C.Pointers (Natural, Item, C_Item_Array, Null_Item); + Interfaces.C.Pointers (Natural, Item, C_Item_Array, Null_Item); usetype System.Bit_Order; - subtypechars_ptrisInterfaces.C.Strings.chars_ptr; + subtypechars_ptrisInterfaces.C.Strings.chars_ptr; function MOS_2_CInt isnew Ada.Unchecked_Conversion (Menu_Option_Set, @@ -99,7 +99,7 @@ functionCreate (Name : String; Description : String := "") returnItemis - typeChar_PtrisaccessallInterfaces.C.char; + typeChar_PtrisaccessallInterfaces.C.char; functionNewitem (Name, Desc : Char_Ptr) returnItem; pragma Import (C, Newitem, "new_item"); @@ -141,11 +141,11 @@ beginPtr := Descname (Itm); ifPtr /= Null_Ptr then - Interfaces.C.Strings.Free (Ptr); + Interfaces.C.Strings.Free (Ptr); endif; Ptr := Itemname (Itm); ifPtr /= Null_Ptr then - Interfaces.C.Strings.Free (Ptr); + Interfaces.C.Strings.Free (Ptr); endif; Res := Freeitem (Itm); ifRes /= E_Okthen @@ -515,7 +515,7 @@ procedureSet_Mark (Men : Menu; Mark : String) is - typeChar_PtrisaccessallInterfaces.C.char; + typeChar_PtrisaccessallInterfaces.C.char; functionSet_Mark (Men : Menu; Mark : Char_Ptr) returnC_Int; pragma Import (C, Set_Mark, "set_menu_mark"); @@ -737,7 +737,7 @@ functionSet_Pattern (Men : Menu; Text : String) return Boolean is - typeChar_PtrisaccessallInterfaces.C.char; + typeChar_PtrisaccessallInterfaces.C.char; functionSet_Pattern (Men : Menu; Pattern : Char_Ptr) returnC_Int; pragma Import (C, Set_Pattern, "set_menu_pattern"); diff --git a/doc/html/ada/terminal_interface-curses-mouse__adb.htm b/doc/html/ada/terminal_interface-curses-mouse__adb.htm index 1bd4a0a2..45357202 100644 --- a/doc/html/ada/terminal_interface-curses-mouse__adb.htm +++ b/doc/html/ada/terminal_interface-curses-mouse__adb.htm @@ -45,8 +45,8 @@ -- Binding Version 01.00------------------------------------------------------------------------------withTerminal_Interface.Curses.Aux; useTerminal_Interface.Curses.Aux; -withInterfaces.C; useInterfaces.C; -useInterfaces; +withInterfaces.C; useInterfaces.C; +useInterfaces; packagebodyTerminal_Interface.Curses.Mouseis diff --git a/doc/html/ada/terminal_interface-curses-mouse__ads.htm b/doc/html/ada/terminal_interface-curses-mouse__ads.htm index 611d93d0..d77ff4c5 100644 --- a/doc/html/ada/terminal_interface-curses-mouse__ads.htm +++ b/doc/html/ada/terminal_interface-curses-mouse__ads.htm @@ -168,14 +168,14 @@ pragma Inline (Mouse_Interval); private - typeEvent_MaskisnewInterfaces.C.unsigned_long; + typeEvent_MaskisnewInterfaces.C.unsigned_long; typeMouse_Eventisrecord - Id : Integer range Integer (Interfaces.C.short'First) .. - Integer (Interfaces.C.short'Last); - X, Y, Z : Integer range Integer (Interfaces.C.int'First) .. - Integer (Interfaces.C.int'Last); + Id : Integer range Integer (Interfaces.C.short'First) .. + Integer (Interfaces.C.short'Last); + X, Y, Z : Integer range Integer (Interfaces.C.int'First) .. + Integer (Interfaces.C.int'Last); Bstate : Event_Mask; endrecord; pragma Convention (C, Mouse_Event); diff --git a/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm b/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm index 4face619..60ef8092 100644 --- a/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm +++ b/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm @@ -43,7 +43,7 @@ -- @Revision: 1.12 @-- Binding Version 01.00------------------------------------------------------------------------------ -withInterfaces.C; +withInterfaces.C; withTerminal_Interface.Curses.Aux; useTerminal_Interface.Curses.Aux; withTerminal_Interface.Curses.Panels; @@ -51,7 +51,7 @@ packagebodyTerminal_Interface.Curses.Panels.User_Datais - usetypeInterfaces.C.int; + usetypeInterfaces.C.int; procedureSet_User_Data (Pan : Panel; Data : User_Access) diff --git a/doc/html/ada/terminal_interface-curses-panels__adb.htm b/doc/html/ada/terminal_interface-curses-panels__adb.htm index e380243b..a7cb4d03 100644 --- a/doc/html/ada/terminal_interface-curses-panels__adb.htm +++ b/doc/html/ada/terminal_interface-curses-panels__adb.htm @@ -45,11 +45,11 @@ -- Binding Version 01.00------------------------------------------------------------------------------withTerminal_Interface.Curses.Aux; useTerminal_Interface.Curses.Aux; -withInterfaces.C; +withInterfaces.C; packagebodyTerminal_Interface.Curses.Panelsis - usetypeInterfaces.C.int; + usetypeInterfaces.C.int; functionCreate (Win : Window) returnPanelis diff --git a/doc/html/ada/terminal_interface-curses-putwin__adb.htm b/doc/html/ada/terminal_interface-curses-putwin__adb.htm index 27145fa3..8f1f9870 100644 --- a/doc/html/ada/terminal_interface-curses-putwin__adb.htm +++ b/doc/html/ada/terminal_interface-curses-putwin__adb.htm @@ -44,12 +44,12 @@ -- Binding Version 01.00with Ada.Streams.Stream_IO.C_Streams; -withInterfaces.C_Streams; +withInterfaces.C_Streams; withTerminal_Interface.Curses.Aux; useTerminal_Interface.Curses.Aux; packagebodyTerminal_Interface.Curses.PutWinis - packageICSrenamesInterfaces.C_Streams; + packageICSrenamesInterfaces.C_Streams; packageACSrenames Ada.Streams.Stream_IO.C_Streams; usetypeC_Int; diff --git a/doc/html/ada/terminal_interface-curses-termcap__adb.htm b/doc/html/ada/terminal_interface-curses-termcap__adb.htm index f409dda0..a3f27e51 100644 --- a/doc/html/ada/terminal_interface-curses-termcap__adb.htm +++ b/doc/html/ada/terminal_interface-curses-termcap__adb.htm @@ -46,8 +46,8 @@ ------------------------------------------------------------------------------withTerminal_Interface.Curses.Aux; useTerminal_Interface.Curses.Aux; -withInterfaces.C; useInterfaces.C; -withInterfaces.C.Strings; useInterfaces.C.Strings; +withInterfaces.C; useInterfaces.C; +withInterfaces.C.Strings; useInterfaces.C.Strings; packagebodyTerminal_Interface.Curses.Termcapis diff --git a/doc/html/ada/terminal_interface-curses-terminfo__adb.htm b/doc/html/ada/terminal_interface-curses-terminfo__adb.htm index 11036710..e2759a3a 100644 --- a/doc/html/ada/terminal_interface-curses-terminfo__adb.htm +++ b/doc/html/ada/terminal_interface-curses-terminfo__adb.htm @@ -46,8 +46,8 @@ ------------------------------------------------------------------------------withTerminal_Interface.Curses.Aux; useTerminal_Interface.Curses.Aux; -withInterfaces.C; useInterfaces.C; -withInterfaces.C.Strings; useInterfaces.C.Strings; +withInterfaces.C; useInterfaces.C; +withInterfaces.C.Strings; useInterfaces.C.Strings; with Ada.Unchecked_Conversion; packagebodyTerminal_Interface.Curses.Terminfois diff --git a/doc/html/ada/terminal_interface-curses-terminfo__ads.htm b/doc/html/ada/terminal_interface-curses-terminfo__ads.htm index 8738a396..72edda4f 100644 --- a/doc/html/ada/terminal_interface-curses-terminfo__ads.htm +++ b/doc/html/ada/terminal_interface-curses-terminfo__ads.htm @@ -44,7 +44,7 @@ -- Binding Version 01.00------------------------------------------------------------------------------ -withInterfaces.C; +withInterfaces.C; packageTerminal_Interface.Curses.Terminfoispragma Preelaborate (Terminal_Interface.Curses.Terminfo); @@ -73,8 +73,8 @@ functionGet_Number (Name : String) return Integer; -- AKA: tigetnum() - typeputctypeisaccessfunction (c : Interfaces.C.int) - returnInterfaces.C.int; + typeputctypeisaccessfunction (c : Interfaces.C.int) + returnInterfaces.C.int; pragma Convention (C, putctype); -- | diff --git a/doc/html/ada/terminal_interface-curses-trace__adb.htm b/doc/html/ada/terminal_interface-curses-trace__adb.htm index 350f4fde..b766f280 100644 --- a/doc/html/ada/terminal_interface-curses-trace__adb.htm +++ b/doc/html/ada/terminal_interface-curses-trace__adb.htm @@ -43,19 +43,40 @@ -- @Revision: 1.6 @-- Binding Version 01.00------------------------------------------------------------------------------ +withInterfaces.C; useInterfaces.C; +withTerminal_Interface.Curses.Aux; useTerminal_Interface.Curses.Aux; +with Ada.Unchecked_Conversion; -packagebodyTerminal_Interface.Curses.Traceis +packagebodyTerminal_Interface.Curses.Traceis - procedureTrace_On (x : Trace_Attribute_Set) is - pragma Unreferenced (x); + typeC_TraceTypeisnewC_UInt; + + function TraceAda_To_TraceC isnew + Ada.Unchecked_Conversion (Source => Trace_Attribute_Set, + Target => C_TraceType); + + procedureTrace_On (x : Trace_Attribute_Set) is + proceduretraceC (y : C_TraceType); + pragma Import (C, traceC, "trace"); begin - null; + traceC (TraceAda_To_TraceC (x)); endTrace_On; - procedureTrace_Put (str : String) is - pragma Unreferenced (str); + -- 75. (12) A C function that takes a variable number of arguments can + -- correspond to several Ada subprograms, taking various specific + -- numbers and types of parameters. + + procedureTrace_Put (str : String) is + proceduretracef (format : char_array; s : char_array); + pragma Import (C, tracef, "_tracef"); + Txt : char_array (0 .. str'Length); + Length : size_t; + formatstr : constant String := "%s" & ASCII.NUL; + formattxt : char_array (0 .. formatstr'Length); begin - null; + To_C (formatstr, formattxt, Length); + To_C (str, Txt, Length); + tracef (formattxt, Txt); endTrace_Put; endTerminal_Interface.Curses.Trace; diff --git a/doc/html/ada/terminal_interface-curses-trace__ads.htm b/doc/html/ada/terminal_interface-curses-trace__ads.htm index 8ab28f04..ef569c27 100644 --- a/doc/html/ada/terminal_interface-curses-trace__ads.htm +++ b/doc/html/ada/terminal_interface-curses-trace__ads.htm @@ -44,7 +44,7 @@ -- Binding Version 01.00------------------------------------------------------------------------------ -packageTerminal_Interface.Curses.Traceis +packageTerminal_Interface.Curses.Traceispragma Preelaborate (Terminal_Interface.Curses.Trace); pragma Warnings (Off); @@ -104,11 +104,11 @@ -- |=====================================================================-- #1A NAME="AFU_1"#2| - procedureTrace_On (x : Trace_Attribute_Set); + procedureTrace_On (x : Trace_Attribute_Set); -- The debugging library has trace.-- #1A NAME="AFU_2"#2| - procedureTrace_Put (str : String); + procedureTrace_Put (str : String); -- AKA: _tracef()Current_Trace_Setting : Trace_Attribute_Set; diff --git a/doc/html/ada/terminal_interface-curses__adb.htm b/doc/html/ada/terminal_interface-curses__adb.htm index fe61959f..4c676de9 100644 --- a/doc/html/ada/terminal_interface-curses__adb.htm +++ b/doc/html/ada/terminal_interface-curses__adb.htm @@ -47,8 +47,8 @@ with System; withTerminal_Interface.Curses.Aux; -withInterfaces.C; useInterfaces.C; -withInterfaces.C.Strings; useInterfaces.C.Strings; +withInterfaces.C; useInterfaces.C; +withInterfaces.C.Strings; useInterfaces.C.Strings; with Ada.Characters.Handling; use Ada.Characters.Handling; with Ada.Strings.Fixed; @@ -1706,7 +1706,7 @@ ifN > Str'Length thenraise Constraint_Error; endif; - Txt (0) := Interfaces.C.char'First; + Txt (0) := Interfaces.C.char'First; ifWinnstr (Win, Txt, C_Int (N)) = Curses_ErrthenraiseCurses_Exception; endif; @@ -1796,7 +1796,7 @@ ifN > Str'Length thenraise Constraint_Error; endif; - Txt (0) := Interfaces.C.char'First; + Txt (0) := Interfaces.C.char'First; ifWgetnstr (Win, Txt, C_Int (N)) = Curses_ErrthenraiseCurses_Exception; endif; diff --git a/doc/html/ada/terminal_interface-curses__ads.htm b/doc/html/ada/terminal_interface-curses__ads.htm index 6d670cc0..09750abe 100644 --- a/doc/html/ada/terminal_interface-curses__ads.htm +++ b/doc/html/ada/terminal_interface-curses__ads.htm @@ -49,15 +49,15 @@ -- Run the generator instead.-- |with System.Storage_Elements; -withInterfaces.C; -- We need this for some assertions. +withInterfaces.C; -- We need this for some assertions.packageTerminal_Interface.Cursesispragma Preelaborate (Terminal_Interface.Curses); pragma Linker_Options ("-lncurses"); NC_Major_Version : constant := 5; -- Major version of the library - NC_Minor_Version : constant := 7; -- Minor version of the library - NC_Version : constant String := "5.7"; -- Version of library + NC_Minor_Version : constant := 8; -- Minor version of the library + NC_Version : constant String := "5.8"; -- Version of librarytypeWindowisprivate; Null_Window : constantWindow; @@ -280,8 +280,8 @@ ------------------------------------------------------------------------------ - typeColor_Numberisrange -1 .. Integer (Interfaces.C.short'Last); - forColor_Number'Size useInterfaces.C.short'Size; + typeColor_Numberisrange -1 .. Integer (Interfaces.C.short'Last); + forColor_Number'Size useInterfaces.C.short'Size; -- (n)curses uses a short for the color index-- The model is, that a Color_Number is an index into an array of-- (potentially) definable colors. Some of those indices are @@ -297,8 +297,8 @@ Cyan : constantColor_Number := 6; White : constantColor_Number := 7; - typeRGB_Valueisrange 0 .. Integer (Interfaces.C.short'Last); - forRGB_Value'Size useInterfaces.C.short'Size; + typeRGB_Valueisrange 0 .. Integer (Interfaces.C.short'Last); + forRGB_Value'Size useInterfaces.C.short'Size; -- Some system may allow to redefine a color by setting RGB values.typeColor_Pairisrange 0 .. 255; @@ -1928,7 +1928,7 @@ Sizeof_bool : constant Natural := 1; -- boolOffset_XY : constant Natural := 1; -- int - typeCurses_Boolismod 2 ** Interfaces.C.char'Size; + typeCurses_Boolismod 2 ** Interfaces.C.char'Size; Curses_Bool_False : constantCurses_Bool := 0; endTerminal_Interface.Curses; diff --git a/doc/html/announce.html b/doc/html/announce.html index 36e61ba7..1cd96515 100644 --- a/doc/html/announce.html +++ b/doc/html/announce.html @@ -1,8 +1,8 @@ - + - - -Announcing ncurses 5.7 - - - - - -

    Announcing ncurses 5.7

    - -The ncurses (new curses) library is a free software emulation of -curses in System V Release 4.0, and more. It uses terminfo format, -supports pads and color -and multiple highlights and forms characters and function-key mapping, -and has all the other SYSV-curses enhancements over BSD curses.

    - -In mid-June 1995, the maintainer of 4.4BSD curses declared that he -considered 4.4BSD curses obsolete, and encouraged the keepers of -Unix releases such as BSD/OS, FreeBSD and NetBSD to switch over to -ncurses.

    - -The ncurses code was developed under GNU/Linux. -It has been in use for some time with OpenBSD as the system curses library, -and on FreeBSD and NetBSD as an external package. -It should port easily to any ANSI/POSIX-conforming UNIX. -It has even been ported to OS/2 Warp!

    - -The distribution includes the library and support utilities, including a -terminfo compiler tic(1), a decompiler infocmp(1), clear(1), tput(1), tset(1), -and a termcap conversion tool captoinfo(1). Full manual pages are provided for -the library and tools.

    - -The ncurses distribution is available via anonymous FTP at -the GNU distribution site -ftp://ftp.gnu.org/gnu/ncurses/ . -
    It is also available at -ftp://invisible-island.net/ncurses/ . - -

    Release Notes

    - -This release is designed to be upward compatible from ncurses 5.0 through 5.6; -very few applications will require recompilation, depending on the platform. -These are the highlights from the change-log since ncurses 5.6 release. -

    -Interface changes: -

      -
    • generate linkable stubs for some macros: -
      - getattrs - -
    -New features and improvements: -
      -
    • library -
        -
      • new flavor of the ncurses library provides rudimentary - support for POSIX threads. Several functions are - reentrant, but most require either a window-level or - screen-level mutex.
        - (This is API-compatible, - but not ABI-compatible with the normal library). - -
      • add NCURSES_OPAQUE symbol to curses.h, will - use to make structs opaque in selected configurations. - -
      • add NCURSES_EXT_FUNCS and - NCURSES_EXT_COLORS symbols to curses.h to make - it simpler to tell if the extended functions and/or colors - are declared. - -
      • add wresize() to C++ binding - -
      • eliminate fixed-buffer vsprintf() calls in C++ binding. - -
      • add several functions to C++ binding which wrap C functions - that pass a WINDOW* parameter. - -
      • adapt mouse-handling code from menu library in form-library - -
      • improve tracing for form library, showing created forms, - fields, etc. - -
      • make $NCURSES_NO_PADDING feature work for termcap interface . - -
      • add check to trace-file open, if the given name is a - directory, add ".log" to the name and try again. - -
      • several new manpages: curs_legacy.3x, curs_memleaks.3x, - curs_opaque.3x and curs_threads.3x -
      - -
    • programs: -
        -
      • modified three test-programs to demonstrate the threading - support in this version: ditto, rain, worm. - -
      • several new test-programs: demo_panels, dots_mvcur, - inch_wide, inchs, key_name, key_names, savescreen, - savescreen.sh test_arrays, test_get_wstr, test_getstr, - test_instr, test_inwstr and test_opaque. - -
      • add adacurses-config to the Ada95 install. - -
      • modify tic -f option to format spaces as - \s to prevent them from being lost when that - is read back in unformatted strings. - -
      • The tack program is now distributed separately - from ncurses. -
      - -
    • terminal database -
        -
      • added entries: -
          -
        • Eterm-256color, - Eterm-88color and - rxvt-88color -
        • aterm -
        • konsole-256color -
        • mrxvt -
        • screen.mlterm -
        • screen.rxvt -
        • teraterm4.59 is now the primary primary - teraterm entry, renamed original to - teraterm2.3 -
        • 9term terminal -
        • Newbury Data entries -
        -
      • updated/improved entries: -
          -
        • gnome to version 2.22.3 -
        • h19, z100 -
        • konsole to version 1.6.6 -
        • mlterm, mlterm+pcfkeys -
        • xterm, and building-blocks for function-keys - to xterm patch #230. -
        -
      -
    -Major bug fixes: -
      -
    • add logic to tic for cancelling strings in user-defined - capabilities - (this is needed for - current konsole terminfo entry). - -
    • modify mk-1st.awk so the generated makefile rules for - linking or installing shared libraries do not first remove the - library, in case it is in use, e.g., libncurses.so by - /bin/sh. - -
    • correct check for notimeout() in wgetch(). - -
    • fix a sign-extension bug in infocmp's repair_acsc() function. - -
    • change winnstr() to stop at the end of the line. - -
    • make Ada95 demo_panels() example work. - -
    • fix for adding a non-spacing character at the beginning of a line. - -
    • fill in extended-color pair to make colors work - for wide-characters using extended-colors. - -
    • improve refresh of window on top of multi-column characters, - taking into account split characters on left/right window - boundaries. - -
    • modify win_wchnstr() to ensure that only a base cell - is returned for each multi-column character. - -
    • improve waddch() and winsch() handling of - EILSEQ from mbrtowc() by using unctrl() - to display illegal bytes rather than trying to append further bytes - to make up a valid sequence. - -
    • restore curs_set() state after - endwin()/refresh() - -
    • modify keyname() to use "^X" form only if - meta() has been called, or if keyname() - is called without initializing curses, e.g., via - initscr() or newterm(). - -
    • modify unctrl() to check codes in 128-255 range versus - isprint(). - If they are not printable, and locale was set, use a "M-" or "~" - sequence. - -
    • improve resizeterm() by moving ripped-off lines, and - repainting the soft-keys. - -
    • modify form library to accept control characters such as newline - in set_field_buffer(), which is compatible with Solaris. - -
    • use NCURSES_MOUSE_MASK() in definition of - BUTTON_RELEASE(), etc., to make those work properly - with the --enable-ext-mouse configuration - -
    • correct some functions in Ada95 binding which were using return - value from C where none was returned. - -
    • reviewed/fixed issues reported by Coverity and Klocwork tools. -
    - -Portability: -
      -
    • configure script: + + + + + + Announcing ncurses 5.8 + + + + + +

      Announcing ncurses 5.8

      The ncurses (new curses) + library is a free software emulation of curses in System V + Release 4.0, and more. It uses terminfo format, supports pads and + color and multiple highlights and forms characters and + function-key mapping, and has all the other SYSV-curses + enhancements over BSD curses. + +

      In mid-June 1995, the maintainer of 4.4BSD curses declared + that he considered 4.4BSD curses obsolete, and encouraged the + keepers of Unix releases such as BSD/OS, FreeBSD and NetBSD to + switch over to ncurses.

      + +

      The ncurses code was developed under GNU/Linux. It has been in + use for some time with OpenBSD as the system curses library, and + on FreeBSD and NetBSD as an external package. It should port + easily to any ANSI/POSIX-conforming UNIX. It has even been ported + to OS/2 Warp!

      + +

      The distribution includes the library and support utilities, + including a terminfo compiler tic(1), a decompiler infocmp(1), + clear(1), tput(1), tset(1), and a termcap conversion tool + captoinfo(1). Full manual pages are provided for the library and + tools.

      + +

      The ncurses distribution is available via anonymous FTP at the + GNU distribution site ftp://ftp.gnu.org/gnu/ncurses/ .
      + + It is also available at ftp://invisible-island.net/ncurses/ .

      + +

      Release Notes

      This release is designed to be upward + compatible from ncurses 5.0 through 5.7; very few applications + will require recompilation, depending on the platform. These are + the highlights from the change-log since ncurses 5.7 release. + +

      Interface changes

      + +
        +
      • turn on _XOPEN_CURSES definition in + curses.h.
      • + +
      • change _nc_has_mouse to + has_mouse, reflect its use in C++ and Ada95.
      • + +
      • add is_pad and is_subwin + functions for opaque access to the WINDOW structure.
      • + +
      • add tiparm, based on review of X/Open Curses + Issue 7.
      • +
      + +

      New features and improvements

      + +

      Library Improvements

      + +
        +
      • add a terminal driver for Windows console, which supports a + MinGW port to Windows.
      • + +
      • add extended functions which specify the + SCREEN pointer for several curses functions which + use the global SP.
      • + +
      • improve the NCURSES_NO_UTF8_ACS feature by + adding a check for an extended terminfo capability + U8.
      • + +
      • improve performance of tigetstr, etc., by + using hashing code from tic.
      • + +
      • add WACS_xxx definitions to wide-character + configuration for thick- and double-lines.
      • + +
      • modify init_pair to allow caller to create extra color + pairs beyond the color_pairs limit, which use default + colors.
      • +
      + +

      Improvements to Programs

      + +
        +
      • add tabs program.
      • + +
      • modify tic's -I/-C dump to reformat acsc strings into + canonical form (sorted, unique mapping).
      • + +
      • add checks in tic for inconsistent cursor-movement + controls, and for inconsistent printer-controls.
      • + +
      • add special case to _nc_infotocap (used by tic + and infocmp) to recognize the + setaf/setab strings from + xterm+256color and xterm+88color, and + provide a reduced version which works with termcap.
      • +
      + +

      Terminal Database

      + +
        +
      • added entries: + +
          +
        • bterm terminfo entry, based on bogl + 0.1.18
        • + +
        • cons25-debian entry
        • + +
        • eterm-color entry
        • + +
        • linux-16color
        • + +
        • mlterm+256color entry, for mlterm + 3.0.0
        • + +
        • several screen-bce.xxx entries
        • + +
        • screen.Eterm terminfo entry
        • + +
        • vwmterm entry
        • + +
        • xterm-utf8 entry as a demo of the + U8 feature
        • +
        +
      • + +
      • updated/improved entries: + +
          +
        • use extended capabilities: + +
            +
          • add U8 feature to denote entries for + terminal emulators which do not support VT100 SI/SO + when processing UTF-8 encoding
          • + +
          • add XT capability to entries for + terminals that support both xterm-style mouse- and + title-controls, for screen which + special-cases TERM beginning with xterm or + rxvt
          • +
          +
        • + +
        • improvements based on new checks in tic:
        • + +
          • -
          • new options: -
            - -
            --disable-big-strings -
            control whether static string tables are generated as single - large strings (to improve startup performance), or as array - of individual strings. - -
            --disable-relink -
            control whether shared libraries are relinked (during install) - when rpath is enabled. - -
            --disable-tic-depends -
            make explicit whether tic library depends on ncurses/ncursesw - library. - -
            --enable-mixed-case -
            override the configure script's check if the filesystem - supports mixed-case filenames. - This allows one to control how the terminal database - maps to the filesystem. - For filesystems that do not support mixed-case, the library - uses generate 2-character (hexadecimal) codes for the - lower-level of the filesystem terminfo database - -
            --enable-reentrant -
            builds a different flavor of the ncurses library (ncursest) - which improves reentrant use of the - library by reducing global and static variables - (see the "--with-pthread" option for the threaded support). - -
            --enable-weak-symbols -
            use weak-symbols for linking to the POSIX thread library, - and use the same soname for the ncurses shared library - as the normal library (caveat: the ABI is for the threaded - library, which makes global data accessed via functions). - -
            --with-pthread -
            build with the POSIX thread library (tested with AIX, - Linux, FreeBSD, OpenBSD, HPUX, IRIX64, Solaris, Tru64). - -
            --with-ticlib -
            build/install the tic-support functions in a separate library - -
            - -
          • improved options: -
            - -
            --enable-ext-colors -
            requires the wide-character configuration. - -
            --with-chtype -
            ignore option value "unsigned" is always added to - the type in curses.h; do the same for --with-mmask-t. - -
            --with-dmalloc -
            build-fix for redefinition of strndup. - -
            --with-hashed-db -
            accepts a parameter which is the install-prefix of a given - Berkeley Database. - -
            --with-hashed-db -
            the $LIBS environment variable overrides the search for the db - library. - -
            --without-hashed-db -
            assumed when "--disable-database" is used. - -
            - -
          - -
        • other configure/build issues: -
            -
          • build-fixes for LynxOS -
          • modify shared-library rules to allow FreeBSD 3.x to use rpath. -
          • build-fix for FreeBSD "contemporary" TTY interface. -
          • build-fixes for AIX with libtool. -
          • build-fixes for Darwin and libtool. -
          • modify BeOS-specific ifdef's to build on Haiku. -
          • corrected gcc options for building shared libraries on Solaris - and IRIX64. -
          • change shared-library configuration for OpenBSD, make rpath work. -
          • build-fixes for using libutf8, e.g., on OpenBSD 3.7 -
          • add "-e" option in ncurses/Makefile.in when generating source-files - to force earlier exit if the build environment fails unexpectedly. -
          • add support for shared libraries for QNX. -
          • change delimiter in MKlib_gen.sh from '%' to '@', to - avoid substitution by IBM xlc to '#' as part of its extensions to - digraphs. -
          - -
        • library: -
            -
          • rewrite wrapper for wcrtomb(), making it work on - Solaris. This is used in the form library to determine the length - of the buffer needed by field_buffer. -
          • add/use configure script macro CF_SIG_ATOMIC_T, use the corresponding - type for data manipulated by signal handlers. -
          • set locale in misc/ncurses-config.in since it uses a range -
          • disable GPM mouse support when $TERM does not happen to contain - "linux", since Gpm_Open() no longer limits its assertion to terminals - that it might handle, e.g., within "screen" in xterm. -
          • reset mouse file-descriptor when unloading GPM library. -
          - -
        • test programs: -
            -
          • update test programs to build/work with various UNIX curses for - comparisons. -
          -
        - -

        Features of Ncurses

        - -The ncurses package is fully compatible with SVr4 (System V Release 4) curses: - -
          -
        • All 257 of the SVr4 calls have been implemented (and are documented). -
        • Full support for SVr4 curses features including keyboard mapping, color, -forms-drawing with ACS characters, and automatic recognition of keypad -and function keys. -
        • An emulation of the SVr4 panels library, supporting -a stack of windows with backing store, is included. -
        • An emulation of the SVr4 menus library, supporting -a uniform but flexible interface for menu programming, is included. -
        • An emulation of the SVr4 form library, supporting -data collection through on-screen forms, is included. -
        • Binary terminfo entries generated by the ncurses tic(1) implementation -are bit-for-bit-compatible with the entry format SVr4 curses uses. -
        • The utilities have options to allow you to filter terminfo -entries for use with less capable curses/terminfo -versions such as the HP/UX and AIX ports.
        - -The ncurses package also has many useful extensions over SVr4: - -
          -
        • The API is 8-bit clean and base-level conformant with the X/OPEN curses -specification, XSI curses (that is, it implements all BASE level features, -and most EXTENDED features). -It includes many function calls not supported under SVr4 curses -(but portability of all -calls is documented so you can use the SVr4 subset only). -
        • Unlike SVr3 curses, ncurses can write to the rightmost-bottommost corner -of the screen if your terminal has an insert-character capability. -
        • Ada95 and C++ bindings. -
        • Support for mouse event reporting with X Window xterm -and FreeBSD and OS/2 console windows. -
        • Extended mouse support via Alessandro Rubini's gpm package. -
        • The function wresize() allows you to resize windows, preserving -their data. -
        • The function use_default_colors() allows you to -use the terminal's default colors for the default color pair, -achieving the effect of transparent colors. -
        • The functions keyok() -and define_key() allow -you to better control the use of function keys, -e.g., disabling the ncurses KEY_MOUSE, -or by defining more than one control sequence to map to a given key code. -
        • Support for 256-color terminals, such as modern xterm, when configured -using the --enable-ext-colors option. -
        • Support for 16-color terminals, such as aixterm and modern xterm. -
        • Better cursor-movement optimization. The package now features a -cursor-local-movement computation more efficient than either BSD's -or System V's. -
        • Super hardware scrolling support. The screen-update code incorporates -a novel, simple, and cheap algorithm that enables it to make optimal -use of hardware scrolling, line-insertion, and line-deletion -for screen-line movements. This algorithm is more powerful than -the 4.4BSD curses quickch() routine. -
        • Real support for terminals with the magic-cookie glitch. The -screen-update code will refrain from drawing a highlight if the magic- -cookie unattributed spaces required just before the beginning and -after the end would step on a non-space character. It will -automatically shift highlight boundaries when doing so would make it -possible to draw the highlight without changing the visual appearance -of the screen. -
        • It is possible to generate the library with a list of pre-loaded -fallback entries linked to it so that it can serve those terminal types even -when no terminfo tree or termcap file is accessible (this may be useful -for support of screen-oriented programs that must run in single-user mode). -
        • The tic(1)/captoinfo utility provided with ncurses has the -ability to translate many termcaps from the XENIX, IBM and -AT&T extension sets. -
        • A BSD-like tset(1) utility is provided. -
        • The ncurses library and utilities will automatically read terminfo -entries from $HOME/.terminfo if it exists, and compile to that directory -if it exists and the user has no write access to the system directory. -This feature makes it easier for users to have personal terminfo entries -without giving up access to the system terminfo directory. -
        • You may specify a path of directories to search for compiled -descriptions with the environment variable TERMINFO_DIRS (this -generalizes the feature provided by TERMINFO under stock System V.) -
        • In terminfo source files, use capabilities may refer not just to -other entries in the same source file (as in System V) but also to -compiled entries in either the system terminfo directory or the user's -$HOME/.terminfo directory. -
        • A script (capconvert) is provided to help BSD users -transition from termcap to terminfo. It gathers the information in a -TERMCAP environment variable and/or a ~/.termcap local entries file -and converts it to an equivalent local terminfo tree under $HOME/.terminfo. -
        • Automatic fallback to the /etc/termcap file can be compiled in -when it is not possible to build a terminfo tree. This feature is neither -fast nor cheap, you don't want to use it unless you have to, -but it's there. -
        • The table-of-entries utility toe makes it easy for users to -see exactly what terminal types are available on the system. -
        • The library meets the XSI requirement that every macro entry -point have a corresponding function which may be linked (and will be -prototype-checked) if the macro definition is disabled with -#undef. -
        • An HTML "Introduction to Programming with NCURSES" document provides -a narrative introduction to the curses programming interface. -
        - -

        State of the Package

        - -Numerous bugs present in earlier versions have been fixed; the -library is far more reliable than it used to be. Bounds checking in many -`dangerous' entry points has been improved. The code is now type-safe -according to gcc -Wall. The library has been checked for malloc leaks and -arena corruption by the Purify memory-allocation tester.

        - -The ncurses code has been tested with a wide variety of applications -including (versions starting with those noted): -

        -
        cdk -
        Curses Development Kit -
        -http://invisible-island.net/cdk/ -
        -http://www.vexus.ca/products/CDK/ -
        ded -
        directory-editor -
        -http://invisible-island.net/ded/ -
        dialog -
        the underlying application used in Slackware's setup, and the basis -for similar applications on GNU/Linux. -
        -http://invisible-island.net/dialog/ -
        lynx -
        the character-screen WWW browser -
        -http://lynx.isc.org/release/ -
        Midnight Commander -
        file manager -
        -http://www.ibiblio.org/mc/ -
        mutt -
        mail utility -
        -http://www.mutt.org/ -
        ncftp -
        file-transfer utility -
        -http://www.ncftp.com/ -
        nvi -
        New vi versions 1.50 are able to use ncurses versions 1.9.7 and later. -
        -http://www.bostic.com/vi/ -
        -
        pinfo -
        Lynx-like info browser. -https://alioth.debian.org/projects/pinfo/ -
        tin -
        newsreader, supporting color, MIME -http://www.tin.org/ -
        -as well as some that use ncurses for the terminfo support alone: -
        -
        minicom -
        terminal emulator -
        - -http://alioth.debian.org/projects/minicom/ -
        vile -
        vi-like-emacs -
        -http://invisible-island.net/vile/ -
        -

        - -The ncurses distribution includes a selection of test programs (including -a few games). - -

        Who's Who and What's What

        - -Zeyd Ben-Halim -started it from a previous package pcurses, written by Pavel Curtis. -Eric S. Raymond -continued development. -Jürgen Pfeifer wrote most of the form and menu libraries. -Ongoing work is being done by -Thomas Dickey. -Thomas Dickey -acts as the maintainer for the Free Software Foundation, -which holds the copyright on ncurses. -Contact the current maintainers at -bug-ncurses@gnu.org. -

        - -To join the ncurses mailing list, please write email to -bug-ncurses-request@gnu.org containing the line: -

        +            
      • fill in no-parameter forms of cursor-movement where + a parameterized form is available
      • + +
      • fill in missing cursor controls where the form of + the controls is ANSI
      • + +
      • add parameterized cursor-controls to + linux-basic
      • + +
      • modify nsterm, xnuppc and + tek4115 to make + sgr/sgr0 consistent
      • + +
      • change several terminfo entries to make consistent + use of ANSI clear-all-tabs
      • +
      +
    • + +
    • extend ansi.sys pfkey + capability from kf1-kf10 to kf1-kf48, moving function key + definitions from emx-base for + consistency.
    • + +
    • correct missing final 'p' in pfkey + capability of ansi.sys-old.
    • + +
    • rename atari and st52 + terminfo entries to atari-old, st52-old, use newer entries + from FreeMiNT.
    • + +
    • repurpose gnome terminfo entries as + vte, retaining gnome variants for + compatibility, but generally deprecating those since the + VTE library is what actually defines the behavior of + "gnome", etc., since 2003.
    • + +
    • improve interix smso terminfo + capability by using reverse rather than bold.
    • + +
    • correct initc capability of + linux-c-nc end-of-range, make similar change + for dg+ccc and dgunix+ccc.
    • + +
    • update minix terminfo entry.
    • + +
    • updated nsterm* entries.
    • + +
    • remove unnecessary kcan assignment to + ^C from putty.
    • + +
    • suppress ncv in screen and + konsole-base entries, allowing underline.
    • + +
    • change ncv and op capabilities in + sun-color terminfo entry to match Sun's entry + for this.
    • + +
    • fix typo in rmso for tek4106 + entry.
    • + +
    • improve acsc string for vt52, + show arrow keys.
    • + +
    • add hard-reset for rs2 to + wsvt25 to help ensure that reset ends the + alternate character set.
    • + +
    • add ccc and initc + capabilities to xterm-16color.
    • +
    + + + +

    Major bug fixes

    + +
      +
    • ncurses library + +
        +
      • wide character support + +
          +
        • modify length returned by getcchar to + count the trailing null which is documented in + X/Open.
        • + +
        • fix an infinite recursion when adding a + legacy-coding 8-bit value using + insch.
        • + +
        • improve a workaround in adding wide-characters, + when a control character is found. The library uses + unctrl to obtain a printable version of + the control character, but was not passing color or + video attributes.
        • + +
        • modify waddch_literal, updating + line-pointer after a multicolumn character is found to + not fit on the current row, and wrapping is done. Since + the line-pointer was not updated, the wrapped + multicolumn character was written to the beginning of + the current row.
        • + +
        • fixes in wins_nwstr and related + functions to ensure that special characters, i.e., + control characters are handled properly with the + wide-character configuration.
        • + +
        • correct internal _nc_insert_ch to use + _nc_insert_wch when inserting wide + characters, since the wins_wch function + that it used did not update the cursor position.
        • +
        +
      • + +
      • mouse + +
          +
        • add check if Gpm_Open returns a -2, + e.g., for "xterm". This is normally suppressed but can + be overridden using $NCURSES_GPM_TERMS. + Ensure that Gpm_Close is called in this + case.
        • + +
        • add check in mouse-driver to disable connection if + GPM returns a zero, indicating that the connection is + closed.
        • + +
        • modify getmouse to act as its + documentation implied, returning on each call the + preceding event until none are left. When no more + events remain, it will return ERR.
        • +
        +
      • + +
      • miscellaneous + +
          +
        • improve handling of color-pairs embedded in + attributes for the extended-colors configuration.
        • + +
        • add check for failure to open hashed-database + needed for db4.6.
        • + +
        • modify use of $CC environment variable + which is defined by X/Open as a curses feature, to + ignore it if it is not a single character.
        • + +
        • modify declaration of cur_term when + broken-linker is used, but enable-reentrant is not, to + match pre-5.7.
        • + +
        • correct limit-checks in derwin.
        • + +
        • remove old check in mvderwin which + prevented moving a derived window whose origin happened + to coincide with its parent's origin.
        • + +
        • correct limit-checks in newwin, to + ensure that windows have nonzero size.
        • + +
        • modify set_curterm to make + broken-linker configuration work with changes from + 20090228.
        • + +
        • modify wgetch to ensure it checks + SIGWINCH when it gets an error in + non-blocking mode.
        • + +
        • correct limit-check in wredrawln, + accounting for begy/begx + values.
        • + +
        • fix a null-pointer check in + _nc_format_slks in lib_slk.c, from + 20070704 changes.
        • + +
        • correct translation of "^" in + _nc_infotocap, used to transform terminfo + to termcap strings.
        • + +
        • modify _nc_wgetch to check for a -1 in + the fifo, e.g., after a SIGWINCH, and + discard that value, to avoid confusing + application.
        • +
        +
      • +
      +
    • + +
    • other libraries + +
        +
      • correct transfer of multicolumn characters in multirow + field_buffer, which stopped at the end of the + first row due to filling of unused entries in a cchar_t + array with nulls.
      • + +
      • correct buffer-size after internal resizing of + wide-character set_field_buffer, broken in + 20081018 changes.
      • + +
      • correct layout of working window used to extract data + in wide-character configured by + set_field_buffer
      • +
      +
    • +
    + +

    Portability

    + +
      +
    • configure script: + +
        +
      • new options: + +
        +
        --disable-libtool-version
        + +
        use the "-version-number" feature which was added + in libtool 1.5. The default value for the option uses + the newer feature, which makes libraries generated + using libtool compatible with the standard builds of + ncurses.
        + +
        --disable-rpath-hack
        + +
        disable a feature which adds rpath options for + libraries in unusual places.
        + +
        --enable-interop
        + +
        integrate changes for generic/interop support to + form-library.
        + +
        --enable-pc-files
        + +
        generate ".pc" files for each of the libraries, and + install them in pkg-config's library + directory.
        + +
        --enable-pthreads-eintr
        + +
        control whether to allow EINTR to + interrupt a read operation in wgetch. This + applies only to the pthread configuration
        + +
        --enable-sp-funcs
        + +
        compile-in support for extended functions which + accept a SCREEN pointer, reducing the need + for juggling the global SP value with + set_term and delscreen.
        + +
        --enable-term-driver
        + +
        compile with terminal-driver. That is used in the + MinGW port, and (being somewhat more complicated) is an + experimental alternative to the conventional termlib + internals. Currently, it requires the sp-funcs feature + to be enabled.
        + +
        --with-ncurses-wrap-prefix
        + +
        allows setting the prefix for functions used to + wrap global variables to something other than + "_nc_".
        + +
        --with-pkg-config=[DIR]
        + +
        check for pkg-config, optionally + specifying its path.
        + +
        --without-manpages
        + +
        tells the configure script to suppress the install + of ncurses' manpages.
        + +
        --without-tests
        + +
        suppress building test programs.
        +
        +
      • + +
      • improved options: + +
          +
        • correct logic for --with-database, + which was coded as an enable-type switch.
        • + +
        • omit the opaque-functions from + lib_gen.o when + --disable-ext-funcs is used.
        • +
        +
      • +
      +
    • + +
    • packaging: + +
        +
      • *-config scripts: + +
          +
        • modify adacurses-config to look for + ".ali" files in the adalib directory.
        • + +
        • correct install for the Ada95 tree, which omitted + libAdaCurses.a used in + adacurses-config.
        • + +
        • change install for adacurses-config to + provide additional flavors such as + adacursesw-config, for ncursesw.
        • + +
        • modify scripts to generate + ncurses*-config and pc-files to add + dependency for tinfo library.
        • + +
        • use ncurses*-config scripts if + available for test/configure.
        • + +
        • correct name for termlib in + ncurses*-config, e.g., if it is renamed to + provide a single file for ncurses/ncursesw + libraries.
        • + +
        • generate manpages for the *-config scripts, adapted + from help2man.
        • + +
        • modify install-rule for manpages so that *-config + manpages will install when building with + --srcdir.
        • + +
        • build-fixes for OpenSolaris aka Solaris 11, for + wide-character configuration as well as for rpath + feature in *-config scripts.
        • + +
        • use $includedir symbol in + misc/ncurses-config.in, add + --includedir option.
        • + +
        • improve install-rules for pc-files.
        • + +
        • create the pkg-config library + directory if needed.
        • + +
        • fix typo "==" where "=" + is needed in ncurses-config.in and + gen-pkgconfig.in files.
        • + +
        • modify gen-pkgconfig.in to eliminate a + dependency on rpath when deciding whether to add + $LIBS to --libs output; that + should be shown for the ncurses and tinfo libraries + without taking rpath into account.
        • + +
        • modify handling of $PKG_CONFIG_LIBDIR + to use only the first item in a possibly + colon-separated list.
        • +
        +
      • + +
      • other packaging issues + +
          +
        • add make-tar.sh scripts to Ada95 and + test subdirectories to help with making those + separately distributable.
        • + +
        • add Ada95/configure script, to use in + tar-file created by + Ada95/make-tar.sh.
        • + +
        • remove tar-copy.sh and related + configure/Makefile chunks, since the Ada95 + binding is now installed using rules in + Ada95/src.
        • +
        +
      • +
      +
    • + +
    • cross-compiling: + +
        +
      • improve configure checks for location of tic and + infocmp programs used for installing database and for + generating fallback data, e.g., for cross-compiling.
      • + +
      • modify #define's for build-compiler to suppress cchar_t + symbol from compile of make_hash and + make_keys, improving cross-compilation of + ncursesw.
      • + +
      • simplify include-dependencies of make_hash + and make_keys, to reduce the need for setting + BUILD_CPPFLAGS in cross-compiling when the build- and + target-machines differ.
      • + +
      • correct cross-compiling configure check for + CF_MKSTEMP macro, by adding a check cache + variable set by AC_CHECK_FUNC.
      • +
      +
    • + +
    • library dependencies: + +
        +
      • revise wadd_wch and + wecho_wchar to eliminate dependency on + unctrl.
      • + +
      • adjust configure script so that "t" is not added to + library suffix when weak-symbols are used, allowing the + pthread configuration to more closely match the non-thread + naming.
      • +
      +
    • + +
    • building the Ada95 tree: + +
        +
      • changes to use gnatmake project files in the Ada95 + tree.
      • + +
      • add/use configure check to turn on project rules for + Ada95/src.
      • + +
      • old gnatmake (3.15) does not produce libraries using + project-file; work around by adding script to generate + alternate makefile.
      • + +
      • add configure --with-ada-sharedlib option, for the + test_make rule.
      • + +
      • move Ada95-related logic into aclocal.m4, since + additional checks will be needed to distinguish old/new + implementations of gnat.
      • + +
      • add test_make / test_clean / test_install rules in + Ada95/src
      • + +
      • change install-path for adainclude directory to + /usr/share/ada (was /usr/lib/ada).
      • +
      +
    • + +
    • other configure/build issues: + +
        +
      • make CCHARW_MAX value configurable, noting + that changing this would change the size of + cchar_t, and would be ABI-incompatible.
      • + +
      • improve comparison of program-names when checking for + linked flavors such as "reset" by ignoring the executable + suffix.
      • + +
      • drop mkdirs.sh, use + "mkdir -p".
      • + +
      • drop misc/ncu-indent and + misc/jpf-indent; they are provided by an + external package cindent.
      • + +
      • change makefiles to use $ARFLAGS rather + than $AR_OPTS, provide a configure check to + detect whether a "-" is needed before "ar" options.
      • + +
      • modify CF_DISABLE_LEAKS configure macro so + that the --enable-leaks option is not the same as + --disable-leaks.
      • + +
      • improve configure script macros + CF_HEADER_PATH and + CF_LIBRARY_PATH by adding CFLAGS, + CPPFLAGS and LDFLAGS, + LIBS values to the search-lists.
      • + +
      • improve configure macros CF_GCC_VERSION + and CF_GCC_WARNINGS to work with gcc 4.x's c89 + alias, which gives warning messages for cases where older + versions would produce an error.
      • + +
      • modify CF_WITH_LIBTOOL configure check to + allow unreleased libtool version numbers (e.g. which + include alphabetic chars, as well as digits, after the + final '.').
      • + +
      • improve use of symbolic links in makefiles by using + "-f" option if it is supported, to eliminate + temporary removal of the target
      • + +
      • add a configure-time check to pick a suitable value for + CC_SHARED_OPTS for Solaris.
      • + +
      • add -shared option to MK_SHARED_LIB when + -Bsharable is used, for *BSD's, without which "main" might + be one of the shared library's dependencies.
      • + +
      • modify configure script to allow building shared + libraries with gcc on AIX 5 or 6.
      • + +
      • suppress configure check for static/dynamic linker + flags for gcc on Solaris 10, since gcc is confused by + absence of static libc, and does not switch back to dynamic + mode before finishing the libraries.
      • + +
      • suppress configure check for static/dynamic linker + flags for gcc on Darwin.
      • + +
      • modify misc/run_tic.in to create parent + directory, in case this is a new install of hashed + database.
      • + +
      • modify configure check for tic program, used for + fallbacks, to a warning if not found. This makes it simpler + to use additonal scripts to bootstrap the fallbacks code + using tic from the build tree.
      • +
      +
    • + +
    • test programs: + +
        +
      • add test/demo_terminfo, for comparison with + demo_termcap.
      • + +
      • improve test/ncurses.c 'F' test, show combining + characters in color.
      • + +
      • fix logic for 'V' in test/ncurses.c tests f/F.
      • + +
      • improve test/ncurses.c 'a test to put mouse droppings + in the proper window.
      • + +
      • modify ncurses 'F' test to demo wborder_set with + colored lines.
      • + +
      • modify ncurses 'f' test to demo wborder with colored + lines.
      • + +
      • improve test/ncurses.c 'a' test, using unctrl more + consistently to display meta-characters.
      • + +
      • correct use of key_name in test/ncurses.c + 'A' test, which only displays wide-characters, not + key-codes since 20070612.
      • + +
      • add test/clip_printw.c to illustrate how to use printw + without wrapping.
      • + +
      • modify test-programs, e.g,. test/view.c, to address + subtle differences between Tru64/Solaris and HPUX/AIX + getcchar return values.
      • + +
      • add some test programs (and make these use the same + special keys by sharing linedata.h functions): + test/test_addstr.c test/test_addwstr.c test/test_addchstr.c + test/test_add_wchstr.c
      • + +
      • add test/xterm-256color.dat
      • + +
      • modify test programs to allow them to be built with + NetBSD curses.
      • + +
      • fixes for test programs to build/work on HPUX and AIX, + etc.
      • +
      +
    • +
    + +

    Features of Ncurses

    The ncurses package is fully + compatible with SVr4 (System V Release 4) curses: + +
      +
    • All 257 of the SVr4 calls have been implemented (and are + documented).
    • + +
    • Full support for SVr4 curses features including keyboard + mapping, color, forms-drawing with ACS characters, and + automatic recognition of keypad and function keys.
    • + +
    • An emulation of the SVr4 panels library, supporting a stack + of windows with backing store, is included.
    • + +
    • An emulation of the SVr4 menus library, supporting a + uniform but flexible interface for menu programming, is + included.
    • + +
    • An emulation of the SVr4 form library, supporting data + collection through on-screen forms, is included.
    • + +
    • Binary terminfo entries generated by the ncurses tic(1) + implementation are bit-for-bit-compatible with the entry format + SVr4 curses uses.
    • + +
    • The utilities have options to allow you to filter terminfo + entries for use with less capable + curses/terminfo versions such + as the HP/UX and AIX ports.
    • +
    The ncurses package also has many useful extensions over + SVr4: + +
      +
    • The API is 8-bit clean and base-level conformant with the + X/OPEN curses specification, XSI curses (that is, it implements + all BASE level features, and most EXTENDED features). It + includes many function calls not supported under SVr4 curses + (but portability of all calls is documented so you can use the + SVr4 subset only).
    • + +
    • Unlike SVr3 curses, ncurses can write to the + rightmost-bottommost corner of the screen if your terminal has + an insert-character capability.
    • + +
    • Ada95 and C++ bindings.
    • + +
    • Support for mouse event reporting with X Window xterm and + FreeBSD and OS/2 console windows.
    • + +
    • Extended mouse support via Alessandro Rubini's gpm + package.
    • + +
    • The function wresize allows you to resize + windows, preserving their data.
    • + +
    • The function use_default_colors allows you to + use the terminal's default colors for the default color pair, + achieving the effect of transparent colors.
    • + +
    • The functions keyok and + define_key allow you to better control the use of + function keys, e.g., disabling the ncurses KEY_MOUSE, or by + defining more than one control sequence to map to a given key + code.
    • + +
    • Support for 256-color terminals, such as modern xterm, when + configured using the --enable-ext-colors + option.
    • + +
    • Support for 16-color terminals, such as aixterm + and modern xterm.
    • + +
    • Better cursor-movement optimization. The package now + features a cursor-local-movement computation more efficient + than either BSD's or System V's.
    • + +
    • Super hardware scrolling support. The screen-update code + incorporates a novel, simple, and cheap algorithm that enables + it to make optimal use of hardware scrolling, line-insertion, + and line-deletion for screen-line movements. This algorithm is + more powerful than the 4.4BSD curses quickch + routine.
    • + +
    • Real support for terminals with the magic-cookie glitch. + The screen-update code will refrain from drawing a highlight if + the magic- cookie unattributed spaces required just before the + beginning and after the end would step on a non-space + character. It will automatically shift highlight boundaries + when doing so would make it possible to draw the highlight + without changing the visual appearance of the screen.
    • + +
    • It is possible to generate the library with a list of + pre-loaded fallback entries linked to it so that it can serve + those terminal types even when no terminfo tree or termcap file + is accessible (this may be useful for support of + screen-oriented programs that must run in single-user + mode).
    • + +
    • The tic(1)/captoinfo utility provided with ncurses has the + ability to translate many termcaps from the XENIX, IBM and + AT&T extension sets.
    • + +
    • A BSD-like tset(1) utility is provided.
    • + +
    • The ncurses library and utilities will automatically read + terminfo entries from $HOME/.terminfo if it exists, and compile + to that directory if it exists and the user has no write access + to the system directory. This feature makes it easier for users + to have personal terminfo entries without giving up access to + the system terminfo directory.
    • + +
    • You may specify a path of directories to search for + compiled descriptions with the environment variable + TERMINFO_DIRS (this generalizes the feature provided by + TERMINFO under stock System V.)
    • + +
    • In terminfo source files, use capabilities may refer not + just to other entries in the same source file (as in System V) + but also to compiled entries in either the system terminfo + directory or the user's $HOME/.terminfo directory.
    • + +
    • A script (capconvert) is provided to help + BSD users transition from termcap to terminfo. It gathers the + information in a TERMCAP environment variable and/or a + ~/.termcap local entries file and converts it to an equivalent + local terminfo tree under $HOME/.terminfo.
    • + +
    • Automatic fallback to the /etc/termcap file can be compiled + in when it is not possible to build a terminfo tree. This + feature is neither fast nor cheap, you don't want to use it + unless you have to, but it's there.
    • + +
    • The table-of-entries utility toe makes it + easy for users to see exactly what terminal types are available + on the system.
    • + +
    • The library meets the XSI requirement that every macro + entry point have a corresponding function which may be linked + (and will be prototype-checked) if the macro definition is + disabled with #undef.
    • + +
    • An HTML "Introduction to Programming with NCURSES" document + provides a narrative introduction to the curses programming + interface.
    • +
    + +

    State of the Package

    Numerous bugs present in earlier + versions have been fixed; the library is far more reliable than + it used to be. Bounds checking in many `dangerous' entry points + has been improved. The code is now type-safe according to gcc + -Wall. The library has been checked for malloc leaks and arena + corruption by the Purify memory-allocation tester. + +

    The ncurses code has been tested with a wide variety of + applications including (versions starting with those noted):

    + +
    +
    cdk
    + +
    Curses Development Kit
    + http://invisible-island.net/cdk/
    + + http://www.vexus.ca/products/CDK/
    + +
    ded
    + +
    directory-editor
    + http://invisible-island.net/ded/
    + +
    dialog
    + +
    the underlying application used in Slackware's setup, and + the basis for similar applications on GNU/Linux.
    + http://invisible-island.net/dialog/
    + +
    lynx
    + +
    the character-screen WWW browser
    + http://lynx.isc.org/release/
    + +
    Midnight Commander
    + +
    file manager
    + http://www.midnight-commander.org/
    + +
    mutt
    + +
    mail utility
    + http://www.mutt.org/
    + +
    ncftp
    + +
    file-transfer utility
    + http://www.ncftp.com/
    + +
    nvi
    + +
    New vi versions 1.50 are able to use ncurses versions 1.9.7 + and later.
    + https://sites.google.com/a/bostic.com/keithbostic/nvi
    +
    + +
    pinfo
    + +
    Lynx-like info browser. https://alioth.debian.org/projects/pinfo/
    + +
    tin
    + +
    newsreader, supporting color, MIME http://www.tin.org/
    +
    as well as some that use ncurses for the terminfo support + alone: + +
    +
    minicom
    + +
    terminal emulator
    + http://alioth.debian.org/projects/minicom/
    + +
    vile
    + +
    vi-like-emacs
    + http://invisible-island.net/vile/
    +
    + +

    The ncurses distribution includes a selection of test programs + (including a few games).

    + +

    Who's Who and What's What

    Zeyd Ben-Halim started it from + a previous package pcurses, written by Pavel Curtis. Eric S. + Raymond continued development. Jürgen Pfeifer wrote most of + the form and menu libraries. Ongoing work is being done by + Thomas Dickey. + Thomas Dickey acts as the maintainer for the Free Software + Foundation, which holds the copyright on ncurses. Contact the + current maintainers at bug-ncurses@gnu.org. + +

    To join the ncurses mailing list, please write email to + bug-ncurses-request@gnu.org containing the line:

    +
                  subscribe <name>@<host.domain>
    -
    - -This list is open to anyone interested in helping with the development and -testing of this package.

    - -Beta versions of ncurses and patches to the current release are made available at -ftp://invisible-island.net/ncurses/ . - -

    Future Plans

    -
      -
    • Extended-level XPG4 conformance, with internationalization support. -
    • Ports to more systems, including DOS and Windows. -
    -We need people to help with these projects. If you are interested in working -on them, please join the ncurses list. - -

    Other Related Resources

    - -The distribution provides a newer version of the terminfo-format -terminal description file once maintained by -Eric Raymond . -Unlike the older version, the termcap and terminfo data are provided -in the same file, and provides several user-definable extensions -beyond the X/Open specification.

    - -You can find lots of information on terminal-related topics -not covered in the terminfo file at -Richard Shuford's -archive . - - + + +

    This list is open to anyone interested in helping with the + development and testing of this package.

    + +

    Beta versions of ncurses and patches to the current release + are made available at ftp://invisible-island.net/ncurses/ .

    + +

    Future Plans

    + +
      +
    • Extended-level XPG4 conformance, with internationalization + support.
    • + +
    • Ports to more systems, including DOS and Windows.
    • +
    We need people to help with these projects. If you are + interested in working on them, please join the ncurses list. + +

    Other Related Resources

    The distribution provides a newer + version of the terminfo-format terminal description file once + maintained by Eric + Raymond . Unlike the older version, the termcap and + terminfo data are provided in the same file, and provides several + user-definable extensions beyond the X/Open specification. + +

    You can find lots of information on terminal-related topics + not covered in the terminfo file at + Richard Shuford's archive .

    + + diff --git a/doc/html/man/adacurses-config.1.html b/doc/html/man/adacurses-config.1.html index 924fbe9d..0bce33ef 100644 --- a/doc/html/man/adacurses-config.1.html +++ b/doc/html/man/adacurses-config.1.html @@ -81,7 +81,7 @@

    SEE ALSO

            curses(3x)
     
    -       This describes ncurses version 5.7 (patch 20110212).
    +       This describes ncurses version 5.8 (patch 20110226).
     
     
     
    diff --git a/doc/html/man/captoinfo.1m.html b/doc/html/man/captoinfo.1m.html
    index 4eced43e..05f36871 100644
    --- a/doc/html/man/captoinfo.1m.html
    +++ b/doc/html/man/captoinfo.1m.html
    @@ -87,8 +87,8 @@
     
     

    FILES

    -       /usr/share/terminfo Compiled  terminal  description  data-
    -                           base.
    +       /usr/share/terminfo Compiled      terminal     description
    +                           database.
     
     
     
    @@ -101,6 +101,7 @@ has not mistakenly translated a completely unknown and random capability and/or syntax error. + Nonstd Std From Terminfo name name capability ----------------------------------------------- @@ -115,8 +116,8 @@ EN @7 XENIX key_end GE ae XENIX exit_alt_charset_mode GS as XENIX enter_alt_charset_mode - HM kh XENIX key_home + HM kh XENIX key_home LD kL XENIX key_dl PD kN XENIX key_npage PN po XENIX prtr_off @@ -138,6 +139,7 @@ bilities for forms drawing, designed to take advantage of the IBM PC high-half graphics. They were as follows: + Cap Graphic ----------------------------- G2 upper left @@ -180,6 +182,7 @@ font0 s0ds font1 s1ds font2 s2ds + font3 s3ds Additionally, the AIX box1 capability will be automati- @@ -205,7 +208,7 @@

    SEE ALSO

            infocmp(1m), curses(3x), terminfo(5)
     
    -       This describes ncurses version 5.7 (patch 20110212).
    +       This describes ncurses version 5.8 (patch 20110226).
     
     
     
    diff --git a/doc/html/man/clear.1.html b/doc/html/man/clear.1.html index ece7523d..2edf5a9a 100644 --- a/doc/html/man/clear.1.html +++ b/doc/html/man/clear.1.html @@ -69,7 +69,7 @@

    SEE ALSO

            tput(1), terminfo(5)
     
    -       This describes ncurses version 5.7 (patch 20110212).
    +       This describes ncurses version 5.8 (patch 20110226).
     
     
     
    diff --git a/doc/html/man/curs_add_wch.3x.html b/doc/html/man/curs_add_wch.3x.html
    index de4bd25b..77ed34d5 100644
    --- a/doc/html/man/curs_add_wch.3x.html
    +++ b/doc/html/man/curs_add_wch.3x.html
    @@ -77,17 +77,17 @@
                ous  character  at  that  location  is removed.  A new
                character specified by wch is placed at that  location
                with  rendition  specified  by  wch.   The cursor then
    -           advances to the next spacing character on the screen.
    +           advances to the next spacing character on the  screen.
     
            o   If wch refers to a non-spacing character, all previous
    -           characters  at  that location are preserved.  The non-
    -           spacing characters of wch are  added  to  the  spacing
    -           complex  character, and the rendition specified by wch
    +           characters at that location are preserved.   The  non-
    +           spacing  characters  of  wch  are added to the spacing
    +           complex character, and the rendition specified by  wch
                is ignored.
     
    -       o   If the character  part  of  wch  is  a  tab,  newline,
    -           backspace  or  other  control character, the window is
    -           updated and the cursor moves as if addch were called.
    +       o   If  the  character  part  of  wch  is  a tab, newline,
    +           backspace or other control character,  the  window  is
    +           updated  and the cursor moves as if addch were called.
     
            The echo_wchar function is functionally  equivalent  to  a
            call to add_wch followed by a call to refresh.  Similarly,
    @@ -104,14 +104,15 @@
            characters.   These  symbols  correspond to the same VT100
            line-drawing set as addch(3x).
     
    +
            Name              Unicode    Default   Description
            ----------------------------------------------------------------
            WACS_BLOCK        0x25ae     #         solid square block
            WACS_BOARD        0x2592     #         board of squares
            WACS_BTEE         0x2534     +         bottom tee
            WACS_BULLET       0x00b7     o         bullet
    -       WACS_CKBOARD      0x2592     :         checker board (stipple)
     
    +       WACS_CKBOARD      0x2592     :         checker board (stipple)
            WACS_DARROW       0x2193     v         arrow pointing down
            WACS_DEGREE       0x00b0     '         degree symbol
            WACS_DIAMOND      0x25c6     +         diamond
    @@ -143,6 +144,7 @@
            The wide-character configuration of ncurses  also  defines
            symbols for thick- and double-lines:
     
    +
            Name              Unicode   Default   Description
            ---------------------------------------------------------------------
            WACS_T_ULCORNER   0x250f    +         thick upper left corner
    diff --git a/doc/html/man/curs_addch.3x.html b/doc/html/man/curs_addch.3x.html
    index 94cd7e71..af567118 100644
    --- a/doc/html/man/curs_addch.3x.html
    +++ b/doc/html/man/curs_addch.3x.html
    @@ -112,8 +112,9 @@
            characters to the screen with routines of the  addch  fam-
            ily.   The  default  character listed below is used if the
            acsc  capability  does  not  define  a   terminal-specific
    -       replacement for it.  The names are taken from VT100 nomen-
    -       clature.
    +       replacement  for  it.   The  names  are  taken  from VT100
    +       nomenclature.
    +
     
            Name           Default   Description
            --------------------------------------------------
    diff --git a/doc/html/man/curs_attr.3x.html b/doc/html/man/curs_attr.3x.html
    index ce3e6f5a..23a15733 100644
    --- a/doc/html/man/curs_attr.3x.html
    +++ b/doc/html/man/curs_attr.3x.html
    @@ -148,6 +148,7 @@
            be passed to the routines attron, attroff, and attrset, or
            OR'd with the characters passed to addch.
     
    +
             A_NORMAL        Normal display (no highlight)
             A_STANDOUT      Best highlighting mode of the terminal.
             A_UNDERLINE     Underlining
    @@ -210,6 +211,7 @@
            the  screen when changing the attributes.  Use touchwin to
            force the screen to match the updated attributes.
     
    +
             WA_NORMAL       Normal display (no highlight)
             WA_STANDOUT     Best highlighting mode of the terminal.
             WA_UNDERLINE    Underlining
    diff --git a/doc/html/man/curs_getch.3x.html b/doc/html/man/curs_getch.3x.html
    index ae404d0c..2bdcdc42 100644
    --- a/doc/html/man/curs_getch.3x.html
    +++ b/doc/html/man/curs_getch.3x.html
    @@ -110,6 +110,7 @@
            be returned by the next call to wgetch.  There is just one
            input queue for all windows.
     
    +
        Function Keys
            The following function keys, defined in <curses.h>,  might
            be  returned  by  getch  if keypad has been enabled.  Note
    @@ -178,8 +179,8 @@
                 KEY_REPLACE     Replace key
                 KEY_RESIZE      Screen resized
                 KEY_RESTART     Restart key
    -
                 KEY_RESUME      Resume key
    +
                 KEY_SAVE        Save key
                 KEY_SBEG        Shifted beginning key
                 KEY_SCANCEL     Shifted cancel key
    @@ -232,6 +233,7 @@
            sion of KEY_MOUSE.
     
     
    +
     

    RETURN VALUE

            All routines return the integer ERR upon  failure  and  an
    diff --git a/doc/html/man/curs_mouse.3x.html b/doc/html/man/curs_mouse.3x.html
    index f8d2e9ca..d640680c 100644
    --- a/doc/html/man/curs_mouse.3x.html
    +++ b/doc/html/man/curs_mouse.3x.html
    @@ -98,6 +98,7 @@
     
            Here are the mouse event type masks which may be defined:
     
    +
            Name                     Description
            ---------------------------------------------------------------------
            BUTTON1_PRESSED          mouse button 1 down
    @@ -110,9 +111,10 @@
            BUTTON2_RELEASED         mouse button 2 up
            BUTTON2_CLICKED          mouse button 2 clicked
            BUTTON2_DOUBLE_CLICKED   mouse button 2 double clicked
    +
    +
            BUTTON2_TRIPLE_CLICKED   mouse button 2 triple clicked
            ---------------------------------------------------------------------
    -
            BUTTON3_PRESSED          mouse button 3 down
            BUTTON3_RELEASED         mouse button 3 up
            BUTTON3_CLICKED          mouse button 3 clicked
    diff --git a/doc/html/man/curs_sp_funcs.3x.html b/doc/html/man/curs_sp_funcs.3x.html
    index ab73bce4..a11947a7 100644
    --- a/doc/html/man/curs_sp_funcs.3x.html
    +++ b/doc/html/man/curs_sp_funcs.3x.html
    @@ -193,15 +193,16 @@
            functions which improve the  ability  to  manage  multiple
            screens.  This feature can be added to any of the configu-
            rations supported by  ncurses;  it  adds  new  entrypoints
    -       without changing the meaning of any of the existing ones.
    +       without  changing the meaning of any of the existing ones.
    +
     
        IMPROVED FUNCTIONS
    -       Most  of  the functions are new versions of existing func-
    +       Most of the functions are new versions of  existing  func-
            tions.  A parameter is added at the front of the parameter
            list.  It is a SCREEN pointer.
     
    -       The  existing  functions all use the current screen, which
    -       is a static variable.   The  extended  functions  use  the
    +       The existing functions all use the current  screen,  which
    +       is  a  static  variable.   The  extended functions use the
            specified screen, thereby reducing the number of variables
            which must be modified to update multiple screens.
     
    @@ -209,22 +210,22 @@
            Here are the new functions:
     
            ceiling_panel
    -            this returns a pointer to the topmost  panel  in  the
    +            this  returns  a  pointer to the topmost panel in the
                 given screen.
     
            ground_panel
    -            this  returns  a  pointer  to the lowest panel in the
    +            this returns a pointer to the  lowest  panel  in  the
                 given screen.
     
            new_prescr
    -            when creating a new screen, the library  uses  static
    -            variables   which   have   been   preset,   e.g.,  by
    +            when  creating  a new screen, the library uses static
    +            variables  which   have   been   preset,   e.g.,   by
                 use_env(3x), filter(3x), etc.  With the screen-point-
                 er extension, there are situations where it must cre-
    -            ate a current screen before  the  unextended  library
    -            does.   The new_prescr function is used internally to
    +            ate  a  current  screen before the unextended library
    +            does.  The new_prescr function is used internally  to
                 handle these cases.  It is also provided as an entry-
    -            point  to allow applications to customize the library
    +            point to allow applications to customize the  library
                 initialization.
     
     
    @@ -233,36 +234,37 @@
            This extension introduces some new names:
     
            NCURSES_SP_FUNCS
    -            This is set to the library  patch-level  number.   In
    -            the  unextended library, this is zero (0), to make it
    +            This  is  set  to the library patch-level number.  In
    +            the unextended library, this is zero (0), to make  it
                 useful for checking if the extension is provided.
     
            NCURSES_SP_NAME
    -            The new functions are named using  the  macro  NCURS-
    -            ES_SP_NAME,  which  hides  the actual implementation.
    +            The  new  functions  are named using the macro NCURS-
    +            ES_SP_NAME, which hides  the  actual  implementation.
                 Currently this adds a "_sp" suffix to the name of the
    -            unextended  function.   This  manual page indexes the
    +            unextended function.  This manual  page  indexes  the
                 extensions showing the full name.  However the proper
    -            usage  of  these functions uses the macro, to provide
    +            usage of these functions uses the macro,  to  provide
                 for the possibility of changing the naming convention
                 for specific library configurations.
     
            NCURSES_SP_OUTC
    -            This  is  a  new  function-pointer type to use in the
    -            screen-pointer functions  where  an  NCURSES_OUTC  is
    +            This is a new function-pointer type  to  use  in  the
    +            screen-pointer  functions  where  an  NCURSES_OUTC is
                 used in the unextended library.
     
            NCURSES_OUTC
    -            This  is  a  function-pointer type used for the cases
    -            where a function  passes  characters  to  the  output
    +            This is a function-pointer type used  for  the  cases
    +            where  a  function  passes  characters  to the output
                 stream, e.g., vidputs(3x).
     
     
    +
     

    PORTABILITY

    -       These  routines  are  specific  to ncurses.  They were not
    -       supported on Version 7, BSD or System  V  implementations.
    -       It  is  recommended that any code depending on ncurses ex-
    +       These routines are specific to  ncurses.   They  were  not
    +       supported  on  Version 7, BSD or System V implementations.
    +       It is recommended that any code depending on  ncurses  ex-
            tensions be conditioned using NCURSES_SP_FUNCS.
     
     
    diff --git a/doc/html/man/curs_termattrs.3x.html b/doc/html/man/curs_termattrs.3x.html
    index 46b972f9..960cc2a4 100644
    --- a/doc/html/man/curs_termattrs.3x.html
    +++ b/doc/html/man/curs_termattrs.3x.html
    @@ -111,11 +111,11 @@
     
            If  a  given  terminal  does not support a video attribute
            that an application program is trying to use,  curses  may
    -       substitute  a  different video attribute for it.  The ter-
    -       mattrs and term_attrs functions return a logical OR of all
    -       video  attributes  supported  by the terminal using A_ and
    -       WA_ constants respectively.  This  information  is  useful
    -       when  a  curses  program  needs  complete control over the
    +       substitute  a  different  video  attribute  for  it.   The
    +       termattrs and term_attrs functions return a logical OR  of
    +       all  video  attributes  supported by the terminal using A_
    +       and WA_ constants respectively.  This information is  use-
    +       ful  when a curses program needs complete control over the
            appearance of the screen.
     
            The termname routine returns the  terminal  name  used  by
    diff --git a/doc/html/man/curs_util.3x.html b/doc/html/man/curs_util.3x.html
    index 47b2510a..8181efa4 100644
    --- a/doc/html/man/curs_util.3x.html
    +++ b/doc/html/man/curs_util.3x.html
    @@ -128,8 +128,8 @@
            terminfo  database will be used, even if environment vari-
            ables LINES and COLUMNS (used by default) are set,  or  if
            curses  is  running in a window (in which case default be-
    -       havior would be to use the window size if LINES  and  COL-
    -       UMNS  are  not  set).   Note that setting LINES or COLUMNS
    +       havior would be to  use  the  window  size  if  LINES  and
    +       COLUMNS  are not set).  Note that setting LINES or COLUMNS
            overrides the corresponding size  which  may  be  obtained
            from the operating system.
     
    diff --git a/doc/html/man/form.3x.html b/doc/html/man/form.3x.html
    index 422777eb..38f14c49 100644
    --- a/doc/html/man/form.3x.html
    +++ b/doc/html/man/form.3x.html
    @@ -243,7 +243,7 @@
     
     

    SEE ALSO

    -       This describes ncurses version 5.7 (patch 20110212).
    +       This describes ncurses version 5.8 (patch 20110226).
     
     
     
    diff --git a/doc/html/man/form_field_buffer.3x.html b/doc/html/man/form_field_buffer.3x.html
    index 44872fab..fe6b531f 100644
    --- a/doc/html/man/form_field_buffer.3x.html
    +++ b/doc/html/man/form_field_buffer.3x.html
    @@ -151,8 +151,8 @@
            When  configured for wide characters, field_buffer returns
            a pointer to temporary storage (allocated and freed by the
            library).   The  application  should not attempt to modify
    -       the data.  It will be freed on the next call to field_buf-
    -       fer to return the same buffer.  <curses.h>.
    +       the  data.   It  will  be  freed  on  the  next  call   to
    +       field_buffer to return the same buffer.  <curses.h>.
     
     
     
    diff --git a/doc/html/man/form_fieldtype.3x.html b/doc/html/man/form_fieldtype.3x.html index 9bf4fee5..7f195ee3 100644 --- a/doc/html/man/form_fieldtype.3x.html +++ b/doc/html/man/form_fieldtype.3x.html @@ -112,8 +112,8 @@ REQ_PREV_CHOICE assume that the possible values of a field form an ordered set, and provide the forms user with a way to move through the set. The set_fieldtype_choice func- - tion allows forms programmers to define successor and pre- - decessor functions for the field type. These functions + tion allows forms programmers to define successor and + predecessor functions for the field type. These functions take the field pointer and an argument-block structure as arguments. diff --git a/doc/html/man/infocmp.1m.html b/doc/html/man/infocmp.1m.html index 2a04942f..c68f4775 100644 --- a/doc/html/man/infocmp.1m.html +++ b/doc/html/man/infocmp.1m.html @@ -72,35 +72,35 @@ DefaultOptions If no options are specified and zero or one termnames are specified, the -I option will be assumed. If more than - one termname is specified, the -d option will be assumed. + one termname is specified, the -d option will be assumed. ComparisonOptions[-d][-c][-n] - infocmp compares the terminfo description of the first - terminal termname with each of the descriptions given by - the entries for the other terminal's termnames. If a - capability is defined for only one of the terminals, the - value returned will depend on the type of the capability: - F for boolean variables, -1 for integer variables, and + infocmp compares the terminfo description of the first + terminal termname with each of the descriptions given by + the entries for the other terminal's termnames. If a + capability is defined for only one of the terminals, the + value returned will depend on the type of the capability: + F for boolean variables, -1 for integer variables, and NULL for string variables. - The -d option produces a list of each capability that is - different between two entries. This option is useful to - show the difference between two entries, created by dif- + The -d option produces a list of each capability that is + different between two entries. This option is useful to + show the difference between two entries, created by dif- ferent people, for the same or similar terminals. - The -c option produces a list of each capability that is + The -c option produces a list of each capability that is common between two entries. Capabilities that are not set - are ignored. This option can be used as a quick check to + are ignored. This option can be used as a quick check to see if the -u option is worth using. - The -n option produces a list of each capability that is + The -n option produces a list of each capability that is in neither entry. If no termnames are given, the environ- ment variable TERM will be used for both of the termnames. - This can be used as a quick check to see if anything was + This can be used as a quick check to see if anything was left out of a description. SourceListingOptions[-I][-L][-C][-r] - The -I, -L, and -C options will produce a source listing + The -I, -L, and -C options will produce a source listing for each terminal named. -I use the terminfo names @@ -108,40 +108,40 @@ -C use the termcap names -r when using -C, put out all capabilities in termcap form - If no termnames are given, the environment variable TERM + If no termnames are given, the environment variable TERM will be used for the terminal name. - The source produced by the -C option may be used directly - as a termcap entry, but not all parameterized strings can + The source produced by the -C option may be used directly + as a termcap entry, but not all parameterized strings can be changed to the termcap format. infocmp will attempt to - convert most of the parameterized information, and any- - thing not converted will be plainly marked in the output + convert most of the parameterized information, and any- + thing not converted will be plainly marked in the output and commented out. These should be edited by hand. - All padding information for strings will be collected - together and placed at the beginning of the string where - termcap expects it. Mandatory padding (padding informa- + All padding information for strings will be collected + together and placed at the beginning of the string where + termcap expects it. Mandatory padding (padding informa- tion with a trailing '/') will become optional. All termcap variables no longer supported by terminfo, but which are derivable from other terminfo variables, will be output. Not all terminfo capabilities will be translated; - only those variables which were part of termcap will nor- - mally be output. Specifying the -r option will take off - this restriction, allowing all capabilities to be output + only those variables which were part of termcap will nor- + mally be output. Specifying the -r option will take off + this restriction, allowing all capabilities to be output in termcap form. Note that because padding is collected to the beginning of - the capability, not all capabilities are output. Manda- - tory padding is not supported. Because termcap strings - are not as flexible, it is not always possible to convert - a terminfo string capability into an equivalent termcap - format. A subsequent conversion of the termcap file back - into terminfo format will not necessarily reproduce the + the capability, not all capabilities are output. Manda- + tory padding is not supported. Because termcap strings + are not as flexible, it is not always possible to convert + a terminfo string capability into an equivalent termcap + format. A subsequent conversion of the termcap file back + into terminfo format will not necessarily reproduce the original terminfo source. - Some common terminfo parameter sequences, their termcap - equivalents, and some terminal types which commonly have + Some common terminfo parameter sequences, their termcap + equivalents, and some terminal types which commonly have such sequences, are: terminfotermcap Representative Terminals @@ -154,130 +154,130 @@ %p2 is printed before %p1%r hp Use=Option[-u] - The -u option produces a terminfo source description of - the first terminal termname which is relative to the sum - of the descriptions given by the entries for the other - terminals termnames. It does this by analyzing the dif- - ferences between the first termname and the other + The -u option produces a terminfo source description of + the first terminal termname which is relative to the sum + of the descriptions given by the entries for the other + terminals termnames. It does this by analyzing the dif- + ferences between the first termname and the other termnames and producing a description with use= fields for - the other terminals. In this manner, it is possible to - retrofit generic terminfo entries into a terminal's + the other terminals. In this manner, it is possible to + retrofit generic terminfo entries into a terminal's description. Or, if two similar terminals exist, but were - coded at different times or by different people so that + coded at different times or by different people so that each description is a full description, using infocmp will show what can be done to change one description to be rel- ative to the other. A capability will get printed with an at-sign (@) if it no - longer exists in the first termname, but one of the other - termname entries contains a value for it. A capability's - value gets printed if the value in the first termname is - not found in any of the other termname entries, or if the + longer exists in the first termname, but one of the other + termname entries contains a value for it. A capability's + value gets printed if the value in the first termname is + not found in any of the other termname entries, or if the first of the other termname entries that has this capabil- - ity gives a different value for the capability than that + ity gives a different value for the capability than that in the first termname. - The order of the other termname entries is significant. - Since the terminfo compiler tic does a left-to-right scan + The order of the other termname entries is significant. + Since the terminfo compiler tic does a left-to-right scan of the capabilities, specifying two use= entries that con- tain differing entries for the same capabilities will pro- - duce different results depending on the order that the - entries are given in. infocmp will flag any such incon- - sistencies between the other termname entries as they are + duce different results depending on the order that the + entries are given in. infocmp will flag any such incon- + sistencies between the other termname entries as they are found. - Alternatively, specifying a capability after a use= entry + Alternatively, specifying a capability after a use= entry that contains that capability will cause the second speci- - fication to be ignored. Using infocmp to recreate a + fication to be ignored. Using infocmp to recreate a description can be a useful check to make sure that every- - thing was specified correctly in the original source + thing was specified correctly in the original source description. - Another error that does not cause incorrect compiled - files, but will slow down the compilation time, is speci- - fying extra use= fields that are superfluous. infocmp - will flag any other termnameuse= fields that were not + Another error that does not cause incorrect compiled + files, but will slow down the compilation time, is speci- + fying extra use= fields that are superfluous. infocmp + will flag any other termnameuse= fields that were not needed. ChangingDatabases[-Adirectory] [-B directory] - The location of the compiled terminfo database is taken - from the environment variable TERMINFO . If the variable + The location of the compiled terminfo database is taken + from the environment variable TERMINFO . If the variable is not defined, or the terminal is not found in that loca- - tion, the system terminfo database, in /usr/share/ter- + tion, the system terminfo database, in /usr/share/ter-minfo, will be used. The options -A and -B may be used to - override this location. The -A option will set TERMINFO + override this location. The -A option will set TERMINFO for the first termname and the -B option will set TERMINFO - for the other termnames. With this, it is possible to - compare descriptions for a terminal with the same name - located in two different databases. This is useful for - comparing descriptions for the same terminal created by + for the other termnames. With this, it is possible to + compare descriptions for a terminal with the same name + located in two different databases. This is useful for + comparing descriptions for the same terminal created by different people. OtherOptions - -1 causes the fields to be printed out one to a line. - Otherwise, the fields will be printed several to a + -1 causes the fields to be printed out one to a line. + Otherwise, the fields will be printed several to a line to a maximum width of 60 characters. - -a tells infocmp to retain commented-out capabilities - rather than discarding them. Capabilities are com- + -a tells infocmp to retain commented-out capabilities + rather than discarding them. Capabilities are com- mented by prefixing them with a period. -E Dump the capabilities of the given terminal as - tables, needed in the C initializer for a TERMTYPE - structure (the terminal capability structure in the - <term.h>). This option is useful for preparing ver- - sions of the curses library hardwired for a given - terminal type. The tables are all declared static, - and are named according to the type and the name of + tables, needed in the C initializer for a TERMTYPE + structure (the terminal capability structure in the + <term.h>). This option is useful for preparing ver- + sions of the curses library hardwired for a given + terminal type. The tables are all declared static, + and are named according to the type and the name of the corresponding terminal entry. - Before ncurses 5.0, the split between the -e and -E - options was not needed; but support for extended + Before ncurses 5.0, the split between the -e and -E + options was not needed; but support for extended names required making the arrays of terminal capabil- ities separate from the TERMTYPE structure. - -e Dump the capabilities of the given terminal as a C - initializer for a TERMTYPE structure (the terminal - capability structure in the <term.h>). This option + -e Dump the capabilities of the given terminal as a C + initializer for a TERMTYPE structure (the terminal + capability structure in the <term.h>). This option is useful for preparing versions of the curses library hardwired for a given terminal type. - -F compare terminfo files. This assumes that two fol- - lowing arguments are filenames. The files are - searched for pairwise matches between entries, with + -F compare terminfo files. This assumes that two fol- + lowing arguments are filenames. The files are + searched for pairwise matches between entries, with two entries considered to match if any of their names - do. The report printed to standard output lists - entries with no matches in the other file, and - entries with more than one match. For entries with - exactly one match it includes a difference report. - Normally, to reduce the volume of the report, use - references are not resolved before looking for dif- + do. The report printed to standard output lists + entries with no matches in the other file, and + entries with more than one match. For entries with + exactly one match it includes a difference report. + Normally, to reduce the volume of the report, use + references are not resolved before looking for dif- ferences, but resolution can be forced by also speci- fying -r. - -f Display complex terminfo strings which contain + -f Display complex terminfo strings which contain if/then/else/endif expressions indented for readabil- ity. -G Display constant literals in decimal form rather than their character equivalents. - -g Display constant character literals in quoted form + -g Display constant character literals in quoted form rather than their decimal equivalents. -i Analyze the initialization (is1, is2, is3), and reset - (rs1, rs2, rs3), strings in the entry. For each - string, the code tries to analyze it into actions in + (rs1, rs2, rs3), strings in the entry. For each + string, the code tries to analyze it into actions in terms of the other capabilities in the entry, certain - X3.64/ISO 6429/ECMA-48 capabilities, and certain DEC - VT-series private modes (the set of recognized spe- - cial sequences has been selected for completeness - over the existing terminfo database). Each report - line consists of the capability name, followed by a + X3.64/ISO 6429/ECMA-48 capabilities, and certain DEC + VT-series private modes (the set of recognized spe- + cial sequences has been selected for completeness + over the existing terminfo database). Each report + line consists of the capability name, followed by a colon and space, followed by a printable expansion of - the capability string with sections matching recog- - nized actions translated into {}-bracketed descrip- - tions. Here is a list of the DEC/ANSI special + the capability string with sections matching recog- + nized actions translated into {}-bracketed descrip- + tions. Here is a list of the DEC/ANSI special sequences recognized: i. Action Meaning @@ -317,10 +317,10 @@ DEC[+-]AWM wraparound mode DEC[+-]ARM auto-repeat mode - It also recognizes a SGR action corresponding to - ANSI/ISO 6429/ECMA Set Graphics Rendition, with the - values NORMAL, BOLD, UNDERLINE, BLINK, and REVERSE. - All but NORMAL may be prefixed with `+' (turn on) or + It also recognizes a SGR action corresponding to + ANSI/ISO 6429/ECMA Set Graphics Rendition, with the + values NORMAL, BOLD, UNDERLINE, BLINK, and REVERSE. + All but NORMAL may be prefixed with `+' (turn on) or `-' (turn off). An SGR0 designates an empty highlight sequence (equivalent @@ -398,8 +398,8 @@

    FILES

    -       /usr/share/terminfo Compiled  terminal  description  data-
    -                           base.
    +       /usr/share/terminfo Compiled      terminal     description
    +                           database.
     
     
     
    @@ -423,7 +423,7 @@ captoinfo(1m), infotocap(1m), tic(1m), toe(1m), curses(3x), terminfo(5). - This describes ncurses version 5.7 (patch 20110212). + This describes ncurses version 5.8 (patch 20110226). diff --git a/doc/html/man/infotocap.1m.html b/doc/html/man/infotocap.1m.html index 7d4c495b..a8c7267a 100644 --- a/doc/html/man/infotocap.1m.html +++ b/doc/html/man/infotocap.1m.html @@ -80,8 +80,8 @@

    FILES

    -       /usr/share/terminfo Compiled  terminal  description  data-
    -                           base.
    +       /usr/share/terminfo Compiled     terminal      description
    +                           database.
     
     
     
    @@ -94,7 +94,7 @@

    SEE ALSO

            curses(3x), tic(1m), infocmp(1m), terminfo(5)
     
    -       This describes ncurses version 5.7 (patch 20110212).
    +       This describes ncurses version 5.8 (patch 20110226).
     
     
     
    diff --git a/doc/html/man/menu.3x.html b/doc/html/man/menu.3x.html index 5c362d16..1e6d95a2 100644 --- a/doc/html/man/menu.3x.html +++ b/doc/html/man/menu.3x.html @@ -226,7 +226,7 @@

    SEE ALSO

    -       This describes ncurses version 5.7 (patch 20110212).
    +       This describes ncurses version 5.8 (patch 20110226).
     
     
     
    diff --git a/doc/html/man/menu_driver.3x.html b/doc/html/man/menu_driver.3x.html
    index 356a7173..f2b6c16c 100644
    --- a/doc/html/man/menu_driver.3x.html
    +++ b/doc/html/man/menu_driver.3x.html
    @@ -119,8 +119,8 @@
                 Clear the menu pattern buffer.
     
            REQ_BACK_PATTERN
    -            Delete  the  previous character from the pattern buf-
    -            fer.
    +            Delete   the  previous  character  from  the  pattern
    +            buffer.
     
            REQ_NEXT_MATCH
                 Move to the next item matching the pattern match.
    @@ -128,20 +128,20 @@
            REQ_PREV_MATCH
                 Move to the previous item matching the pattern match.
     
    -       If the second argument is a printable character, the  code
    -       appends  it  to the pattern buffer and attempts to move to
    -       the next item matching the new pattern.  If  there  is  no
    +       If  the second argument is a printable character, the code
    +       appends it to the pattern buffer and attempts to  move  to
    +       the  next  item  matching the new pattern.  If there is no
            such match, menu_driver returns E_NO_MATCH and deletes the
            appended character from the buffer.
     
    -       If the second argument is one  of  the  above  pre-defined
    +       If  the  second  argument  is one of the above pre-defined
            requests, the corresponding action is performed.
     
        MOUSE HANDLING
    -       If  the  second argument is the KEY_MOUSE special key, the
    +       If the second argument is the KEY_MOUSE special  key,  the
            associated mouse event is translated into one of the above
    -       pre-defined  requests.   Currently only clicks in the user
    -       window (e.g., inside the menu display area or the  decora-
    +       pre-defined requests.  Currently only clicks in  the  user
    +       window  (e.g., inside the menu display area or the decora-
            tion window) are handled.
     
            If you click above the display region of the menu:
    @@ -160,32 +160,32 @@
     
            o   a REQ_LAST_ITEM is generated for a triple-click.
     
    -       If  you  click  at  an item inside the display area of the
    +       If you click at an item inside the  display  area  of  the
            menu:
     
            o   the menu cursor is positioned to that item.
     
    -       o   If you double-click an item a REQ_TOGGLE_ITEM is  gen-
    +       o   If  you double-click an item a REQ_TOGGLE_ITEM is gen-
                erated and E_UNKNOWN_COMMAND is returned.  This return
    -           value makes sense,  because  a  double  click  usually
    +           value  makes  sense,  because  a  double click usually
                means that an item-specific action should be returned.
                It is exactly the purpose of this return value to sig-
    -           nal  that  an  application  specific command should be
    +           nal that an application  specific  command  should  be
                executed.
     
    -       o   If a translation into a request was done,  menu_driver
    +       o   If  a translation into a request was done, menu_driver
                returns the result of this request.
     
    -       If  you clicked outside the user window or the mouse event
    -       could  not  be  translated  into   a   menu   request   an
    +       If you clicked outside the user window or the mouse  event
    +       could   not   be   translated   into  a  menu  request  an
            E_REQUEST_DENIED is returned.
     
        APPLICATION-DEFINED COMMANDS
            If the second argument is neither printable nor one of the
    -       above pre-defined menu requests or  KEY_MOUSE,  the  drive
    -       assumes  it is an application-specific command and returns
    +       above  pre-defined  menu  requests or KEY_MOUSE, the drive
    +       assumes it is an application-specific command and  returns
            E_UNKNOWN_COMMAND.  Application-defined commands should be
    -       defined  relative  to  MAX_COMMAND,  the  maximum value of
    +       defined relative to  MAX_COMMAND,  the  maximum  value  of
            these pre-defined requests.
     
     
    @@ -199,7 +199,7 @@
                 System error occurred (see errno).
     
            E_BAD_ARGUMENT
    -            Routine detected an incorrect or  out-of-range  argu-
    +            Routine  detected  an incorrect or out-of-range argu-
                 ment.
     
            E_BAD_STATE
    @@ -232,14 +232,14 @@
     
     

    PORTABILITY

    -       These  routines  emulate  the System V menu library.  They
    -       were not supported on Version 7 or BSD versions. The  sup-
    +       These routines emulate the System V  menu  library.   They
    +       were  not supported on Version 7 or BSD versions. The sup-
            port for mouse events is ncurses specific.
     
     
     

    AUTHORS

    -       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
    +       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
            curses by Eric S. Raymond.
     
     
    diff --git a/doc/html/man/ncurses.3x.html b/doc/html/man/ncurses.3x.html
    index d49f4840..57f28a07 100644
    --- a/doc/html/man/ncurses.3x.html
    +++ b/doc/html/man/ncurses.3x.html
    @@ -63,7 +63,7 @@
            sonable   optimization.    This  implementation  is  ``new
            curses'' (ncurses) and is  the  approved  replacement  for
            4.4BSD  classic curses, which has been discontinued.  This
    -       describes ncurses version 5.7 (patch 20110212).
    +       describes ncurses version 5.8 (patch 20110226).
     
            The ncurses library emulates the curses library of  System
            V  Release  4  UNIX,  and  XPG4 (X/Open Portability Guide)
    @@ -150,48 +150,48 @@
            Among those, the most basic routines are move  and  addch.
            More  general versions of these routines are included with
            names beginning with w, allowing the  user  to  specify  a
    -       window.  The routines not beginning with w affect stdscr.
    +       window.   The routines not beginning with w affect stdscr.
     
    -       After  using  routines  to manipulate a window, refresh is
    -       called, telling curses to make the user's CRT screen  look
    -       like  stdscr.   The characters in a window are actually of
    -       type chtype, (character and attribute data) so that  other
    -       information  about  the  character may also be stored with
    +       After using routines to manipulate a  window,  refresh  is
    +       called,  telling curses to make the user's CRT screen look
    +       like stdscr.  The characters in a window are  actually  of
    +       type  chtype, (character and attribute data) so that other
    +       information about the character may also  be  stored  with
            each character.
     
    -       Special windows  called  pads  may  also  be  manipulated.
    +       Special  windows  called  pads  may  also  be manipulated.
            These are windows which are not constrained to the size of
    -       the screen and whose contents need not be completely  dis-
    +       the  screen and whose contents need not be completely dis-
            played.  See curs_pad(3x) for more information.
     
    -       In  addition  to  drawing  characters on the screen, video
    -       attributes and colors may be supported, causing the  char-
    -       acters  to show up in such modes as underlined, in reverse
    -       video, or in color on terminals that support such  display
    +       In addition to drawing characters  on  the  screen,  video
    +       attributes  and colors may be supported, causing the char-
    +       acters to show up in such modes as underlined, in  reverse
    +       video,  or in color on terminals that support such display
            enhancements.  Line drawing characters may be specified to
    -       be output.  On input, curses is  also  able  to  translate
    -       arrow  and  function  keys  that transmit escape sequences
    -       into single values.  The video  attributes,  line  drawing
    -       characters,   and  input  values  use  names,  defined  in
    +       be  output.   On  input,  curses is also able to translate
    +       arrow and function keys  that  transmit  escape  sequences
    +       into  single  values.   The video attributes, line drawing
    +       characters,  and  input  values  use  names,  defined   in
            <curses.h>, such as A_REVERSE, ACS_HLINE, and KEY_LEFT.
     
            If the environment variables LINES and COLUMNS are set, or
    -       if  the program is executing in a window environment, line
    -       and column information in the  environment  will  override
    +       if the program is executing in a window environment,  line
    +       and  column  information  in the environment will override
            information read by terminfo.  This would affect a program
    -       running in an AT&T 630 layer, for example, where the  size
    +       running  in an AT&T 630 layer, for example, where the size
            of a screen is changeable (see ENVIRONMENT).
     
    -       If  the environment variable TERMINFO is defined, any pro-
    -       gram using curses checks for a local  terminal  definition
    -       before  checking  in  the standard place.  For example, if
    +       If the environment variable TERMINFO is defined, any  pro-
    +       gram  using  curses checks for a local terminal definition
    +       before checking in the standard place.   For  example,  if
            TERM is set to att4424, then the compiled terminal defini-
            tion is found in
     
                  /usr/share/terminfo/a/att4424.
     
            (The a is copied from the first letter of att4424 to avoid
    -       creation of huge directories.)  However,  if  TERMINFO  is
    +       creation  of  huge  directories.)  However, if TERMINFO is
            set to $HOME/myterms, curses first checks
     
                  $HOME/myterms/a/att4424,
    @@ -200,117 +200,119 @@
     
                  /usr/share/terminfo/a/att4424.
     
    -       This  is useful for developing experimental definitions or
    +       This is useful for developing experimental definitions  or
            when write permission in /usr/share/terminfo is not avail-
            able.
     
    -       The  integer  variables  LINES  and  COLS  are  defined in
    -       <curses.h> and will be filled in by initscr with the  size
    +       The integer  variables  LINES  and  COLS  are  defined  in
    +       <curses.h>  and will be filled in by initscr with the size
            of the screen.  The constants TRUE and FALSE have the val-
            ues 1 and 0, respectively.
     
    -       The curses routines also  define  the  WINDOW  *  variable
    +       The  curses  routines  also  define  the WINDOW * variable
            curscr which is used for certain low-level operations like
    -       clearing and redrawing a screen containing  garbage.   The
    +       clearing  and  redrawing a screen containing garbage.  The
            curscr can be used in only a few routines.
     
        Routine and Argument Names
    -       Many  curses routines have two or more versions.  The rou-
    +       Many curses routines have two or more versions.  The  rou-
            tines prefixed with w require a window argument.  The rou-
            tines prefixed with p require a pad argument.  Those with-
            out a prefix generally use stdscr.
     
            The routines prefixed with mv require a y and x coordinate
    -       to  move to before performing the appropriate action.  The
    -       mv routines imply a call to move before the  call  to  the
    -       other  routine.  The coordinate y always refers to the row
    -       (of the window), and x always refers to the  column.   The
    +       to move to before performing the appropriate action.   The
    +       mv  routines  imply  a call to move before the call to the
    +       other routine.  The coordinate y always refers to the  row
    +       (of  the  window), and x always refers to the column.  The
            upper left-hand corner is always (0,0), not (1,1).
     
            The routines prefixed with mvw take both a window argument
    -       and x and y coordinates.  The window  argument  is  always
    +       and  x  and  y coordinates.  The window argument is always
            specified before the coordinates.
     
    -       In  each  case, win is the window affected, and pad is the
    +       In each case, win is the window affected, and pad  is  the
            pad affected; win and pad are always pointers to type WIN-
            DOW.
     
            Option setting routines require a Boolean flag bf with the
    -       value TRUE or FALSE; bf is always of type bool.   Most  of
    -       the  data types used in the library routines, such as WIN-
    -       DOW, SCREEN, bool, and chtype are defined  in  <curses.h>.
    -       Types  used for the terminfo routines such as TERMINAL are
    +       value  TRUE  or FALSE; bf is always of type bool.  Most of
    +       the data types used in the library routines, such as  WIN-
    +       DOW,  SCREEN,  bool, and chtype are defined in <curses.h>.
    +       Types used for the terminfo routines such as TERMINAL  are
            defined in <term.h>.
     
    -       This manual page describes functions which may  appear  in
    -       any  configuration  of  the library.  There are two common
    +       This  manual  page describes functions which may appear in
    +       any configuration of the library.  There  are  two  common
            configurations of the library:
     
                   ncurses
                        the  "normal"  library,  which  handles  8-bit
                        characters.  The normal (8-bit) library stores
    -                   characters combined with attributes in  chtype
    +                   characters  combined with attributes in chtype
                        data.
     
    -                   Attributes  alone (no corresponding character)
    -                   may be stored  in  chtype  or  the  equivalent
    -                   attr_t  data.   In  either  case,  the data is
    +                   Attributes alone (no corresponding  character)
    +                   may  be  stored  in  chtype  or the equivalent
    +                   attr_t data.  In  either  case,  the  data  is
                        stored in something like an integer.
     
    -                   Each cell (row and  column)  in  a  WINDOW  is
    +                   Each  cell  (row  and  column)  in a WINDOW is
                        stored as a chtype.
     
                   ncursesw
    -                   the  so-called  "wide"  library, which handles
    -                   multibyte  characters  (see  the  section   on
    +                   the so-called "wide"  library,  which  handles
    +                   multibyte   characters  (see  the  section  on
                        ALTERNATE CONFIGURATIONS).  The "wide" library
    -                   includes all of the calls  from  the  "normal"
    -                   library.   It  adds about one third more calls
    +                   includes  all  of  the calls from the "normal"
    +                   library.  It adds about one third  more  calls
                        using data types which store multibyte charac-
                        ters:
     
                        cchar_t
    -                        corresponds  to  chtype.  However it is a
    -                        structure, because more  data  is  stored
    -                        than  can fit into an integer.  The char-
    +                        corresponds to chtype.  However it  is  a
    +                        structure,  because  more  data is stored
    +                        than can fit into an integer.  The  char-
                             acters are large enough to require a full
    -                        integer  value  -  and  there may be more
    -                        than one character per cell.   The  video
    -                        attributes  and color are stored in sepa-
    +                        integer value - and  there  may  be  more
    +                        than  one  character per cell.  The video
    +                        attributes and color are stored in  sepa-
                             rate fields of the structure.
     
                             Each cell (row and column) in a WINDOW is
                             stored as a cchar_t.
     
                        wchar_t
    -                        stores  a "wide" character.  Like chtype,
    +                        stores a "wide" character.  Like  chtype,
                             this may be an integer.
     
                        wint_t
    -                        stores a wchar_t or WEOF - not the  same,
    +                        stores  a wchar_t or WEOF - not the same,
                             though both may have the same size.
     
                        The  "wide"  library  provides  new  functions
    -                   which are analogous to functions in the  "nor-
    -                   mal"  library.   There  is a naming convention
    -                   which relates many of  the  normal/wide  vari-
    -                   ants:  a  "_w" is inserted into the name.  For
    +                   which  are analogous to functions in the "nor-
    +                   mal" library.  There is  a  naming  convention
    +                   which  relates  many  of the normal/wide vari-
    +                   ants: a "_w" is inserted into the  name.   For
                        example, waddch becomes wadd_wch.
     
    +
        Routine Name Index
            The following table lists each curses routine and the name
    -       of  the  manual  page  on which it is described.  Routines
    -       flagged with `*' are ncurses-specific,  not  described  by
    +       of the manual page on which  it  is  described.   Routines
    +       flagged  with  `*'  are ncurses-specific, not described by
            XPG4 or present in SVr4.
     
    +
                   curses Routine Name     Manual Page Name
                   --------------------------------------------
                   COLOR_PAIR              curs_color(3x)
                   PAIR_NUMBER             curs_attr(3x)
                   _nc_free_and_exit       curs_memleaks(3x)*
    +
                   _nc_freeall             curs_memleaks(3x)*
                   _nc_tracebits           curs_trace(3x)*
    -
                   _traceattr              curs_trace(3x)*
                   _traceattr2             curs_trace(3x)*
                   _tracechar              curs_trace(3x)*
    @@ -374,9 +376,9 @@
                   echo                    curs_inopts(3x)
                   echo_wchar              curs_add_wch(3x)
                   echochar                curs_addch(3x)
    +
                   endwin                  curs_initscr(3x)
                   erase                   curs_clear(3x)
    -
                   erasechar               curs_termattrs(3x)
                   erasewchar              curs_termattrs(3x)
                   filter                  curs_util(3x)
    @@ -440,9 +442,9 @@
                   intrflush               curs_inopts(3x)
                   inwstr                  curs_inwstr(3x)
                   is_cleared              curs_opaque(3x)*
    +
                   is_idcok                curs_opaque(3x)*
                   is_idlok                curs_opaque(3x)*
    -
                   is_immedok              curs_opaque(3x)*
                   is_keypad               curs_opaque(3x)*
                   is_leaveok              curs_opaque(3x)*
    @@ -506,9 +508,9 @@
                   mvinsch                 curs_insch(3x)
                   mvinsnstr               curs_insstr(3x)
                   mvinsstr                curs_insstr(3x)
    +
                   mvinstr                 curs_instr(3x)
                   mvinwstr                curs_inwstr(3x)
    -
                   mvprintw                curs_printw(3x)
                   mvscanw                 curs_scanw(3x)
                   mvvline                 curs_border(3x)
    @@ -572,9 +574,9 @@
                   pair_content            curs_color(3x)
                   pechochar               curs_pad(3x)
                   pnoutrefresh            curs_pad(3x)
    +
                   prefresh                curs_pad(3x)
                   printw                  curs_printw(3x)
    -
                   putp                    curs_terminfo(3x)
                   putwin                  curs_util(3x)
                   qiflush                 curs_inopts(3x)
    @@ -638,9 +640,9 @@
                   tigetstr                curs_terminfo(3x)
                   timeout                 curs_inopts(3x)
                   touchline               curs_touch(3x)
    +
                   touchwin                curs_touch(3x)
                   tparm                   curs_terminfo(3x)
    -
                   tputs                   curs_termcap(3x)
                   tputs                   curs_terminfo(3x)
                   trace                   curs_trace(3x)*
    @@ -704,9 +706,9 @@
                   wgetbkgrnd              curs_bkgrnd(3x)
                   wgetch                  curs_getch(3x)
                   wgetn_wstr              curs_get_wstr(3x)
    +
                   wgetnstr                curs_getstr(3x)
                   wgetstr                 curs_getstr(3x)
    -
                   whline                  curs_border(3x)
                   whline_set              curs_border_set(3x)
                   win_wch                 curs_in_wch(3x)
    @@ -750,14 +752,14 @@
     
     

    RETURN VALUE

    -       Routines  that  return  an integer return ERR upon failure
    -       and an integer value other than ERR upon  successful  com-
    -       pletion,  unless  otherwise  noted in the routine descrip-
    +       Routines that return an integer return  ERR  upon  failure
    +       and  an  integer value other than ERR upon successful com-
    +       pletion, unless otherwise noted in  the  routine  descrip-
            tions.
     
    -       All macros return the  value  of  the  w  version,  except
    +       All  macros  return  the  value  of  the w version, except
            setscrreg, wsetscrreg, getyx, getbegyx, and getmaxyx.  The
    -       return values of setscrreg, wsetscrreg,  getyx,  getbegyx,
    +       return  values  of setscrreg, wsetscrreg, getyx, getbegyx,
            and getmaxyx are undefined (i.e., these should not be used
            as the right-hand side of assignment statements).
     
    @@ -771,46 +773,46 @@
            important ones have been already discussed in detail.
     
            BAUDRATE
    -            The debugging library checks this environment  symbol
    +            The  debugging library checks this environment symbol
                 when the application has redirected output to a file.
    -            The symbol's numeric value is used for the  baudrate.
    +            The  symbol's numeric value is used for the baudrate.
                 If no value is found, ncurses uses 9600.  This allows
    -            testers to construct repeatable test-cases that  take
    +            testers  to construct repeatable test-cases that take
                 into account costs that depend on baudrate.
     
            CC   When set, change occurrences of the command_character
    -            (i.e., the cmdch capability) of the  loaded  terminfo
    -            entries  to  the value of this symbol.  Very few ter-
    +            (i.e.,  the  cmdch capability) of the loaded terminfo
    +            entries to the value of this symbol.  Very  few  ter-
                 minfo entries provide this feature.
     
    -            Because this name is also used in  development  envi-
    -            ronments  to represent the C compiler's name, ncurses
    +            Because  this  name is also used in development envi-
    +            ronments to represent the C compiler's name,  ncurses
                 ignores it if it does not happen to be a single char-
                 acter.
     
            COLUMNS
                 Specify  the  width  of  the  screen  in  characters.
    -            Applications running in a windowing environment  usu-
    -            ally  are  able  to obtain the width of the window in
    -            which they are executing.   If  neither  the  COLUMNS
    -            value  nor  the  terminal's screen size is available,
    -            ncurses uses the size which may be specified  in  the
    +            Applications  running in a windowing environment usu-
    +            ally are able to obtain the width of  the  window  in
    +            which  they  are  executing.   If neither the COLUMNS
    +            value nor the terminal's screen  size  is  available,
    +            ncurses  uses  the size which may be specified in the
                 terminfo database (i.e., the cols 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
    -            Size),  or  because  you  are  temporarily running as
    -            another user.  However, setting COLUMNS and/or  LINES
    +            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 COLUMNS and/or LINES
                 overrides  the  library's  use  of  the  screen  size
                 obtained from the operating system.
     
    -            Either COLUMNS or  LINES  symbols  may  be  specified
    -            independently.   This  is mainly useful to circumvent
    -            legacy misfeatures of  terminal  descriptions,  e.g.,
    +            Either  COLUMNS  or  LINES  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, lines and cols should not be  specified
    +            best  results, lines and cols should not be specified
                 in a terminal description for terminals which are run
                 as emulations.
     
    @@ -819,35 +821,35 @@
                 the screen size.
     
            ESCDELAY
    -            Specifies the total time, in milliseconds, for  which
    -            ncurses  will  await  a  character  sequence, e.g., a
    -            function key.  The default value, 1000  milliseconds,
    +            Specifies  the total time, in milliseconds, for which
    +            ncurses 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 vari-
                 able 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.
    +            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 char-
    -            acter sequences received from  the  xterm.   If  your
    +            Note that xterm mouse events are built up from  char-
    +            acter  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
    +            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  imple-
    -            mentation  provides  a  global variable with the same
    +            In  addition to the environment variable, this imple-
    +            mentation provides a global variable  with  the  same
                 name.  Portable applications should not rely upon the
    -            presence  of ESCDELAY in either form, but setting the
    -            environment variable rather than the global  variable
    -            does  not  create problems when compiling an applica-
    +            presence of ESCDELAY in either form, but setting  the
    +            environment  variable rather than the global variable
    +            does not create problems when compiling  an  applica-
                 tion.
     
    -       HOME Tells ncurses where your home directory is.  That  is
    +       HOME Tells  ncurses where your home directory is.  That is
                 where  it  may  read  and  write  auxiliary  terminal
                 descriptions:
     
    @@ -855,8 +857,8 @@
                 $HOME/.terminfo
     
            LINES
    -            Like COLUMNS, specify the height  of  the  screen  in
    -            characters.  See COLUMNS for a detailed description.
    +            Like  COLUMNS,  specify  the  height of the screen in
    +            characters.  See COLUMNS for a detailed  description.
     
            MOUSE_BUTTONS_123
                 This applies only to the OS/2 EMX port.  It specifies
    @@ -1113,10 +1115,10 @@
     
            --with-profile
                 The  shared  and normal (static) library names differ
    -            by their  suffixes,  e.g.,  libncurses.so  and  libn-
    -            curses.a.   The  debug  and profiling libraries add a
    -            "_g" and a "_p" to the root names respectively, e.g.,
    -            libncurses_g.a and libncurses_p.a.
    +            by   their   suffixes,   e.g.,   libncurses.so    and
    +            libncurses.a.   The debug and profiling libraries add
    +            a "_g" and a "_p" to  the  root  names  respectively,
    +            e.g., libncurses_g.a and libncurses_p.a.
     
            --with-trace
                 The  trace  function  normally  resides  in the debug
    @@ -1225,31 +1227,31 @@
     
            o   This  implementation can also be configured to provide
                a set of functions which improve the ability to manage
    -           multiple screens.  See curs_sp_funcs(3x) for details.
    +           multiple  screens.  See curs_sp_funcs(3x) for details.
     
    -       In  historic curses versions, delays embedded in the capa-
    +       In historic curses versions, delays embedded in the  capa-
            bilities cr, ind, cub1, ff and tab activated corresponding
    -       delay  bits  in  the UNIX tty driver.  In this implementa-
    -       tion, all padding is done  by  sending  NUL  bytes.   This
    -       method  is slightly more expensive, but narrows the inter-
    -       face to the UNIX kernel significantly  and  increases  the
    +       delay bits in the UNIX tty driver.   In  this  implementa-
    +       tion,  all  padding  is  done  by sending NUL bytes.  This
    +       method is slightly more expensive, but narrows the  inter-
    +       face  to  the  UNIX kernel significantly and increases the
            package's portability correspondingly.
     
     
     

    NOTES

    -       The  header  file  <curses.h>  automatically  includes the
    +       The header  file  <curses.h>  automatically  includes  the
            header files <stdio.h> and <unctrl.h>.
     
    -       If standard output from a ncurses program  is  re-directed
    -       to  something  which  is not a tty, screen updates will be
    +       If  standard  output from a ncurses program is re-directed
    +       to something which is not a tty, screen  updates  will  be
            directed to standard error.  This was an undocumented fea-
            ture of AT&T System V Release 3 curses.
     
     
     

    AUTHORS

    -       Zeyd  M.  Ben-Halim,  Eric  S.  Raymond, Thomas E. Dickey.
    +       Zeyd M. Ben-Halim, Eric  S.  Raymond,  Thomas  E.  Dickey.
            Based on pcurses by Pavel Curtis.
     
     
    diff --git a/doc/html/man/ncurses5-config.1.html b/doc/html/man/ncurses5-config.1.html
    index 0859e7a9..4ead0ebc 100644
    --- a/doc/html/man/ncurses5-config.1.html
    +++ b/doc/html/man/ncurses5-config.1.html
    @@ -105,7 +105,7 @@
     
            --terminfo-dirs
                   echos the $TERMINFO_DIRS directory list, e.g.,
    -              /usr/share/terminfo
    +              /usr/local/ncurses/lib/terminfo:/usr/share/terminfo
     
            --termpath
                   echos  the  $TERMPATH  termcap list, if support for
    @@ -118,7 +118,7 @@
     

    SEE ALSO

            curses(3x)
     
    -       This describes ncurses version 5.7 (patch 20110212).
    +       This describes ncurses version 5.8 (patch 20110226).
     
     
     
    diff --git a/doc/html/man/panel.3x.html b/doc/html/man/panel.3x.html
    index 00df4872..216839e3 100644
    --- a/doc/html/man/panel.3x.html
    +++ b/doc/html/man/panel.3x.html
    @@ -174,35 +174,35 @@
     
     

    DIAGNOSTICS

    -       Each  routine  that  returns  a pointer returns NULL if an
    -       error occurs. Each  routine  that  returns  an  int  value
    +       Each routine that returns a pointer  returns  NULL  if  an
    +       error  occurs.  Each  routine  that  returns  an int value
            returns OK if it executes successfully and ERR if not.
     
     
     

    COMPATIBILITY

    -       Reasonable  care  has been taken to  ensure  compatibility
    -       with  the  native  panel  facility  introduced  in  SVr3.2
    -       (inspection of the SVr4 manual pages suggests the program-
    -       ming interface is unchanged).  The PANEL  data  structures
    -       are  merely   similar. The  programmer is cautioned not to
    -       directly use PANEL fields.
    -
    -       The functions show_panel() and top_panel()  are  identical
    -       in  this  implementation,  and work equally well with dis-
    +       Reasonable care has been taken to   ensure   compatibility
    +       with   the   native   panel  facility introduced in SVr3.2
    +       (inspection  of  the  SVr4  manual  pages   suggests   the
    +       programming  interface  is  unchanged).   The  PANEL  data
    +       structures are merely  similar. The   programmer  is  cau-
    +       tioned not to directly use PANEL fields.
    +
    +       The  functions  show_panel() and top_panel() are identical
    +       in this implementation, and work equally  well  with  dis-
            played or hidden panels.  In the native System V implemen-
            tation, show_panel() is intended for making a hidden panel
    -       visible (at the top  of  the  stack)  and  top_panel()  is
    -       intended  for  making an already-visible panel move to the
    -       top of the stack. You are cautioned  to  use  the  correct
    -       function   to   ensure  compatibility  with  native  panel
    +       visible  (at  the  top  of  the  stack) and top_panel() is
    +       intended for making an already-visible panel move  to  the
    +       top  of  the  stack.  You are cautioned to use the correct
    +       function  to  ensure  compatibility  with   native   panel
            libraries.
     
     
     

    NOTE

    -       In your library list, libpanel.a should  be  before  libn-
    -       curses.a;  that  is,  you want to say `-lpanel -lncurses',
    +       In  your  library  list, libpanel.a should be before libn-
    +       curses.a; that is, you want to  say  `-lpanel  -lncurses',
            not the other way around (which would usually give a link-
            error).
     
    @@ -218,14 +218,14 @@
     

    SEE ALSO

            curses(3x), curs_variables(3x),
     
    -       This describes ncurses version 5.7 (patch 20110212).
    +       This describes ncurses version 5.8 (patch 20110226).
     
     
     

    AUTHOR

    -       Originally   written   by   Warren  Tucker  <wht@n4hgf.mt-
    -       park.ga.us>, primarily to assist  in  porting  u386mon  to
    -       systems  without  a native panels library.  Repackaged for
    +       Originally  written  by   Warren   Tucker   <wht@n4hgf.mt-
    +       park.ga.us>,  primarily  to  assist  in porting u386mon to
    +       systems without a native panels library.   Repackaged  for
            ncurses by Zeyd ben-Halim.
     
     
    diff --git a/doc/html/man/tabs.1.html b/doc/html/man/tabs.1.html
    index ed6696cc..7fb8d39d 100644
    --- a/doc/html/man/tabs.1.html
    +++ b/doc/html/man/tabs.1.html
    @@ -156,7 +156,7 @@
     

    SEE ALSO

            tset(1), infocmp(1m), curses(3x), terminfo(5).
     
    -       This describes ncurses version 5.7 (patch 20110212).
    +       This describes ncurses version 5.8 (patch 20110226).
     
     
     
    diff --git a/doc/html/man/term.7.html b/doc/html/man/term.7.html
    index 1095bbff..4c944a1c 100644
    --- a/doc/html/man/term.7.html
    +++ b/doc/html/man/term.7.html
    @@ -85,9 +85,9 @@
            the tty device and baud rate.
     
            Setting your own TERM value may also be useful if you have
    -       created a custom entry incorporating options (such as vis-
    -       ual  bell or reverse-video) which you wish to override the
    -       system default type for your line.
    +       created a custom  entry  incorporating  options  (such  as
    +       visual  bell  or reverse-video) which you wish to override
    +       the system default type for your line.
     
            Terminal type descriptions are stored as files of capabil-
            ity data underneath /usr/share/terminfo.  To browse a list
    diff --git a/doc/html/man/terminfo.5.html b/doc/html/man/terminfo.5.html
    index 45de8c28..445f3c54 100644
    --- a/doc/html/man/terminfo.5.html
    +++ b/doc/html/man/terminfo.5.html
    @@ -78,7 +78,7 @@
            nals by giving a set of capabilities which they  have,  by
            specifying how to perform screen operations, and by speci-
            fying padding requirements and  initialization  sequences.
    -       This describes ncurses version 5.7 (patch 20110212).
    +       This describes ncurses version 5.8 (patch 20110226).
     
            Entries in terminfo consist of a sequence of `,' separated
            fields (embedded commas may be escaped with a backslash or
    @@ -113,6 +113,7 @@
            vt100-w.  The following suffixes should be used where pos-
            sible:
     
    +
           Suffix                  Meaning                   Example
           -nn      Number of lines on the screen            aaa-60
           -np      Number of pages of memory                c100-4p
    @@ -125,8 +126,8 @@
           -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
     
    +      -vb      Use visible bell instead of beep         wy370-vb
           -w       Wide mode (> 80 columns, usually 132)    vt100-w
     
            For more on terminal naming conventions, see  the  term(7)
    @@ -175,134 +176,133 @@
            These are the boolean capabilities:
     
     
    -               Variable          Cap-   TCap     Description
    -               Booleans          name   Code
    -       auto_left_margin          bw     bw   cub1 wraps from col-
    +               Variable          Cap-  TCap      Description
    +               Booleans          name  Code
    +       auto_left_margin          bw    bw    cub1 wraps from col-
                                                  umn 0 to last column
    -       auto_right_margin         am     am   terminal has auto-
    +       auto_right_margin         am    am    terminal has auto-
                                                  matic margins
    -       back_color_erase          bce    ut   screen erased with
    +       back_color_erase          bce   ut    screen erased with
                                                  background color
    -       can_change                ccc    cc   terminal can re-
    +       can_change                ccc   cc    terminal can re-
                                                  define existing col-
                                                  ors
    -       ceol_standout_glitch      xhp    xs   standout not erased
    +       ceol_standout_glitch      xhp   xs    standout not erased
                                                  by overwriting (hp)
    -       col_addr_glitch           xhpa   YA   only positive motion
    +       col_addr_glitch           xhpa  YA    only positive motion
                                                  for hpa/mhpa caps
     
     
    -
    -       cpi_changes_res           cpix   YF   changing character
    +       cpi_changes_res           cpix  YF    changing character
                                                  pitch changes reso-
                                                  lution
    -       cr_cancels_micro_mode     crxm   YB   using cr turns off
    +       cr_cancels_micro_mode     crxm  YB    using cr turns off
                                                  micro mode
    -       dest_tabs_magic_smso      xt     xt   tabs destructive,
    +       dest_tabs_magic_smso      xt    xt    tabs destructive,
                                                  magic so char
                                                  (t1061)
    -       eat_newline_glitch        xenl   xn   newline ignored
    +       eat_newline_glitch        xenl  xn    newline ignored
                                                  after 80 cols (con-
                                                  cept)
    -       erase_overstrike          eo     eo   can erase over-
    +       erase_overstrike          eo    eo    can erase over-
                                                  strikes with a blank
    -       generic_type              gn     gn   generic line type
    -       hard_copy                 hc     hc   hardcopy terminal
    -       hard_cursor               chts   HC   cursor is hard to
    +       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
    +       has_meta_key              km    km    Has a meta key
                                                  (i.e., sets 8th-bit)
    -       has_print_wheel           daisy  YC   printer needs opera-
    +       has_print_wheel           daisy YC    printer needs opera-
                                                  tor to change char-
                                                  acter set
    -       has_status_line           hs     hs   has extra status
    +       has_status_line           hs    hs    has extra status
                                                  line
    -       hue_lightness_saturation  hls    hl   terminal uses only
    +       hue_lightness_saturation  hls   hl    terminal uses only
                                                  HLS color notation
                                                  (Tektronix)
    -       insert_null_glitch        in     in   insert mode distin-
    +       insert_null_glitch        in    in    insert mode distin-
                                                  guishes nulls
    -       lpi_changes_res           lpix   YG   changing line pitch
    +       lpi_changes_res           lpix  YG    changing line pitch
                                                  changes resolution
    -       memory_above              da     da   display may be
    +       memory_above              da    da    display may be
                                                  retained above the
                                                  screen
    -       memory_below              db     db   display may be
    +       memory_below              db    db    display may be
                                                  retained below the
                                                  screen
    -       move_insert_mode          mir    mi   safe to move while
    +       move_insert_mode          mir   mi    safe to move while
                                                  in insert mode
    -       move_standout_mode        msgr   ms   safe to move while
    +       move_standout_mode        msgr  ms    safe to move while
                                                  in standout mode
    -       needs_xon_xoff            nxon   nx   padding will not
    +       needs_xon_xoff            nxon  nx    padding will not
                                                  work, xon/xoff
                                                  required
    -       no_esc_ctlc               xsb    xb   beehive (f1=escape,
    +       no_esc_ctlc               xsb   xb    beehive (f1=escape,
                                                  f2=ctrl C)
    -       no_pad_char               npc    NP   pad character does
    +       no_pad_char               npc   NP    pad character does
                                                  not exist
    -       non_dest_scroll_region    ndscr  ND   scrolling region is
    +       non_dest_scroll_region    ndscr ND    scrolling region is
                                                  non-destructive
    -       non_rev_rmcup             nrrmc  NR   smcup does not
    +       non_rev_rmcup             nrrmc NR    smcup does not
                                                  reverse rmcup
    -       over_strike               os     os   terminal can over-
    +       over_strike               os    os    terminal can over-
                                                  strike
    -       prtr_silent               mc5i   5i   printer will not
    +       prtr_silent               mc5i  5i    printer will not
                                                  echo on screen
    -       row_addr_glitch           xvpa   YD   only positive motion
    +       row_addr_glitch           xvpa  YD    only positive motion
                                                  for vpa/mvpa caps
    -       semi_auto_right_margin    sam    YE   printing in last
    +       semi_auto_right_margin    sam   YE    printing in last
                                                  column causes cr
    -       status_line_esc_ok        eslok  es   escape can be used
    +       status_line_esc_ok        eslok es    escape can be used
                                                  on the status line
    -       tilde_glitch              hz     hz   cannot print ~'s
    +       tilde_glitch              hz    hz    cannot print ~'s
                                                  (hazeltine)
     
     
    -       transparent_underline     ul     ul   underline character
    +       transparent_underline     ul    ul    underline character
                                                  overstrikes
    -       xon_xoff                  xon    xo   terminal uses
    +       xon_xoff                  xon   xo    terminal uses
                                                  xon/xoff handshaking
     
            These are the numeric capabilities:
     
     
    -               Variable          Cap-   TCap     Description
    -                Numeric          name   Code
    -       columns                   cols   co   number of columns in
    +            Variable         Cap-     TCap       Description
    +             Numeric         name     Code
    +       columns               cols     co     number of columns in
                                                  a line
    -       init_tabs                 it     it   tabs initially every
    +       init_tabs             it       it     tabs initially every
                                                  # spaces
    -       label_height              lh     lh   rows in each label
    -       label_width               lw     lw   columns in each
    +       label_height          lh       lh     rows in each label
    +       label_width           lw       lw     columns in each
                                                  label
    -       lines                     lines  li   number of lines on
    +       lines                 lines    li     number of lines on
                                                  screen or page
    -       lines_of_memory           lm     lm   lines of memory if >
    +       lines_of_memory       lm       lm     lines of memory if >
                                                  line. 0 means varies
    -       magic_cookie_glitch       xmc    sg   number of blank
    +       magic_cookie_glitch   xmc      sg     number of blank
                                                  characters left by
                                                  smso or rmso
    -       max_attributes            ma     ma   maximum combined
    +       max_attributes        ma       ma     maximum combined
                                                  attributes terminal
                                                  can handle
    -       max_colors                colors Co   maximum number of
    +       max_colors            colors   Co     maximum number of
                                                  colors on screen
    -       max_pairs                 pairs  pa   maximum number of
    +       max_pairs             pairs    pa     maximum number of
                                                  color-pairs on the
                                                  screen
    -       maximum_windows           wnum   MW   maximum number of
    +       maximum_windows       wnum     MW     maximum number of
                                                  defineable windows
    -       no_color_video            ncv    NC   video attributes
    +       no_color_video        ncv      NC     video attributes
                                                  that cannot be used
                                                  with colors
    -       num_labels                nlab   Nl   number of labels on
    +       num_labels            nlab     Nl     number of labels on
                                                  screen
    -       padding_baud_rate         pb     pb   lowest baud rate
    +       padding_baud_rate     pb       pb     lowest baud rate
                                                  where padding needed
    -       virtual_terminal          vt     vt   virtual terminal
    +       virtual_terminal      vt       vt     virtual terminal
                                                  number (CB/unix)
    -       width_status_line         wsl    ws   number of columns in
    +       width_status_line     wsl      ws     number of columns in
                                                  status line
     
            The following numeric  capabilities  are  present  in  the
    @@ -310,47 +310,47 @@
            man page.  They came in with SVr4's printer support.
     
     
    -               Variable          Cap-   TCap     Description
    -                Numeric          name   Code
    -       bit_image_entwining       bitwin Yo   number of passes for
    +             Variable         Cap-    TCap       Description
    +             Numeric          name    Code
    +       bit_image_entwining    bitwin  Yo     number of passes for
                                                  each bit-image row
    -       bit_image_type            bitype Yp   type of bit-image
    +       bit_image_type         bitype  Yp     type of bit-image
                                                  device
    -       buffer_capacity           bufsz  Ya   numbers of bytes
    +       buffer_capacity        bufsz   Ya     numbers of bytes
                                                  buffered before
                                                  printing
    -       buttons                   btns   BT   number of buttons on
    +       buttons                btns    BT     number of buttons on
                                                  mouse
    -       dot_horz_spacing          spinh  Yc   spacing of dots hor-
    +       dot_horz_spacing       spinh   Yc     spacing of dots hor-
                                                  izontally in dots
                                                  per inch
     
    -       dot_vert_spacing          spinv  Yb   spacing of pins ver-
    +       dot_vert_spacing       spinv   Yb     spacing of pins ver-
                                                  tically in pins per
                                                  inch
    -       max_micro_address         maddr  Yd   maximum value in
    +       max_micro_address      maddr   Yd     maximum value in
                                                  micro_..._address
    -       max_micro_jump            mjump  Ye   maximum value in
    +       max_micro_jump         mjump   Ye     maximum value in
                                                  parm_..._micro
    -       micro_col_size            mcs    Yf   character step size
    +       micro_col_size         mcs     Yf     character step size
                                                  when in micro mode
    -       micro_line_size           mls    Yg   line step size when
    +       micro_line_size        mls     Yg     line step size when
                                                  in micro mode
    -       number_of_pins            npins  Yh   numbers of pins in
    +       number_of_pins         npins   Yh     numbers of pins in
                                                  print-head
    -       output_res_char           orc    Yi   horizontal resolu-
    +       output_res_char        orc     Yi     horizontal resolu-
                                                  tion in units per
                                                  line
    -       output_res_horz_inch      orhi   Yk   horizontal resolu-
    +       output_res_horz_inch   orhi    Yk     horizontal resolu-
                                                  tion in units per
                                                  inch
    -       output_res_line           orl    Yj   vertical resolution
    +       output_res_line        orl     Yj     vertical resolution
                                                  in units per line
    -       output_res_vert_inch      orvi   Yl   vertical resolution
    +       output_res_vert_inch   orvi    Yl     vertical resolution
                                                  in units per inch
    -       print_rate                cps    Ym   print rate in char-
    +       print_rate             cps     Ym     print rate in char-
                                                  acters per second
    -       wide_char_size            widcs  Yn   character step size
    +       wide_char_size         widcs   Yn     character step size
                                                  when in double wide
                                                  mode
     
    @@ -402,8 +402,8 @@
                                                  prototype !?
            create_window             cwin   CW   define a window #1
                                                  from #2,#3 to #4,#5
    -       cursor_address            cup    cm   move to row #1 col-
    -                                             umns #2
    +       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)
    @@ -904,8 +904,8 @@
            zero_motion               zerom  Zx   No motion for subse-
                                                  quent character
     
    -       The following  string  capabilities  are  present  in  the
    -       SVr4.0  term structure, but were originally not documented
    +       The  following  string  capabilities  are  present  in the
    +       SVr4.0 term structure, but were originally not  documented
            in the man page.
     
     
    @@ -989,12 +989,12 @@
                                                    bottom margins to
                                                    #1, #2
     
    -        The  XSI  Curses  standard  added  these.   They are some
    -        post-4.1 versions of System V curses, e.g.,  Solaris  2.5
    -        and  IRIX  6.x.   The  ncurses termcap names for them are
    +        The XSI Curses  standard  added  these.   They  are  some
    +        post-4.1  versions  of System V curses, e.g., Solaris 2.5
    +        and IRIX 6.x.  The ncurses 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
    +        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!
     
     
    @@ -1021,7 +1021,7 @@
     
        A Sample Entry
            The following entry, describing an ANSI-standard terminal,
    -       is representative of what a terminfo entry  for  a  modern
    +       is  representative  of  what a terminfo entry for a modern
            terminal typically looks like.
     
          ansi|ansi/pc-term compatible with color,
    @@ -1045,82 +1045,84 @@
                  sgr0=\E[0;10m, tbc=\E[2g, u6=\E[%d;%dR, u7=\E[6n,
                  u8=\E[?%[;0123456789]c, u9=\E[c, vpa=\E[%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 lines beginning with ``#''.
    +       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 terminfo are of three types: Boolean capa-
            bilities which indicate that the terminal has some partic-
    -       ular feature, numeric capabilities giving the size of  the
    -       terminal  or  the  size  of  particular delays, and string
    -       capabilities, which give a sequence which can be  used  to
    +       ular  feature, numeric capabilities giving the size of the
    +       terminal or the size  of  particular  delays,  and  string
    +       capabilities,  which  give a sequence which can be used to
            perform particular terminal operations.
     
    +
        Types of Capabilities
    -       All  capabilities have names.  For instance, the fact that
    -       ANSI-standard terminals have automatic margins  (i.e.,  an
    -       automatic  return  and line-feed when the end of a line is
    -       reached) is indicated by the  capability  am.   Hence  the
    +       All capabilities have names.  For instance, the fact  that
    +       ANSI-standard  terminals  have automatic margins (i.e., an
    +       automatic return and line-feed when the end of a  line  is
    +       reached)  is  indicated  by  the capability am.  Hence the
            description of ansi includes am.  Numeric capabilities are
    -       followed by the character `#' and then a  positive  value.
    -       Thus  cols, which indicates the number of columns the ter-
    -       minal has, gives the value  `80'  for  ansi.   Values  for
    +       followed  by  the character `#' and then a positive value.
    +       Thus cols, which indicates the number of columns the  ter-
    +       minal  has,  gives  the  value  `80' for ansi.  Values for
            numeric capabilities may be specified in decimal, octal or
    -       hexadecimal, using the C programming language  conventions
    +       hexadecimal,  using the C programming language conventions
            (e.g., 255, 0377 and 0xff or 0xFF).
     
    -       Finally,  string valued capabilities, such as el (clear to
    +       Finally, string valued capabilities, such as el (clear  to
            end of line sequence) are given by the two-character code,
    -       an  `=',  and  then  a string ending at the next following
    +       an `=', and then a string ending  at  the  next  following
            `,'.
     
    -       A number of escape sequences are provided  in  the  string
    +       A  number  of  escape sequences are provided in the string
            valued capabilities for easy encoding of characters there.
    -       Both \E and \e map to an ESCAPE character, ^x  maps  to  a
    -       control-x  for  any appropriate x, and the sequences \n \l
    -       \r \t \b \f \s give a  newline,  line-feed,  return,  tab,
    +       Both  \E  and  \e map to an ESCAPE character, ^x maps to a
    +       control-x for any appropriate x, and the sequences  \n  \l
    +       \r  \t  \b  \f  \s give a newline, line-feed, return, tab,
            backspace, form-feed, and space.  Other escapes include \^
    -       for ^, \\ for \, \, for comma, \: for :, and \0 for  null.
    -       (\0  will  produce \200, which does not terminate a string
    +       for  ^, \\ for \, \, for comma, \: for :, and \0 for null.
    +       (\0 will produce \200, which does not terminate  a  string
            but behaves as a null character on most terminals, provid-
    -       ing  CS7 is specified.  See stty(1).)  Finally, characters
    +       ing CS7 is specified.  See stty(1).)  Finally,  characters
            may be given as three octal digits after a \.
     
    -       A delay in milliseconds may appear anywhere  in  a  string
    -       capability,  enclosed in $<..> brackets, as in el=\EK$<5>,
    -       and padding characters are supplied by  tputs  to  provide
    -       this  delay.   The delay must be a number with at most one
    +       A  delay  in  milliseconds may appear anywhere in a string
    +       capability, enclosed in $<..> brackets, as in  el=\EK$<5>,
    +       and  padding  characters  are supplied by tputs to provide
    +       this delay.  The delay must be a number with at  most  one
            decimal place of precision; it may be followed by suffixes
    -       `*'  or  '/'  or  both.   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
    +       `*' or '/' or both.  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  lines
    -       affected.)  Normally, padding is advisory  if  the  device
    -       has  the  xon  capability; it is used for cost computation
    -       but does not trigger delays.  A `/' suffix indicates  that
    -       the  padding  is mandatory and forces a delay of the given
    -       number of milliseconds even on devices for  which  xon  is
    +       affected.)   Normally,  padding  is advisory if the device
    +       has the xon capability; it is used  for  cost  computation
    +       but  does not trigger delays.  A `/' suffix indicates that
    +       the padding is mandatory and forces a delay of  the  given
    +       number  of  milliseconds  even on devices for which xon is
            present to indicate flow control.
     
    -       Sometimes  individual  capabilities must be commented out.
    -       To do this, put a period before the capability name.   For
    +       Sometimes individual capabilities must be  commented  out.
    +       To  do this, put a period before the capability name.  For
            example, see the second ind in the example above.
     
    +
        Fetching Compiled Descriptions
    -       If  the environment variable TERMINFO is set, it is inter-
    -       preted as the pathname of a directory containing the  com-
    +       If the environment variable TERMINFO is set, it is  inter-
    +       preted  as the pathname of a directory containing the com-
            piled description you are working on.  Only that directory
            is searched.
     
    -       If TERMINFO is not set, the ncurses version  of  the  ter-
    -       minfo  reader  code  will  instead  look  in the directory
    -       $HOME/.terminfo for a compiled description.  If  it  fails
    -       to  find  one  there,  and  the  environment variable TER-
    -       MINFO_DIRS is set, it will interpret the contents of  that
    -       variable  as  a list of colon- separated directories to be
    -       searched (an empty entry is interpreted as  a  command  to
    -       search  /usr/share/terminfo).   If no description is found
    -       in any of the TERMINFO_DIRS directories, the fetch fails.
    +       If  TERMINFO  is  not set, the ncurses version of the ter-
    +       minfo reader code  will  instead  look  in  the  directory
    +       $HOME/.terminfo  for  a compiled description.  If it fails
    +       to find one  there,  and  the  environment  variable  TER-
    +       MINFO_DIRS  is set, it will interpret the contents of that
    +       variable as a list of colon- separated directories  to  be
    +       searched  (an  empty  entry is interpreted as a command to
    +       search /usr/share/terminfo).  If no description  is  found
    +       in  any of the TERMINFO_DIRS directories, the fetch fails.
     
            If neither TERMINFO nor TERMINFO_DIRS  is  set,  the  last
            place   tried  will  be  the  system  terminfo  directory,
    @@ -1130,6 +1132,7 @@
            extensions   are  supported  under  stock  System  V  ter-
            minfo/curses.)
     
    +
        Preparing Descriptions
            We now outline how to prepare descriptions  of  terminals.
            The  most  effective way to prepare a terminal description
    @@ -1149,6 +1152,7 @@
            ally  needed.  A similar test can be used for insert char-
            acter.
     
    +
        Basic Capabilities
            The number of columns on each line  for  the  terminal  is
            given  by the cols numeric capability.  If the terminal is
    @@ -1186,35 +1190,35 @@
            left corner of the screen and send the ind (index) string.
     
            To scroll text down, a program goes to the top left corner
    -       of the screen and sends the  ri  (reverse  index)  string.
    -       The  strings  ind  and  ri are undefined when not on their
    +       of  the  screen  and  sends the ri (reverse index) string.
    +       The strings ind and ri are undefined  when  not  on  their
            respective corners of the screen.
     
            Parameterized versions of the scrolling sequences are indn
            and rin which have the same semantics as ind and ri except
    -       that they take one parameter, and scroll that many  lines.
    -       They  are also undefined except at the appropriate edge of
    +       that  they take one parameter, and scroll that many lines.
    +       They are also undefined except at the appropriate edge  of
            the screen.
     
    -       The am capability tells whether the cursor sticks  at  the
    -       right  edge  of  the  screen when text is output, but this
    +       The  am  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 cuf1 from the last column.
    -       The  only local motion which is defined from the left edge
    -       is if bw is given, then a cub1 from  the  left  edge  will
    -       move  to the right edge of the previous row.  If bw is not
    -       given, the effect is undefined.  This is useful for  draw-
    -       ing  a box around the edge of the screen, for example.  If
    -       the terminal has switch selectable automatic margins,  the
    -       terminfo  file  usually assumes that this is on; i.e., am.
    -       If the terminal has a command which  moves  to  the  first
    -       column  of the next line, that command can be given as nel
    -       (newline).  It does not matter if the command  clears  the
    -       remainder  of  the current line, so if the terminal has no
    -       cr and lf it may still be possible to craft a working  nel
    +       The only local motion which is defined from the left  edge
    +       is  if  bw  is  given, then a cub1 from the left edge will
    +       move to the right edge of the previous row.  If bw is  not
    +       given,  the effect is undefined.  This is useful for draw-
    +       ing a box around the edge of the screen, for example.   If
    +       the  terminal has switch selectable automatic margins, the
    +       terminfo file usually assumes that this is on;  i.e.,  am.
    +       If  the  terminal  has  a command which moves to the first
    +       column of the next line, that command can be given as  nel
    +       (newline).   It  does not matter if the command clears the
    +       remainder of the current line, so if the terminal  has  no
    +       cr  and lf it may still be possible to craft a working nel
            out of one or both of them.
     
            These  capabilities  suffice  to  describe  hard-copy  and
    -       "glass-tty" terminals.  Thus  the  model  33  teletype  is
    +       "glass-tty"  terminals.   Thus  the  model  33 teletype is
            described as
     
            33|tty33|tty|model 33 teletype,
    @@ -1226,32 +1230,34 @@
                 am, bel=^G, clear=^Z, cols#80, cr=^M, cub1=^H, cud1=^J,
                 ind=^J, lines#24,
     
    +
        Parameterized Strings
    -       Cursor  addressing  and other strings requiring parameters
    -       in the terminal are described by  a  parameterized  string
    -       capability,  with  printf(3)  like  escapes %x in it.  For
    -       example, to address the  cursor,  the  cup  capability  is
    +       Cursor addressing and other strings  requiring  parameters
    +       in  the  terminal  are described by a parameterized string
    +       capability, with printf(3) like escapes  %x  in  it.   For
    +       example,  to  address  the  cursor,  the cup 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
    +       memory.)   If  the  terminal  has  memory  relative cursor
            addressing, that can be indicated by mrcup.
     
    -       The  parameter  mechanism uses a stack and special % 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
    +       The parameter mechanism uses a stack and special  %  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 sgr string.
     
            The % encodings have the following meanings:
     
    +
            %%   outputs `%'
     
            %[[:]flags][width[.precision]][doxXs]
    -            as  in  printf, flags are [-+#] and space.  Use a `:'
    -            to allow the next character to be a `-' flag,  avoid-
    +            as in printf, flags are [-+#] and space.  Use  a  `:'
    +            to  allow the next character to be a `-' flag, avoid-
                 ing interpreting "%-" as an operator.
     
            %c   print pop() like %c in printf
    @@ -1273,11 +1279,11 @@
            %g[A-Z]
                 get static variable [a-z] and push it
     
    -            The  terms  "static"  and  "dynamic"  are misleading.
    -            Historically, these are simply two different sets  of
    -            variables,  whose  values are not reset between calls
    -            to tparm.  However, that fact is  not  documented  in
    -            other  implementations.  Relying on it will adversely
    +            The terms  "static"  and  "dynamic"  are  misleading.
    +            Historically,  these are simply two different sets of
    +            variables, whose values are not reset  between  calls
    +            to  tparm.   However,  that fact is not documented in
    +            other implementations.  Relying on it will  adversely
                 impact portability to other implementations.
     
            %'c' char constant c
    @@ -1301,16 +1307,16 @@
                 logical AND and OR operations (for conditionals)
     
            %! %~
    -            unary   operations   (logical  and  bit  complement):
    +            unary  operations  (logical  and   bit   complement):
                 push(op pop())
     
            %i   add 1 to first two parameters (for ANSI terminals)
     
            %? expr %t thenpart %e elsepart %;
    -            This forms  an  if-then-else.   The  %e  elsepart  is
    -            optional.   Usually  the  %? expr part pushes a value
    -            onto the stack, and %t pops it from the stack,  test-
    -            ing  if it is nonzero (true).  If it is zero (false),
    +            This  forms  an  if-then-else.   The  %e  elsepart is
    +            optional.  Usually the %? expr part  pushes  a  value
    +            onto  the stack, and %t pops it from the stack, test-
    +            ing if it is nonzero (true).  If it is zero  (false),
                 control passes to the %e (else) part.
     
                 It is possible to form else-if's a la Algol 68:
    @@ -1336,236 +1342,241 @@
            its.  Thus its cup capability is "cup=6\E&%p2%2dc%p1%2dY".
     
            The Microterm ACT-IV needs the current row and column sent
    -       preceded by a ^T, 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  (cub1),  and  to
    +       preceded  by  a ^T, 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 (cub1), and to
            move the cursor up one line on the screen (cuu1).  This is
    -       necessary because it is not always safe to transmit \n  ^D
    -       and  \r,  as  the system may change or discard them.  (The
    -       library routines dealing with terminfo set  tty  modes  so
    +       necessary  because it is not always safe to transmit \n ^D
    +       and \r, 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 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 col-
            umn  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 charac-
    -       ter.  Then the same is  done  for  the  second  parameter.
    +       '%+%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  charac-
    +       ter.   Then  the  same  is  done for the second parameter.
            More complex arithmetic is possible using the stack.
     
    +
        Cursor Motions
            If the terminal has a fast way to home the cursor (to very
    -       upper left corner of screen) then this  can  be  given  as
    -       home;  similarly  a fast way of getting to the lower left-
    -       hand corner can be given as ll; this may involve going  up
    -       with  cuu1  from  the  home position, but a program should
    -       never do this itself (unless ll 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
    +       upper  left  corner  of  screen) then this can be given as
    +       home; similarly a fast way of getting to the  lower  left-
    +       hand  corner can be given as ll; this may involve going up
    +       with cuu1 from the home position,  but  a  program  should
    +       never  do this itself (unless ll 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  terminals
    +       not  of  memory.   (Thus, the \EH sequence on HP terminals
            cannot be used for home.)
     
            If the terminal has row or column absolute cursor address-
    -       ing, these can be given as single  parameter  capabilities
    +       ing,  these  can be given as single parameter capabilities
            hpa (horizontal position absolute) and vpa (vertical posi-
            tion absolute).  Sometimes these are shorter than the more
    -       general  two  parameter  sequence (as with the hp2645) and
    -       can be used in preference to cup.  If there are parameter-
    -       ized  local  motions  (e.g.,  move  n spaces to the right)
    -       these can be given as cud, cub, cuf, and cuu with a single
    -       parameter  indicating  how many spaces to move.  These are
    -       primarily useful if the terminal does not have  cup,  such
    -       as the TEKTRONIX 4025.
    +       general two parameter sequence (as with  the  hp2645)  and
    +       can   be   used  in  preference  to  cup.   If  there  are
    +       parameterized local motions (e.g., move n  spaces  to  the
    +       right) these can be given as cud, cub, cuf, and cuu with a
    +       single parameter  indicating  how  many  spaces  to  move.
    +       These  are  primarily useful if the terminal does not have
    +       cup, such as the TEKTRONIX 4025.
     
            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 smcup and rmcup.  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
    +       and exit this mode can be given as smcup and rmcup.   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.
    +       into  the terminal for cursor addressing to work properly.
            This is also used for the TEKTRONIX 4025, where smcup sets
    -       the command character to be the one used by terminfo.   If
    -       the  smcup  sequence  will not restore the screen after an
    +       the  command character to be the one used by terminfo.  If
    +       the smcup sequence will not restore the  screen  after  an
            rmcup sequence is output (to the state prior to outputting
            rmcup), specify nrrmc.
     
    +
        Area Clears
            If the terminal can clear from the current position to the
    -       end of the line, leaving the  cursor  where  it  is,  this
    +       end  of  the  line,  leaving  the cursor where it is, this
            should be given as el.  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
    -       el1.  If the terminal can clear from the current  position
    -       to  the  end  of the display, then this should be given as
    -       ed.  Ed is only defined from the first column of  a  line.
    -       (Thus,  it can be simulated by a request to delete a large
    +       beginning  of  the line to the current position inclusive,
    +       leaving the cursor where it is, this should  be  given  as
    +       el1.   If the terminal can clear from the current position
    +       to the end of the display, then this should  be  given  as
    +       ed.   Ed  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 ed is not available.)
     
    +
        Insert/delete line and vertical motions
    -       If the terminal can open a new blank line before the  line
    -       where  the cursor is, this should be given as il1; this is
    -       done only from the first position of a line.   The  cursor
    +       If  the terminal can open a new blank line before the line
    +       where the cursor is, this should be given as il1; 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 dl1; this is done only from the first
    -       position on the line to be deleted.  Versions of  il1  and
    -       dl1  which  take  a  single parameter and insert or delete
    +       can  delete  the  line  which  the cursor is on, then this
    +       should be given as dl1; this is done only from  the  first
    +       position  on  the line to be deleted.  Versions of il1 and
    +       dl1 which take a single parameter  and  insert  or  delete
            that many lines can be given as il and dl.
     
    -       If the terminal has a settable scrolling region (like  the
    -       vt100)  the  command to set this can be described with the
    -       csr capability, which takes two parameters:  the  top  and
    +       If  the terminal has a settable scrolling region (like the
    +       vt100) the command to set this can be described  with  the
    +       csr  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
    +       It  is possible to get the effect of insert or delete line
            using csr on a properly chosen region; the sc and rc (save
    -       and restore cursor) commands may be  useful  for  ensuring
    -       that  your  synthesized insert/delete string does not move
    -       the cursor.  (Note that the ncurses(3x) library does  this
    -       synthesis   automatically,   so   you   need  not  compose
    +       and  restore  cursor)  commands may be useful for ensuring
    +       that your synthesized insert/delete string does  not  move
    +       the  cursor.  (Note that the ncurses(3x) library does this
    +       synthesis  automatically,  so   you   need   not   compose
            insert/delete strings for an entry with csr).
     
            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
    +       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 ri or ind on many terminals  without  a
    -       true  insert/delete line, and is often faster even on ter-
    +       Inserting lines at the top or bottom  of  the  screen  can
    +       also  be  done using ri or ind on many terminals without a
    +       true insert/delete line, and is often faster even on  ter-
            minals with those features.
     
    -       The boolean non_dest_scroll_region 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 some-
    -       thing to the bottom line, move the cursor to  the  top  of
    +       The  boolean  non_dest_scroll_region 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  some-
    +       thing  to  the  bottom line, move the cursor to the top of
            the region, and do ri followed by dl1 or ind.  If the data
    -       scrolled off the bottom  of  the  region  by  the  ri  re-
    -       appears,  then scrolling is non-destructive.  System V and
    -       XSI Curses expect that ind, ri, indn, and rin  will  simu-
    -       late  destructive  scrolling; their documentation cautions
    -       you not to define csr unless this is  true.   This  curses
    +       scrolled  off  the  bottom  of  the  region  by the ri re-
    +       appears, then scrolling is non-destructive.  System V  and
    +       XSI  Curses  expect that ind, ri, indn, and rin will simu-
    +       late destructive scrolling; their  documentation  cautions
    +       you  not  to  define csr unless this is true.  This curses
            implementation is more liberal and will do explicit erases
            after scrolling if ndstr is defined.
     
            If the terminal has the ability to define a window as part
    -       of  memory,  which all commands affect, it should be given
    +       of memory, which all commands affect, it should  be  given
            as the parameterized string wind.  The four parameters are
    -       the  starting  and ending lines in memory and the starting
    +       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
    -       da  capability  should  be given; if display memory can be
    -       retained below, then db should be given.   These  indicate
    -       that  deleting  a  line  or  scrolling may bring non-blank
    -       lines up from below or that scrolling  back  with  ri  may
    +       If  the terminal can retain display memory above, then the
    +       da capability should be given; if display  memory  can  be
    +       retained  below,  then db should be given.  These indicate
    +       that deleting a line  or  scrolling  may  bring  non-blank
    +       lines  up  from  below  or that scrolling back with ri may
            bring down non-blank lines.
     
    +
        Insert/Delete Character
    -       There  are  two  basic kinds of intelligent terminals with
    -       respect to insert/delete character which can be  described
    -       using  terminfo.   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)
    +       There are two basic kinds of  intelligent  terminals  with
    +       respect  to insert/delete character which can be described
    +       using terminfo.  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
    +       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 ter-
    -       minal 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 in, which  stands
    +       minal  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 in, 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 ter-
    +       attributes  (one  line  versus multi-line insert mode, and
    +       special treatment of untyped spaces) we have seen no  ter-
            minals whose insert mode cannot be described with the sin-
            gle attribute.
     
    -       Terminfo  can describe both terminals which have an insert
    +       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 smir the
    -       sequence to get  into  insert  mode.   Give  as  rmir  the
    -       sequence  to  leave  insert  mode.   Now  give as ich1 any
    -       sequence needed to be sent just before sending the charac-
    -       ter  to  be  inserted.   Most terminals with a true insert
    -       mode will not give ich1; terminals which send  a  sequence
    -       to open a screen position should give it here.
    -
    -       If  your terminal has both, insert mode is usually prefer-
    -       able to ich1.   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
    +       blank position on the current  line.   Give  as  smir  the
    +       sequence  to  get  into  insert  mode.   Give  as rmir the
    +       sequence to leave insert  mode.   Now  give  as  ich1  any
    +       sequence  needed  to  be  sent  just  before  sending  the
    +       character to be inserted.   Most  terminals  with  a  true
    +       insert  mode  will  not  give ich1; terminals which send a
    +       sequence to open a screen position should give it here.
    +
    +       If your terminal has both, insert mode is usually  prefer-
    +       able  to  ich1.   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 ich sequences do not require previous smir,
            and most smir insert modes do not require ich1 before each
    -       character.   Therefore,  the  new  curses actually assumes
    -       this is the case and uses either rmir/smir or ich/ich1  as
    +       character.  Therefore, the  new  curses  actually  assumes
    +       this  is the case and uses either rmir/smir or ich/ich1 as
            appropriate (but not both).  If you have to write an entry
    -       to be used under new curses for a terminal old  enough  to
    +       to  be  used under new curses for a terminal old enough to
            need both, include the rmir/smir sequences in ich1.
     
            If post insert padding is needed, give this as a number of
    -       milliseconds in ip (a string option).  Any other  sequence
    -       which  may  need  to  be  sent after an insert of a single
    +       milliseconds  in ip (a string option).  Any other sequence
    +       which may need to be sent after  an  insert  of  a  single
            character may also be given in ip.  If your terminal needs
            both to be placed into an `insert mode' and a special code
    -       to precede each inserted character,  then  both  smir/rmir
    -       and  ich1  can  be  given, and both will be used.  The ich
    +       to  precede  each  inserted character, then both smir/rmir
    +       and ich1 can be given, and both will  be  used.   The  ich
            capability, with one parameter, n, will repeat the effects
            of ich1 n times.
     
            If padding is necessary between characters typed while not
    -       in insert mode, give this as a number of milliseconds pad-
    -       ding in rmp.
    -
    -       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  mir  to  speed up inserting in this case.
    -       Omitting mir  will  affect  only  speed.   Some  terminals
    +       in  insert  mode,  give  this  as a number of milliseconds
    +       padding in rmp.
    +
    +       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 mir to speed up  inserting  in  this  case.
    +       Omitting  mir  will  affect  only  speed.   Some terminals
            (notably Datamedia's) must not have mir because of the way
            their insert mode works.
     
    -       Finally, you can specify dch1 to delete a  single  charac-
    -       ter,  dch  with  one parameter, n, to delete n characters,
    -       and delete mode by giving smdc and rmdc to enter and  exit
    -       delete  mode  (any mode the terminal needs to be placed in
    +       Finally,  you  can specify dch1 to delete a single charac-
    +       ter, dch with one parameter, n, to  delete  n  characters,
    +       and  delete mode by giving smdc and rmdc to enter and exit
    +       delete mode (any mode the terminal needs to be  placed  in
            for dch1 to work).
     
    -       A command to erase n characters (equivalent to  outputting
    -       n  blanks  without  moving the cursor) can be given as ech
    +       A  command to erase n characters (equivalent to outputting
    +       n blanks without moving the cursor) can be  given  as  ech
            with one parameter.
     
    +
        Highlighting, Underlining, and Visible Bells
            If  your  terminal  has  one  or  more  kinds  of  display
    -       attributes,  these  can be represented in a number of dif-
    +       attributes, these can be represented in a number  of  dif-
            ferent ways.  You should choose one display form as stand-
            out mode, 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
    -       smso and rmso, respectively.  If the code to  change  into
    -       or  out of standout mode leaves one or even two blank spa-
    -       ces on the screen, as the TVI 912  and  Teleray  1061  do,
    +       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
    +       smso  and  rmso, 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 xmc should be given to tell how many spaces are left.
     
            Codes  to  begin  underlining  and  end underlining can be
    @@ -1594,18 +1605,19 @@
     
            For example, the DEC vt220 supports most of the modes:
     
    -        tparm parameter      attribute        escape sequence
     
    -        none                 none             \E[0m
    -        p1                   standout         \E[0;1;7m
    -        p2                   underline        \E[0;4m
    -        p3                   reverse          \E[0;7m
    -        p4                   blink            \E[0;5m
    -        p5                   dim              not available
    -        p6                   bold             \E[0;1m
    -        p7                   invis            \E[0;8m
    -        p8                   protect          not used
    -        p9                   altcharset       ^O (off) ^N (on)
    +            tparm parameter   attribute    escape sequence
    +
    +            none              none         \E[0m
    +            p1                standout     \E[0;1;7m
    +            p2                underline    \E[0;4m
    +            p3                reverse      \E[0;7m
    +            p4                blink        \E[0;5m
    +            p5                dim          not available
    +            p6                bold         \E[0;1m
    +            p7                invis        \E[0;8m
    +            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
    @@ -1625,16 +1637,18 @@
            Writing out the above sequences, along with  their  depen-
            dencies yields
     
    -      sequence             when to output      terminfo translation
     
    -      \E[0                 always              \E[0
    -      ;1                   if p1 or p6         %?%p1%p6%|%t;1%;
    -      ;4                   if p2               %?%p2%|%t;4%;
    -      ;5                   if p4               %?%p4%|%t;5%;
    -      ;7                   if p1 or p3         %?%p1%p3%|%t;7%;
    -      ;8                   if p7               %?%p7%|%t;8%;
    -      m                    always              m
    -      ^N or ^O             if p9 ^N, else ^O   %?%p9%t^N%e^O%;
    +          sequence   when to output      terminfo translation
    +
    +          \E[0       always              \E[0
    +          ;1         if p1 or p6         %?%p1%p6%|%t;1%;
    +          ;4         if p2               %?%p2%|%t;4%;
    +          ;5         if p4               %?%p4%|%t;5%;
    +
    +          ;7         if p1 or p3         %?%p1%p3%|%t;7%;
    +          ;8         if p7               %?%p7%|%t;8%;
    +          m          always              m
    +          ^N or ^O   if p9 ^N, else ^O   %?%p9%t^N%e^O%;
     
            Putting this all together into the sgr sequence gives:
     
    @@ -1681,6 +1695,7 @@
            erasable with a blank, then this should  be  indicated  by
            giving eo.
     
    +
        Keypad and Function Keys
            If the terminal has a keypad that transmits codes when the
            keys are pressed, this information  can  be  given.   Note
    @@ -1695,68 +1710,70 @@
            tion  keys  such  as f0, f1, ..., f10, the codes they send
            can be given as kf0, kf1, ..., kf10.  If these  keys  have
            labels  other  than the default f0 through f10, the labels
    -       can be given as lf0, lf1, ..., lf10.  The codes  transmit-
    -       ted  by certain other special keys can be given: kll (home
    -       down), kbs  (backspace),  ktbc  (clear  all  tabs),  kctab
    -       (clear the tab stop in this column), kclr (clear screen or
    -       erase key), kdch1 (delete character), kdl1 (delete  line),
    -       krmir  (exit insert mode), kel (clear to end of line), ked
    -       (clear to end of screen), kich1 (insert character or enter
    -       insert  mode),  kil1  (insert  line), knp (next page), kpp
    -       (previous page), kind (scroll forward/down),  kri  (scroll
    -       backward/up),  khts  (set  a tab stop in this column).  In
    -       addition, if the keypad has a 3 by 3 array of keys includ-
    -       ing  the four arrow keys, the other five keys can be given
    -       as ka1, ka3, kb2, kc1, and kc3.   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 pfkey,
    -       pfloc, and pfx.  A string to program screen labels  should
    -       be  specified  as  pln.   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 num-
    -       bers out of this range may program  undefined  keys  in  a
    -       terminal  dependent  manner.   The  difference between the
    -       capabilities is that pfkey causes pressing the  given  key
    -       to  be the same as the user typing the given string; pfloc
    +       can  be  given  as  lf0,  lf1,  ...,  lf10.    The   codes
    +       transmitted  by  certain  other special keys can be given:
    +       kll (home down), kbs (backspace), ktbc (clear  all  tabs),
    +       kctab  (clear  the  tab  stop in this column), kclr (clear
    +       screen or  erase  key),  kdch1  (delete  character),  kdl1
    +       (delete line), krmir (exit insert mode), kel (clear to end
    +       of line), ked (clear to  end  of  screen),  kich1  (insert
    +       character  or  enter insert mode), kil1 (insert line), knp
    +       (next  page),  kpp  (previous  page),  kind  (scroll  for-
    +       ward/down), kri (scroll backward/up), khts (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 ka1, ka3,  kb2,  kc1,  and  kc3.
    +       These  keys are useful when the effects of a 3 by 3 direc-
    +       tional pad are needed.
    +
    +       Strings to program function keys can be  given  as  pfkey,
    +       pfloc,  and pfx.  A string to program screen labels should
    +       be specified as pln.  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  num-
    +       bers  out  of  this  range may program undefined keys in a
    +       terminal dependent manner.   The  difference  between  the
    +       capabilities  is  that pfkey causes pressing the given key
    +       to be the same as the user typing the given string;  pfloc
            causes the string to be executed by the terminal in local;
    -       and  pfx  causes  the string to be transmitted to the com-
    +       and pfx causes the string to be transmitted  to  the  com-
            puter.
     
            The capabilities nlab, lw and lh define the number of pro-
    -       grammable  screen  labels  and their width and height.  If
    -       there are commands to turn the labels  on  and  off,  give
    -       them  in smln and rmln.  smln is normally output after one
    +       grammable screen labels and their width  and  height.   If
    +       there  are  commands  to  turn the labels on and off, give
    +       them in smln and rmln.  smln is normally output after  one
            or more pln sequences to make sure that the change becomes
            visible.
     
    +
        Tabs and Initialization
    -       If  the terminal has hardware tabs, the command to advance
    -       to the next tab stop can be given as ht  (usually  control
    -       I).   A  ``back-tab''  command which moves leftward to the
    +       If the terminal has hardware tabs, the command to  advance
    +       to  the  next tab stop can be given as ht (usually control
    +       I).  A ``back-tab'' command which moves  leftward  to  the
            preceding tab stop can be given as cbt.  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  ht  or  cbt  even  if they are
    -       present, since the user may not have the tab  stops  prop-
    -       erly  set.   If  the  terminal has hardware tabs which are
    -       initially set every n spaces when the terminal is  powered
    -       up,  the numeric parameter it is given, showing the number
    -       of spaces the tabs are set to.  This is normally  used  by
    -       the  tset command to determine 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
    +       the teletype modes indicate that tabs are  being  expanded
    +       by  the  computer  rather than being sent to the terminal,
    +       programs should not  use  ht  or  cbt  even  if  they  are
    +       present,  since  the user may not have the tab stops prop-
    +       erly set.  If the terminal has  hardware  tabs  which  are
    +       initially  set every n spaces when the terminal is powered
    +       up, the numeric parameter it is given, showing the  number
    +       of  spaces  the tabs are set to.  This is normally used by
    +       the tset command to determine 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
            they are properly set.
     
    -       Other  capabilities include is1, is2, and is3, initializa-
    -       tion strings for the terminal, iprog, the path name  of  a
    -       program  to be run to initialize the terminal, and if, 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.
    +       Other capabilities include is1, is2, and is3,  initializa-
    +       tion  strings  for the terminal, iprog, the path name of a
    +       program to be run to initialize the terminal, and if,  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 init option
    -       of the tput program, each time the  user  logs  in.   They
    +       of  the  tput  program,  each time the user logs in.  They
            will be printed in the following order:
     
                   run the program
    @@ -1776,99 +1793,101 @@
                   and finally
                          output is3.
     
    -       Most  initialization  is  done with is2.  Special terminal
    +       Most initialization is done with  is2.   Special  terminal
            modes can be set up without duplicating strings by putting
    -       the  common  sequences in is2 and special cases in is1 and
    +       the common sequences in is2 and special cases in  is1  and
            is3.
     
            A set of sequences that does a harder reset from a totally
            unknown state can be given as rs1, rs2, rf and rs3, analo-
    -       gous to is1 ,  is2  ,  if  and  is3  respectively.   These
    -       strings  are  output  by  the reset program, which is used
    -       when the terminal gets into a wedged state.  Commands  are
    -       normally  placed  in rs1, rs2 rs3 and rf only if they pro-
    -       duce 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  is2,
    -       but  it causes an annoying glitch of the screen and is not
    -       normally needed since the terminal is usually  already  in
    +       gous  to  is1  ,  is2  ,  if  and is3 respectively.  These
    +       strings are output by the reset  program,  which  is  used
    +       when  the terminal gets into a wedged state.  Commands are
    +       normally placed in rs1, rs2 rs3 and rf only if  they  pro-
    +       duce  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 is2,
    +       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 reset program writes strings including iprog, etc., in
    -       the same order as  the  init  program,  using  rs1,  etc.,
    +       the  same  order  as  the  init  program, using rs1, etc.,
            instead of is1, etc.  If any of rs1, rs2, rs3, or rf reset
    -       capability strings are missing, the  reset  program  falls
    +       capability  strings  are  missing, the reset program falls
            back  upon  the  corresponding  initialization  capability
            string.
     
            If there are commands to set and clear tab stops, they can
    -       be  given  as tbc (clear all tab stops) and hts (set a tab
    -       stop in the current column of every row).  If a more  com-
    -       plex  sequence  is  needed  to  set  the  tabs than can be
    -       described by this, the sequence can be placed  in  is2  or
    +       be given as tbc (clear all tab stops) and hts (set  a  tab
    +       stop  in the current column of every row).  If a more com-
    +       plex sequence is needed  to  set  the  tabs  than  can  be
    +       described  by  this,  the sequence can be placed in is2 or
            if.
     
        Delays and Padding
    -       Many  older  and  slower  terminals  do not support either
    +       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  cer-
    +       and some very archaic CRTs (including,  for  example,  DEC
    +       VT100s).   These may require padding characters after cer-
            tain 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
    +       (that  is, it automatically emits ^S back to the host when
            its input buffers are close to full), set xon.  This capa-
    -       bility 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 deci-
    +       bility  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  deci-
            sions about relative costs, but actual pad characters will
            not be transmitted.
     
    -       If  pb (padding baud rate) is given, padding is suppressed
    -       at baud rates below the value of pb.  If the entry has  no
    -       padding  baud rate, then whether padding is emitted or not
    +       If pb (padding baud rate) is given, padding is  suppressed
    +       at  baud rates below the value of pb.  If the entry has no
    +       padding baud rate, then whether padding is emitted or  not
            is completely controlled by xon.
     
    -       If the terminal requires other than a null (zero)  charac-
    -       ter  as  a  pad,  then this can be given as pad.  Only the
    +       If  the terminal requires other than a null (zero) charac-
    +       ter as a pad, then this can be given  as  pad.   Only  the
            first character of the pad string is used.
     
    +
        Status Lines
    -       Some terminals have an extra `status line'  which  is  not
    -       normally  used  by  software  (and thus not counted in the
    +       Some  terminals  have  an extra `status line' which is not
    +       normally used by software (and thus  not  counted  in  the
            terminal's lines capability).
     
    -       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 scrolling
    -       region set up on initialization.  This situation is  indi-
    +       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  scrolling
    +       region  set up on initialization.  This situation is indi-
            cated by the hs capability.
     
            Some terminals with status lines need special sequences to
    -       access the status line.   These  may  be  expressed  as  a
    +       access  the  status  line.   These  may  be expressed as a
            string with single parameter tsl which takes the cursor to
    -       a given zero-origin column on the status line.  The  capa-
    +       a  given zero-origin column on the status line.  The capa-
            bility fsl must return to the main-screen cursor positions
    -       before the last tsl.  You may need  to  embed  the  string
    -       values  of sc (save cursor) and rc (restore cursor) in tsl
    +       before  the  last  tsl.   You may need to embed the string
    +       values of sc (save cursor) and rc (restore cursor) in  tsl
            and fsl 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
    +       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 wsl.
     
    -       A command to erase or blank the status line may be  speci-
    +       A  command to erase or blank the status line may be speci-
            fied as dsl.
     
    -       The   boolean   capability  eslok  specifies  that  escape
    +       The  boolean  capability  eslok  specifies   that   escape
            sequences, tabs, etc., work ordinarily in the status line.
     
            The ncurses implementation does not yet use any  of  these
            capabilities.   They are documented here in case they ever
            become important.
     
    +
        Line Graphics
            Many terminals have alternate character  sets  useful  for
            forms-drawing.   Terminfo  and curses build in support for
    @@ -1876,41 +1895,42 @@
            characters  from  the  AT&T  4410v1 added.  This alternate
            character set may be specified by the acsc capability.
     
    -       Glyph                       ACS           Ascii     VT100
    -       Name                        Name          Default   Name
    -       UK pound sign               ACS_STERLING  f         }
    -       arrow pointing down         ACS_DARROW    v         .
    -       arrow pointing left         ACS_LARROW    <         ,
    -       arrow pointing right        ACS_RARROW    >         +
    -       arrow pointing up           ACS_UARROW    ^         -
    -       board of squares            ACS_BOARD     #         h
    -       bullet                      ACS_BULLET    o         ~
    -       checker board (stipple)     ACS_CKBOARD   :         a
    -       degree symbol               ACS_DEGREE    \         f
    -       diamond                     ACS_DIAMOND   +         `
    -       greater-than-or-equal-to    ACS_GEQUAL    >         z
    -       greek pi                    ACS_PI        *         {
    -       horizontal line             ACS_HLINE     -         q
    -       lantern symbol              ACS_LANTERN   #         i
    -       large plus or crossover     ACS_PLUS      +         n
    -       less-than-or-equal-to       ACS_LEQUAL    <         y
    -       lower left corner           ACS_LLCORNER  +         m
    -       lower right corner          ACS_LRCORNER  +         j
    -       not-equal                   ACS_NEQUAL    !         |
    -       plus/minus                  ACS_PLMINUS   #         g
    -       scan line 1                 ACS_S1        ~         o
    -       scan line 3                 ACS_S3        -         p
    -       scan line 7                 ACS_S7        -         r
    -       scan line 9                 ACS_S9        _         s
    -       solid square block          ACS_BLOCK     #         0
    -       tee pointing down           ACS_TTEE      +         w
    -       tee pointing left           ACS_RTEE      +         u
    -       tee pointing right          ACS_LTEE      +         t
    -       tee pointing up             ACS_BTEE      +         v
    -       upper left corner           ACS_ULCORNER  +         l
    -
    -       upper right corner          ACS_URCORNER  +         k
    -       vertical line               ACS_VLINE     |         x
    +
    +       Glyph                      ACS            Ascii      VT100
    +       Name                       Name           Default    Name
    +       UK pound sign              ACS_STERLING   f          }
    +       arrow pointing down        ACS_DARROW     v          .
    +       arrow pointing left        ACS_LARROW     <          ,
    +       arrow pointing right       ACS_RARROW     >          +
    +       arrow pointing up          ACS_UARROW     ^          -
    +       board of squares           ACS_BOARD      #          h
    +       bullet                     ACS_BULLET     o          ~
    +       checker board (stipple)    ACS_CKBOARD    :          a
    +       degree symbol              ACS_DEGREE     \          f
    +       diamond                    ACS_DIAMOND    +          `
    +       greater-than-or-equal-to   ACS_GEQUAL     >          z
    +       greek pi                   ACS_PI         *          {
    +       horizontal line            ACS_HLINE      -          q
    +       lantern symbol             ACS_LANTERN    #          i
    +       large plus or crossover    ACS_PLUS       +          n
    +       less-than-or-equal-to      ACS_LEQUAL     <          y
    +
    +       lower left corner          ACS_LLCORNER   +          m
    +       lower right corner         ACS_LRCORNER   +          j
    +       not-equal                  ACS_NEQUAL     !          |
    +       plus/minus                 ACS_PLMINUS    #          g
    +       scan line 1                ACS_S1         ~          o
    +       scan line 3                ACS_S3         -          p
    +       scan line 7                ACS_S7         -          r
    +       scan line 9                ACS_S9         _          s
    +       solid square block         ACS_BLOCK      #          0
    +       tee pointing down          ACS_TTEE       +          w
    +       tee pointing left          ACS_RTEE       +          u
    +       tee pointing right         ACS_LTEE       +          t
    +       tee pointing up            ACS_BTEE       +          v
    +       upper left corner          ACS_ULCORNER   +          l
    +       upper right corner         ACS_URCORNER   +          k
    +       vertical line              ACS_VLINE      |          x
     
            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,
    @@ -1920,6 +1940,7 @@
            acter  pairs  right  to left in sequence; these become the
            ACSC string.
     
    +
        Color Handling
            Most color terminals are either `Tektronix-like'  or  `HP-
            like'.   Tektronix-like terminals have a predefined set of
    @@ -1965,6 +1986,7 @@
            these  as  it  likes,  but  the RGB values indicate normal
            locations in color space.
     
    +
                  Color       #define       Value       RGB
                  black     COLOR_BLACK       0     0, 0, 0
                  red       COLOR_RED         1     max,0,0
    @@ -2016,16 +2038,17 @@
            ors  are  enabled.  The correspondence with the attributes
            understood by curses is as follows:
     
    -              Attribute                   Bit    Decimal
    -              A_STANDOUT                  0     1
    -              A_UNDERLINE                 1     2
    -              A_REVERSE                   2     4
    -              A_BLINK                     3     8
    -              A_DIM                       4     16
    -              A_BOLD                      5     32
    -              A_INVIS                     6     64
    -              A_PROTECT                   7     128
    -              A_ALTCHARSET                8     256
    +
    +                      Attribute      Bit   Decimal
    +                      A_STANDOUT     0     1
    +                      A_UNDERLINE    1     2
    +                      A_REVERSE      2     4
    +                      A_BLINK        3     8
    +                      A_DIM          4     16
    +                      A_BOLD         5     32
    +                      A_INVIS        6     64
    +                      A_PROTECT      7     128
    +                      A_ALTCHARSET   8     256
     
            For example,  on  many  IBM  PC  consoles,  the  underline
            attribute  collides  with the foreground color blue and is
    @@ -2035,6 +2058,7 @@
            SVr4  curses  does nothing with ncv, ncurses recognizes it
            and optimizes the output in favor of colors.
     
    +
        Miscellaneous
            If the terminal requires other than a null (zero)  charac-
            ter  as  a  pad,  then this can be given as pad.  Only the
    @@ -2108,6 +2132,7 @@
            text,  including  mc4,  is  transparently  passed  to  the
            printer while an mc5p is in effect.
     
    +
        Glitches and Braindamage
            Hazeltine terminals, which do not allow `~' characters  to
            be displayed should indicate hz.
    @@ -2115,207 +2140,209 @@
            Terminals which ignore a line-feed immediately after an am
            wrap, such as the Concept and vt100, should indicate xenl.
     
    -       If el is required to  get  rid  of  standout  (instead  of
    -       merely  writing  normal  text on top of it), xhp should be
    +       If  el  is  required  to  get  rid of standout (instead of
    +       merely writing normal text on top of it),  xhp  should  be
            given.
     
    -       Teleray terminals, where tabs turn  all  characters  moved
    -       over  to  blanks,  should  indicate xt (destructive tabs).
    -       Note:   the    variable    indicating    this    is    now
    -       `dest_tabs_magic_smso';  in  older  versions,  it was tel-
    +       Teleray  terminals,  where  tabs turn all characters moved
    +       over to blanks, should  indicate  xt  (destructive  tabs).
    +       Note:    the    variable    indicating    this    is   now
    +       `dest_tabs_magic_smso'; in older  versions,  it  was  tel-
            eray_glitch.  This glitch is also taken to mean that it is
    -       not  possible  to  position the cursor on top of a ``magic
    +       not possible to position the cursor on top  of  a  ``magic
            cookie'', that to erase standout mode it is instead neces-
            sary to use delete and insert line.  The ncurses implemen-
            tation ignores this glitch.
     
    -       The Beehive Superbee, which is unable to correctly  trans-
    -       mit  the escape or control C characters, has xsb, indicat-
    -       ing 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
    +       The  Beehive Superbee, which is unable to correctly trans-
    +       mit the escape or control C characters, has xsb,  indicat-
    +       ing  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
    +       Other  specific  terminal  problems  may  be  corrected by
            adding more capabilities of the form xx.
     
    +
        Similar Terminals
            If there are two very similar terminals, one (the variant)
    -       can be defined as being just like  the  other  (the  base)
    -       with  certain  exceptions.  In the definition of the vari-
    -       ant, the string capability use can be given with the  name
    -       of  the  base terminal.  The capabilities given before use
    -       override those in the base type named by  use.   If  there
    -       are  multiple use capabilities, they are merged in reverse
    -       order.  That is, the rightmost use reference is  processed
    -       first,  then the one to its left, and so forth.  Capabili-
    -       ties given explicitly in the entry override those  brought
    +       can  be  defined  as  being just like the other (the base)
    +       with certain exceptions.  In the definition of  the  vari-
    +       ant,  the string capability use can be given with the name
    +       of the base terminal.  The capabilities given  before  use
    +       override  those  in  the base type named by use.  If there
    +       are multiple use capabilities, they are merged in  reverse
    +       order.   That is, the rightmost use reference is processed
    +       first, then the one to its left, and so forth.   Capabili-
    +       ties  given explicitly in the entry override those brought
            in by use references.
     
            A capability can be canceled by placing xx@ to the left of
    -       the use reference that imports it, where xx is  the  capa-
    +       the  use  reference that imports it, where xx is the capa-
            bility.  For example, the entry
     
    -                                2621-nl, smkx@, rmkx@, use=2621,
    +                   2621-nl, smkx@, rmkx@, use=2621,
     
    -       defines  a  2621-nl  that  does  not have the smkx or rmkx
    -       capabilities, and hence does not turn on the function  key
    -       labels  when in visual mode.  This is useful for different
    +       defines a 2621-nl that does not  have  the  smkx  or  rmkx
    +       capabilities,  and hence does not turn on the function key
    +       labels when in visual mode.  This is useful for  different
            modes for a terminal, or for different user preferences.
     
    +
        Pitfalls of Long Entries
    -       Long terminfo entries are unlikely to  be  a  problem;  to
    -       date,  no  entry  has even approached terminfo's 4096-byte
    +       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 transla-
            tions are much more strictly limited (to 1023 bytes), thus
    -       termcap translations of long terminfo  entries  can  cause
    +       termcap  translations  of  long terminfo entries can cause
            problems.
     
    -       The  man  pages for 4.3BSD and older versions of tgetent()
    -       instruct the user to allocate a 1024-byte buffer  for  the
    -       termcap  entry.   The  entry  gets  null-terminated by the
    +       The man pages for 4.3BSD and older versions  of  tgetent()
    +       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
    +       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 tgetent()
            is searching for is, several bad things can happen.
     
    -       Some termcap libraries print a warning message or exit  if
    -       they  find  an entry that's longer than 1023 bytes; others
    -       do not; others truncate the entries to 1023  bytes.   Some
    +       Some  termcap libraries print a warning message or exit if
    +       they find an entry that's longer than 1023  bytes;  others
    +       do  not;  others truncate the entries to 1023 bytes.  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 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
    +       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  par-
    -       ticular  terminal.   This is the length of the entry as it
    +       The "before tc expansion" length  is  the  most  important
    +       one,  because it affects more than just users of that par-
    +       ticular terminal.  This is the length of the entry  as  it
            exists in /etc/termcap, minus the backslash-newline pairs,
            which tgetent() strips out while reading it.  Some termcap
    -       libraries strip off the final newline,  too  (GNU  termcap
    +       libraries  strip  off  the final newline, too (GNU termcap
            does not).  Now suppose:
     
    -       *    a  termcap  entry  before expansion is more than 1023
    +       *    a termcap entry before expansion is  more  than  1023
                 bytes long,
     
            *    and the application has only allocated a 1k buffer,
     
    -       *    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
    +       *    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,
     
    -       *    and  tgetent()  is searching for a terminal type that
    +       *    and tgetent() 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 tgetent() has  to  search  the  whole
    +            after the long entry, or does not appear in the  file
    +            at  all  (so  that  tgetent() has to search the whole
                 termcap file).
     
    -       Then  tgetent()  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
    +       Then tgetent() 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 above, but only for people who actually set TERM to
    -       that terminal type, since tgetent() only does "tc"  expan-
    -       sion  once  it  is  found the terminal type it was looking
    +       that  terminal type, since tgetent() only does "tc" expan-
    +       sion 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,
    +       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 ter-
    -       minal  types and users whose TERM variable does not have a
    +       minal types and users whose TERM variable does not have  a
            termcap entry.
     
            When in -C (translate to termcap) mode, the ncurses imple-
            mentation of tic(1m) 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)
    +       tc  length  of  a termcap translation is too long.  The -c
    +       (check) option also checks resolved (after  tc  expansion)
            lengths.
     
        Binary Compatibility
    -       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
    +       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
    +       SVr1,  and have added extension capabilities to the string
    +       table that (in the binary format) collide  with  System  V
            and XSI Curses extensions.
     
     
     

    EXTENSIONS

    -       Some SVr4 curses  implementations,  and  all  previous  to
    -       SVr4,  do not interpret the %A and %O operators in parame-
    +       Some  SVr4  curses  implementations,  and  all previous to
    +       SVr4, do not interpret the %A and %O operators in  parame-
            ter strings.
     
    -       SVr4/XPG4 do not specify whether  msgr  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 ncurses implementation
    -       ignores msgr in ALTCHARSET mode.  This raises  the  possi-
    -       bility  that  an  XPG4  implementation making the opposite
    -       interpretation may need terminfo entries made for  ncurses
    +       SVr4/XPG4  do  not  specify whether msgr 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  ncurses  implementation
    +       ignores  msgr  in ALTCHARSET mode.  This raises the possi-
    +       bility that an XPG4  implementation  making  the  opposite
    +       interpretation  may need terminfo entries made for ncurses
            to have msgr turned off.
     
    -       The  ncurses  library handles insert-character and insert-
    +       The ncurses library handles insert-character  and  insert-
            character modes in a slightly non-standard way to get bet-
    -       ter  update  efficiency.   See the Insert/Delete Character
    +       ter update efficiency.  See  the  Insert/Delete  Character
            subsection above.
     
    -       The  parameter  substitutions  for  set_clock   and   dis-
    -       play_clock  are  not  documented in SVr4 or the XSI Curses
    +       The   parameter   substitutions  for  set_clock  and  dis-
    +       play_clock are not documented in SVr4 or  the  XSI  Curses
            standard.  They are deduced from the documentation for the
            AT&T 505 terminal.
     
    -       Be  careful  assigning  the kmous capability.  The ncurses
    -       wants to interpret it as KEY_MOUSE, for use  by  terminals
    -       and  emulators  like  xterm that can return mouse-tracking
    +       Be careful assigning the kmous  capability.   The  ncurses
    +       wants  to  interpret it as KEY_MOUSE, for use by terminals
    +       and emulators like xterm that  can  return  mouse-tracking
            information in the keyboard-input stream.
     
    -       Different commercial ports of terminfo and curses  support
    -       different  subsets of the XSI Curses standard and (in some
    +       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, accu-
            rate as of October 1995:
     
            SVR4, Solaris, ncurses -- These support all SVr4 capabili-
            ties.
     
    -       SGI --  Supports  the  SVr4  set,  adds  one  undocumented
    +       SGI  --  Supports  the  SVr4  set,  adds  one undocumented
            extended string capability (set_pglen).
     
    -       SVr1,  Ultrix -- These support a restricted subset of ter-
    -       minfo capabilities.  The booleans end with  xon_xoff;  the
    -       numerics  with  width_status_line;  and  the  strings with
    +       SVr1, Ultrix -- These support a restricted subset of  ter-
    +       minfo  capabilities.   The booleans end with xon_xoff; the
    +       numerics with  width_status_line;  and  the  strings  with
            prtr_non.
     
    -       HP/UX -- Supports  the  SVr1  subset,  plus  the  SVr[234]
    +       HP/UX  --  Supports  the  SVr1  subset,  plus the SVr[234]
            numerics num_labels, label_height, label_width, plus func-
    -       tion keys 11 through 63,  plus  plab_norm,  label_on,  and
    +       tion  keys  11  through  63, plus plab_norm, label_on, and
            label_off, plus some incompatible extensions in the string
            table.
     
    -       AIX -- Supports the SVr1 subset,  plus  function  keys  11
    -       through  63,  plus  a  number of incompatible string table
    +       AIX  --  Supports  the  SVr1 subset, plus function keys 11
    +       through 63, plus a number  of  incompatible  string  table
            extensions.
     
    -       OSF -- Supports both the SVr4 set and the AIX extensions.
    +       OSF  -- Supports both the SVr4 set and the AIX extensions.
     
     
     
    diff --git a/doc/html/man/tic.1m.html b/doc/html/man/tic.1m.html index 87af6623..9b246b5d 100644 --- a/doc/html/man/tic.1m.html +++ b/doc/html/man/tic.1m.html @@ -160,11 +160,11 @@ -r Force entry resolution (so there are no remaining tc capabilities) even when doing translation to - termcap format. This may be needed if you are pre- - paring a termcap file for a termcap library (such - as GNU termcap through version 1.3 or BSD termcap - through 4.3BSD) that does not handle multiple tc - capabilities per entry. + termcap format. This may be needed if you are + preparing a termcap file for a termcap library + (such as GNU termcap through version 1.3 or BSD + termcap through 4.3BSD) that does not handle multi- + ple tc capabilities per entry. -s Summarize the compile by showing the directory into which entries are written, and the number of @@ -228,45 +228,45 @@ 9 All values computed in construction of the hash ta- ble - If the debug level n is not given, it is taken to be one. + If the debug level n is not given, it is taken to be one. All but one of the capabilities recognized by tic are doc- umented in terminfo(5). The exception is the use capabil- ity. - When a use=entry-name field is discovered in a terminal - entry currently being compiled, tic reads in the binary - from /usr/share/terminfo to complete the entry. (Entries - created from file will be used first. If the environment - variable TERMINFO is set, that directory is searched + When a use=entry-name field is discovered in a terminal + entry currently being compiled, tic reads in the binary + from /usr/share/terminfo to complete the entry. (Entries + created from file will be used first. If the environment + variable TERMINFO is set, that directory is searched instead of /usr/share/terminfo.) tic duplicates the capa- - bilities in entry-name for the current entry, with the - exception of those capabilities that explicitly are + bilities in entry-name for the current entry, with the + exception of those capabilities that explicitly are defined in the current entry. - When an entry, e.g., entry_name_1, contains a - use=entry_name_2 field, any canceled capabilities in - entry_name_2 must also appear in entry_name_1 before use= + When an entry, e.g., entry_name_1, contains a + use=entry_name_2 field, any canceled capabilities in + entry_name_2 must also appear in entry_name_1 before use= for these capabilities to be canceled in entry_name_1. - If the environment variable TERMINFO is set, the compiled + If the environment variable TERMINFO is set, the compiled results are placed there instead of /usr/share/terminfo. Total compiled entries cannot exceed 4096 bytes. The name - field cannot exceed 512 bytes. Terminal names exceeding - the maximum alias length (32 characters on systems with + field cannot exceed 512 bytes. Terminal names exceeding + the maximum alias length (32 characters on systems with long filenames, 14 characters otherwise) will be truncated - to the maximum alias length and a warning message will be + to the maximum alias length and a warning message will be printed.

    COMPATIBILITY

    -       There  is  some evidence that historic tic implementations
    -       treated description fields with no whitespace in  them  as
    -       additional  aliases  or short names.  This tic does not do
    -       that, but it does warn  when  description  fields  may  be
    -       treated that way and check them for dangerous characters.
    +       There is some evidence that historic  tic  implementations
    +       treated  description  fields with no whitespace in them as
    +       additional aliases or short names.  This tic does  not  do
    +       that,  but  it  does  warn  when description fields may be
    +       treated that way and check them for dangerous  characters.
     
     
     
    @@ -309,7 +309,7 @@ infocmp(1m), captoinfo(1m), infotocap(1m), toe(1m), curses(3x), terminfo(5). - This describes ncurses version 5.7 (patch 20110212). + This describes ncurses version 5.8 (patch 20110226).
    diff --git a/doc/html/man/toe.1m.html b/doc/html/man/toe.1m.html index 33e0ff70..b948480e 100644 --- a/doc/html/man/toe.1m.html +++ b/doc/html/man/toe.1m.html @@ -111,7 +111,7 @@ tic(1m), infocmp(1m), captoinfo(1m), infotocap(1m), curses(3x), terminfo(5). - This describes ncurses version 5.7 (patch 20110212). + This describes ncurses version 5.8 (patch 20110226). diff --git a/doc/html/man/tput.1.html b/doc/html/man/tput.1.html index 8efe5e9a..e702f7ba 100644 --- a/doc/html/man/tput.1.html +++ b/doc/html/man/tput.1.html @@ -99,8 +99,8 @@ be queried for the actual screen size. capname - indicates the capability from the terminfo data- - base. When termcap support is compiled in, the + indicates the capability from the terminfo + database. When termcap support is compiled in, the termcap name for the capability is also accepted. parms If the capability is a string that takes parame- @@ -112,8 +112,8 @@ table to decide which to pass as strings. Normally tput uses tparm (3x) to perform the substitution. If no parameters are given for the capability, tput - writes the string without performing the substitu- - tion. + writes the string without performing the + substitution. -S allows more than one capability per invocation of tput. The capabilities must be passed to tput from @@ -204,16 +204,16 @@ bold=`tput smso` offbold=`tput rmso` Set the shell variables bold, to begin stand-out mode sequence, and offbold, to end standout mode sequence, - for the current terminal. This might be followed by - a prompt: echo "${bold}Please type in your name: + for the current terminal. This might be followed by + a prompt: echo "${bold}Please type in your name: ${offbold}\c" tput hc - Set exit code to indicate if the current terminal is + Set exit code to indicate if the current terminal is a hard copy terminal. tput cup 23 4 - Send the sequence to move the cursor to row 23, col- + Send the sequence to move the cursor to row 23, col- umn 4. tput cup @@ -221,8 +221,8 @@ parameters substituted. tput longname - Print the long name from the terminfo database for - the type of terminal specified in the environmental + Print the long name from the terminfo database for + the type of terminal specified in the environmental variable TERM. tput -S <<! @@ -231,10 +231,10 @@ > bold > ! - This example shows tput processing several capabili- - ties in one invocation. It clears the screen, moves - the cursor to position 10, 10 and turns on bold - (extra bright) mode. The list is terminated by an + This example shows tput processing several capabili- + ties in one invocation. It clears the screen, moves + the cursor to position 10, 10 and turns on bold + (extra bright) mode. The list is terminated by an exclamation mark (!) on a line by itself. @@ -245,8 +245,8 @@ /usr/share/tabset/* tab settings for some terminals, in a format appro- - priate to be output to the terminal (escape - sequences that set margins and tabs); for more + priate to be output to the terminal (escape + sequences that set margins and tabs); for more information, see the "Tabs and Initialization" sec- tion of terminfo(5) @@ -254,16 +254,16 @@

    EXIT CODES

            If the -S option is used, tput checks for errors from each
    -       line,  and if any errors are found, will set the exit code
    -       to 4 plus the number of lines with errors.  If  no  errors
    -       are  found,  the  exit  code is 0.  No indication of which
    +       line, and if any errors are found, will set the exit  code
    +       to  4  plus the number of lines with errors.  If no errors
    +       are found, the exit code is 0.   No  indication  of  which
            line failed can be given so exit code 1 will never appear.
    -       Exit  codes 2, 3, and 4 retain their usual interpretation.
    +       Exit codes 2, 3, and 4 retain their usual  interpretation.
            If the -S option is not used, the exit code depends on the
            type of capname:
     
                 boolean
    -                   a value of 0 is set for TRUE and 1 for FALSE.
    +                   a value of 0 is set for TRUE and 1 for  FALSE.
     
                 string a  value of 0 is set if the capname is defined
                        for this terminal type (the value  of  capname
    @@ -294,6 +294,7 @@
            tput prints the following error messages and sets the cor-
            responding exit codes.
     
    +
            exit code   error message
            ---------------------------------------------------------------------
            0           (capname is a numeric variable that is not specified  in
    @@ -317,9 +318,9 @@
            reset.   In this implementation, clear is part of the cap-
            name support.  Other implementations of tput on SVr4-based
            systems such as Solaris, IRIX64 and HPUX as well as others
    -       such as AIX and Tru64 provide support  for  capname  oper-
    -       ands.   A  few platforms such as FreeBSD and NetBSD recog-
    -       nize termcap names rather than terminfo  capability  names
    +       such  as  AIX  and  Tru64  provide  support  for   capname
    +       operands.  A few platforms such as FreeBSD and NetBSD rec-
    +       ognize termcap names rather than terminfo capability names
            in their respective tput commands.
     
     
    @@ -327,7 +328,7 @@
     

    SEE ALSO

            clear(1), stty(1), tabs(1), terminfo(5).
     
    -       This describes ncurses version 5.7 (patch 20110212).
    +       This describes ncurses version 5.8 (patch 20110226).
     
     
     
    diff --git a/doc/html/man/tset.1.html b/doc/html/man/tset.1.html
    index aa482306..fe3d63ff 100644
    --- a/doc/html/man/tset.1.html
    +++ b/doc/html/man/tset.1.html
    @@ -141,9 +141,9 @@
     
            -r   Print the terminal type to the standard error output.
     
    -       -s   Print the sequence of shell  commands  to  initialize
    +       -s   Print  the  sequence  of shell commands to initialize
                 the environment variable TERM to the standard output.
    -            See the section SETTING THE ENVIRONMENT for details.
    +            See  the section SETTING THE ENVIRONMENT for details.
     
            -V   reports the version of ncurses which was used in this
                 program, and exits.
    @@ -319,7 +319,7 @@
            csh(1), sh(1), stty(1),  curs_terminfo(3x),  tty(4),  ter-
            minfo(5), ttys(5), environ(7)
     
    -       This describes ncurses version 5.7 (patch 20110212).
    +       This describes ncurses version 5.8 (patch 20110226).
     
     
     
    diff --git a/misc/run_tic.in b/misc/run_tic.in
    index 957bcf67..c34302af 100644
    --- a/misc/run_tic.in
    +++ b/misc/run_tic.in
    @@ -1,5 +1,5 @@
     #!@SHELL@
    -# $Id: run_tic.in,v 1.30 2011/02/21 01:05:37 tom Exp $
    +# $Id: run_tic.in,v 1.32 2011/02/23 23:30:15 tom Exp $
     ##############################################################################
     # Copyright (c) 1998-2010,2011 Free Software Foundation, Inc.                #
     #                                                                            #
    @@ -110,6 +110,14 @@ umask 022
     # Construct the name of the old (obsolete) pathname, e.g., /usr/lib/terminfo.
     TICDIR=`echo $TERMINFO | sed -e 's%/share/\([^/]*\)$%/lib/\1%'`
     
    +# Parent directory may not exist, which would confuse the install for hashed
    +# database.  Fix.
    +PARENT=`echo "$TERMINFO" | sed -e 's%/[^/]*$%%'`
    +if test -n "$PARENT"
    +then
    +	test -d $PARENT || mkdir -p $PARENT
    +fi
    +
     # Remove the old terminfo stuff; we don't care if it existed before, and it
     # would generate a lot of confusing error messages if we tried to overwrite it.
     # We explicitly remove its contents rather than the directory itself, in case
    diff --git a/ncurses/tinfo/read_entry.c b/ncurses/tinfo/read_entry.c
    index 51b4a2b2..e38b9cbe 100644
    --- a/ncurses/tinfo/read_entry.c
    +++ b/ncurses/tinfo/read_entry.c
    @@ -1,5 +1,5 @@
     /****************************************************************************
    - * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc.              *
    + * Copyright (c) 1998-2010,2011 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            *
    @@ -41,7 +41,7 @@
     
     #include 
     
    -MODULE_ID("$Id: read_entry.c,v 1.107 2010/04/24 23:47:42 tom Exp $")
    +MODULE_ID("$Id: read_entry.c,v 1.108 2011/02/26 15:36:06 tom Exp $")
     
     #define TYPE_CALLOC(type,elts) typeCalloc(type, (unsigned)(elts))
     
    @@ -364,16 +364,18 @@ NCURSES_EXPORT(int)
     _nc_read_file_entry(const char *const filename, TERMTYPE *ptr)
     /* return 1 if read, 0 if not found or garbled */
     {
    -    int code, fd = -1;
    +    FILE *fp = 0;
    +    int code;
         int limit;
         char buffer[MAX_ENTRY_SIZE + 1];
     
         if (_nc_access(filename, R_OK) < 0
    -	|| (fd = open(filename, O_RDONLY | O_BINARY)) < 0) {
    +	|| (fp = fopen(filename, "rb")) == 0) {
     	T(("cannot open terminfo %s (errno=%d)", filename, errno));
     	code = TGETENT_NO;
         } else {
    -	if ((limit = (int) read(fd, buffer, sizeof(buffer))) > 0) {
    +	if ((limit = (int) fread(buffer, sizeof(char), sizeof(buffer), fp))
    +	    > 0) {
     
     	    T(("read terminfo %s", filename));
     	    if ((code = _nc_read_termtype(ptr, buffer, limit)) == TGETENT_NO) {
    @@ -382,7 +384,7 @@ _nc_read_file_entry(const char *const filename, TERMTYPE *ptr)
     	} else {
     	    code = TGETENT_NO;
     	}
    -	close(fd);
    +	fclose(fp);
         }
     
         return (code);
    diff --git a/test/README b/test/README
    index b2dae0e4..8a016ec8 100644
    --- a/test/README
    +++ b/test/README
    @@ -1,5 +1,5 @@
     -------------------------------------------------------------------------------
    --- Copyright (c) 1998-2007,2008 Free Software Foundation, Inc.               --
    +-- Copyright (c) 1998-2010,2011 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             --
    @@ -25,7 +25,7 @@
     -- sale, use or other dealings in this Software without prior written        --
     -- authorization.                                                            --
     -------------------------------------------------------------------------------
    --- $Id: README,v 1.43 2010/09/18 15:11:39 tom Exp $
    +-- $Id: README,v 1.44 2011/02/26 00:09:25 tom Exp $
     -------------------------------------------------------------------------------
     
     The programs in this directory are designed to test your newest toy :-)
    @@ -661,7 +661,7 @@ trace				test: demo_menus hanoi hashtest lrtest ncurses testcurs view worm
     ttytype				lib: ncurses
     typeahead			test: testcurs
     typeahead_sp			lib: ncurses
    -unctrl				test: ncurses redraw testcurs
    +unctrl				test: ncurses redraw test_add_wchstr test_addchstr testcurs
     unctrl_sp			lib: ncurses
     unget_wch			-
     unget_wch_sp			-
    
    C nameAda nameman page
    _nc_freeall()Curses_Free_Allcurs_trace.3x
    _tracef()Trace_Putcurs_trace.3x
    assume_default_colors()Assume_Default_Colorsdefault_colors.3x
    baudrate()Baudratecurs_termattrs.3x
    beep()Beepcurs_beep.3x
    copywin()Copycurs_overlay.3x
    current_field()Currentform_page.3x
    current_item()Currentmitem_current.3x
    curs_set()Set_Cursor_Visibilitycurs_kernel.3x
    curscrCurrent_Windowcurs_initscr.3x
    curses_version()Curses_Versioncurs_extend.3x
    curs_set()Set_Cursor_Visibilitycurs_kernel.3x
    data_ahead()Data_Aheadform_data.3x
    data_behind()Data_Behindform_data.3x
    define_key()Define_Keydefine_key.3x
    def_prog_mode()Save_Curses_Modecurs_kernel.3x
    delay_output()Delay_Outputcurs_util.3x
    define_key()Define_Keydefine_key.3x
    del_panel()Deletepanel.3x
    delay_output()Delay_Outputcurs_util.3x
    delwin()Deletecurs_window.3x
    derwin()Derived_Windowcurs_window.3x
    doupdate()Update_Screencurs_refresh.3x
    field_info()Infoform_field_info.3x
    field_init()Get_Field_Init_Hookform_hook.3x
    field_just()Get_Justificationform_field_just.3x
    field_opts_on()Switch_Optionsform_field_opts.3x
    field_opts()Get_Optionsform_field_opts.3x
    field_opts()Get_Optionsform_field_opts.3x
    field_opts_on()Switch_Optionsform_field_opts.3x
    field_pad()Pad_Characterform_field_attributes.3x
    field_status()Changedform_field_buffer.3x
    field_term()Get_Field_Term_Hookform_hook.3x
    form_driver()Driverform_driver.3x
    form_fields()Fieldsform_field.3x
    form_init()Get_Form_Init_Hookform_hook.3x
    form_opts_on()Switch_Optionsform_opts.3x
    form_opts()Get_Optionsform_opts.3x
    form_opts()Get_Optionsform_opts.3x
    form_opts_on()Switch_Optionsform_opts.3x
    form_page()Pageform_page.3x
    form_sub()Get_Sub_Windowform_win.3x
    form_term()Get_Form_Term_Hookform_hook.3x
    initscr()Init_Screencurs_initscr.3x
    initscr()Init_Windowscurs_initscr.3x
    intrflush()Set_Flush_On_Interrupt_Modecurs_inopts.3x
    isendwin()Is_End_Windowcurs_initscr.3x
    is_linetouched()Is_Touchedcurs_touch.3x
    is_wintouched()Is_Touchedcurs_touch.3x
    isendwin()Is_End_Windowcurs_initscr.3x
    item_count()Item_Countmenu_items.3x
    item_description();Descriptionmitem_name.3x
    item_index()Get_Indexmitem_current.3x
    item_init()Get_Item_Init_Hookmenu_hook.3x
    item_name()Namemitem_name.3x
    item_opts_on()Switch_Optionsmitem_opts.3x
    item_opts()Get_Optionsmitem_opts.3x
    item_opts()Get_Optionsmitem_opts.3x
    item_opts_on()Switch_Optionsmitem_opts.3x
    item_term()Get_Item_Term_Hookmenu_hook.3x
    item_userptrGet_User_Datamitem_userptr.3x
    item_userptrGet_User_Datamitem_userptr.3x
    menu_init()Get_Menu_Init_Hookmenu_hook.3x
    menu_items()Itemsmenu_items.3x
    menu_mark()Markmenu_mark.3x
    menu_opts_on()Switch_Optionsmenu_opts.3x
    menu_opts()Get_Optionsmenu_opts.3x
    menu_opts()Get_Optionsmenu_opts.3x
    menu_opts_on()Switch_Optionsmenu_opts.3x
    menu_pad()Pad_Charactermenu_attributes.3x
    menu_pattern()Patternmenu_pattern.3x
    menu_requestname.3xmenu_driver.3x
    move_field()Moveform_field.3x
    move_panel()Movepanel.3x
    mvderwin()Move_Derived_Windowcurs_window.3x
    mvwaddchnstr()Addcurs_addchstr.3x
    mvwaddch()Addcurs_addch.3x
    mvwaddchnstr()Addcurs_addchstr.3x
    mvwaddnstr()Addcurs_addstr.3x
    mvwchgat()Change_Attributescurs_attr.3x
    mvwdelch()Delete_Charactercurs_delch.3x
    mvwgetnstr()Getcurs_getstr.3x
    mvwinchnstr()Peekcurs_inchstr.3x
    mvwin()Move_Windowcurs_window.3x
    mvwinch()Peekcurs_inch.3x
    mvwinchnstr()Peekcurs_inchstr.3x
    mvwinnstr()Peekcurs_instr.3x
    mvwinsch()Insertcurs_insch.3x
    mvwinsnstr()Insertcurs_insstr.3x
    mvwin()Move_Windowcurs_window.3x
    napms()Nap_Milli_Secondscurs_kernel.3x
    _nc_freeall()Curses_Free_Allcurs_trace.3x
    new_field()Createform_field_new.3x
    new_field()New_Fieldform_field_new.3x
    new_form()Createform_new.3x
    new_item()Createmitem_new.3x
    new_item()New_Itemmitem_new.3x
    new_menu()Createmenu_new.3x
    newpad()New_Padcurs_pad.3x
    new_page()Is_New_Pageform_new_page.3x
    new_panel()Createpanel.3x
    new_panel()New_Panelpanel.3x
    newpad()New_Padcurs_pad.3x
    newwin()Createcurs_window.3x
    nl()Set_NL_Modecurs_outopts.3x
    nodelay()Set_NoDelay_Modecurs_inopts.3x
    scale_menu()Scalemenu_win.3x
    scr_dump()Screen_Dump_To_Filecurs_scr_dump.3x
    scr_init()Screen_Init_From_Filecurs_scr_dump.3x
    scrollok()Allow_Scrollingcurs_outopts.3x
    scr_restore()Screen_Restore_From_Filecurs_scr_dump.3x
    scr_set()Screen_Set_Filecurs_scr_dump.3x
    scrollok()Allow_Scrollingcurs_outopts.3x
    set_current_field()Set_Currentform_page.3x
    set_current_item()Set_Currentmitem_current.3x
    set_field_back()Set_Backgroundform_field_attributes.3x
    set_panel_userptrSet_User_Datapanel.3x
    set_top_row()Set_Top_Rowmitem_current.3x
    show_panel()Showpanel.3x
    slk_attron()Switch_Soft_Label_Key_Attributescurs_slk.3x
    slk_attrset()Set_Soft_Label_Key_Attributescurs_slk.3x
    slk_attr()Get_Soft_Label_Key_Attributescurs_slk.3x
    slk_attr()Get_Soft_Label_Key_Attributescurs_slk.3x
    slk_attron()Switch_Soft_Label_Key_Attributescurs_slk.3x
    slk_attrset()Set_Soft_Label_Key_Attributescurs_slk.3x
    slk_clear()Clear_Soft_Label_Keyscurs_slk.3x
    slk_color()Set_Soft_Label_Key_Colorcurs_slk.3x
    slk_init()Init_Soft_Label_Keyscurs_slk.3x
    top_row()Top_Rowmitem_current.3x
    touchline()Touchcurs_touch.3x
    touchwin()Touchcurs_touch.3x
    _tracef()Trace_Putcurs_trace.3x
    trace()Trace_oncurs_trace.3x
    unctrl()Un_Controlcurs_util.3x
    unctrl()Un_Controlcurs_util.3x
    update_panels()Update_Panelspanel.3x
    use_default_colors()Use_Default_Colorsdefault_colors.3x
    use_extended_names()Use_Extended_Namescurs_extend.3x
    waddchnstr()Addcurs_addchstr.3x
    waddch()Addcurs_addch.3x
    waddchnstr()Addcurs_addchstr.3x
    waddnstr()Addcurs_addstr.3x
    wattr_get()Get_Character_Attributescurs_attr.3x
    wattr_get()Get_Character_Attributecurs_attr.3x
    wattron()Switch_Character_Attributecurs_attr.3x
    wattrset()Set_Character_Attributescurs_attr.3x
    wbkgd()Change_Backgroundcurs_bkgd.3x
    wbkgdget()Get_Backgroundcurs_bkgd.3x
    wbkgdset()Set_Backgroundcurs_bkgd.3x
    wbkgd()Change_Backgroundcurs_bkgd.3x
    wborder()Bordercurs_border.3x
    wchgat()Change_Attributescurs_attr.3x
    wclear()Clearcurs_clear.3x
    wgetch()Get_Keystrokecurs_getch.3x
    wgetnstr()Getcurs_getstr.3x
    whline()Horizontal_Linecurs_border.3x
    winchnstr()Peekcurs_inchstr.3x
    winch()Peekcurs_inch.3x
    winchnstr()Peekcurs_inchstr.3x
    winnstr()Peekcurs_instr.3x
    winsch()Insertcurs_insch.3x
    winsdelln()Insert_Delete_Linescurs_deleteln.3x