X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=announce.html.in;h=caaa2899b0e3f527478d3dd22ca072aa6c8c39d6;hp=378f6f80b012306a993e9f59a3b37b69f380862e;hb=d21ad44bdac29dcfbd1cf10a1918a42c43215b3d;hpb=d66080c21038ad4feb2e41a0c4e517d5b4a03ab2 diff --git a/announce.html.in b/announce.html.in index 378f6f80..caaa2899 100644 --- a/announce.html.in +++ b/announce.html.in @@ -1,7 +1,7 @@ - - + "HTML Tidy for HTML5 for Linux version 5.6.0"> Announcing ncurses @VERSION@ - + -

Announcing ncurses @VERSION@

@@ -81,7 +82,7 @@ p,li { max-width:700px; } (aside from some embedded applications).
  • It is used as the system curses library on OpenBSD, FreeBSD - and OSX.
  • + and MacOS.
  • It is used in environments such as Cygwin and MinGW. The first of these was EMX on OS/2 Warp.
  • @@ -99,45 +100,40 @@ p,li { max-width:700px; } including

    Full manual pages are provided for the library and tools.

    The ncurses distribution is available at ncurses' homepage:

    + "@HOMEPAGE@/">homepage:

    These notes are for ncurses - @VERSION@, released January 27, 2018.

    + @VERSION@, released October 21, 2021.

    This release is designed to be source-compatible with - ncurses 5.0 through 6.0; providing + ncurses 5.0 through 6.2; providing extensions to the 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 to the ncurses - 6 ABI:

    - - + "main-name">ncurses 5 ABI, the reason for the release is + to reflect improvements to the ncurses 6 ABI and the supporting utility + programs.

    There are, of course, numerous other improvements, listed in this announcement.

    -

    The release notes also mention some bug-fixes, but are focused +

    The most important + bug-fixes/improvements dealt with portability issues. The + release notes also mention some other bug-fixes, but are focused on new features and improvements to existing features since - ncurses 6.0 release.

    + ncurses 6.2 release.

    -

    Library - improvements

    +

    Library improvements

    -

    New - features

    +

    New features

    -

    The improved integration of tput and tset - made only small changes to the libraries. However, supporting - extended numeric capabilities required a few changes:

    +

    There are a few new features:

    -
  • -

    When configured for wide-characters, i.e., - “ncursesw” the TERMINAL structure is - extended.

    - -

    The new data in TERMINAL holds the same - information as TERMTYPE, but with larger numbers - (“int” versus “short”). It is named - TERMTYPE2.

    +

    Additionally, to improve performance other changes (and + extensions) are provided in this release:

    -

    The library uses this structure internally in preference - to TERMTYPE, referring to TERMTYPE - only to initialize it for applications that use the - capabilities defined in <term.h>

    + + +

    Other + improvements

    -
  • The updated application binary interface is 6.1.20171230 - (used for new versioned - symbols), although the interface changes were developed - several months previously.
  • +

    These are revised features:

    + + -

    The motivation for making this extension came from noticing - that - termcap applications could (though not - realistically) use larger numbers than would fit in 16-bits, - and the fact that the number of color pairs for a 256-color xterm - could not be expressed in terminfo (i.e., 32767 versus 65536). - Also, a few terminals support direct-colors, which could use the - extension.

    - -

    Generally speaking, applications that use internal details of - a library are unsupported. There was exactly one exception for - ncurses: the tack program used the internal - details of TERMINAL, because it provides an - ncurses-specific feature for interactively modifying a terminfo - description and writing the updated description to a text-file. - It was possible to not only separate tack from these internal - details of ncurses, but to - generalize it so that the program works with Unix curses - (omitting the ncurses-specific feature). That was released as - - tack 1.08 in July - 2017.

    - -

    While making changes to tack to - eliminate its dependency upon ncurses internals, the publicly-visible - details of those internals were reviewed, and some symbols were - moved to private header files, while others were marked - explicitly as ncurses internals. - Future releases of ncurses may - eliminate some of those symbols (such as those used by - tack 1.07) because they are - neither part of the API or the ABI.

    - -

    Using the TERMTYPE2 extended numeric - capabilities, it is possible to support both color pair values - and color values past 32767. Taking compatibility into account, - developers readily understand that neither function signatures - nor structure offsets change. Also, existing functions have to - operate with the extended numbers. Most of that work is internal - to the library. For the external interfaces, a hybrid approach - was used:

    +

    These were done to limit or ultimately deprecate features:

    -

    Additionally, to improve performance other changes (and - extensions) are provided in this release:

    +

    These are improvements to existing features:

    - -

    Other - improvements

    -

    These are new or revised features:

    - - -
  • -

    add option to preserve leading whitespace in form - fields

    -
  • +

    These are corrections to existing features:

    + -

    These were done to limit or ultimately deprecate features:

    +

    Program + improvements

    - +

    Examples

    -

    These are corrections to existing features:

    +

    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:

    -
  • -

    modify wattr_set and wattr_get - to return ERR if win-parameter is null, - as documented.

    -
  • +

    There are other new demo/test programs and reusable + examples:

    -
  • -

    correct order of initialization for traces in - use_env and use_tioctl versus first - _tracef calls.

    -
  • +
    +
    back_ground +
    -
  • -

    correct parameters for copywin call in - _nc_Synchronize_Attributes

    -
  • +
    to exercise the wide-character background functions.
    -
  • -

    flush the standard output in _nc_flush for - the case where SP is zero, e.g., when called via - putp. This fixes a scenario where - “tput flash” did not work after changes in - 20130112.

    -
  • +
    move_field +
    -
  • -

    amend internal use of tputs to consistently - use the number of lines affected, e.g., for insert/delete - character operations. While merging terminfo source early in - 1995, several descriptions used the - “*” proportional delay for these - operations, prompting a change in doupdate.

    -
  • +
    to demonstrate move_field, and a stub + for a corresponding demo of dup_field.
    -
  • -

    correct return-value of extended putwin.

    -
  • +
    test_tparm +
    -
  • -

    double-width multibyte characters were not counted - properly in winsnstr and - wins_nwstr.

    -
  • +
    for checking tparm changes.
    +
    -
  • -

    amend fix for _nc_ripoffline from 20091031 to - make test/ditto.c work in threaded - configuration.

    -
  • +

    Terminal database

    -
  • -

    modify _nc_viscbuf2 and - _tracecchar_t2 to trace wide-characters as a - whole rather than their multibyte equivalents.

    -
  • +

    There are several new terminal descriptions:

    -
  • -

    minor fix in wadd_wchnstr to ensure that each - cell has nonzero width.

    -
  • +
    +

    absolute, + att610+cvis, + foot, + foot-direct, + hp98550-color, + hpterm-color2, + hterm, + hterm-256color, + linux-s, + putty+keypad, + putty+screen, + putty-screen, + screen.linux-s, + scrt/securecrt, + tmux-direct, + vt220+cvis, + vt220+cvis8, + vt220+pcedit, + vt220+vtedit, + vt220-base, + vt52+keypad, + xterm+256color2, + xterm+88color2, + xterm-direct16, + xterm-direct256, + xterm+nofkeys, + and xterm+nopcfkeys.

    +
    -
  • -

    move PUTC_INIT calls next to - wcrtomb calls, to avoid carry-over of error - status when processing Unicode values which are not - mapped.

    -
  • +

    There are many changes to existing terminal descriptions. Some + were updates to several descriptions:

    -
  • -

    add missing assignment in lib_getch.c to make - notimeout work

    -
  • + -

    Program - improvements

    +

    while others affected specific descriptions. These were + retested, to take into account changes by their developers:

    -

    While reviewing user feedback, it became apparent that the - differences between - reset (an alias for - tset) and “tput reset” were confusing:

    +
    +

    kitty+common, + mlterm3, + ms-terminal

    +
    - +

    while these are specific fixes based on reviewing + documentation, user reports, or warnings from tic:

    -

    On further investigation, it turned out that the differences - were largely an accident due to the way those programs had - evolved.

    - -

    This release eliminates the unnecessary differences, using the - same approach for tput's - init (initialization), reset and clear - operations as the separate - reset and - clear programs. Doing this does not change the - command-line options; existing scripts are unaffected.

    - -

    These are the user-visible changes for the three programs - (tput, tset and clear):

    +
    +
    aaa+dec, + aaa+rv
    - +
    linux3.0 +
    -

    Other user-visible improvements and new features include:

    +
    modify to reflect default mapping of shift-tab by kbd + 1.14
    - - -

    Other less-visible improvements and new features include:

    - - - -

    Several of the less apparent features deal with translation of - terminfo to termcap (and the reverse), with corresponding checks - by tic:

    - - - -

    Examples

    - -

    Along with the library and utilities, many improvements were - made to the ncurses-examples.

    - -

    These changes were made to demonstrate new extensions in - ncurses:

    - - - -

    There are other new example programs and a few scripts:

    - - - -

    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.

    - -

    The ncurses program is the - largest; a proportionately large number of changes were made to - it:

    - - - -

    These changes were made to the other examples:

    - - - -

    Terminal - database

    - -

    There are several new terminal descriptions:

    - -
    -

    dumb-emacs-ansi, dvtm, - dvtm-256color, fbterm, - iterm2, linux-m1 minitel - entries, putty-noapp, viewdata, - and vt100+4bsd building-block.

    - -

    xterm+noalt, xterm+titlestack, - xterm+alt1049, xterm+alt+title - building blocks and xterm+direct, - xterm+indirect, xterm-direct. from - xterm - patch #331.

    - -

    several other “-direct” - descriptions to address the differences of other terminal - emulators versus xterm-direct.

    -
    - -

    There are many changes to existing terminal descriptions. Some - were updates to several descriptions:

    - - - -

    while others affected specific descriptions. These were - retested, to take into account new/undocumented changes by their - developers:

    - -
    -

    iterm, minitel, st, - viewdata, nsterm

    -
    - -

    while these are specific fixes based on user reports, or - warnings from tic:

    - -
    -
    - ansi building blocks
    - -
    -
      -
    • restored rmir/smir in - ansi+idc to better match original - ansiterm+idc, add alias - ansiterm
    • -
    -
    - -
    - icl6402
    - -
    -
      -
    • corrected missing comma-separator between string - capabilities in icl6402 and - m2-nam
    • -
    -
    - -
    - interix
    - -
    -
      -
    • updated using tack and - SFU with Windows 7 Ultimate.
    • - -
    • used ^? for kdch1
    • -
    -
    - -
    - linux
    - -
    -
      -
    • made linux3.0 entry the default - linux entry
    • - -
    • modify linux2.6 entry to improve - line-drawing so that the linux3.0 entry can be - used in non-UTF-8 mode
    • - -
    • omitted selection of ISO-8859-1 for G0 in enacs - capability from linux2.6 entry, to avoid conflict with the - user-defined mapping. The reset feature uses ISO-8859-1 in - any case.
    • - -
    • modify flash capability for linux - and wyse entries to put the delay between the - reverse/normal escapes rather than after
    • - -
    • modify linux-16color to not mask dim, - standout or reverse with the ncv capability
    • -
    -
    - -
    - pccon entries
    +
    correct cup
    -
    -
      -
    • fixed some inconsistencies in the - pccon* entries
    • +
      tmux +
      -
    • add bold to pccon+sgr+acs and - pccon-base
    • +
      change kbs to ^?
      -
    • add keys f12-f124 to pccon+keys
    • -
    -
    +
    vt220 +
    -
    - tmux
    - -
    -
      -
    • corrected sgr string, which used - screen's "standout" code rather than the - standard code.
    • - -
    • add settings corresponding to xterm-keys - option to reflect upcoming change to make that option - "on" by default
    • - -
    • uncanceled Ms
    • -
    -
    +
    use vt220+cvis
    - vt100
    + "@HOMEPAGE@/terminfo.src.html#tic-vt420_lrmm">vt420+lrmm + -
    -
      -
    • modify vt100 rs2 string to reset - vt52 mode and scrolling regions
    • +
      add smglp and smgrp
      -
    • corrected rs2 string for - vt100-nam
    • +
      vt420 +
      -
    • made minor fixes for vt100+4bsd, e.g., - delay in sgr for consistency
    • -
    -
    +
    use vt420+lrmm
    - vte
    - -
    -
      -
    • moved SGR 24 and 27 from vte-2014 to - vte-2012
    • + "@HOMEPAGE@/terminfo.src.html#tic-xterm-new">xterm-new + -
    • add a few capabilities fixed in recent VTE - development
    • -
    -
    +
    add nel
    - xterm
    - -
    -
      -
    • add rep to xterm-new, available - since - late 1996.
    • - -
    • modify xterm+256color and - xterm+256setaf to use correct number of color - pairs.
    • + "@HOMEPAGE@/terminfo.src.html#tic-xterm-vt52">xterm-vt52 + -
    • modify rs1 for xterm-16color, - xterm-88color and xterm-256color - to reset palette using oc string as in - linux entry.
    • - -
    • add rs1 capability to - xterm-256color
    • - -
    • add oc capability to - xterm+256color, allowing palette reset for - xterm
    • - -
    • add op to xterm+256setaf
    • - -
    • modify xterm-r5, xterm-r6 and - xterm-xf86-v32 to use xterm+kbs - to match - xterm #272, reflecting packager's changes
    • - -
    • used ANSI reply for u8 in - xterm-new, to reflect vt220-style responses - that could be returned.
    • - -
    • made xterm-pcolor sgr consistent - with other capabilities
    • -
    -
    +
    use vt52+keypad

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

    fills in overlooked descriptions of features which were - described in the NEWS - file but treated sketchily in manual pages.

    - - - -

    In particular,

    - -
      -
    • -

      Since the underlying features for - tset, - tput, and - clear have been better - integrated, the documentation now includes information on how - those tools evolved.

      - -

      In addition to explaining the improved integration of the - tools, the manual pages made it easier to see how the tools - are similar and how they are different.

      -
    • - -
    • -

      The addch manual page has additional - information on - portability and differences from other - implementations.

      -
    • - -
    • -

      The discussion of color-pairs in the attributes - manual page is improved in its - history section.

      -
    • - -
    • -

      The documentation of the chtype, - cchar_t types and the attribute values which can - be stored in those types, in particular the - history and - portability sections of the attributes manual - page, has been improved.

      -
    • - -
    • -

      improve discussion of - portability in the mouse manual.

      -
    • - -
    • -

      The pad manual page has a section on the - origin and portability of pads.

      -
    • - -
    • -

      Differences between SVr4 and X/Open Curses soft-keys are - discussed in a new section on - portability.

      -
    • - -
    • -

      There are updated/improved notes on portability in the - - resizeterm and - wresize manual pages.

      + described in the NEWS file + but treated sketchily in manual pages.

    @@ -1696,231 +787,201 @@ p,li { max-width:700px; } these features and show how they evolved, there are corrections, clarifications, etc.:

    -
      -
    • -

      add note in the - addch manual about line-drawing when it depends - upon UTF-8.

      -
    • - -
    • -

      improve discussion of line-drawing characters in the - - add_wch manual.

      -
    • - -
    • -

      explain in - clear's manual page that - it writes to the standard output.

      -
    • - -
    • -

      improve description of - endwin.

      -
    • - -
    • -

      improve discussion of field validation in the - form driver manual page.

      -
    • - -
    • -

      clarify the use of wint_t vs - wchar_t in - get_wstr manual page.

      -
    • - -
    • -

      clarify in the - getch manual that the keypad mode affects an - application's ability to read KEY_MOUSE codes, - but does not affect KEY_RESIZE.

      - -

      trim some obsolete/incorrect wording about - EINTR from the getch manual page

      - -

      improve manual pages for - getch and - get_wch to point out that they might return - user-defined values which have no predefined names in - <curses.h>

      -
    • - -
    • -

      improve description of the -R option in the - - infocmp manual page

      -
    • - -
    • -

      clarify in the - resizeterm manual page how - KEY_RESIZE is pushed onto the input stream.

      -
    • - -
    • -

      document return value of - use_extended_names

      -
    • - +
      • -

        document differences in - ESCDELAY versus AIX's implementation in the - variables manual page.

        -
      • +

        Corrections:

        -
      • -

        The _nc_free_tinfo function is now documented - in the - memory-leaks manual page, because it could be - used in tack for memory-leak - checking.

        -
      • +
          +
        • +

          make opts extension for getcchar + work as documented for ncurses + 6.1, adding “-g” flag to + demo_new_pair to illustrate.

          +
        • -
        • -

          add a note to the - tic manual page about -W versus -f options.

          +
        • +

          modify tset + “-q” option to refrain from modifying + terminal modes, to match the documentation.

          +
        • +
      • -

        improve terminfo manual description of - terminfo syntax.

        +

        New/improved history and portability sections:

        -

        improve terminfo manual page discussion of - control- and graphics- characters.

        +
          +
        • +

          improve documentation for + tparm and static/dynamic variables.

          +
        • -

          improve - color-handling section in terminfo manual page

          - +
        • +

          add history note to curs_scanw.3x + for <stdarg.h> and <varargs.h>

          +
        • -
        • -

          clarify description in - tput manual page regarding - support for termcap names

          +
        • +

          add history note to curs_printw.3x + for <stdarg.h> and <varargs.h>

          +
        • -

          update - tput manual page to - reflect changes to manipulate terminal modes by sharing - functions with tset.

          - +
        • +

          add portability note to ncurses.3x + regarding <stdarg.h>

          +
        • -
        • -

          clarify in manual pages that the optional verbose option - level of - tic and - infocmp is available only - when ncurses is configured for - tracing.

          -
        • +
        • +

          add historical notes to tput, + + curses-terminfo and curses-color + manpages based on source-code for SVr2, SVr3 and + SVr4.

          +
        • -
        • -

          improve manual page description of tset/reset - versus window-size.

          +
        • +

          improve history section for tset manpage + based on the 1BSD tarball, which preceded BSD's SCCS + checkins by more than three years.

          +
        • +
      • -

        improve description of - tgoto parameters

        -
      • -
      +

      Other improvements:

      -

      There are new manual pages:

      +
        +
      • +

        explain in + ncurses.3x that functions in the tinfo library do not + rely upon wide-characters.

        +
      • -
          -
        • - user_caps documents the terminfo extensions used by - ncurses.
        • +
        • +

          improve manual page for panel + library, extending the portability section as well as + documenting error-returns.

          +
        • -
        • -

          - scr_dump documents the screen-dump format.

          -
        • -
        +
      • +

        add section on margins to terminfo.5, + adapted from X/Open Curses.

        +
      • -

        Some of the improvements are more subtle, relating to the way - the information is presented:

        +
      • +

        improve man/term.5 + section on legacy storage format.

        +
      • -
          -
        • -

          Made minor fixes to manpage NAME/SYNOPSIS - sections to consistently use rule that either all functions - which are prototyped in SYNOPSIS are listed in the - NAME section, or the manual-page name is the sole - item listed in the NAME section. The latter is used - to reduce clutter, e.g., for the top-level library manual - pages as well as for certain feature-pages such as - SP-funcs and - threading.

          -
        • +
        • +

          add a note in + terminfo.5 explaining that no-parameter strings such + as sgr0 or cnorm + should not be used with tparm.

          +
        • -
        • -

          improve manual pages for utilities with respect to POSIX - versus X/Open Curses.

          -
        • +
        • +

          improve description of BSD-style padding in curs_termcap.3x

          +
        • -
        • -

          improve organization of the - attributes and color manual - pages.

          +
        • +

          improve discussion of padding versus tparm + and tputs in + man/curs_terminfo.3x

          +
        • + +
        • +

          add a note in manual page to explain + ungetch vs unget_wch.

          +
        • + +
        • +

          improve description of error-returns in waddch + and waddnstr + manual pages.

          +
        • +
      +

      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, hyphenation is + suppressed in the HTML files generated from manual pages because + an upgrade to groff gave noticeably poorer results, + interfering with the process of creating links between the + resulting webpages.

      +

      Interesting bug-fixes

      +

      While there were many bugs fixed during development of ncurses + 6.3, 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 interesting bugs were:

      +
      • -

        modify toe to not exit if - unable to read a terminal description, e.g., if there is a - permission problem.

        +

        modify wbkgd and + wbkgrnd to + avoid storing a null in the background character, because it + may be used in cases where the corresponding 0x80 is not + treated as a null.

        + +

        This was a regression introduced in ncurses 6.2 (reported + on the mailing list), for which the workaround was to specify + a blank for the background character.

      • -

        correct 20100515 change for weak signals versus - sigprocmask

        +

        remove output-related checks for nl/nonl (also + + reported on the mailing list).

      • -
      • work around Ada tool-breakage in Debian 9 and later by - invoking gprconfig to specify the C compiler to be - used by gnatmake, and conditionally suppressing - Library_Options line for static libraries.
      • -
      • -

        There were, as well, several bug-fixes to handle illegal - input for tic. Because those - did not correspond to useful terminal descriptions, most - users are unaffected.

        +

        improve tparm implementation of %P and + %g, more closely matching SVr4 terminfo. Those + denote static and dynamic variables in + terminfo expressions.

        + +

        Exactly what those terms meant was never documented before + in any implementation of curses, aside from source code. + Unlike the other two fixes, the problem was discovered while + studying OpenBSD's version of tset.

      @@ -1930,416 +991,198 @@ p,li { max-width:700px; }

      Major changes

      -

      This release provides a new binary format for terminal - descriptions that use extended numeric capabilities. Applications - built with the wide-character ncursesw library can use - these extended numbers.

      - -
        -
      • -

        This includes utilities such as tic and infocmp, because (as noted in New features), the feature - relies upon an extension to the low-level tinfo - library.

        -
      • - -
      • -

        A few software packagers use a configuration option of - ncurses which allows the - low-level tinfo library to be shared between the - high-level ncurses and ncursesw libraries. - This new feature was designed to work in that configuration - as well.

        -
      • -
      - -

      Other applications (i.e., using the 8-bit ncurses - library) which read the extended terminal descriptions see those - numeric capabilities set to the maximum value for a signed 16-bit - number.

      - -

      Older versions of ncurses' - tic accept out-of-range numeric - capabilities, storing those as the maximum value for a signed - 16-bit number. Other implementations of curses (mentioned in the - discussion of - picsmap) give zero for these - out-of-range capabilities.

      +

      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.

      Configuration options

      -

      These changes provide support for tack 1.08, released in - July 2017:

      +

      There are a few new/modified configure options:

      -
        -
      • -

        add --without-tack configure option to refine - --with-progs configure option. Normally - tack is built outside the - ncurses tree, but a few - packagers combine it during the build. If - term_entry.h is installed, there is no advantage - to in-tree builds.

        -
      • +
        +
        --enable-fvisibility +
        -
      • -

        adjust configure-script to define - HAVE_CURSES_DATA_BOOLNAMES symbol needed for - tack 1.08 when built in-tree. - Rather than relying upon internal "_nc_" functions, - tack now uses the boolean, - number and string capability name-arrays provided by - ncurses and SVr4 Unix curses. - It still uses term_entry.h for the definitions - of the extended capability arrays.

        -
      • +
        +

        new configure option and check for gcc + -fvisibility=hidden feature

        +
        -
      • -

        add dependency upon ncurses_cfg.h to tic's header-files; any program using - tic-library will have to - supply this file. Legacy tack - versions supply this file; ongoing tack development has dropped the - dependency upon tic-library - and new releases will not be affected.

        -
      • -
      +
      --enable-leaks +
      -

      Other changes to the configure-script and generated files - include

      +
      +

      corrected to allow turning leak-checking off later in a + set of options.

      +
      -
        -
      • -

        add configure options to disable checks for form, menu and - panel libraries so that ncurses-examples can be built with - non-SVr4 curses implementations.

        -
      • +
        --enable-stdnoreturn +
        -
      • -

        add configure option --enable-opaque-curses - for ncurses library and similar options for the - other libraries.

        -
      • +
        +

        new configure option makes the _Noreturn + keyword optional to ease transition.

        +
        -
      • -

        add configure option --disable-wattr-macros - for use in cases where one wants to use the same headers for - ncurses5/ncurses6 development, by suppressing the - wattr* macros which differ due to the introduction - of extended colors

        -
      • +
        --disable-pkg-ldflags +
        -
      • -

        modify configure macro for shared-library rules to use - -Wl,-rpath rather than -rpath to - work around a bug in scons

        -
      • +
        +

        revised option also controls whether $LDFLAGS + from the build is provided in “-config” + and “.pc” files.

        +
        -
      • -

        improve ncurses-examples' configure script to define as - needed NCURSES_WIDECHAR for platforms where - _XOPEN_SOURCE_EXTENDED does not work. Also - modified the test program to ensure that if building with - ncurses, that the - cchar_t type is checked, since that is normally - (since 20111030) - ifdef'd depending on this test.

        -
      • +
        --disable-root-access +
        -
      • -

        modify configure script to handle the case where - tic-library is renamed, but - the --with-debug option is used by itself - without normal or shared libraries

        -
      • +
        +

        add configure option which tells ncurses to disallow most + file-opens by setuid processes.

        +
        -
      • -

        modify editing script which generates resulting.map to - work with the clang configuration on recent FreeBSD, which - gives an error on an empty "local" section.

        -
      • +
        --disable-wattr-macros +
        -
      • -

        improve configure check for setting the - WILDCARD_SYMS variable; on ppc64 the variable is - in the Data section rather than - Text.

        -
      • +
        +

        changed default to help packagers who reuse wide ncursesw + header file with non-wide ncurses library.

        +
        -
      • -

        correct result of configure option - --without-fallbacks, which caused FALLBACK_LIST - to be set to "no"

        -
      • +
        --with-pkg-config-libdir +
        -
      • -

        modify --with-pkg-config-libdir option to - make it possible to install “.pc” files even if - pkg-config is not found. Limit - this change, to suppress the actual install if it is not - overridden to a valid directory at install time.

        -
      • +
        +

        revised option uses the actual search path from + pkg-config or pkgconf using the output from + --debug.

        +
        -
      • -

        disallow “no” as a possible value for - --with-shlib-version option, overlooked in - cleanup-changes for 20000708.

        -
      • -
      +
      --with-ada-libname
      + --with-form-libname
      + --with-menu-libname
      + --with-panel-libname +
      + +
      +

      new several --with-xxx-libname options, + to help with pkgsrc

      +
      +

    -

    Portability

    +

    Portability

    Many of the portability changes are implemented via the configure script:

    -
  • -

    build-fixes for the Portland Group (PGI) compilers

    - - -
  • +

    Here are some of the other portability fixes:

    + +

    Features of @@ -2412,7 +1255,7 @@ p,li { max-width:700px; }

    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.

    @@ -2423,10 +1266,10 @@ p,li { max-width:700px; }
  • 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).

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

  • @@ -2468,6 +1311,11 @@ p,li { max-width:700px; } than one control sequence to map to a given key code.

  • +
  • +

    Support for direct-color terminals, such as modern + xterm.

    +
  • +
  • Support for 256-color terminals, such as modern xterm.

  • @@ -2512,19 +1360,18 @@ p,li { max-width:700px; }
  • -

    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.

  • @@ -2553,24 +1400,25 @@ p,li { max-width:700px; }
  • 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.

  • The library meets the XSI requirement that every macro - entry point have a corresponding function which may be linked + entry point has 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 - 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).

  • @@ -2580,14 +1428,15 @@ p,li { max-width:700px; }

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

    + "@HOMEPAGE@/ncurses-examples.html">ncurses-examples

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

    -
    aptitude
    +
    aptitude +

    FrontEnd to Apt, the debian package manager

    @@ -2596,37 +1445,38 @@ p,li { max-width:700px; } "https://wiki.debian.org/Aptitude">https://wiki.debian.org/Aptitude

    -
    cdk
    +
    cdk +

    Curses Development Kit

    -

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

    @WEBSITE@/cdk/

    -
    ded
    +
    ded +

    directory-editor

    -

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

    +

    @WEBSITE@/ded/

    -
    dialog
    +
    dialog +

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

    -

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

    +

    @WEBSITE@/dialog/

    -
    lynx
    +
    lynx +

    the text WWW browser

    @@ -2635,16 +1485,17 @@ p,li { max-width:700px; } "https://lynx.invisible-island.net/">https://lynx.invisible-island.net/

    -
    mutt
    +
    mutt +

    mail utility

    -

    http://www.mutt.org/

    +

    http://www.mutt.org/

    -
    ncftp
    +
    ncftp +

    file-transfer utility

    @@ -2653,17 +1504,20 @@ p,li { max-width:700px; } "https://www.ncftp.com/">https://www.ncftp.com/

    -
    nvi
    +
    nvi +

    New vi uses ncurses.

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

    -
    ranger
    +
    ranger +

    A console file manager with VI key bindings in @@ -2673,16 +1527,17 @@ p,li { max-width:700px; } "https://ranger.github.io/">https://ranger.github.io/

    -
    tin
    +
    tin +

    newsreader, supporting color, MIME

    -

    http://www.tin.org/

    +

    http://www.tin.org/

    -
    vifm
    +
    vifm +

    File manager with vi like keybindings

    @@ -2697,7 +1552,8 @@ p,li { max-width:700px; }
    -
    minicom
    +
    minicom +

    terminal emulator for serial modem connections

    @@ -2706,25 +1562,26 @@ p,li { max-width:700px; } "https://alioth.debian.org/projects/minicom/">https://alioth.debian.org/projects/minicom/

    -
    mosh
    +
    mosh +

    a replacement for ssh.

    -

    https://mosh.mit.edu/

    +

    https://mosh.org/

    -
    tack
    +
    tack +

    terminfo action checker

    -

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

    +

    @HOMEPAGE@/tack.html

    -
    tmux
    +
    tmux +

    terminal multiplexor

    @@ -2733,14 +1590,14 @@ p,li { max-width:700px; } "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.

    -

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

    +

    @WEBSITE@/vile/

    @@ -2749,7 +1606,8 @@ p,li { max-width:700px; }
    -
    emacs
    +
    emacs +

    text editor

    @@ -2758,7 +1616,8 @@ p,li { max-width:700px; } "https://www.gnu.org/software/emacs/">https://www.gnu.org/software/emacs/

    -
    less
    +
    less +

    The most commonly used pager (a program that @@ -2768,7 +1627,8 @@ p,li { max-width:700px; } "http://www.greenwoodsoftware.com/less/">http://www.greenwoodsoftware.com/less/

    -
    screen
    +
    screen +

    terminal multiplexor

    @@ -2777,13 +1637,13 @@ p,li { max-width:700px; } "https://www.gnu.org/software/screen/">https://www.gnu.org/software/screen/

    -
    vim
    +
    vim +

    text editor

    -

    https://www.vim.org/

    +

    https://www.vim.org/

    @@ -2794,12 +1654,18 @@ p,li { max-width:700px; }

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

    @@ -2812,8 +1678,8 @@ p,li { max-width:700px; }
    bug-ncurses-request@gnu.org -
    containing the line: - +
    + containing the line:

    subscribe <name>@<host.domain>

    @@ -2822,15 +1688,25 @@ p,li { max-width:700px; }

    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/ + "ftp://ftp.invisible-island.net/ncurses/current/">ftp://ftp.invisible-island.net/ncurses/current/ and
    https://invisible-mirror.net/archives/ncurses/ .

    + "https://invisible-mirror.net/archives/ncurses/current/">https://invisible-mirror.net/archives/ncurses/current/ .

    +
    + +

    Patches to the current release are made available at

    + +
    +

    ftp://ftp.invisible-island.net/ncurses/6.2/ + and
    + https://invisible-mirror.net/archives/ncurses/6.2/ .

    There is an archive of the mailing list here:

    @@ -2849,30 +1725,28 @@ p,li { max-width:700px; } which may be interesting by themselves:

    Other @@ -2889,7 +1763,10 @@ p,li { max-width:700px; }

    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.