X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ANNOUNCE;h=269bd2bca2a8726faa8fbdb8603d6c3de1da8507;hp=e09e73177a45557238edf8d979c8ac5a3b665a66;hb=9817912d803dae0223ada5ab28c6df521800d4bb;hpb=e70a86c3d48b8cbad0f6d1c33ba5b027a243834e 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