Diffstat (limited to 'ANNOUNCE')
1 files changed, 71 insertions, 256 deletions
@@ -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 @@
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:
- 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
- + 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 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
- * 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 "~"
- * 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
- * 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.
- * configure script:
- + new options:
- control whether static string tables are generated
- as single large strings (to improve startup
- performance), or as array of individual strings.
- control whether shared libraries are relinked
- (during install) when rpath is enabled.
- make explicit whether tic library depends on
- ncurses/ncursesw library.
- 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
- 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
- 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).
- build with the POSIX thread library (tested with
- AIX, Linux, FreeBSD, OpenBSD, HPUX, IRIX64,
- Solaris, Tru64).
- build/install the tic-support functions in a
- separate library
- + improved options:
- requires the wide-character configuration.
- ignore option value "unsigned" is always added to
- the type in curses.h; do the same for
- build-fix for redefinition of strndup.
- accepts a parameter which is the install-prefix of
- a given Berkeley Database.
- the $LIBS environment variable overrides the search
- for the db library.
- 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
- + 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
- + 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
- * 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
+ 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
+ * additional improvements were made for portability of the ncurses
+ examples, adding rpm- and dpkg-scripts for test-builds. See
+ 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
- * 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
- * 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
* 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 @@
Curses Development Kit
the underlying application used in Slackware's setup, and the
basis for similar applications on GNU/Linux.
the character-screen WWW browser
New vi versions 1.50 are able to use ncurses versions 1.9.7 and
Lynx-like info browser.
- newsreader, supporting color, MIME http://www.tin.org/
+ newsreader, supporting color, MIME http://www.tin.org/
as well as some that use ncurses for the terminfo support alone:
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 Thomas Dickey. Thomas Dickey acts as the maintainer for the
+ by Thomas Dickey. Thomas Dickey acts as the maintainer for the
Free Software Foundation, which holds the copyright on ncurses.
- Contact the current maintainers at email@example.com.
+ Contact the current maintainers at firstname.lastname@example.org.
To join the ncurses mailing list, please write email to
email@example.com 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 ftp://invisible-island.net/ncurses/ .
+ available at ftp://invisible-island.net/ncurses/ .
@@ -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 Eric Raymond . Unlike
+ terminal description file once maintained by 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
You can find lots of information on terminal-related topics not
- covered in the terminfo file at Richard Shuford's archive .
+ covered in the terminfo file at Richard Shuford's archive .
- 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:firstname.lastname@example.org
- 18. mailto:email@example.com
- 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:firstname.lastname@example.org
+ 20. mailto:email@example.com
+ 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