Bug 10912

Summary: ncurses-6.0 has been released
Product: IPFire Reporter: Michael Tremer <michael.tremer>
Component: ncursesAssignee: Assigned to nobody - feel free to grab it and work on it <nobody>
Status: ASSIGNED --- QA Contact:
Severity: - Unknown -    
Priority: - Unknown - CC: adolf.belka
Version: 3   
Hardware: unspecified   
OS: Unspecified   
Attachments: signature.asc

Description Michael Tremer 2015-08-11 16:11:30 UTC
Created attachment 367 [details]
signature.asc

                            Announcing ncurses 6.0

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 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.

   Since 1995, ncurses has been ported to many systems:
     * It is used in almost every system based on the Linux kernel
(aside
       from some embedded applications).
     * It  is  used  as the system curses library on OpenBSD, FreeBSD
and
       OSX.
     * It  is used in environments such as Cygwin and MinGW. The first
of
       these was EMX on OS/2 Warp.
     * It is used (though usually not as the system curses) on all of
the
       vendor  unix  systems,  e.g.,  AIX,  HP-UX,  IRIX64, SCO,
Solaris,
       Tru64.
     * It should work readily on any ANSI/POSIX-conforming unix.

   The distribution includes the library and support utilities,
including
     * [1]captoinfo, a termcap conversion tool
     * [2]clear, utility for clearing the screen
     * [3]infocmp, the terminfo decompiler
     * [4]tabs, set tabs on a terminal
     * [5]tic, the terminfo compiler
     * [6]toe, list (table of) terminfo entries
     * [7]tput,  utility  for  retrieving  terminal capabilities in
shell
       scripts
     * [8]tset, to initialize the terminal

   Full manual pages are provided for the library and tools.

   The  ncurses  distribution  is  available via anonymous FTP at the
GNU
   distribution site

     [9]ftp://ftp.gnu.org/gnu/ncurses/ .

   It is also available at

     [10]ftp://invisible-island.net/ncurses/ .

Release Notes

   These notes are for ncurses 6.0, released August 8, 2015.

   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
     * fixes made based on the Clang and Coverity static analyzers.
     * 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.
     * 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.
     * 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 [11]termcap library checker (tctest) (not part of ncurses)
was
       one    result.    A   followup   review   of   performance  
 using
       [12]ncurses-examples in 2014 led to additional improvements.
     * Output buffering provided a further, but worthwhile distraction.
A
       bug  report  in  2012  regarding  the  use  of  signal handlers
in
       ncurses)  pointed  out  [13]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  [14]2005  (released in [15]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 [16]Symbol versioning in ncurses.

  Library improvements

  Output buffering

   X/Open curses provides more than one initialization function:
     * [17]initscr (the simplest) accepts no parameters.
     * [18]newterm accepts parameters for the stream input and output
     * [19]setupterm (the low-level function) accepts a parameter for
the
       file descriptor of the output.

   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:
     * 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 
 [20]NCURSES_NO_SETBUF
       environment variable did make it optional.
     * 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.

   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: [21]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 "[22]shell" mode to "[23]program" (curses)
mode.
   Those are fairly rare because most programmers have learned not to
mix
   printf and [24]printw.

  Symbol versioning

   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  [25]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 [26]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
     * ABI version (if not 5)
     * library  name  for two special cases which have the same
interface
       across configurations: "TINFO" and "TIC"
     * release version
     * patch date (for the release version)

   For  example,  running  nm  -D  on  the libraries in the ncurses6
test
   package shows these symbol-versions:

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.

  Miscellaneous

   The new release has several improvements for performance and
building.
   For instance:
     * 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.
     * various improvements were made to building the Ada95 binding,
both
       in simplifying the generated files as well as improving the way
it
       uses gnatmake

   There are also new features in the libraries:
     * added [27]use_tioctl function
     * added  [28]wgetdelay  to  retrieve  _delay  member of WINDOW if
it
       happens to be opaque, e.g., in the pthread configuration.
     * added [29]A_ITALIC extension.
     * added  form  library  extension [30]O_DYNAMIC_JUSTIFY option
which
       can  be  used to override the different treatment of
justification
       for static versus dynamic fields .
     * rewrote  [31]putwin  and  [32]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)

     * several changes to mouse support include:
          + added decoder for xterm SGR 1006 mouse mode.
          + added experimental support for "%u" format to terminfo.
          + improved  behavior  of  wheel-mice for xterm protocol:
noting
            that  there  are only button-presses for buttons "4" and
"5",
            so   there  is  no  need  to  wait  to  combine  events 
 into
            double-clicks .

   There   are   a   few  new  configure  options  dealing  with 
 library
   customization:
     * 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.
     * 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.
     * add  configure  option  "--with-tparm-arg"  to  allow 
 [33]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).

  Program improvements

    Utilities

   Most of the termcap-related changes based on development of
[34]tctest
   (termcap  library  checker)  are  implemented  in  the tic and
infocmp
   programs   rather   than  affecting  the  library.  As  noted  in 
 the
   [35]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:
     * Both   terminfo   and   termcap   store   string  capabilities 
 as
       NUL-terminated strings.
     * In terminfo, a \0 in a terminal description is stored as \200.
     * There are no (known) terminals which would behave differently
when
       sent \0 or \200.
     * When  translating  to  terminfo  format (or displaying a
printable
       version of an entry using infocmp), ncurses shows \200 as \0.
     * It has done this since 1998 (quoting from the NEWS file):

[36]980103
...
        + modify _nc_tic_expand() to generate \0 rather than \200.
...
        + correct translation of terminfo "^@", to \200, like \0.

     * 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  [37]cgetstr  interprets  a 
 \0
       literally,  ending  that  string  (rather  than using the
terminfo
       improvement).

   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.
     * the  "-K"  option  provides stricter BSD-compatibility for
termcap
       output.

   Other user-visible improvements and new features include:
     * added  "-D"  option  to  tic  and  infocmp,  to  show the
database
       locations that it could use.
     * added "-s" option to toe, to sort its output.
     * extended  "-c" and "-n" options of infocmp to allow comparing
more
       than two entries.
     * modified  toe's report when "-a" and "-s" options are combined,
to
       add a column showing which entries belong to a given database.
     * modified  the clear program to take into account the "E3"
extended
       capability to clear the terminal's scrollback buffer.

    Examples

   Along  with  the library and utilities, many improvements were made
to
   the  [38]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:
     * made  workarounds  for compiling test-programs with NetBSD
curses,
       though it lacks some common functions such as [39]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  [40]mvderwin  and  test  for 
 recursive
       [41]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   [42]form_driver_w   entrypoint   to  wide-character 
 forms
       library, as well as form_driver_w test-program.
     * 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  ncurses  test-program,  adding  "-E" and "-T" options
to
       demonstrate use_env versus use_tioctl.
     * 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.
     * modified the ncurses test-program to also show position reports
in
       'a' test.

   These changes were made to make the examples more useful:
     * added scripts for building dpkg and rpm test-packages
     * modified  the  hanoi  test-program  to  show the minimum number
of
       moves possible for the given number of tiles.
     * 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.

  Terminal database

   This  release  provides  improvements  to  tic's "-c" checking
option,
   which was used for example to
     * make sgr in several entries agree with other caps.
     * correct  padding  in  some  entries  where  earlier  versions 
 had
       miscounted the number of octal digits.

   There are several new terminal descriptions:
     * [43]mlterm is now aliased to mlterm3
     * [44]nsterm is now derived from nsterm-256color
     * [45]putty-sco
     * [46]teken is FreeBSD's "xterm" console.
     * [47]terminator
     * [48]terminology
     * [49]tmux is derived from screen.
     * several  screen.XXX  entries support the respective variations
for
       256 colors.
     * [50]simpleterm is now 0.5
     * [51]vte is aliased to vte-2012
     * [52]vt520ansi

   A few entries use extensions (user-defined terminal capabilities):
     * E3,  used  in  linux,  putty  and  xterm-basic  is  tested  in
the
       [53]clear program to erase a terminal's scrollback.
     * TS  is  used  in the [54]xterm+sl building block to help
deprecate
       the misuse of tsl for xterm's title-string.
     * 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.
     * xm  is  used  in  examples  [55]xterm-1005  and  [56]xterm-1006
to
       illustrate a way to make mouse handling more general

   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.
     * konsole, mlterm3 (italics)
     * nsterm (dim)
     * screen (dim)
     * vte (dim, italics)
     * xterm (dim, italics)

  Documentation

   As usual, this release
     * improves documentation by describing new features,
     * attempts  to  improve the description of features which users
