X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=announce.html.in;h=89fb3ebeb4622d3121cdf68190348d4c95538c1a;hp=e385204de5032883c6d4eb9a53508f37b9382162;hb=b22573b1ba4b51da883fa5f805b52f153fa5fae9;hpb=9de646fe8f944e760d453b57e01b866d1d514ad7 diff --git a/announce.html.in b/announce.html.in index e385204d..89fb3ebe 100644 --- a/announce.html.in +++ b/announce.html.in @@ -1,8 +1,7 @@ - + + "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org"> Announcing ncurses @VERSION@ + -

Announcing ncurses @VERSION@

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 +

Announcing ncurses @VERSION@

+ +

Overview

+ +

The ncurses (new curses) library + is a free software emulation of curses in System V Release 4.0 + (SVr4), 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. + function-key mapping, and has all the other SVr4-curses + enhancements over BSD curses. SVr4 curses is better known today + as X/Open 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.

+ keepers of unix releases such as + BSD/OS, FreeBSD and NetBSD to switch over to ncurses.

+ +

Since 1995, ncurses has been + ported to many systems:

+ +

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 manual pages are provided for the library and - tools.

- -

The ncurses distribution is available via anonymous FTP at the - GNU distribution site ftp://ftp.gnu.org/gnu/ncurses/ .
- - It is also available at ftp://invisible-island.net/ncurses/ .

- -

Release Notes

This release is designed to be upward - compatible from ncurses 5.0 through 5.8; very few applications - will require recompilation, depending on the platform. These are - the highlights from the 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: -

- -

Features of Ncurses

The ncurses package is fully - compatible with SVr4 (System V Release 4) curses: - - The ncurses package also has many useful extensions over - SVr4: - - - -

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 and arena - corruption by the Purify memory-allocation tester. - -

The ncurses code has been tested with a wide variety of - applications including (versions starting with those noted):

+

The new release has several improvements for performance and + building. For instance:

+ + + +

There are also new features in the libraries:

+ + + +

There are a few new configure options dealing with library + customization:

+ + + +

Program + improvements

+ +

Utilities

+ +

Most of the termcap-related changes based on development of + tctest + (termcap library checker) are implemented in the tic and + infocmp programs rather than affecting the library. As noted in + the + discussion of tctest, ncurses's ability to translate between terminfo + and termcap formats has been improved at different times, but + subject to feedback from "real" termcap users. There are very few + of those. Nowadays, virtually all termcap users are + using ncurses (or NetBSD, with its + own terminfo library) and their programs are actually using + terminfo rather than termcap data.

+ +

Still, there are a few. A comment about the translation of the + ASCII NUL character prompted a review:

+ + + +

As a result of the review, several improvements were made to + ncurses translation to/from termcap + format — and improving the checks made in tic for + consistency of entries. Most of these are not of general + interest, except for two new command-line options for tic and + infocmp:

+ + + +

Other user-visible improvements and new features include:

+ + + +

Examples

+ +

Along with the library and utilities, many improvements were + made to the ncurses-examples. + Some were made to allow building (and comparison-testing) against + NetBSD curses and PDCurses. Both lack some of the X/Open Curses + features, necessitating customization. But this activity was + useful because it showed some remaining performance issues (which + have been resolved in this release).

+ +

These changes were made to verify compatibility or compare + performance of ncurses:

+ + + +

These changes were made to help with the MinGW port:

+ + + +

These changes were made to verify new extensions in ncurses:

+ + + +

These changes were made to make the examples more useful:

+ + + +

Terminal + database

+ +

This release provides improvements to tic's + “-c” checking option, which was used for + example to

+ + + +

There are several new terminal descriptions:

+ + + +

A few entries use extensions (user-defined terminal + capabilities):

+ + + +

A few terminals support italics and/or dim capabilities. In + particular, screen does not. Documented that, and accommodated + the terminals where this feature works with the + A_ITALIC extension.

+ + + +

Documentation

+ +

As usual, this release

+ + + +

In addition, the mechanism for producing HTML versions of the + documentation has been improved:

+ + + +

Interesting + bug-fixes

+ + + +

Configuration changes

+ +

Major + changes

+ +

The ncurses 6.0 configure script + makes changes to the default value of several configure + options, depending on the --with-abi-version option + (i.e., whether its value is “5” or + “6”):

-
cdk
+
--enable-const
+ +
+

Feature introduced in 970405 + supports the use of const where X/Open Curses + should have, but did not. NetBSD curses does something + similar with const.

+
-
Curses Development Kit
- http://invisible-island.net/cdk/
+
--enable-ext-colors
- http://www.vexus.ca/products/CDK/ +
+

Extends the cchar_t structure to allow more + than 16 colors to be encoded. This applies only to the + wide-character (--enable-widec) + configuration.

+
-
ded
+
--enable-ext-mouse
-
directory-editor
- http://invisible-island.net/ded/
+
+

Modifies the encoding of mouse state to make room for a + 5th mouse button. That allows one to use ncurses with a wheel + mouse with xterm or similar X terminal emulators.

+
-
dialog
+
--enable-ext-putwin
+ +
+

Modifies the file-format written by putwin to + use printable text rather than binary files, allowing + getwin to read screen dumps written by + differently-configured ncurses libraries. The extended + getwin can still read binary screen dumps from + the same configuration of ncurses. This does not + change the ABI (the binary interface seen by calling + applications).

+
-
the underlying application used in Slackware's setup, and - the basis for similar applications on GNU/Linux.
- http://invisible-island.net/dialog/
+
--enable-interop
-
lynx
+
+

Modifies the FIELDTYPE structure used for the + form library to make it more generic.

+
-
the character-screen WWW browser
- http://lynx.isc.org/release/
+
--enable-lp64
-
Midnight Commander
+
+

Allows an application to define _LP64 to + declare chtype and mmask_t as + simply “unsigned” rather than the + configured types using the --with-chtype and + --with-mmask_t options.

+
-
file manager
- http://www.midnight-commander.org/
+
--enable-sp-funcs
-
mutt
+
+

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.

+
-
mail utility
- http://www.mutt.org/
+
--with-chtype=uint32_t
+ +
+

Makes chtype explicitly a 32-bit unsigned + value.

+
-
ncftp
+
--with-mmask_t=uint32_t
-
file-transfer utility
- http://www.ncftp.com/
+
+

Makes mmask_t explicitly a 32-bit unsigned + value.

+
-
nvi
+
--with-tparm-arg=intptr_t
-
New vi versions 1.50 are able to use ncurses versions 1.9.7 - and later.
- https://sites.google.com/a/bostic.com/keithbostic/nvi
+
+

X/Open Curses declares + tparm using long for each of the parameters + aside from the formatting string, presuming that + long and char* are the same size. + This configure option uses intptr_t which + provides a better guarantee of the sizes.

+
-
pinfo
+

The configure script no longer checks for antique compilers; + c89 is assumed as a minimum. There are a few + features from later revisions which are used when available. The + configure script makes checks to turn on useful warnings from + clang, gcc and icc. You should be able to build ncurses 6.0 with any of the current (or not so + current) C compilers available in 2015.

+ +

The configure script, by the way, makes changes which do not + work with systems whose /bin/sh is non-POSIX. This + mainly affects Solaris (the other vendor unix systems have followed the POSIX guidelines + for the past twenty years). If you must build on Solaris, its + xpg4 + binaries suffice, e.g.,

+ +
+ + +

+ #!/bin/sh
+ WHAT=`hostname|sed -e 's/\..*//'`
+ + OUT=configure.out
+ cat >>$OUT <<EOF/
+ ** 
`date`
+ ** node: 
$WHAT
+ ** user: 
`id`
+ ** conf: $*
+ EOF/

+  
+ SHELL=/bin/sh
+ if test -f /usr/xpg4/bin/sh
+ + then
+         CONFIG_SHELL=/usr/xpg4/bin/sh
+         export CONFIG_SHELL
+ +         SHELL=$CONFIG_SHELL
+ fi
+  
+ rm -f config.status config.cache
+ TOP=$HOME/$WHAT
+ $SHELL ./configure --verbose \
+ +         --disable-echo \
+ +         --disable-overwrite \
+ +         --enable-warnings \
+ +         --with-warnings \
+ +         --prefix=$TOP $* 2>&1 | tee -a $OUT
+ +

+
+ +

Other major changes to the configure script include:

-
Lynx-like info browser. https://alioth.debian.org/projects/pinfo/
+ -
tin
+

Configuration options

-
newsreader, supporting color, MIME http://www.tin.org/
- as well as some that use ncurses for the terminfo support - alone: +

There are several new (or extended) configure options:

-
minicom
+
--disable-db-install
-
terminal emulator
- http://alioth.debian.org/projects/minicom/
+
+

Do not install the terminal database. This is used to omit + features for packages, as done with + --without-progs. The option simplifies building + cross-compile support packages.

+
-
vile
+
--disable-gnat-projects
-
vi-like-emacs
- http://invisible-island.net/vile/
+
+

This option is used for regression testing

+
+ +
--disable-lib-suffixes
+ +
+

Suppress the “w”, “t” or + “tw” suffixes which normally would be added to + the library names for the --enable-widec and + --with-pthread options.

+
+ +
--with-cxx-shared
+ +
+

When --with-shared is set, build libncurses++ + as a shared library. This implicitly relies upon building + with gcc/g++, since other compiler suites may have + differences in the way shared libraries are built. libtool by + the way has similar limitations.

+
+ +
--with-hashed-db
+ +
+

Extended this configure option to simplify building with + different versions of Berkeley database using FreeBSD + ports.

+
+ +
--with-pc-suffix
+ +
+

If ".pc" files are installed, optionally add a suffix to + the files and corresponding package names to separate unusual + configurations. If no option value is given (or if it is + "none"), no suffix is added. This option is used in the test + package for ncurses6.

+
+ +
--with-xterm-kbs
+ +
+

Configure xterm's terminfo entries to use either BS + (^H, i.e., ASCII backspace) or DEL + (^?, or 127).

+
-

The ncurses distribution includes a selection of test programs - (including a few games).

+

Portability

+ +

MinGW

+ +

Most of the portability-related work since + ncurses 5.9 extended and improved the MinGW port + introduced in + ncurses 5.8.

+ +

The MinGW port can be readily cross-compiled:

+ + + +

The MinGW-specific Windows driver accounts for several + changes:

+ + + +

Finally, there are other improvements:

+ + + +

Other + ports

+ +

These changes affect certain platforms (ports):

+ + +
+ +

Features of ncurses

+ +

The ncurses package is fully + upward-compatible with SVr4 (System V Release 4) curses:

+ + + +

The ncurses package also has many + useful extensions over SVr4:

+ + + +

Applications using + ncurses

+ +

The ncurses distribution includes + a selection of test programs (including a few games). These are + available separately as ncurses-examples

+ +

The ncurses library has been tested with a wide variety of + applications including:

+ +
+
+
cdk
+ +
+

Curses Development Kit

+ +

http://invisible-island.net/cdk/
+

+
+ +
ded
+ +
+

directory-editor

+ +

http://invisible-island.net/ded/

+
+ +
dialog
+ +
+

the underlying application used in Slackware's setup, + and the basis for similar install/configure applications on + many systems.

+ +

http://invisible-island.net/dialog/

+
+ +
lynx
-

Who's Who and What's What

Zeyd Ben-Halim started it from - a previous package pcurses, written by Pavel Curtis. Eric S. +
+

the text WWW browser

+ +

http://lynx.isc.org/

+
+ +
Midnight Commander
+ +
+

file manager

+ +

http://www.midnight-commander.org/

+
+ +
mutt
+ +
+

mail utility

+ +

http://www.mutt.org/

+
+ +
ncftp
+ +
+

file-transfer utility

+ +

http://www.ncftp.com/

+
+ +
nvi
+ +
+

New vi uses ncurses.

+ +

https://sites.google.com/a/bostic.com/keithbostic/nvi
+

+
+ +
tin
+ +
+

newsreader, supporting color, MIME

+ +

http://www.tin.org/

+
+
+
+ +

as well as some that use ncurses + for the terminfo support alone:

+ +
+
+
minicom
+ +
+

terminal emulator for serial modem connections

+ +

http://alioth.debian.org/projects/minicom/

+
+ +
mosh
+ +
+

a replacement for ssh.

+ +

https://mosh.mit.edu/

+
+ +
tack
+ +
+

terminfo action checker

+ +

http://invisible-island.net/ncurses/tack.html

+
+ +
tmux
+ +
+

terminal multiplexor

+ +

http://tmux.github.io/

+
+ +
vile
+ +
+

vi-like-emacs may be built to use the terminfo, termcap + or curses interfaces.

+ +

http://invisible-island.net/vile/

+
+
+
+ +

and finally, those which use only the termcap interface:

+ +
+
+
emacs
+ +
+

text editor

+ +

http://www.gnu.org/software/emacs/

+
+ +
screen
+ +
+

terminal multiplexor

+ +

http://www.gnu.org/software/screen/

+
+ +
vim
+ +
+

text editor

+ +

http://www.vim.org/

+
+
+
+ +

Development + activities

+ +

Zeyd Ben-Halim started ncurses + from a previous package pcurses, written by Pavel Curtis. Eric S. Raymond continued development. Jürgen Pfeifer wrote most of - the form and menu libraries. Ongoing work is being done by + the form and menu libraries. Ongoing development work is done 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 bug-ncurses@gnu.org. - -

To join the ncurses mailing list, please write email to - bug-ncurses-request@gnu.org containing the line:

-
-             subscribe <name>@<host.domain>
-
+ Thomas Dickey also acts as the maintainer for the Free Software + Foundation, which holds the copyright + on ncurses.

+ +

Contact the current maintainers at

+ +
+ bug-ncurses@gnu.org +
+ +

To join the ncurses mailing list, please write email to

+ +
+ bug-ncurses-request@gnu.org +
containing the line: + +
+

subscribe + <name>@<host.domain>

+

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 ftp://invisible-island.net/ncurses/ .

+

Beta versions of ncurses and + patches to the current release are made available at

+ +
+

ftp://invisible-island.net/ncurses/ .

+
+ +

There is an archive of the mailing list here:

+ +
+

http://lists.gnu.org/archive/html/bug-ncurses + (also https)

+
-

Future Plans

+

Related + resources

+ +

The release notes make scattered references to these pages, + which may be interesting by themselves:

We need people to help with these projects. If you are - interested in working on them, please join the ncurses list. +
  • tctest + – termcap library checker
  • -

    Other Related Resources

    The distribution provides a newer - version of the terminfo-format terminal description file once - maintained by Eric +
  • + Terminal Database
  • + + +

    Other + resources

    + +

    The distribution provides a newer version of the + terminfo-format 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 X/Open specification. + 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 Richard Shuford's archive .

    + +