X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ANNOUNCE;h=11933c5f6d55f4f21e79e0829da3c801365977ce;hp=e09e73177a45557238edf8d979c8ac5a3b665a66;hb=7087871f804c061d339994964269f3c20e88f547;hpb=e70a86c3d48b8cbad0f6d1c33ba5b027a243834e diff --git a/ANNOUNCE b/ANNOUNCE index e09e7317..11933c5f 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,4 +1,4 @@ - Announcing ncurses 5.7 + 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,217 +27,30 @@ 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.8; 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: - * 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 - - + improved options: - - --enable-ext-colors - requires the wide-character configuration. - - --with-chtype - ignore option value "unsigned" is always added to - the type in curses.h; do the same for - --with-mmask-t. - - --with-dmalloc - build-fix for redefinition of strndup. - - --with-hashed-db - accepts a parameter which is the install-prefix of - a given Berkeley Database. - - --with-hashed-db - the $LIBS environment variable overrides the search - for the db library. - - --without-hashed-db - assumed when "--disable-database" is used. - - * other configure/build issues: - + build-fixes for LynxOS - + modify shared-library rules to allow FreeBSD 3.x to use - rpath. - + build-fix for FreeBSD "contemporary" TTY interface. - + build-fixes for AIX with libtool. - + build-fixes for Darwin and libtool. - + modify BeOS-specific ifdef's to build on Haiku. - + corrected gcc options for building shared libraries on - Solaris and IRIX64. - + change shared-library configuration for OpenBSD, make rpath - work. - + build-fixes for using libutf8, e.g., on OpenBSD 3.7 - + add "-e" option in ncurses/Makefile.in when generating - source-files to force earlier exit if the build environment - fails unexpectedly. - + add support for shared libraries for QNX. - + change delimiter in MKlib_gen.sh from '%' to '@', to avoid - substitution by IBM xlc to '#' as part of its extensions to - digraphs. - * library: - + rewrite wrapper for wcrtomb(), making it work on Solaris. - This is used in the form library to determine the length of - the buffer needed by field_buffer. - + add/use configure script macro CF_SIG_ATOMIC_T, use the - corresponding type for data manipulated by signal handlers. - + set locale in misc/ncurses-config.in since it uses a range - + disable GPM mouse support when $TERM does not happen to - contain "linux", since Gpm_Open() no longer limits its - assertion to terminals that it might handle, e.g., within - "screen" in xterm. - + reset mouse file-descriptor when unloading GPM library. - * test programs: - + update test programs to build/work with various UNIX curses - for comparisons. + 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 @@ -274,15 +87,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 +106,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 @@ -356,55 +169,55 @@ 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.ibiblio.org/mc/ + [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]http://www.bostic.com/vi/ + [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). @@ -412,11 +225,11 @@ 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 + 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: @@ -426,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 @@ -440,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/xterm/xterm.log.html#xterm_230 - 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/ - 10. http://www.mutt.org/ - 11. http://www.ncftp.com/ - 12. http://www.bostic.com/vi/ - 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://www.cs.utk.edu/~shuford/terminal_index.html + 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