have
       found confusing
     * fills  in overlooked descriptions of features which were
described
       in the [57]NEWS file but treated sketchily in manual pages.

   In  addition,  the  mechanism  for  producing  HTML  versions  of 
 the
   documentation has been improved:
     * use an improved version of [58]man2html to generate html
manpages.
     * regenerated  [59]NCURSES-Programming-HOWTO.html to fix some of
the
       broken html emitted by docbook.

  Interesting bug-fixes

     * 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 [60]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  [61]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  [62]init_pair  to  accept  -1's for color value
after
            [63]assume_default_colors has been called.
          + add  a  check  in [64]start_color to limit color-pairs to
256
            when extended colors are not supported.
     * Resizing the screen:
          + propagate  error-returns  from  wresize,  i.e.,  the
internal
            increase_size    and    decrease_size    functions   
 through
            [65]resize_term.
          + 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 [66]980725).
     * High-level interfaces
          + 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 [67]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.

  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"):

   --enable-const
          Feature  introduced  in  [68]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 [69]set_term and [70]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  [71]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
[72]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:
     * 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
     * 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.
     * 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.

    Configuration options

   There are several new (or extended) configure options:

   --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

   --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).

  Portability

    MinGW

   Most  of  the  portability-related work since [73]ncurses 5.9
extended
   and improved the MinGW port introduced in [74]ncurses 5.8.

   The MinGW port can be readily cross-compiled:
     * modified  configure  script to allow creating dll's for MinGW
when
       cross-compiling.
     * enforced Windows-style path-separator if cross-compiling,
     * added  scripts  for  test-builds  of  cross-compiled  packages
for
       ncurses6 to MinGW.
     * added pc-files to the MinGW cross-compiling test-packages.
     * added script for building test-packages of binaries cross
-compiled
       to MinGW using NSIS.
     * added  nc_mingw.h  to  installed  headers  for MinGW port; this
is
       needed for cross-compiling [75]ncurses-examples.
     * added test-packages for cross-compiling ncurses-examples using
the
       MinGW test-packages.

   The MinGW-specific Windows driver accounts for several changes:
     * wide-character   display  is  made  usable  by  replacing 
 MinGW's
       non-working wcrtomb and wctomb functions.
     * implemented    some   display   features:   [76]beep,  
 [77]flash,
       [78]curs_set.
     * the driver handles repainting on endwin/refresh combination.
     * 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.
     * the Windows driver also matches the special TERM value "unknown"
     * the driver now returns characters for special keys, (like
ansi.sys
       does),  when  keypad mode is off, rather than returning nothing
at
       all.
     * the  driver checks a new environment variable
[79]NCURSES_CONSOLE2
       to  optionally  work  around  a  deficiency  in  Console2 (and
its
       descendent  ConsoleZ)  which  hang  when  an application creates
a
       console buffer.

   Finally, there are other improvements:
     * MinGW  is  one  of  the  configurations  where ncurses installs
by
       default into /usr
     * configuration   for   cross-compiling   uses   AC_CHECK_TOOLS  
 in
       preference  to  AC_PATH_PROGS  when searching for ncurses*
-config,
       e.g., in Ada95/configure and test/configure.
     * extend Windows support to work with MSYS2;
          + this  works  with  a  scenario  where there is an ANSI
-escape
            handler such as ansicon running in the console window.
          + wrap  isatty  calls with a macro, provide a corresponding
set
            of  support routines to address differences between MinGW
and
            MSYS2.
     * ensure WINVER is defined in makefiles rather than using headers.
     * add check for the gnatprep "-T" option.
     * work  around  a  bug  introduced  by  [80]gcc 4.8.1 in MinGW
which
       breaks "trace" feature.
     * add a driver-name method to each of the drivers.

    Other ports

   These changes affect certain platforms (ports):
     * the  configure  script  knows  how  to build shared libraries
with
       DragonFlyBSD and Interix.
     * 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:
          + 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
       [81]PKG_CONFIG_PATH variable.
     * the  configure  option  --with-pkg-config-libdir  provides
control
       over the actual directory into which pc-files are installed.
     * 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.
     * the     configure    script    disallows    conflicting   
 options
       "--with-termlib" and "--enable-term-driver".
     * the  check  for  missing  c++  compiler  to  work when no error
is
       reported,   and  no  variables  set  is  improved  (see  note 
 for
       [82]20021206).
     * the  misc/gen_edit.sh  script  selects a "linux" entry which
works
       with  the  current  kernel  rather  than  assuming  it  is 
 always
       "linux3.0"
     * the  test/configure  script  makes it simpler to override names
of
       curses-related  libraries,  to  help with linking with pdcurses
in
       MinGW environment.
     * 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.
     * the  MKlib_gen.sh  script  works  around  a recent change in gcc
5
       (released  [83]mid-2015)  which  essentially  emits multiple
#line
       statements for the same position in a file.
     * the   configure  script  works  with  Minix3.2  (see  [84]note 
 on
       portability)
     * 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.
     * 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.
     _________________________________________________________________

Features of ncurses

   The  ncurses  package  is  fully upward-compatible with SVr4 (System
V
   Release 4) curses:
     * All of the SVr4 calls have been implemented (and are
documented).
     * 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 add-on libraries (not part of
X/Open
       Curses):
          + the  panels  library,  supporting  a  stack  of  windows
with
            backing store.
          + the   menus   library,  supporting  a  uniform  but 
 flexible
            interface for menu programming.
          + the   form   library,   supporting  data  collection 
 through
            on-screen forms.
     * 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 used
in
            related systems such as AIX and Tru64.
          + Alternatively,  ncurses  can  be  configured  to  use 
 hashed
            databases  rather  than  the  directory of files used by
SVr4
            curses.
     * 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.

   The ncurses package also has many useful extensions over SVr4:
     * The  API  is 8-bit clean and base-level conformant with the
X/OPEN
       curses  specification, XSI curses (that is, it implements all
BASE
       level  features,  and  most  EXTENDED  features). It includes
many
       function calls not supported under SVr4 curses (but portability
of
       all calls is documented so you can use the SVr4 subset only).
     * Unlike  SVr3 curses, ncurses can write to the rightmost
-bottommost
       corner  of  the  screen  if  your terminal has an insert
-character
       capability.
     * Ada95 and C++ bindings.
     * 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
       their data.
     * 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.
     * Support for 256-color terminals, such as modern xterm.
     * Support for 16-color terminals, such as aixterm and modern
xterm.
     * Better  cursor-movement  optimization.  The package now features
a
       cursor-local-movement computation more efficient than either
BSD's
       or System V's.
     * Super   hardware   scrolling   support.   The  screen-update 
 code
       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.
     * 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
       beginning  and  after the end would step on a non-space
character.
       It  will  automatically  shift  highlight boundaries when doing
so
       would  make it possible to draw the highlight without changing
the
       visual appearance of the screen.
     * It  is  possible to generate the library with a list of pre
-loaded
       fallback  entries linked to it so that it can serve those
terminal
       types  even  when  no  terminfo tree or termcap file is
accessible
       (this  may  be useful for support of screen-oriented programs
that
       must run in single-user mode).
     * The  [85]tic/[86]captoinfo  utility  provided with ncurses has
the
       ability  to  translate  many termcaps from the XENIX, IBM and
AT&T
       extension sets.
     * A BSD-like [87]tset utility is provided.
     * 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  directory.  This feature makes it easier for users to
have
       personal  terminfo  entries without giving up access to the
system
       terminfo directory.
     * You  may  specify  a  path  of  directories to search for
compiled
       descriptions  with  the  environment  variable TERMINFO_DIRS
(this
       generalizes  the  feature  provided by TERMINFO under stock
System
       V.)
     * In  terminfo  source files, use capabilities may refer not just
to
       other entries in the same source file (as in System V) but also
to
       compiled  entries  in  either the system terminfo directory or
the
       user's $HOME/.terminfo directory.
     * The  table-of-entries  utility  [88]toe makes it easy for users
to
       see exactly what terminal types are available on the system.
     * The library meets the XSI requirement that every macro entry
point
       have  a  corresponding  function  which may be linked (and will
be
       prototype-checked)  if  the  macro  definition  is  disabled 
 with
       #undef.
     * Extensive   documentation  is  provided  (see  the 
 [89]Additional
       Reading section of the [90]ncurses FAQ for online
documentation).

Applications using ncurses

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

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

   cdk
          Curses Development Kit

          [92]http://invisible-island.net/cdk/

   ded
          directory-editor

          [93]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.

          [94]http://invisible-island.net/dialog/

   lynx
          the text WWW browser

          [95]http://lynx.isc.org/

   Midnight Commander
          file manager

          [96]http://www.midnight-commander.org/

   mutt
          mail utility

          [97]http://www.mutt.org/

   ncftp
          file-transfer utility

          [98]http://www.ncftp.com/

   nvi
          New vi uses ncurses.

          [99]https://sites.google.com/a/bostic.com/keithbostic/nvi

   tin
          newsreader, supporting color, MIME

          [100]http://www.tin.org/

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

   minicom
          terminal emulator for serial modem connections

          [101]http://alioth.debian.org/projects/minicom/

   mosh
          a replacement for ssh.

          [102]https://mosh.mit.edu/

   tack
          terminfo action checker

          [103]http://invisible-island.net/ncurses/tack.html

   tmux
          terminal multiplexor

          [104]http://tmux.github.io/

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

          [105]http://invisible-island.net/vile/

   and finally, those which use only the termcap interface:

   emacs
          text editor

          [106]http://www.gnu.org/software/emacs/

   screen
          terminal multiplexor

          [107]http://www.gnu.org/software/screen/

   vim
          text editor

          [108]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.
   Juergen  Pfeifer  wrote  most  of the form and menu libraries.
Ongoing
   development  work  is  done  by [109]Thomas Dickey. Thomas Dickey
also
   acts  as  the maintainer for the Free Software Foundation, which
holds
   the [110]copyright on ncurses.

   Contact the current maintainers at

     [111]bug-ncurses@gnu.org

   To join the ncurses mailing list, please write email to

     [112]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

     [113]ftp://invisible-island.net/ncurses/ .

   There is an archive of the mailing list here:

     [114]
http://lists.gnu.org/archive/html/bug-ncurses            (also
     [115]https)

Related resources

   The  release notes make scattered references to these pages, which
may
   be interesting by themselves:
     * [116]man2html
     * [117]ncurses licensing
     * [118]Symbol versioning in ncurses
     * [119]The MinGW port of ncurses
     * [120]tack - terminfo action checker
     * [121]tar versus portability
     * [122]tctest - termcap library checker
     * [123]Terminal Database

Other resources

   The  distribution  provides  a  newer  version  of the terminfo
-format
   terminal  description  file  once  maintained  by  [124]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 [125]Richard Shuford's archive .

     * [126]Overview
     * [127]Release Notes
          + [128]Library improvements
               o [129]Output buffering
               o [130]Symbol versioning
               o [131]Miscellaneous
          + [132]Program improvements
               o [133]Utilities
               o [134]Examples
          + [135]Terminal database
          + [136]Documentation
          + [137]Interesting bug-fixes
          + [138]Configuration changes
               o [139]Major changes
               o [140]Configuration options
          + [141]Portability
               o [142]MinGW
               o [143]Other ports
     * [144]Features of ncurses
     * [145]Applications using ncurses
     * [146]Development activities
     * [147]Related resources
     * [148]Other resources

References

   1. http://invisible-island.net/ncurses/man/captoinfo.1m.html
   2. http://invisible-island.net/ncurses/man/clear.1.html
   3. http://invisible-island.net/ncurses/man/infocmp.1m.html
   4. http://invisible-island.net/ncurses/man/tabs.1.html
   5. http://invisible-island.net/ncurses/man/tic.1m.html
   6. http://invisible-island.net/ncurses/man/toe.1m.html
   7. http://invisible-island.net/ncurses/man/tput.1.html
   8. http://invisible-island.net/ncurses/man/tset.1.html
   9. ftp://ftp.gnu.org/gnu/ncurses/
  10. ftp://invisible-island.net/ncurses/
  11. http://invisible-island.net/ncurses/tctest.html
  12. http://invisible-island.net/ncurses/ncurses-examples.html
  13. 
http://lists.gnu.org/archive/html/bug-ncurses/2012-07/msg00029.html
  14. http://invisible-island.net/ncurses/NEWS.html#t20050101
  15. http://invisible-island.net/ncurses/announce-5.5.html
  16. http://invisible-island.net/ncurses/ncurses-mapsyms.html
  17. 
http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-initscr
  18. 
http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-newterm
  19. http://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-
Initialization
  20. http://invisible-island.net/ncurses/man/ncurses.3x.html#h3-NCURSE
S_NO_SETBUF
  21. http://invisible-island.net/ncurses/man/curs_terminfo.3x.html
  22. http://invisible-island.net/ncurses/man/curs_kernel.3x.html#h3-re
set_prog_mode_-reset_shell_mode
  23. http://invisible-island.net/ncurses/man/curs_kernel.3x.html#h3-re
set_prog_mode_-reset_shell_mode
  24. http://invisible-island.net/ncurses/man/curs_printw.3x.html
  25. http://invisible-island.net/ncurses/ncurses-mapsyms.html
  26. http://invisible-island.net/ncurses/tack.html
  27. 
http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-use_tioctl
  28. http://invisible-island.net/ncurses/man/curs_opaque.3x.html
  29. http://invisible-island.net/ncurses/man/curs_attr.3x.html#h2-PORT
ABILITY
  30. http://invisible-island.net/ncurses/man/form_field_opts.3x.html
  31. http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-putw
in_getwin
  32. http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-putw
in_getwin
  33. http://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-
Formatting-Output
  34. http://invisible-island.net/ncurses/tctest.html
  35. 
http://invisible-island.net/ncurses/tctest.html#my-better-translation
  36. http://invisible-island.net/ncurses/NEWS.html#t980103
  37. https://svnweb.freebsd.org/base/head/lib/libc/gen/getcap.c?revisi
on=244092&view=markup#l784
  38. http://invisible-island.net/ncurses/ncurses-examples.html
  39. 
http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-use_env
  40. 
http://invisible-island.net/ncurses/man/curs_window.3x.html#h3-derwin
  41. 
http://invisible-island.net/ncurses/man/curs_window.3x.html#h3-mvwin
  42. http://invisible-island.net/ncurses/man/form_driver.3x.html#h3-fo
rm_driver_w
  43. 
http://invisible-island.net/ncurses/terminfo.src.html#toc-_M_L_T_E_R_M
  44. http://invisible-island.net/ncurses/terminfo.src.html#tic-nsterm
  45. 
http://invisible-island.net/ncurses/terminfo.src.html#tic-putty-sco
  46. http://invisible-island.net/ncurses/terminfo.src.html#tic-teken
  47. http://invisible-island.net/ncurses/terminfo.src.html#toc-_T_E_R_
M_I_N_A_T_O_R
  48. http://invisible-island.net/ncurses/terminfo.src.html#toc-_T_E_R_
M_I_N_O_L_O_G_Y
  49. http://invisible-island.net/ncurses/terminfo.src.html#tic-tmux
  50. http://invisible-island.net/ncurses/terminfo.src.html#toc-_S_I_M_
P_L_E_T_E_R_M
  51. http://invisible-island.net/ncurses/terminfo.src.html#tic-vte
  52. 
http://invisible-island.net/ncurses/terminfo.src.html#tic-vt520ansi
  53. http://aerie.jexium-island.net/ncurses/man/clear.1.html
  54. 
http://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_sl
  55. 
http://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-1005
  56. 
http://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-1006
  57. http://invisible-island.net/ncurses/NEWS.html
  58. http://invisible-island.net/scripts/man2html.html
  59. 
http://invisible-island.net/ncurses/NCURSES-Programming-HOWTO.html
  60. http://invisible-island.net/ncurses/NEWS.html#t20110319
  61. http://invisible-island.net/ncurses/NEWS.html#t20021221
  62. http://invisible-island.net/ncurses/man/curs_color.3x.html#h3-Rou
tine-Descriptions
  63. http://invisible-island.net/ncurses/man/default_colors.3x.html
  64. http://invisible-island.net/ncurses/man/curs_color.3x.html#h3-Rou
tine-Descriptions
  65. http://invisible-island.net/ncurses/man/resizeterm.3x.html
  66. http://invisible-island.net/ncurses/NEWS.html#t980725
  67. http://invisible-island.net/ncurses/NEWS.html#t960418
  68. http://invisible-island.net/ncurses/NEWS.html#t970405
  69. http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-s
et_term
  70. http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-d
elscreen
  71. http://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-
