X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ANNOUNCE;h=11933c5f6d55f4f21e79e0829da3c801365977ce;hp=269bd2bca2a8726faa8fbdb8603d6c3de1da8507;hb=a8845f1feadb0b4d906e9040e465b93fd3f72660;hpb=f86cbeb5f9bd96ab041d34039c35749a14965039 diff --git a/ANNOUNCE b/ANNOUNCE index 269bd2bc..11933c5f 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,4 +1,4 @@ - Announcing ncurses 5.8 + Announcing ncurses 5.9 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,393 +27,30 @@ Release Notes This release is designed to be upward compatible from ncurses 5.0 - through 5.7; very few applications will require recompilation, + through 5.8; 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. + change-log since ncurses 5.8 release. + + This is a bug-fix release, correcting a small number of urgent + problems in the ncurses library from the 5.8 release. + + It also improves the Ada95 binding: + * fixes a longstanding portability problem with its use of the + [3]set_field_type function. Because that function uses + variable-length argument lists, its interface with gnat does not + work with certain platforms. + * improves configurability and portability, particularly when built + separately from the main ncurses tree. The 5.8 release introduced + scripts which can be used to construct separate tarballs for the + Ada95 and ncurses examples. + Those were a proof of concept. For the 5.9 release, those scripts + are augmented with rpm- and dpkg-scripts used in test builds + against a variety of gnat- and system ncurses versions as old as + gnat 3.15 and ncurses 5.4 (see snapshots and systems tested + [4]here. + * additional improvements were made for portability of the ncurses + examples, adding rpm- and dpkg-scripts for test-builds. See + [5]this page for snapshots and other information. Features of Ncurses @@ -532,55 +169,55 @@ Portability cdk Curses Development Kit - [4]http://invisible-island.net/cdk/ - [5]http://www.vexus.ca/products/CDK/ + [6]http://invisible-island.net/cdk/ + [7]http://www.vexus.ca/products/CDK/ ded directory-editor - [6]http://invisible-island.net/ded/ + [8]http://invisible-island.net/ded/ dialog the underlying application used in Slackware's setup, and the basis for similar applications on GNU/Linux. - [7]http://invisible-island.net/dialog/ + [9]http://invisible-island.net/dialog/ lynx the character-screen WWW browser - [8]http://lynx.isc.org/release/ + [10]http://lynx.isc.org/release/ Midnight Commander file manager - [9]http://www.midnight-commander.org/ + [11]http://www.midnight-commander.org/ mutt mail utility - [10]http://www.mutt.org/ + [12]http://www.mutt.org/ ncftp file-transfer utility - [11]http://www.ncftp.com/ + [13]http://www.ncftp.com/ nvi New vi versions 1.50 are able to use ncurses versions 1.9.7 and later. - [12]https://sites.google.com/a/bostic.com/keithbostic/nvi + [14]https://sites.google.com/a/bostic.com/keithbostic/nvi pinfo Lynx-like info browser. - [13]https://alioth.debian.org/projects/pinfo/ + [15]https://alioth.debian.org/projects/pinfo/ tin - newsreader, supporting color, MIME [14]http://www.tin.org/ + newsreader, supporting color, MIME [16]http://www.tin.org/ as well as some that use ncurses for the terminfo support alone: minicom terminal emulator - [15]http://alioth.debian.org/projects/minicom/ + [17]http://alioth.debian.org/projects/minicom/ vile vi-like-emacs - [16]http://invisible-island.net/vile/ + [18]http://invisible-island.net/vile/ The ncurses distribution includes a selection of test programs (including a few games). @@ -590,9 +227,9 @@ 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. 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 + by [19]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. + Contact the current maintainers at [20]bug-ncurses@gnu.org. To join the ncurses mailing list, please write email to bug-ncurses-request@gnu.org containing the line: @@ -602,7 +239,7 @@ Who's Who and What's What and testing of this package. Beta versions of ncurses and patches to the current release are made - available at [19]ftp://invisible-island.net/ncurses/ . + available at [21]ftp://invisible-island.net/ncurses/ . Future Plans @@ -616,34 +253,36 @@ Future Plans Other Related Resources The distribution provides a newer version of the terminfo-format - terminal description file once maintained by [20]Eric Raymond . Unlike + terminal description file once maintained by [22]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 . + covered in the terminfo file at [23]Richard Shuford's archive . References 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 + 3. http://invisible-island.net/ncurses/man/form_fieldtype.3x + 4. http://invisible-island.net/ncurses/ncurses-Ada95.html + 5. http://invisible-island.net/ncurses/ncurses-examples.html + 6. http://invisible-island.net/cdk/ + 7. http://www.vexus.ca/products/CDK/ + 8. http://invisible-island.net/ded/ + 9. http://invisible-island.net/dialog/ + 10. http://lynx.isc.org/release/ + 11. http://www.midnight-commander.org/ + 12. http://www.mutt.org/ + 13. http://www.ncftp.com/ + 14. https://sites.google.com/a/bostic.com/keithbostic/nvi + 15. https://alioth.debian.org/projects/pinfo/ + 16. http://www.tin.org/ + 17. http://alioth.debian.org/projects/minicom/ + 18. http://invisible-island.net/vile/ + 19. mailto:dickey@invisible-island.net + 20. mailto:bug-ncurses@gnu.org + 21. ftp://invisible-island.net/ncurses/ + 22. http://www.catb.org/~esr/terminfo/ + 23. http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal