X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=announce.html.in;h=24da9f52356f09497ee9f3d74c1e2303ce181436;hb=60cbc89987842cf6036aabced6618988b5117810;hp=89fb3ebeb4622d3121cdf68190348d4c95538c1a;hpb=02f02dcd4464143580e783ae32c822d8eb8cdcbf;p=ncurses.git diff --git a/announce.html.in b/announce.html.in index 89fb3ebe..24da9f52 100644 --- a/announce.html.in +++ b/announce.html.in @@ -1,7 +1,7 @@ - +
+ "HTML Tidy for HTML5 for Linux version 5.2.0">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 +
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 SVr4-curses - enhancements over BSD curses. SVr4 curses is better known today - as X/Open Curses.
+ enhancements over BSD curses. SVr4 curses became the basis of + 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 +
Since 1995, ncurses has been ported to many systems:
The distribution includes the library and support utilities, including
Full manual pages are provided for the library and tools.
-The ncurses distribution is - available via anonymous FTP at the GNU distribution site
+The ncurses distribution is + available at ncurses' homepage:
-It is also available at + "ftp://ftp.invisible-island.net/ncurses/">ftp://ftp.invisible-island.net/ncurses/ + or
It is also available via anonymous FTP at the GNU distribution + site
+ "ftp://ftp.gnu.org/gnu/ncurses/">ftp://ftp.gnu.org/gnu/ncurses/ .
These notes are for ncurses - @VERSION@, released August 8, 2015.
+These notes are for ncurses + @VERSION@, released February 12, 2020.
This release is designed to be source-compatible with - ncurses 5.0 through 5.9; providing a - new application binary interface (ABI). Although the source can - still be configured to support the ncurses 5 ABI, the intent of the release is to - provide extensions which are generally useful, but - binary-incompatible with ncurses - 5:
- -Extend the cchar_t
structure to allow more
- than 16 colors to be encoded.
Modify 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.
-There are, of course, numerous other improvements, - including
+There are, of course, numerous other improvements, listed in + this announcement.
-fixes made based on the Clang and Coverity static - analyzers.
-The most important + bug-fixes/improvements dealt with user-defined capabilities + in terminal descriptions. The release notes also mention some + other bug-fixes, but are focused on new features and improvements + to existing features since ncurses + 6.1 release.
-memory leak fixes using Valgrind
-The release notes mention some bug-fixes, but are focused on - new features and improvements to existing features log since - ncurses 5.9 release.
+While the intent of the release is to provide a new stable - ABI, there are other development activities which are summarized - below.
+There are several new features:
The original release plan, e.g., for "5.10" was to improve
- the MinGW port. Ultimately that was completed (wide-character
- support, mouse, etc), but was deferred to focus on termcap
- support and performance issues. Also, pinpointing the
- problems with Console2
took a while.
O_EDGE_INSERT_STAY + tells the form library to optionally delay cursor movement on + a field edge/boundary
A review of termcap compatibility in 2011 led to several - minor fixes in the library and improvements to utilities. To - do this properly, a review of the various extent termcap - implementations was needed.
- -The termcap - library checker (tctest) (not part of ncurses) was one result. A followup review - of performance using ncurses-examples - in 2014 led to additional improvements.
+O_INPUT_FIELD + extension to form library allows a dynamic field to shrink if + the new limit is smaller than the current field size.
Output buffering provided a further, but worthwhile
- distraction. A bug report in 2012 regarding the use of signal
- handlers in ncurses) pointed out
-
- a problem with the use of unsafe functions for handling
- SIGTSTP
. Other signals could be addressed with
- workarounds; repairing SIGTSTP
required a
- different approach. The solution required changing internal
- behavior of the library: how it handles output buffering.
Now ncurses buffers its own - output, independently of the standard output. A few - applications relied upon the library's direct reuse of the - standard output buffering; however that is - unspecified behavior and has never been a - recommended practice. Identifying these applications as well - as refining the change to permit low-level applications to - work consistently took time.
-Since the introduction of the experimental support for 256 - colors early in 2005 - (released in ncurses - 5.5), there has been increased user interest. Almost all - packagers continue providing the ncurses ABI 5 which cannot - support 256 colors.
-Symbol versioning, or the lack of it in ncurses, is the - main reason why packagers would be reluctant to add a new - ncurses ABI.
- -This release provides the new ABI along with - script-generated lists of versioned symbols which can be used - for both ABI 5 and 6 (with distinct names to keep the two - separate). This took time to development, as reported in +
added exit_curses and Symbol - versioning in ncurses.
+ "@HOMEPAGE@/man/curs_memleaks.3x.html">exit_terminfo to + replace internal symbols for leak-checking.X/Open curses provides more than one initialization - function:
- -added curses_trace, + to replace trace().
+They are documented in X/Open as if
- initscr
calls newterm
using
- stdout
for output stream, and in turn
- newterm
calls setupterm
using
- fileno(stdout)
for the file descriptor. As long as
- an implementation acts as if it does this, it conforms.
- In practice, implementations do what is implied. This creates a
- problem: the low-level setupterm
function's file
- descriptor is unbuffered, while newterm
implies
- buffered output. X/Open Curses says that all output is done
- through the file descriptor, and does not say how the output
- stream is actually used.
Initially, ncurses used the file
- descriptor (obtained from the output stream passed to
- newterm
) for changing the terminal modes, and relied
- upon the output parameter of newterm
for buffered
- output. Later (to avoid using unsafe buffered I/O in signal
- handlers), ncurses was modified to
- use the file descriptor (unbuffered output) when cleaning up on
- receipt of a signal. Otherwise (when not handling a signal), it
- continued to use the buffered output.
That approach worked reasonably well and as a side effect,
- using the same buffered output as an application might use for
- printf
meant that no flushing was needed when
- switching between normal- and screen-modes.
There were a couple of problems:
+Additionally, to improve performance other changes (and + extensions) are provided in this release:
to get good performance, curses (not only ncurses, but SVr4 curses in general) set an
- output buffer using setbuf
or similar function.
- There is no standard (or portable) way to turn that output
- buffer off, and revert to line-buffering. The
- NCURSES_NO_SETBUF
environment variable did make it
- optional.
mouse decoding now handles shift/control/alt logic when + decoding xterm's 1006 mode
to handle SIGTSTP
(the “stop”
- signal), ncurses relied upon
- unsafe functions. That is, due to the complexity of the
- feature, it relied upon reusing existing functions which
- should not have been called via the signal handler.
ncurses now defines a limit for wgetnstr, wgetn_wstr when + length is negative or “too large”.
Conveniently, solving the second problem (by making ncurses do its own output buffering) - also fixed the first one. But there were special cases to - resolve: - low-level functions such as mvcur, putp, vidattr - explicitly use the standard output. Those functions were reused - internally, and required modification to distinguish whether they - were used by the high-level or low-level interfaces.
- -Finally, there may still be a few programs which should be - modified to improve their portability, e.g., adding an
- --- --fflush(stdout); --
when switching from “shell”
- mode to “program”
- (curses) mode. Those are fairly rare because most programmers
- have learned not to mix printf
and printw
.
This release introduces symbol-versioning to ncurses because without it, the change of ABI - would be less successful. A lengthy discussion will be presented - in Symbol - versioning in ncurses. These - notes summarize what has changed, and what can be done with the - new release.
- -Symbol-versioning allows the developers of a library to mark - each public symbol (both data and functions) with an identifier - denoting the library name and the version for which it was built. - By doing this, users of the library have a way to help ensure - that applications do not accidentally load an incompatible - library. In addition, private symbols can be hidden entirely.
- -This release provides sample files for the four principal
- configurations of ncurses libraries:
- ncurses
, ncursesw
,
- ncursest
and ncursestw
. Each sample is
- given in two forms:
-- --
-- “
- -.map
”- These list all public symbols, together with version - names.
- -- “
- -.sym
”- These list all public symbols, without version - names.
-
The sample files are generated by scripts which take
- into account a few special cases such as tack to omit
- many of the ncurses private symbols
- (beginning with “_nc_
”). Here are
- counts of globals versus locals:
-+-
-- - -Config - -Symbols - -Globals -Locals - -"_nc_" -- - -ncurses - -976 - -796 - -180 - -332 -- - -ncursesw - -1089 - -905 - -184 - -343 -- - -ncursest - -979 - -804 - -175 - -358 -- -ncursestw - -1098 - -914 - -184 - -372 -
Although only four sample configurations are presented, each - is formed by merging symbols from several combinations of - configure-script options, taking into account advice from - downstream packagers. Because they are formed by merging, the - sample files may list a symbol which is not in a given package. - That is expected. The samples have been tested and are working - with systems (such as Fedora, FreeBSD and Debian) which fully - support this feature. There are other systems which do - not support the feature, and a few (such as Solaris) - which provide incomplete support.
- -The version-naming convention used allows these sample files - to build distinct libraries for ABI 5 and 6. Version names - consist of
- -configuration name, e.g.,
- “NCURSESW
” for the wide-character
- libraries
there is now no buffer-size limit when reading the + $TERMCAP + variable.
ABI version (if not 5)
+the $TERMCAP + variable may be interpreted as a fallback to a terminfo + entry
library name for two special cases which have the same
- interface across configurations:
- “TINFO
” and
- “TIC
”
+ mvcur now decides whether to use hard-tabs, using + xt, tbc + and hts as clues.
release version
+extended colors are improved by modifying an internal call + to + vid_puts to pass extended color pairs e.g., from + tty_update.c and lib_mvcur.c
patch date (for the release version)
+the initialization functions now avoid + relying upon persistent data for the result from getenv
For example, running nm -D
on the libraries in
- the ncurses6 test package shows these symbol-versions:
scrolling is improved:
--+-0000000000000000 A NCURSES6_TIC_5.0.19991023 -0000000000000000 A NCURSES6_TIC_5.1.20000708 -0000000000000000 A NCURSES6_TIC_5.5.20051010 -0000000000000000 A NCURSES6_TIC_5.7.20081102 -0000000000000000 A NCURSES6_TIC_5.9.20150530 -0000000000000000 A NCURSES6_TINFO_5.0.19991023 -0000000000000000 A NCURSES6_TINFO_5.1.20000708 -0000000000000000 A NCURSES6_TINFO_5.2.20001021 -0000000000000000 A NCURSES6_TINFO_5.3.20021019 -0000000000000000 A NCURSES6_TINFO_5.4.20040208 -0000000000000000 A NCURSES6_TINFO_5.5.20051010 -0000000000000000 A NCURSES6_TINFO_5.6.20061217 -0000000000000000 A NCURSES6_TINFO_5.7.20081102 -0000000000000000 A NCURSES6_TINFO_5.8.20110226 -0000000000000000 A NCURSES6_TINFO_5.9.20150530 -0000000000000000 A NCURSESW6_5.1.20000708 -0000000000000000 A NCURSESW6_5.3.20021019 -0000000000000000 A NCURSESW6_5.4.20040208 -0000000000000000 A NCURSESW6_5.5.20051010 -0000000000000000 A NCURSESW6_5.6.20061217 -0000000000000000 A NCURSESW6_5.7.20081102 -0000000000000000 A NCURSESW6_5.8.20110226 -0000000000000000 A NCURSESW6_5.9.20150530 --
As a special case, this release (which makes the final change - for ABI 5) is marked with release version 5.9 and patch date - 20150530.
+improved loop limits in _nc_scroll_window + handle a case where the scrolled data is a pad which is + taller than the window.
+The new release has several improvements for performance and - building. For instance:
+These are revised features:
several files in ncurses- and progs-directories were
- modified to allow const
data used in internal
- tables to be put by the linker into the readonly text
- segment.
used “const” in some prototypes + rather than NCURSES_CONST where X/Open Curses was + updated to do this, e.g., wscanw, newterm, + the terminfo interface. Also use “const” + for consistency in the termcap interface, which was withdrawn + by X/Open Curses in Issue 5 (2007). As of Issue 7, X/Open + Curses still lacks “const” for certain + return values, e.g., keyname.
various improvements were made to building the Ada95
- binding, both in simplifying the generated files as well as
- improving the way it uses gnatmake
modified wbkgd + and wbkgrnd + to improve compatibility with SVr4 curses, changing the way + the window rendition is updated when the background character + is modified
There are also new features in the libraries:
- -added - wgetdelay to retrieve _delay member of WINDOW if it - happens to be opaque, e.g., in the pthread configuration.
+improved terminfo write/read by modifying the fourth item + of the extended header to denote the number of valid strings + in the extended string table (see term(5)).
added - A_ITALIC extension.
+modified the initialization checks for mouse so that the + xterm+sm+1006 + block will work with terminal descriptions not mentioning + xterm.
These were done to limit or ultimately deprecate features:
+ +added form library extension - O_DYNAMIC_JUSTIFY option which can be used to override - the different treatment of justification for static versus - dynamic fields .
+deprecated safe-sprintf, since the + vsnprintf function, which does what was needed, was + standardized long ago.
rewrote - putwin and - getwin, making an extended version which is capable of - reading screen-dumps between the wide/normal ncurses configurations. These are text - files, except for a magic code at the beginning:
- --+-0 string \210\210 Screen-dump (ncurses) --
marked vwprintw + and vwscanw as deprecated; recommend using vw_printw + and vw_scanw, respectively.
several changes to mouse support include:
- -%u
” format to terminfo.added deprecation warnings for internal functions called + by older versions of tack.
+removed unused _nc_import_termtype2 function.
There are a few new configure options dealing with library - customization:
+These are improvements to existing features:
add “--enable-ext-putwin
”
- configure option to turn on the extended putwin/getwin. By
- default, this is enabled for ABI 6 and disabled with ABI
- 5.
check parameter of set_escdelay, + return ERR if negative.
add “--enable-string-hacks
”
- option to control whether strlcat and strlcpy may be used.
- Because ncurses already does the
- requisite buffer-limit checks, this feature is mainly of
- interest to quiet compiler-warnings on a few systems.
check parameter of set_tabsize, return + ERR if not greater than zero
add configure option
- “--with-tparm-arg
” to allow
- tparm's parameters to be something more likely to be the
- same size as a pointer, e.g., intptr_t
(again,
- the default is set for ABI 6).
correct a status-check in _nc_read_tic_entry() so that if + reading a hex/b64 $TERMINFO, + and the $TERM + does not match, fall-through to the compiled-in search + list.
amend check for + repeat_char to handle a case where setlocale() was + called after initscr
+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:
move macro for is_linetouched + inside NCURSES_NOMACROS + ifndef.
+Both terminfo and termcap store string capabilities as
- NUL
-terminated strings.
use _nc_copy_termtype2 rather than direct + assignment in setupterm, + in case it is called repeatedly using fallback terminfo + descriptions
In terminfo, a \0
in a terminal description
- is stored as \200
.
improve workaround for Solaris wcwidth versus line-drawing + characters
There are no (known) terminals which would behave
- differently when sent \0
or
- \200
.
add checks in repair_subwindows + to keep the current position and scroll-margins inside the + resized subwindow.
When translating to terminfo format (or displaying a
- printable version of an entry using infocmp), ncurses shows \200
as
- \0
.
correct a buffer-limit in write_entry.c for + systems that use caseless filenames.
It has done this since 1998 (quoting from the NEWS - file):
+improved build-time utility report_offsets:
--+-980103 -... - + modify _nc_tic_expand() to generate \0 rather than \200. -... - + correct translation of terminfo "^@", to \200, like \0. --
add categories, e.g., "w" for wide-character, "t" for + threads to make the report more readable. Reorganized the + structures reported to make the categories more + apparent.
+add NCURSES_GLOBALS and + NCURSES_PRESCREEN to report to show how similar + the different libtinfo configurations are.
+However, the _nc_tic_expand
function (which
- optionally produces terminfo or termcap format) did not
- address this special case for termcap. Even the later 4.4BSD
-
- cgetstr interprets a \0
literally, ending
- that string (rather than using the terminfo
- improvement).
modified some header files to ensure that those include + necessary files except for the previously-documented + cases
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:
-the “-0
” option generates
- termcap/terminfo source on a single line.
added some traces in initialization to show whether a + fallback entry is used.
the “-K
” option provides stricter
- BSD-compatibility for termcap output.
made minor optimization to reduce calls to + _nc_reserve_pairs
Other user-visible improvements and new features include:
+These are corrections to existing features:
added “-D
” option to tic and
- infocmp, to show the database locations that it could
- use.
fix a special case in PutAttrChar where a cell is + marked as alternate-character set, but the terminal does not + actually support the given graphic character. This would + happen in an older terminal such as vt52, which + lacks most line-drawing capability.
+corrected flag for "seq" method of db 1.8.5 interface, + needed by toe on some of the BSDs.
added “-s
” option to toe, to sort
- its output.
modify comparison in make_hash.c to correct a special case + in collision handling for Caps-hpux11
extended “-c
” and
- “-n
” options of infocmp to allow
- comparing more than two entries.
add extended_slk_color{,_sp} symbols to the appropriate + package/*.{map,sym} files
modified toe's report when “-a
”
- and “-s
” options are combined, to
- add a column showing which entries belong to a given
- database.
modify lib_setup to avoid calling pthread_self() without + first verifying that the address is valid, i.e., for weak + symbols
modified the clear program to take into account the
- “E3
” extended capability to clear
- the terminal's scrollback buffer.
add a couple of broken-linker symbols to the list of + versioned symbols to help with link-time optimization versus + weak symbols.
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).
+Several improvements were made to the utility programs:
-These changes were made to verify compatibility or compare - performance of ncurses:
+made workarounds for compiling test-programs with NetBSD - curses, though it lacks some common functions such as - - use_env.
-added dots_termcap test-program
-added dots_curses test-program, for comparison with the - low-level examples.
-added test_setupterm test-proram to demonstrate - normal/error returns from the setupterm and restartterm - functions.
-added “-d
”,
- “-e
” and
- “-q
” options to the demo_terminfo
- and demo_termcap test-programs.
added “-y
” option to demo_termcap
- and test/demo_terminfo test-programs to demonstrate behavior
- with/without extended capabilities.
modified demo_termcap and demo_terminfo test-programs to
- make their options more directly comparable, and add
- “-i
” option to specify a terminal
- description filename to parse for names to lookup.
rewrote the tests for - mvderwin and test for recursive - mvwin in the movewindow test-program.
-These changes were made to help with the MinGW port:
+added test-screens to the ncurses test-program to show - 256-characters at a time, to help with MinGW port.
-modified the view test-program to load UTF-8 when built - with MinGW by using regular win32 API because the MinGW - functions mblen and mbtowc do not work.
-added “-s
” option to the view
- test-program to allow it to start in single-step mode,
- reducing size of trace files when it is used for debugging
- MinGW changes.
These changes were made to verify new extensions in ncurses:
+added - form_driver_w entrypoint to wide-character forms library, - as well as form_driver_w test-program.
-Several changes were made to the generated ncurses*config + scripts and the analogous “.pc” files to + reduce differences between the configurations they report:
+ +modified ncurses test-program's b/B tests to display lines - only for the attributes which a given terminal supports, to - make room for an italics test.
+modified the ncurse*-config and pc-files to more closely + match for the -I and -l options.
modified ncurses test-program, adding
- “-E
” and
- “-T
” options to demonstrate use_env
- versus use_tioctl.
filtered out linker-specs from the --libs + report.
modified ncurses test-program's c/C tests to cycle through - subsets of the total number of colors, to better illustrate - 8/16/88/256-colors by providing directly comparable - screens.
+amended the ncurses*-config and pc-files to take into + account the rpath hack which differed between those + files.
modified the ncurses test-program to also show position - reports in 'a' test.
+modified generated ncurses*config and ncurses.pc, + ncursesw.pc, etc., to list helper libraries such as gpm for + static linking.
These changes were made to make the examples more useful:
+Along with the library and utilities, improvements were made + to the ncurses-examples. Most of + this activity aimed at improving the test-packages. A few changes + are more generally useful, e.g., for the main ncurses + test-program, and for analyzing traces using the + tracemunch script:
added scripts for building dpkg and rpm test-packages
+improve recovery from error when reading command-character + in test/ncurses.c, showing the relevant error + message and not exiting on EINTR.
modified the hanoi test-program to show the minimum number - of moves possible for the given number of tiles.
+improve tracemunch, by keeping track of + TERMINAL* values, and if tracing was first turned on + after initialization, attempt to show distinct screen, window + and terminal names anyway.
modified the knight test-program to show the number of - choices possible for each position in automove option, e.g., - to allow user to follow Warnsdorff's rule to solve the - puzzle.
+modify tracemunch to accept filename parameters + in addition to use as a pipe/filter.
This release provides improvements to tic's
- “-c
” checking option, which was used for
- example to
update tracemunch to work with perl + 5.26.2, which changed the rules for escaping regular + expressions.
+make sgr
in several entries agree with other
- caps.
add some checks in tracemunch for undefined + variables.
correct padding in some entries where earlier versions had - miscounted the number of octal digits.
+modify TurnOn/TurnOff macros (in + lib_vidattr.c and lib_vid_attr.c) to avoid expansion of + “CUR” in trace.
There are several new terminal descriptions:
+There are other new demo/test programs and reusable + examples:
-A few entries use extensions (user-defined terminal - capabilities):
+A variety of improvements were made to existing programs, both + new features as well as options added to make the set of programs + more consistent.
E3
, used in linux, putty and xterm-basic is
- tested in the clear
- program to erase a terminal's scrollback.
add “-l” option to test/background, + to dump screen contents in a form that lets different curses + implementations be compared.
TS
is used in the
- xterm+sl building block to help deprecate the misuse of
- tsl
for xterm's title-string.
add “@” command to test/ncurses + F-test, to allow rapid jump to different character pages.
XT
is used in some terminfo entries to
- improve usefulness for other applications than screen, which
- would like to pretend that xterm's title is a
- status-line.
added enum, regex examples to test/demo_forms
xm
is used in examples
- xterm-1005 and
- xterm-1006 to illustrate a way to make mouse handling
- more general
amend Scaled256() macro in test/picsmap.c to cover the + full range 0..1000
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.
As usual, this release
- -improves documentation by describing new features,
+corrected pathname used in Ada95 sample programs for + explain.txt, to work with test-packages, and used an + awk script to split the resulting pathname when it would be + too long for a single line.
attempts to improve the description of features which - users have found confusing
+ignore interrupted system-call in test/ncurses's + command-line, e.g., if the terminal were resized.
fills in overlooked descriptions of features which were - described in the NEWS file - but treated sketchily in manual pages.
+improved ifdef's for TABSIZE variable, to help + with AIX/HPUX ports.
In addition, the mechanism for producing HTML versions of the - documentation has been improved:
+use an improved version of man2html - to generate html manpages.
-There are several new terminal descriptions:
-regenerated - NCURSES-Programming-HOWTO.html to fix some of the broken - html emitted by docbook.
-+-alacritty, domterm, kitty, + mintty, mintty-direct, ms-terminal, + n7900, nsterm-build309, + nsterm-direct, screen5, ti703, + ti707, ti703-w, ti707-w + vscode, vscode-direct, xterm-mono, + xterm.js
+
There are many changes to existing terminal descriptions. Some + were updates to several descriptions:
Ada95 binding:
+modify makefile rules to ensure that the PIC option is - not used when building a static library
-make Ada95 build-fix for big-endian architectures such
- as sparc. This undoes one of the fixes from
- 20110319, which added an
- “Unused
” member to
- representation clauses, replacing that with pragmas to
- suppress warnings about unused bits.
Color and attributes:
+parenthesize parameter of COLOR_PAIR
and
- PAIR_NUMBER
in curses.h in case it happens
- to be a comma-expression.
improve
- 20021221 workaround for broken acs, handling a case
- where that ACS_xxx character is not in the
- acsc
string but there is a known
- wide-character which can be used.
modify - init_pair to accept -1's for color value after - - assume_default_colors has been called.
-add a check in - start_color to limit color-pairs to 256 when extended - colors are not supported.
-while others affected specific descriptions. These were + retested, to take into account changes by their developers:
-Resizing the screen:
++-terminator, st
+
propagate error-returns from wresize, i.e., the - internal increase_size and decrease_size functions - through - resize_term.
-while these are specific fixes based on reviewing + documentation, user reports, or warnings from tic:
-add check for zero/negative dimensions for
- resizeterm
and resize_term
.
modify resizeterm
to always push a
- KEY_RESIZE
onto the fifo, even if screensize
- is unchanged. Modify library to push a
- KEY_RESIZE
if there was a SIGWINCH, even if
- it does not call resizeterm
). These changes
- eliminate the case where a SIGWINCH is received, but ERR
- is returned from wgetch
or
- wgetnstr
because the screen dimensions did
- not change.
Low-level interfaces
+fix an old bug in the termcap emulation;
- “%i
” was ignored in
- tparm
because the parameters to be
- incremented were already on the internal stack.
change “%l
” behavior in tparm
- to push the string length onto the stack rather than
- saving the formatted length into the output buffer.
modify name-comparison for tgetstr, etc., to - accommodate legacy applications as well as to improve - compatbility with BSD 4.2 termcap implementations (see - note for 980725).
-modify internal recursion in wgetch
which
- handles cooked mode to check if the call to
- wgetnstr
returned an error. This can happen
- when both nocbreak
and nodelay
- are set, for instance (see note for 960418).
add a check in internal function
- waddch_nosync
to ensure that tab characters
- are treated as control characters; some broken locales
- claim they are printable.
modify menu library to ensure that a menu's top-row is - adjusted as needed to ensure that the current item is on - the screen
-fix special case where double-width character - overwrites a single- width character in the first - column.
-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”):
--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
.
--enable-ext-colors
Extends the cchar_t
structure to allow more
- than 16 colors to be encoded. This applies only to the
- wide-character (--enable-widec
)
- configuration.
--enable-ext-mouse
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.
+--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).
--enable-interop
Modifies the FIELDTYPE
structure used for the
- form library to make it more generic.
--enable-lp64
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.
--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.
+--with-chtype=uint32_t
Makes chtype
explicitly a 32-bit unsigned
- value.
--with-mmask_t=uint32_t
Makes mmask_t
explicitly a 32-bit unsigned
- value.
--with-tparm-arg=intptr_t
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.
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:
+A few entries use extensions (user-defined terminal + capabilities):
ABI 6 is now the default, intending that the existing ABI
- 5 should build as before using the
- “--with-abi-version=5
” option.
added --with-extra-suffix
option to help with
- installing nonconflicting ncurses6 packages, e.g., avoiding
- header- and library-conflicts.
NOTE: as a side-effect, this renames
+-+-
adacurses-config
to -adacurses5-config
and
-adacursesw-config
to -adacursesw5-config
As usual, this release
+ +improves documentation by describing new features,
the configure script looks for gnatgcc if the Ada95 - binding is built, in preference to the default gcc/cc. The - script also ensures that the Ada95 binding is built with the - level of optimization as the C libraries.
+attempts to improve the description of features which + users have found confusing
the configure script captures define's related to - -D_XOPEN_SOURCE from the configure check and adds those to - the *-config and *.pc files, to simplify use for the - wide-character libraries.
+fills in overlooked descriptions of features which were + described in the NEWS file + but treated sketchily in manual pages.
In addition to providing background information to explain + these features and show how they evolved, there are corrections, + clarifications, etc.:
-There are several new (or extended) configure options:
+Corrections:
---disable-db-install
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.
--disable-gnat-projects
This option is used for regression testing
-Clarify in manual pages that vwprintw
+ and vwscanw
+ are obsolete.
+ They have not been part of X/Open Curses since 2007.
--disable-lib-suffixes
New/improved history and portability sections:
-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
Improvements for user_caps.5:
-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.
-Other improvements:
---with-xterm-kbs
Configure xterm's terminfo entries to use either BS
- (^H
, i.e., ASCII backspace) or DEL
- (^?
, or 127).
There are no new manual pages (all of the manual page updates + are to existing pages).
-Some of the improvements are more subtle, relating to the way + the information is presented. For instance, the generated + terminfo.5 file uses a different table layout, allowing it to use + space on wide terminals more effectively.
-Most of the portability-related work since - ncurses 5.9 extended and improved the MinGW port - introduced in - ncurses 5.8.
+While there were many bugs fixed during development of ncurses + 6.2, only a few (the reason for this release) were both important + and interesting. Most of the bug-fixes were for local issues + which did not affect compatibility across releases. Since those + are detailed in the NEWS file no elaboration is needed here.
-The MinGW port can be readily cross-compiled:
+The interesting bugs were in tic/infocmp's handling of + user-defined capabilities. These were not recent bugs. Initially + it was a simple problem:
modified configure script to allow creating dll's for - MinGW when cross-compiling.
-enforced Windows-style path-separator if - cross-compiling,
-One of simpleterm's contributors copied some definitions + for using tmux's user-defined capabilities in + + late in 2016.
-added scripts for test-builds of cross-compiled packages - for ncurses6 to MinGW.
+++diff --git a/st.info b/st.info +@@ -185,7 +185,10 @@ st| simpleterm, + tsl=\E]0;, + xenl, + vpa=\E[%i%p1%dd, +- ++# Tmux unofficial extensions, see TERMINFO EXTENSIONS in tmux(1) ++ Se, ++ Ss, ++ Tc, + + st-256color| simpleterm with 256 colors, + use=st, ++
added pc-files to the MinGW cross-compiling - test-packages.
+Later, in (referring to a version from + mid-2017), a user asked to have it updated in + ncurses.
added script for building test-packages of binaries - cross-compiled to MinGW using NSIS.
+However, it had an error from the change in late 2016. The + terminal description made what tmux expected to be + string actually a + boolean.
+ +Over the years, there were problems with each of + simpleterm's terminal descriptions. I repaired those, and + usually dealt with the problem.
added nc_mingw.h
to installed headers for
- MinGW port; this is needed for cross-compiling ncurses-examples.
The difference in this case was that when compiling the + terminal database, tic may have in memory the + definitions for more than one terminal description (so that + it can resolve “use=” clauses). Seeing + two different types for the same name, in certain situations + it would incorrectly merge the symbol tables for the two + terminal descriptions.
added test-packages for cross-compiling ncurses-examples - using the MinGW test-packages.
+On simpleterm's side, their bug was finally fixed in + + late 2019, three years after the bug was created.
The MinGW-specific Windows driver accounts for several - changes:
+For ncurses, the elapsed time to fix this bug was less than + three years. Someone reported a problem with the terminal + description a few weeks after releasing ncurses 6.1 (in tmux #1264), and + the terminal description was updated that week (ncurses patch + 20180224):
+ +++ ++20180224 + + modify _nc_resolve_uses2() to detect incompatible types when merging + a "use=" clause of extended capabilities. The problem was seen in a + defective terminfo integrated from simpleterm sources in 20171111, + compounded by repair in 20180121. + + correct Ss/Ms interchange in st-0.7 entry (tmux #1264) -TD ++
The larger part of that change added a check to prevent a + simple merge of terminal descriptions where the same user-defined + name was used with different types. But it raised some + questions:
wide-character display is made usable by replacing MinGW's
- non-working wcrtomb
and wctomb
- functions.
Was there a reliable way to manage terminal descriptions + which used the same extended name in different ways?
implemented some display features: beep, - flash, - - curs_set.
+Should ncurses provide a registry of well-known extended + names, with their types?
the driver handles repainting on endwin/refresh - combination.
-Since the correction to terminfo.src + could have been readily adopted by packagers, there was nothing + more to be done from ncurses' standpoint on that part. But + improving ncurses to prevent issues like that is the reason for + making a release.
-modified treatment of TERM
variable for MinGW
- port to allow explicit use of the Windows console driver by
- checking if $TERM
is set to
- “#win32console
” or an abbreviation
- of that.
Nothing more (constructive) was mentioned with regard to + simpleterm. But a few problems were found in the handling of + user-defined capabilities:
+the Windows driver also matches the special
- TERM
value “unknown”
Forward-references to user-defined capabilities in a + “use=” clause did not allocate new data + for each use. In tic, successive compilation of + terminal entries could add user-defined capabilities to the + wrong terminal entry.
-the driver now returns characters for special keys, (like
- ansi.sys
does), when keypad mode is off, rather
- than returning nothing at all.
This was not noticed before, since xterm's terminal + descriptions were the main users of the feature, and almost + all of the uses of the building-blocks which contained + user-defined capabilities were backward-references.
the driver checks a new environment variable
- NCURSES_CONSOLE2 to optionally work around a deficiency
- in Console2
(and its descendent
- ConsoleZ
) which hang when an application creates
- a console buffer.
There is one (documented) case where ncurses 6.1 supports + a user-defined capability that could be any type (i.e., + “RGB”). The check added in February 2018 to guard + against mismatches did not handle all of the combinations + needed.
Finally, there are other improvements:
+Both of these issues dated from the original implementation of + user-defined capabilities. Fixing them does not change the + terminal database, but a older tic without the fixes + will not be able to handle terminfo sources which rely upon those + fixes. Starting in June 2019, the download link for the terminfo + source file was capped at that date. The development sources have + an up-to-date copy of the file, for people with a legitimate need + for it.
+ +The “-c” (check) option of tic + is not very useful if it cannot offer advice on parameters needed + for user-defined capabilities. The various Caps files + were reorganized to reduce redundancy, and in the common portion + (Caps-ncurses), + a registry of user-defined capabilities is provided for use by + tic. While users can still define their own custom + capabilities, tic will not offer any advice when their + parameters do not match.
+ +In ncurses 6.2, tic makes a special check to allow + any type for RGB, but its being able to do this relies + upon fixes made in the ncurses library in mid-2019.
-MinGW is one of the configurations where ncurses installs by default into /usr
-extend Windows support to work with MSYS2;
+There are no major changes. Several new options were added to + ease integration of packages with systems using different + versions of GNAT and ncurses. Also, + improvements were made to configure checks.
-this works with a scenario where there is an
- ANSI-escape handler such as ansicon
running
- in the console window.
isatty
calls with a macro, provide a
- corresponding set of support routines to address
- differences between MinGW and MSYS2.There are a few new/modified configure options:
-ensure WINVER
is defined in makefiles rather
- than using headers.
add check for the gnatprep
- “-T
” option.
helps work around a filename conflict with Debian packages + versus test-packages.
+allows one to rename the “AdaCurses” library + (at least one packager prefers a lowercase name).
+now ensures there is a value, and adds the fallback + information to top-level Makefile summary.
+check for pcre-posix library to help with MinGW port.
+help work around problems building fallback source using + pre-6.0 tic/infocmp.
+option value can now be a relative pathname.
+Many of the portability changes are implemented via the + configure script:
+ +work around a bug introduced by - gcc 4.8.1 in MinGW which breaks "trace" feature.
+ignore $TERMINFO + as a default value in configure script if it came from the + infocmp -Q option.
add a driver-name method to each of the drivers.
+distinguish gcc from icc and clang when the + --enable-warnings option is not used, to avoid + unnecessary warnings about unrecognized inline options
These changes affect certain platforms (ports):
- -the configure script knows how to build shared libraries - with DragonFlyBSD and Interix.
+consistently prepend new libraries as they are found + during configuration, rather than relying upon the linker to + resolve order dependencies of libraries.
support for AIX shared libraries is improved, tested with - AIX 5.3, 6.1 and 7.1 with both gcc 4.2.4 and cc:
+modified configure scripts to reduce relinking/ranlib + during library install :
the shared-library suffix for AIX 5 and 6 is now - ".so"
-the -brtl
option is used with AIX 5-7; it
- is needed to link with the shared libraries.
the configure --enable-pc-files
option takes
- into account the PKG_CONFIG_PATH
- variable.
add configure check for getenv to work around + implementation shown in Emscripten which overwrites the + previous return value on each call.
-the configure option --with-pkg-config-libdir
- provides control over the actual directory into which
- pc-files are installed.
Use that to optionally suppress START_TRACE + macro, whose call to getenv may not work + properly
the build scripts add explicit -ltinfo, etc., to the
- generated ".pc" file when ld
option
- “--as-needed
” is used, or when
- ncurses and tinfo are installed without using rpath.
change target configure level for _XOPEN_SOURCE + to 600 to address use of vsscanf and + setenv.
the configure script disallows conflicting options
- “--with-termlib
” and
- “--enable-term-driver
”.
reduce use of _GNU_SOURCE for current glibc where + _DEFAULT_SOURCE combines with + _XOPEN_SOURCE
+ +Allow for Cygwin's newlib when checking for the + _DEFAULT_SOURCE symbol.
+ +MidnightBSD is now checked for the + _XOPEN_SOURCE-related definitions.
the check for missing c++ compiler to work when no error - is reported, and no variables set is improved (see note for - 20021206).
+If the check for va_copy or __va_copy + fails,
+ +the misc/gen_edit.sh script selects a "linux" entry which - works with the current kernel rather than assuming it is - always "linux3.0"
+several changes to support a port to Ultrix 3.1:
+ +the test/configure script makes it simpler to override - names of curses-related libraries, to help with linking with - pdcurses in MinGW environment.
+The test/configure script (used for ncurses-examples) + is improved:
+ +Here are some of the other portability fixes:
+the configure-script/ifdef's allow the BSD OLD_TTY feature
- to be suppressed if the type of ospeed
is
- configured using the option --with-ospeed
to not
- be a short
. By default, it is a
- short
for termcap-compatibility.
added dummy "check" rule in top-level and test-Makefile to + simplify building test-packages for ArchLinux.
the MKlib_gen.sh script works around a recent change in
- gcc 5 (released mid-2015) which essentially
- emits multiple #line
statements for the same
- position in a file.
dropped library-dependency on psapi for MinGW port, since + win_driver.c defines PSAPI_VERSION to 2, making it + use GetProcessImageFileName from kernel32.dll
the configure script works with Minix3.2 (see note - on portability)
+made build-fixes for configuration using --program-suffix + with Ada95, noticed with MacOS but applicable to other + platforms without libpanelw, etc.
OS/2 redux:
- -the configure script supports OS/2 kLIBC.
-the --with-lib-prefix
option allows
- configuring for old/new flavors of OS/2 EMX.
modified ncurses/Makefile.in to fix a case where + Debian/testing changes to the ld --as-needed configuration + broke ncurses-examples test packages.
improved configure-script checks for
- _XOPEN_SOURCE
:
the definition works starting with Solaris 10.
-the definition is suppressed for IRIX64, since its
- header files have a conflict versus
- _SGI_SOURCE
.
used _WIN32/_WIN64 in preference to + __MINGW32__/__MINGW64__ symbols to simplify + building with Microsoft Visual C++, since the former are + defined in both compiler configurations.
The ncurses package is fully +
The ncurses package is fully upward-compatible with SVr4 (System V Release 4) curses:
ncurses supports all of the +
ncurses supports all of the for SVr4 curses features including keyboard mapping, color, forms-drawing with ACS characters, and automatic recognition of keypad and function keys.
ncurses provides these SVr4 +
ncurses provides these SVr4 add-on libraries (not part of X/Open Curses):
ncurses's terminal database is - fully compatible with that used by SVr4 curses.
+ncurses's terminal database + is fully compatible with that used by SVr4 curses.
ncurses supports + user-defined capabilities which it can see, but which are + hidden from SVr4 curses applications using the + same terminal database.
+It can be optionally configured to match the format @@ -1880,23 +1594,23 @@ fflush(stdout);
Alternatively, ncurses can - be configured to use hashed databases rather than the +
Alternatively, ncurses + can be configured to use hashed databases rather than the directory of files used by SVr4 curses.
The ncurses utilities have +
The ncurses utilities have options to allow you to filter terminfo entries for use with less capable curses/terminfo versions such - as the HP/UX and AIX ports.
+ as the HP-UX and AIX ports.The ncurses package also has many - useful extensions over SVr4:
+The ncurses package also has + many useful extensions over SVr4:
Unlike SVr3 curses, ncurses +
Unlike SVr3 curses, ncurses can write to the rightmost-bottommost corner of the screen if your terminal has an insert-character capability.
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 tic/captoinfo - utility provided with ncurses has - the ability to translate many termcaps from the XENIX, IBM - and AT&T extension sets.
+The tic/captoinfo utility + provided with ncurses has the + ability to translate many termcaps from the XENIX, IBM and + AT&T extension sets.
A BSD-like tset - utility is provided.
+ "@HOMEPAGE@/man/tset.1.html">tset utility is provided.The ncurses library and +
The ncurses library and utilities will automatically read terminfo entries from $HOME/.terminfo if it exists, and compile to that directory if it exists and the user has no write access to the system @@ -2030,9 +1745,9 @@ fflush(stdout);
The table-of-entries utility toe - makes it easy for users to see exactly what terminal types - are available on the system.
+ "@HOMEPAGE@/man/toe.1m.html">toe makes it easy for users to see + exactly what terminal types are available on the system.Extensive documentation is provided (see the - Additional Reading section of the - ncurses FAQ for online documentation).
+ "@HOMEPAGE@/ncurses.faq.html#additional_reading">Additional + Reading section of the ncurses FAQ for online + documentation).The ncurses distribution includes - a selection of test programs (including a few games). These are - available separately as ncurses-examples
+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
+- aptitude +
- -
+ +Curses Development Kit
+FrontEnd to Apt, the debian package manager
http://invisible-island.net/cdk/
+
+ "https://wiki.debian.org/Aptitude">https://wiki.debian.org/Aptitude- cdk +
+ +- +
-Curses Development Kit
+ +- ded
+- ded +
- -
directory-editor
- +- dialog
+- dialog +
- -
the underlying application used in Slackware's setup, and the basis for similar install/configure applications on many systems.
- +- lynx
+- lynx +
- -
the text WWW browser
+ "https://lynx.invisible-island.net/">https://lynx.invisible-island.net/- Midnight Commander
+- mutt +
- -
-file manager
+mail utility
- +- mutt
+- ncftp +
- -
-mail utility
+file-transfer utility
+ "https://www.ncftp.com/">https://www.ncftp.com/- ncftp
+- nvi +
- -
-file-transfer utility
+New vi uses ncurses.
+ "https://sites.google.com/a/bostic.com/keithbostic/vi">https://sites.google.com/a/bostic.com/keithbostic/vi
+ +- nvi
+- ranger +
- -
-New vi uses ncurses.
+A console file manager with VI key bindings in + Python.
+ "https://ranger.github.io/">https://ranger.github.io/- tin
+- tin +
- + +
newsreader, supporting color, MIME
- + +- vifm +
+ +- +
File manager with vi like keybindings
+ +
as well as some that use ncurses - for the terminfo support alone:
+as well as some that use ncurses for the terminfo support alone:
@@ -2208,31 +1952,44 @@ fflush(stdout);-
- minicom
+- minicom +
- -
terminal emulator for serial modem connections
+ "https://alioth.debian.org/projects/minicom/">https://alioth.debian.org/projects/minicom/- mosh
+- mosh +
- -
a replacement for
@@ -2174,32 +1917,33 @@ fflush(stdout); "https://mosh.mit.edu/">https://mosh.mit.edu/ssh
.- tack
+- tack +
- -
terminfo action checker
- +- tmux
+- tmux +
- -
terminal multiplexor
+ "https://github.com/tmux/tmux/wiki">https://github.com/tmux/tmux/wiki- vile
+- vile +
- -
vi-like-emacs may be built to use the terminfo, termcap - or curses interfaces.
+vi-like-emacs may be built to use the terminfo, + termcap or curses interfaces.
- +
@@ -2240,15 +1997,21 @@ fflush(stdout);-
- emacs
+- emacs +
- + +
text editor
+ "https://www.gnu.org/software/emacs/">https://www.gnu.org/software/emacs/ +- less +
+ +- +
-The most commonly used pager (a program that + displays text files).
+ +- screen
+- screen +
- -
terminal multiplexor
+ "https://www.gnu.org/software/screen/">https://www.gnu.org/software/screen/- vim
+- vim +
text editor
- +
Zeyd Ben-Halim started ncurses +
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 development work is done by - Thomas Dickey. - Thomas Dickey also acts as the maintainer for the Free Software - Foundation, which holds the copyright - on ncurses.
+ the form and menu libraries. + +Ongoing development work is done by Thomas E. Dickey. Thomas + E. Dickey has acted as the maintainer for the Free Software + Foundation, which holds a copyright on ncurses for + releases 4.2 through 6.1. Following the release of ncurses 6.1, + effective as of release 6.2, copyright for ncurses reverted to + Thomas E. Dickey (see the ncurses FAQ for + additional information).
Contact the current maintainers at
@@ -2261,7 +2024,8 @@ fflush(stdout);bug-ncurses-request@gnu.org -containing the line: + + containing the line:
subscribe
@@ -2271,12 +2035,25 @@ fflush(stdout);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
+Beta versions of ncurses are + made available at
+ +++ +ftp://ftp.invisible-island.net/ncurses/current/ + and
+
+ https://invisible-mirror.net/archives/ncurses/current/ .Patches to the current release are made available at
ftp://invisible-island.net/ncurses/ .
+ "ftp://ftp.invisible-island.net/ncurses/6.1/">ftp://ftp.invisible-island.net/ncurses/6.1/ + and
+ https://invisible-mirror.net/archives/ncurses/6.1/ .There is an archive of the mailing list here:
@@ -2295,36 +2072,25 @@ fflush(stdout); which may be interesting by themselves:-
- man2html
- -- - ncurses licensing
- -- Symbol - versioning in ncurses
+- ncurses licensing
-- The - MinGW port of ncurses
+- Symbol versioning + in ncurses
-- tack – - terminfo action checker
+- Comments on + ncurses versus slang (S-Lang)
-- tar - versus portability
+- tack – terminfo action + checker
-- tctest - – termcap library checker
+- tctest – termcap + library checker
- - Terminal Database
+ "@HOMEPAGE@/ncurses.html#download_database">Terminal + DatabaseOther @@ -2334,13 +2100,17 @@ fflush(stdout); 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. + terminfo data are provided in the same file, which also 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 - Richard Shuford's archive .
+ Richard Shuford's archive . The collection of computer + manuals at bitsavers.org has also been + useful.