Formatting-Output
  72. http://docs.oracle.com/cd/E19253-01/html/817-0552/fhkpy.html
  73. http://invisible-island.net/ncurses/announce-5.9.html
  74. http://invisible-island.net/ncurses/announce-5.8.html
  75. http://invisible-island.net/ncurses/ncurses-examples.html
  76. http://invisible-island.net/ncurses/man/curs_beep.3x.html
  77. http://invisible-island.net/ncurses/man/curs_beep.3x.html
  78. 
http://invisible-island.net/ncurses/man/curs_kernel.3x.html#h3-curs_set
  79. http://invisible-island.net/ncurses/man/ncurses.3x.html#h3-NCURSE
S_CONSOLE2
  80. http://stackoverflow.com/questions/20877689/gcc-4-8-1-minggw-d-op
tion-does-not-work-as-usual
  81. http://linux.die.net/man/1/pkg-config
  82. http://invisible-island.net/ncurses/NEWS.html#t20021206
  83. https://gcc.gnu.org/gcc-5/
  84. http://invisible-island.net/autoconf/portability-test.html
  85. http://invisible-island.net/ncurses/man/tic.1m.html
  86. http://invisible-island.net/ncurses/man/captoinfo.1m.html
  87. http://invisible-island.net/ncurses/man/tset.1.html
  88. http://invisible-island.net/ncurses/man/toe.1m.html
  89. 
http://invisible-island.net/ncurses/ncurses.faq.html#additional_reading
  90. http://invisible-island.net/ncurses/ncurses.faq.html
  91. http://invisible-island.net/ncurses/ncurses-examples.html
  92. http://invisible-island.net/cdk/
  93. http://invisible-island.net/ded/
  94. http://invisible-island.net/dialog/
  95. http://lynx.isc.org/
  96. http://www.midnight-commander.org/
  97. http://www.mutt.org/
  98. http://www.ncftp.com/
  99. https://sites.google.com/a/bostic.com/keithbostic/nvi
 100. http://www.tin.org/
 101. http://alioth.debian.org/projects/minicom/
 102. https://mosh.mit.edu/
 103. http://invisible-island.net/ncurses/tack.html
 104. http://tmux.github.io/
 105. http://invisible-island.net/vile/
 106. http://www.gnu.org/software/emacs/
 107. http://www.gnu.org/software/screen/
 108. http://www.vim.org/
 109. mailto:dickey@invisible-island.net
 110. http://invisible-island.net/ncurses/ncurses-license.html
 111. mailto:bug-ncurses@gnu.org
 112. mailto:bug-ncurses-request@gnu.org
 113. ftp://invisible-island.net/ncurses/
 114. http://lists.gnu.org/archive/html/bug-ncurses
 115. https://lists.gnu.org/archive/html/bug-ncurses
 116. http://invisible-island.net/scripts/man2html.html
 117. http://invisible-island.nethttp://invisible-island.net/ncurses/nc
urses-license.html
 118. http://invisible-island.net/ncurses/ncurses-mapsyms.html
 119. http://invisible-island.net/ncurses/ncurses-mingw.html
 120. http://invisible-island.net/ncurses/tack.html
 121. http://invisible-island.net/autoconf/portability-tar.html
 122. http://invisible-island.net/ncurses/tctest.html
 123. 
http://invisible-island.net/ncurses/ncurses.html#download_database
 124. http://www.catb.org/~esr/terminfo/
 125. 
http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal
 126. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h2-overview
 127. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h2-release-notes
 128. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h3-library
 129. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h3-lib-setbuf
 130. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h3-lib-versioning
 131. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h3-lib-other
 132. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h3-programs
 133. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h4-utilities
 134. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h4-examples
 135. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h3-database
 136. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h3-documentation
 137. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h3-bug-fixes
 138. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h3-config-config
 139. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h4-config-major
 140. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h4-config-options
 141. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h3-portability
 142. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h4-port-mingw
 143. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h4-port-systems
 144. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h2-features
 145. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h2-who-uses
 146. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h2-development
 147. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h2-this-stuff
 148. file:///usr/build/ncurses/ncurses-6.0
-20150808/doc/html/announce.html#h2-other-stuff
Comment 1 Adolf Belka 2021-04-11 12:53:48 UTC
ncurses-6.2 is the current installed version so this bug can be closed as fixed.
Comment 2 Michael Tremer 2021-04-12 09:11:05 UTC
This was a ticket for IPFire 3