X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ANNOUNCE;h=269bd2bca2a8726faa8fbdb8603d6c3de1da8507;hp=3383dedd993ffd346059f69868e163dbfb7a4ed4;hb=362db2575aed6b2c7a8d3928b39af51544502876;hpb=661078ddbde3ce0f3b06e95642fbb9b5fef7dca1 diff --git a/ANNOUNCE b/ANNOUNCE index 3383dedd..269bd2bc 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,239 +1,649 @@ + 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! - Announcing ncurses 4.2 - - The ncurses (new curses) library is a freeware emulation of System V - Release 4.0 curses. 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 is encouraging the keepers of - Unix releases such as BSD/OS, freeBSD and netBSD to switch over to - ncurses. - - The ncurses code was developed under Linux. 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 + 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 [1]ftp://prep.ai.mit.edu/pub/gnu. It is also - available at [2]ftp://ftp.clark.net/pub/dickey/ncurses. - - Features of ncurses - + + The ncurses distribution is available via anonymous FTP at the GNU + distribution site [1]ftp://ftp.gnu.org/gnu/ncurses/ . + It is also available at [2]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: + 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-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: + 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: + + 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: + + 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + 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, but not all EXTENDED features). Most - EXTENDED-level features not directly concerned with wide-character - support are implemented, including many function calls not - supported under SVr4 curses (but portability of all calls is - documented so you can use the SVr4 subset only). - * Unlike SVr4 curses, ncurses can write to the rightmost-bottommost - corner of the screen if your terminal has an insert-character + * 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. - * (PC-clone boxes only) Support for access to the IBM PC ROM - characters 0-32 through the highlight A_ALTCHARSET. * Ada95 and C++ bindings. - * Support for mouse event reporting under xterm. + * 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. - * Support for 16-color terminals, such as aixterm and XFree86 xterm. - * Better cursor-movement optimization. The package now features a + * 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 + * 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 + * 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 + 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 + 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 + * 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 + * 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 + 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 + * 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 + * 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 + * 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 + 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 + * 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 + 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: - + + The ncurses code has been tested with a wide variety of applications + including (versions starting with those noted): + + cdk + Curses Development Kit + [4]http://invisible-island.net/cdk/ + [5]http://www.vexus.ca/products/CDK/ + ded - directory-editor [3]ftp://ftp.clark.net/pub/dickey/ded. - + directory-editor + [6]http://invisible-island.net/ded/ + dialog - the underlying application used in Slackware's setup, and the - basis for similar applications on Linux. - - lynx-2.7 + the underlying application used in Slackware's setup, and the + basis for similar applications on GNU/Linux. + [7]http://invisible-island.net/dialog/ + + lynx the character-screen WWW browser - - Midnight Commander 4.1 + [8]http://lynx.isc.org/release/ + + Midnight Commander file manager - - mutt 0.88 + [9]http://www.midnight-commander.org/ + + mutt mail utility - - ncftp 2.0 + [10]http://www.mutt.org/ + + ncftp file-transfer utility - + [11]http://www.ncftp.com/ + nvi New vi versions 1.50 are able to use ncurses versions 1.9.7 and later. - - taper - tape archive utility - - vh-1.6 - Volks-Hypertext browser for the Jargon File - + [12]https://sites.google.com/a/bostic.com/keithbostic/nvi + + pinfo + Lynx-like info browser. + [13]https://alioth.debian.org/projects/pinfo/ + + tin + newsreader, supporting color, MIME [14]http://www.tin.org/ + as well as some that use ncurses for the terminfo support alone: - - minicom-1.75 + + minicom terminal emulator - - tin-unoff - tin 1.4 newsreader, supporting color, MIME - [4]ftp://ftp.akk.uni-karlsruhe.de/pub/news/clients/tin-unoff. - + [15]http://alioth.debian.org/projects/minicom/ + vile - vi-like-emacs [5]ftp://ftp.clark.net/pub/dickey/vile. - - The ncurses distribution includes a selection of test programs + vi-like-emacs + [16]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 - The original developers of ncurses are [6]Zeyd Ben-Halim and [7]Eric - S. Raymond. Ongoing work is being done by [8]Thomas Dickey and - [9]Jürgen Pfeifer. [10]Florian La Roche acts as the maintainer for the - Free Software Foundation, which holds the copyright on ncurses. - Contact the current maintainers at [11]bug-ncurses@gnu.org. - - To join the ncurses mailing list, please write email to + Zeyd Ben-Halim started it from a previous package pcurses, written by + 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. + Contact the current maintainers at [18]bug-ncurses@gnu.org. + + To join the ncurses mailing list, please write email to bug-ncurses-request@gnu.org containing the line: subscribe @ 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 [12]ftp://ftp.clark.net/pub/dickey/ncurses. - + + Beta versions of ncurses and patches to the current release are made + available at [19]ftp://invisible-island.net/ncurses/ . + Future Plans - * Extended-level XPG4 conformance, with internationalization + * 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 + + 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 includes and uses a version of the terminfo-format - terminal description file maintained by Eric Raymond. - [13]http://earthspace.net/~esr/terminfo. - - You can find lots of information on terminal-related topics not - covered in the terminfo file at [14]Richard Shuford's archive. + The distribution provides a newer version of the terminfo-format + terminal description file once maintained by [20]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 [21]Richard Shuford's archive . References - 1. ftp://prep.ai.mit.edu/pub/gnu - 2. ftp://ftp.clark.net/pub/dickey/ncurses - 3. ftp://ftp.clark.net/pub/dickey/ded - 4. ftp://ftp.akk.uni-karlsruhe.de/pub/news/clients/tin-unoff - 5. ftp://ftp.clark.net/pub/dickey/vile - 6. mailto:zmbenhal@netcom.com - 7. http://www.ccil.org/~esr/home.html - 8. mailto:dickey@clark.net - 9. mailto:Juergen.Pfeifer@T-Online.de - 10. mailto:florian@gnu.org - 11. mailto:bug-ncurses@gnu.org - 12. ftp://ftp.clark.net/pub/dickey/ncurses - 13. http://earthspace.net/~esr/terminfo - 14. http://www.cs.utk.edu/~shuford/terminal_index.html + 1. ftp://ftp.gnu.org/gnu/ncurses/ + 2. ftp://invisible-island.net/ncurses/ + 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.midnight-commander.org/ + 10. http://www.mutt.org/ + 11. http://www.ncftp.com/ + 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/ + 16. http://invisible-island.net/vile/ + 17. mailto:dickey@invisible-island.net + 18. mailto:bug-ncurses@gnu.org + 19. ftp://invisible-island.net/ncurses/ + 20. http://www.catb.org/~esr/terminfo/ + 21. http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal