X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ANNOUNCE;h=4707838fba99e43ceae6c99ee42e62d8a320b00e;hp=3383dedd993ffd346059f69868e163dbfb7a4ed4;hb=refs%2Ftags%2Fv5.0;hpb=661078ddbde3ce0f3b06e95642fbb9b5fef7dca1 diff --git a/ANNOUNCE b/ANNOUNCE index 3383dedd..4707838f 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,18 +1,20 @@ - Announcing ncurses 4.2 + Announcing ncurses 5.0 - 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. + 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 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 ncurses code was developed under GNU/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), @@ -20,14 +22,124 @@ 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 + distribution site [1]ftp://ftp.gnu.org/pub/gnu/ncurses. It is also available at [2]ftp://ftp.clark.net/pub/dickey/ncurses. - Features of ncurses + Release Notes + + We decided to release ncurses as a new whole number release (5.0) + because it incorporates several interface changes, including some that + would invalidate existing shared libraries. These are the highlights + from the change-log since ncurses 4.2 release. + + Interface changes: + * The principal source of changes to the interface comes from the + release of X/Open Curses in 1997. Earlier versions of ncurses (4.0 + and before) were based on a draft version of the specification. + The release version adds parameters to some functions to support + the evolving internationalization of curses. These summarize the + impact: + + modified several prototypes to correspond with 1997 version + of X/Open Curses (affects ABI since developers have used + attr_get). + + corrected prototypes for slk_* functions, using chtype rather + than attr_t. + + the slk_attr_{set,off,on} functions need an additional void* + parameter according to XSI. + + correct macros for wattr_set, wattr_get, separate wattrset + macro from these to preserve behavior that allows attributes + to be combined with color pair numbers. + + reviewed/updated curses.h, term.h against X/Open Curses Issue + 4 Version 2. This includes making some parameters + NCURSES_CONST rather than const, e.g., in termcap.h. + + reviewed/corrected macros in curses.h as per XSI document. + + add set_a_attributes and set_pglen_inch to terminfo + structure, as per XSI and Solaris 2.5. + * The newest version of the X/Open Curses is implemented on Solaris + and other vendor's systems. It adds new features to the terminfo + descriptions: + + implement tparm %l format. + + implement tparm printf-style width and precision for %s, %d, + %x, %o as per XSI. + * We made additional changes to reduce impact by future interface + changes: + + rename key_names[] array to _nc_key_names since it is not + part of the curses interface. + + move macro winch to a function, to hide details of struct + ldat + * modify configure script to embed ABI in shared libraries for HP-UX + 10.x (detailed request by Tim Mooney). + * modify configuration of shared libraries on Digital Unix so that + versioning is embedded in the library, rather than implied by + links (patch by Tim Mooney). + + New features: + * enable sigwinch handler by default. + * turn on hashmap scrolling code by default + * improved support for termcap applications + + modify tput to accept termcap names as an alternative to + terminfo names. + + provide support for termcap PC variable by copying it from + terminfo data and using it as the padding character in tputs. + + provide support for termcap ospeed variable by copying it + from the internal cur_term member, and using ospeed as the + baudrate reference for the delay_output and tputs functions. + + change name-comparisons in lib_termcap to compare no more + than 2 characters. + + add configure option --enable-tcap-names, which essentially + allows users to define new capabilities as in termcap. + * add mouse support to ncurses menus. + * add mouse and dll support for OS/2 EMX + * modify terminfo parsing to accept octal and hexadecimal constants + * add configure option --enable-no-padding, to allow environment + variable $NCURSES_NO_PADDING to eliminate non-mandatory padding, + thereby making terminal emulators (e.g., for vt100) a little more + efficient. + * modify lib_color.c to eliminate dependency on orig_colors and + orig_pair, since SVr4 curses does not require these either, but + uses them when they are available. + * add -f option to infocmp and tic, which formats the terminfo + if/then/else/endif so that they are readable (with newlines and + tabs). + * modify tic to compile into %'char' form in preference to + %{number}, since that is a little more efficient. + + Major bug fixes: + * modify lib_tstp.c to block SIGTTOU when handling SIGTSTP, fixes a + problem where ncurses applications which were run via a shell + script would hang when given a ^Z. Also, check if the terminal's + process group is consistent, i.e., a shell has not taken ownership + of it, before deciding to save the current terminal settings in + the SIGTSTP handler. + * suppress sc/rc capabilities from terminal description if they + appear in smcup/rmcup. This affects only scrolling optimization, + to fix a problem reported by several people with xterm's alternate + screen, though the problem is more general. + * modify relative_move and tputs to avoid an interaction with the + BSD-style padding. The relative_move function could produce a + string to replace on the screen which began with a numeric + character, which was then interpreted by tputs as padding. + * modify setupterm so that cancelled strings are treated the same as + absent strings, cancelled and absent booleans false (does not + affect tic, infocmp). + * modify lib_vidattr.c to allow for terminal types (e.g., + xterm-color) which may reset all attributes in the 'op' + capability, so that colors are set before turning on bold and + other attributes, but still after turning attributes off. + * use 'access()' to check if ncurses library should be permitted to + open or modify files with fopen/open/link/unlink/remove calls, in + case the calling application is running in setuid mode. + * correction to doupdate, for case where terminal does not support + insert/delete character. The logic did not check that there was a + difference in alignment of changes to old/new screens before + repainting the whole non-blank portion of the line. Modified to + fall through into logic that reduces by the portion which does not + differ. + + 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, @@ -47,21 +159,19 @@ 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 + 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 + * 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 OS/2 + console windows. * Extended mouse support via Alessandro Rubini's gpm package. * The function wresize() allows you to resize windows, preserving their data. @@ -139,31 +249,39 @@ and arena corruption by the Purify memory-allocation tester. The ncurses code has been tested with a wide variety of applications - including: + including (versions starting with those noted): + cdk + Curses Development Kit [3]Curses Development Kit + [4]ftp://ftp.clark.net/pub/dickey/cdk. + ded - directory-editor [3]ftp://ftp.clark.net/pub/dickey/ded. + directory-editor [5]ftp://ftp.clark.net/pub/dickey/ded. dialog the underlying application used in Slackware's setup, and the - basis for similar applications on Linux. + basis for similar applications on GNU/Linux. - lynx-2.7 + lynx the character-screen WWW browser Midnight Commander 4.1 file manager - mutt 0.88 + mutt mail utility - ncftp 2.0 + ncftp file-transfer utility nvi New vi versions 1.50 are able to use ncurses versions 1.9.7 and later. + tin + newsreader, supporting color, MIME + [6]ftp://ftp.akk.uni-karlsruhe.de/pub/news/clients/tin-unoff. + taper tape archive utility @@ -172,26 +290,22 @@ 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. - vile - vi-like-emacs [5]ftp://ftp.clark.net/pub/dickey/vile. + vi-like-emacs [7]ftp://ftp.clark.net/pub/dickey/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 + The original developers of ncurses are [8]Zeyd Ben-Halim and [9]Eric + S. Raymond. Ongoing work is being done by [10]Thomas Dickey and + [11]Jürgen Pfeifer. [12]Thomas Dickey 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. + Contact the current maintainers at [13]bug-ncurses@gnu.org. To join the ncurses mailing list, please write email to bug-ncurses-request@gnu.org containing the line: @@ -201,7 +315,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 [12]ftp://ftp.clark.net/pub/dickey/ncurses. + available at [14]ftp://ftp.clark.net/pub/dickey/ncurses. Future Plans @@ -216,24 +330,26 @@ 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. + [15]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. + covered in the terminfo file at [16]Richard Shuford's archive. References - 1. ftp://prep.ai.mit.edu/pub/gnu + 1. ftp://ftp.gnu.org/pub/gnu/ncurses 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 + 3. http://www.vexus.ca/CDK.html + 4. ftp://ftp.clark.net/pub/dickey/cdk + 5. ftp://ftp.clark.net/pub/dickey/ded + 6. ftp://ftp.akk.uni-karlsruhe.de/pub/news/clients/tin-unoff + 7. ftp://ftp.clark.net/pub/dickey/vile + 8. mailto:zmbenhal@netcom.com + 9. http://www.ccil.org/~esr/home.html + 10. mailto:dickey@clark.net + 11. mailto:juergen.pfeifer@gmx.net + 12. mailto:dickey@clark.net + 13. mailto:bug-ncurses@gnu.org + 14. ftp://ftp.clark.net/pub/dickey/ncurses + 15. http://earthspace.net/~esr/terminfo + 16. http://www.cs.utk.edu/~shuford/terminal_index.html