X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=announce.html.in;h=caaa2899b0e3f527478d3dd22ca072aa6c8c39d6;hb=HEAD;hp=9651b06fd4f35cd1eb14dcf835c79ecd892e709c;hpb=9f479192e3ca3413d235c66bf058f8cc63764898;p=ncurses.git diff --git a/announce.html.in b/announce.html.in index 9651b06f..9889ef1b 100644 --- a/announce.html.in +++ b/announce.html.in @@ -1,7 +1,7 @@ -
- + "HTML Tidy for HTML5 for Linux version 5.6.0">-ftp://ftp.invisible-island.net/ncurses/ + "https://invisible-island.net/archives/ncurses/">https://invisible-island.net/archives/ncurses/ or
https://invisible-mirror.net/archives/ncurses/ .
It is also available via anonymous FTP at the GNU distribution - site
+It is also available at the GNU distribution site
+ "https://ftp.gnu.org/gnu/ncurses/">https://ftp.gnu.org/gnu/ncurses/ .
These notes are for ncurses - @VERSION@, released February 12, 2020.
+ @VERSION@, released April 27, 2024.This release is designed to be source-compatible with - ncurses 5.0 through 6.1; providing + ncurses 5.0 through 6.4; providing extensions to the application binary interface (ABI). Although the source can still be configured to support the ncurses 5 ABI, the reason for the release is @@ -173,292 +169,181 @@ this announcement.
The most important - bug-fixes/improvements dealt with user-defined capabilities - in terminal descriptions. The release notes also mention some - other bug-fixes, but are focused on new features and improvements - to existing features since ncurses - 6.1 release.
+ bug-fixes/improvements dealt with robustness issues. The + release notes also mention some other bug-fixes, but are focused + on new features and improvements to existing features since + ncurses 6.4 release.There are several new features:
+These are new features:
O_EDGE_INSERT_STAY - tells the form library to optionally delay cursor movement on - a field edge/boundary
-The low-level terminfo and termcap interfaces are used + both by the higher-level curses library, as well as by many + applications.
-O_INPUT_FIELD - extension to form library allows a dynamic field to shrink if - the new limit is smaller than the current field size.
-The functions which convert parameterized terminal
+ capability strings for output to the terminal
+ (tiparm
and tparm
) analyze the
+ capability string to determine which parameters are strings
+ (i.e., addresses), versus numbers (not addresses).
added exit_curses and - exit_terminfo to - replace internal symbols for leak-checking.
-added curses_trace, - to replace trace().
-The library's analysis of a capability string may differ + from the calling application's design if environment + variables are used to point to an invalid terminal database. + This is a longstanding problem with all + implementations of terminfo, dating from the early 1980s.
-Additionally, to improve performance other changes (and - extensions) are provided in this release:
+Two new functions address this problem: by providing a + function which allows the calling application to tell ncurses + how many string-parameters to expect:
-mouse decoding now handles shift/control/alt logic when - decoding xterm's 1006 mode
-ncurses now defines a limit for wgetnstr, wgetn_wstr when - length is negative or “too large”.
-there is now no buffer-size limit when reading the - $TERMCAP - variable.
-the $TERMCAP - variable may be interpreted as a fallback to a terminfo - entry
-tiscan_s
helps applications check
+ formatting capabilities that would be passed to
+ tiparm_s
.- mvcur now decides whether to use hard-tabs, using - xt, tbc - and hts as clues.
+tiparm_s
provides applications a way to
+ tell ncurses what the expected parameters are for a
+ capability.extended colors are improved by modifying an internal call - to - vid_puts to pass extended color pairs e.g., from - tty_update.c and lib_mvcur.c
-The ncurses library supports a compile-time feature
+ (enabled with the configure --enable-check-size
+ option) which simplifies initialization with terminals which
+ do not negotiate window (screen) size. This is done in
+ setupterm
, by providing for using ANSI
+ cursor-position report (in user6/user7 terminfo capabilities)
+ to obtain the screen size if neither environment variables or
+ ioctl is used.
the initialization functions now avoid - relying upon persistent data for the result from getenv
+The ncurses test-program with options
+ “-E -T
” demonstrates this
+ feature.
scrolling is improved:
- -improved loop limits in _nc_scroll_window - handle a case where the scrolled data is a pad which is - taller than the window.
-SCREEN
This release drops compatibility with obsolete versions of + tack, e.g., pre-1.08
+These are revised features:
+These are improvements to existing features:
used “const” in some prototypes - rather than NCURSES_CONST where X/Open Curses was - updated to do this, e.g., wscanw, newterm, - the terminfo interface. Also use “const” - for consistency in the termcap interface, which was withdrawn - by X/Open Curses in Issue 5 (2007). As of Issue 7, X/Open - Curses still lacks “const” for certain - return values, e.g., keyname.
-modified wbkgd - and wbkgrnd - to improve compatibility with SVr4 curses, changing the way - the window rendition is updated when the background character - is modified
-improved terminfo write/read by modifying the fourth item - of the extended header to denote the number of valid strings - in the extended string table (see term(5)).
-modified the initialization checks for mouse so that the - xterm+sm+1006 - block will work with terminal descriptions not mentioning - xterm.
-In addition to the new, safer function
+ tiparm_s
, ncurses adds checks to make the older
+ tiparm
, tparm
and
+ tgoto
functions safer:
These were done to limit or ultimately deprecate features:
+the terminfo functions tiparm
and
+ tparm
ensure that the capability string
+ comes from the terminal description which ncurses loads,
+ rather than from random data which the application
+ happens to have.
deprecated safe-sprintf, since the - vsnprintf function, which does what was needed, was - standardized long ago.
-the tgoto
function disallows capabilities
+ which its analysis shows will attempt to use string
+ parameters.
marked vwprintw - and vwscanw as deprecated; recommend using vw_printw - and vw_scanw, respectively.
+ncurses uses internal functions which correspond to
+ tiparm
, and tgoto
which ensure
+ that the capability strings which are passed to these
+ functions come from the loaded terminal description.
added deprecation warnings for internal functions called - by older versions of tack.
+improve check in lib_tparm.c
, ensuring that a
+ char* fits into a TPARM_ARG
removed unused _nc_import_termtype2 function.
+modify _nc_syserr_abort
to use
+ _nc_env_access
, rather than only checking root
+ uid
These are improvements to existing features:
- -check parameter of set_escdelay, - return ERR if negative.
+improve thread lock in lib_trace.c
check parameter of set_tabsize, return - ERR if not greater than zero
+modify flushinp
to use file descriptors in
+ SCREEN
, rather than from TERMINAL
,
+ and check if they are for a terminal, like SVr4
correct a status-check in _nc_read_tic_entry() so that if - reading a hex/b64 $TERMINFO, - and the $TERM - does not match, fall-through to the compiled-in search - list.
+modify mcprint
to use file descriptor in
+ SCREEN
, for consistency
amend check for - repeat_char to handle a case where setlocale() was - called after initscr
+modify internal function _nc_read_file_entry
+ to show relevant filename in warnings
move macro for is_linetouched - inside NCURSES_NOMACROS - ifndef.
+improve checks in internal function
+ convert_string
for corrupt terminfo entry
use _nc_copy_termtype2 rather than direct - assignment in setupterm, - in case it is called repeatedly using fallback terminfo - descriptions
+review/improve handling of out-of-memory conditions
improve workaround for Solaris wcwidth versus line-drawing - characters
+limit delays to 30 seconds, i.e., padding delays in
+ terminfo, as well as napms
and
+ delay_output
functions
add checks in repair_subwindows - to keep the current position and scroll-margins inside the - resized subwindow.
+fix reallocation loop for vsnprintf
in
+ _nc_sprintf_string
by copying the va_list
+ variable
correct a buffer-limit in write_entry.c for - systems that use caseless filenames.
+modify delscreen
to limit the windows which
+ it creates to just those associated with the screen
improved build-time utility report_offsets:
- -add categories, e.g., "w" for wide-character, "t" for - threads to make the report more readable. Reorganized the - structures reported to make the categories more - apparent.
-add NCURSES_GLOBALS and - NCURSES_PRESCREEN to report to show how similar - the different libtinfo configurations are.
-modify endwin
to return an error if it is
+ called again without an intervening screen update
modified some header files to ensure that those include - necessary files except for the previously-documented - cases
+modify wenclose
to handle pads
added some traces in initialization to show whether a - fallback entry is used.
+eliminate use of PATH_MAX
in
+ lib_trace.c
made minor optimization to reduce calls to - _nc_reserve_pairs
+provide for any CCHARW_MAX
greater than 1
fix a special case in PutAttrChar where a cell is - marked as alternate-character set, but the terminal does not - actually support the given graphic character. This would - happen in an older terminal such as vt52, which - lacks most line-drawing capability.
+correct loop termination condition in
+ waddnstr
and waddnwstr
corrected flag for "seq" method of db 1.8.5 interface, - needed by toe on some of the BSDs.
+improve parsing in internal function
+ _nc_msec_cost
, allowing a single decimal
+ point
modify comparison in make_hash.c to correct a special case - in collision handling for Caps-hpux11
+amend parameter check for entire string versus specific
+ length in winsnstr
and wins_nwstr
+ to match Solaris; make similar correction to
+ wins_nwstr
add extended_slk_color{,_sp} symbols to the appropriate - package/*.{map,sym} files
+correct internal function wadd_wch_literal
+ when adding a non-spacing character to a double-width
+ character
modify lib_setup to avoid calling pthread_self() without - first verifying that the address is valid, i.e., for weak - symbols
-add a couple of broken-linker symbols to the list of - versioned symbols to help with link-time optimization versus - weak symbols.
+correct definition of Charable
macro for
+ non-wide ncurses library .
Several improvements were made to the utility programs:
+Several improvements were made to the
+ utility programs. Some were done to make the infocmp
+ option “-u” option help refactor the
+ terminal database.
add limit checks for processing extended capabilities
+ with the “-u
” option
correct initial alignment of extended capabilities, so
+ that the “-u
” option can be used
+ for more than two terminal types
modify “-u
” option to not
+ report cancels for strings which were already cancelled
+ in a use'd chunk.
correct an assignment “-u
”
+ for detecting if a boolean is unset in a base entry and
+ set in a use'd chunk, i.e., if it was cancelled.
correct limit-check when dumping tc/use clause via
+ “-I
”
check return value of _nc_save_str
, in
+ special case where extended capabilities are processed
+ but the terminal description was not initialized
modify check for multiply defined aliases to report + problems within the current runtime rather than for + conflicts with pre-existing terminal descriptions.
+disallow using $TERMINFO
or
+ $HOME/.terminfo
when
+ “-o
” option is used
add “-v
” option to tput, to
+ show warnings
modify reset command to avoid altering clocal + if the terminal uses a modem
+modify reset feature to avoid 1-second sleep + if running in a pseudo-terminal
+Several changes were made to the generated ncurses*config - scripts and the analogous “.pc” files to - reduce differences between the configurations they report:
- -modified the ncurse*-config and pc-files to more closely - match for the -I and -l options.
-filtered out linker-specs from the --libs - report.
-amended the ncurses*-config and pc-files to take into - account the rpath hack which differed between those - files.
-modified generated ncurses*config and ncurses.pc, - ncursesw.pc, etc., to list helper libraries such as gpm for - static linking.
-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:
+ "@HOMEPAGE@/ncurses-examples.html">ncurses-examples:improve recovery from error when reading command-character - in test/ncurses.c, showing the relevant error - message and not exiting on EINTR.
+modify test_tparm
to account for extended
+ capabilities
improve tracemunch, by keeping track of - TERMINAL* values, and if tracing was first turned on - after initialization, attempt to show distinct screen, window - and terminal names anyway.
+corrected mouse mask in test/testcurs.c
modify tracemunch to accept filename parameters - in addition to use as a pipe/filter.
+modify test/clip_printw.c
to optionally test
+ non-wrapped updates
update tracemunch to work with perl - 5.26.2, which changed the rules for escaping regular - expressions.
+modify test/test_mouse.c
to use curses api
+ for raw/noraw
add some checks in tracemunch for undefined - variables.
-modify TurnOn/TurnOff macros (in - lib_vidattr.c and lib_vid_attr.c) to avoid expansion of - “CUR” in trace.
+modify test/clip_printw.c
to optionally test
+ non-wrapped updates
There are other new demo/test programs and reusable - examples:
+There is one new demo/test programs:
This program shows the return-status from
+ endwin
with different combinations of
+ endwin
(repeated), initscr
,
+ newterm
.
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.
+There are several new terminal descriptions:
add “-l” option to test/background, - to dump screen contents in a form that lets different curses - implementations be compared.
+add “@” command to test/ncurses - F-test, to allow rapid jump to different character pages.
+added enum, regex examples to test/demo_forms
+linux+kbs + for terminals which imitate xterm's behavior with Linux
amend Scaled256() macro in test/picsmap.c to cover the - full range 0..1000
+rio, + rio-direct
corrected pathname used in Ada95 sample programs for - explain.txt, to work with test-packages, and used an - awk script to split the resulting pathname when it would be - too long for a single line.
+ignore interrupted system-call in test/ncurses's - command-line, e.g., if the terminal were resized.
+improved ifdef's for TABSIZE variable, to help - with AIX/HPUX ports.
+vt100+noapp, + vt100+noapp+pc, + xterm+app+pc, + xterm+decedit + from xterm + #389
There are several new terminal descriptions:
- --- -alacritty, domterm, kitty, - mintty, mintty-direct, ms-terminal, - n7900, nsterm-build309, - nsterm-direct, screen5, ti703, - ti707, ti703-w, ti707-w - vscode, vscode-direct, xterm-mono, - xterm.js
-
There are many changes to existing terminal descriptions. Some - were updates to several descriptions:
- -putty+cursor + to reflect amending of modified cursor-keys in 2021
+while others affected specific descriptions. These were - retested, to take into account changes by their developers:
- --- -terminator, st
-
while these are specific fixes based on reviewing - documentation, user reports, or warnings from tic:
- -There are many changes to existing terminal descriptions. Some
+ were updates to several descriptions, using the
+ infocmp
“-u
” option in a
+ script to determine which building-block entries could
+ be used to replace multiple capability settings (and trim
+ redundant information).
Other changes include:
-document + XF, kxIN and kxOUT
+add note on sun + regarding wscons/cmdtool/shelltool
+remove DECCOLM+DECSCLM from foot
+add xterm+focus to foot+base
+add ecma+strikeout to putty
+use CSI 3J in vte-2017
+use oldxterm+sm+1006 in vte-2014
+modify xgterm + to work around line-drawing bug
+add xterm focus mode 1004 to xterm+focus + as fe/fd capabilities, like vim.
+add xterm+focus to alacritty+common
+add XR/xr, to work with vim, and use RV/rv to denote DA2 + and its response
+A few entries use extensions (user-defined terminal - capabilities):
+add XF flag to xterm+focus + so that termcap applications can be aware of terminals which + may support focus in/out
+use xterm+focus in xterm-p370 + and tmux
+remove xterm+sm+1006 from tmux
+add assignment in CF_MAN_PAGES
to fill in
+ value for TERMINFO_DIRS
in ncurses, terminfo
+ and tic manpages.
clarify interaction of -R
option versus
+ -C
, -I
and -r
in
+ infocmp
manpage.
correct manpage description of panel_hidden.
+Clarify in manual pages that vwprintw
- and vwscanw
- are obsolete.
- They have not been part of X/Open Curses since 2007.
improve manpage description for addch versus unctrl + format used for non-printable characters.
+New/improved history and portability sections:
+improve manpages discussing file descriptors in + low-level functions.
+improve description of search rules for terminal + descriptions in terminfo manpage.
+modify dist.mk to avoid passing developer's comments + in manpages into the generated html documentation.
+modify test-package "ncurses6-doc" to use + manpage-aliases, which in turn required a change to the + configure script to factor in the extra-suffix option + when deriving alias names.
+Improvements for user_caps.5:
+New/improved history and portability sections:
add information about "ttycap", termcap's forerunner, + to tset.1
+document limitations of tparm, and error-returns in + curs_terminfo.3x
+document limitations of tgoto, and error-returns in + curs_termcap.3x
+Other improvements:
This release has many changes to improve the + formatting and style of the manpages.
+Manpages now use consistent section-naming, page + headers and footers (including the modification date for + each page).
+Table layout has been revised.
+There are no new manual pages (all of the manual page updates are to existing pages).
-Some of the improvements are more subtle, relating to the way - the information is presented. For instance, the generated - terminfo.5 file uses a different table layout, allowing it to use - space on wide terminals more effectively.
-While there were many bugs fixed during development of ncurses - 6.2, only a few (the reason for this release) were both important - and interesting. Most of the bug-fixes were for local issues - which did not affect compatibility across releases. Since those - are detailed in the NEWS file no elaboration is needed here.
+The changes to tparm, tgoto which improve + the design of the low-level interfaces are interesting, + but are not bug-fixes per se.
-The interesting bugs were in tic/infocmp's handling of - user-defined capabilities. These were not recent bugs. Initially - it was a simple problem:
- -One of simpleterm's contributors copied some definitions - for using tmux's user-defined capabilities in - - late in 2016.
+---diff --git a/st.info b/st.info -@@ -185,7 +185,10 @@ st| simpleterm, - tsl=\E]0;, - xenl, - vpa=\E[%i%p1%dd, -- -+# Tmux unofficial extensions, see TERMINFO EXTENSIONS in tmux(1) -+ Se, -+ Ss, -+ Tc, +-Major + changes
- st-256color| simpleterm with 256 colors, - use=st, -
These are the major changes (aside from introducing tiparm_s):
+Later, in (referring to a version from - mid-2017), a user asked to have it updated in - ncurses.
+use wide-character (ncursesw) by default
However, it had an error from the change in late 2016. The - terminal description made what tmux expected to be - string actually a - boolean.
- -Over the years, there were problems with each of - simpleterm's terminal descriptions. I repaired those, and - usually dealt with the problem.
+use opaque typedefs by default
However, most of the work on configure scripts was done to + reduce warnings within the configure script:
+The difference in this case was that when compiling the - terminal database, tic may have in memory the - definitions for more than one terminal description (so that - it can resolve “use=” clauses). Seeing - two different types for the same name, in certain situations - it would incorrectly merge the symbol tables for the two - terminal descriptions.
+intrusive warnings from GNU grep regarding fgrep and + egrep
On simpleterm's side, their bug was finally fixed in - - late 2019, three years after the bug was created.
+fatal errors in compile-checks, arising from recent + “Modern C” efforts by some developers which + caused longstanding configure checks to fail.
+ +After repairing the configure script, none of that + activity affected ncurses because stricter warnings are used + routinely in development.
For ncurses, the elapsed time to fix this bug was less than - three years. Someone reported a problem with the terminal - description a few weeks after releasing ncurses 6.1 (in tmux #1264), and - the terminal description was updated that week (ncurses patch - 20180224):
- --- --20180224 - + modify _nc_resolve_uses2() to detect incompatible types when merging - a "use=" clause of extended capabilities. The problem was seen in a - defective terminfo integrated from simpleterm sources in 20171111, - compounded by repair in 20180121. - + correct Ss/Ms interchange in st-0.7 entry (tmux #1264) -TD --
The larger part of that change added a check to prevent a - simple merge of terminal descriptions where the same user-defined - name was used with different types. But it raised some - questions:
+Other improvements made to configure checks include
Was there a reliable way to manage terminal descriptions - which used the same extended name in different ways?
+use string-hacks + in alloc_entry.c, alloc_type.c and hardscroll.c, overlooked + due to compiler changes in recent OpenBSD releases
Should ncurses provide a registry of well-known extended - names, with their types?
+revise progs.priv.h to provide for NC_ISATTY reuse
Since the correction to terminfo.src - could have been readily adopted by packagers, there was nothing - more to be done from ncurses' standpoint on that part. But - improving ncurses to prevent issues like that is the reason for - making a release.
-Nothing more (constructive) was mentioned with regard to - simpleterm. But a few problems were found in the handling of - user-defined capabilities:
+configure check for MB_LEN_MAX provides warning as + needed
+Forward-references to user-defined capabilities in a - “use=” clause did not allocate new data - for each use. In tic, successive compilation of - terminal entries could add user-defined capabilities to the - wrong terminal entry.
+trim a space after some "-R" options, fixing builds for + applications built using clang and ncurses on Solaris
+This was not noticed before, since xterm's terminal - descriptions were the main users of the feature, and almost - all of the uses of the building-blocks which contained - user-defined capabilities were backward-references.
+work around misconfiguration of MacPorts gcc13, which + exposes invalid definition of MB_LEN_MAX in gcc's + fallback copy of limits.h
There is one (documented) case where ncurses 6.1 supports - a user-defined capability that could be any type (i.e., - “RGB”). The check added in February 2018 to guard - against mismatches did not handle all of the combinations - needed.
+modified experimental Windows driver works with xterm + mouse protocol
Both of these issues dated from the original implementation of - user-defined capabilities. Fixing them does not change the - terminal database, but a older tic without the fixes - will not be able to handle terminfo sources which rely upon those - fixes. Starting in June 2019, the download link for the terminfo - source file was capped at that date. The development sources have - an up-to-date copy of the file, for people with a legitimate need - for it.
- -The “-c” (check) option of tic - is not very useful if it cannot offer advice on parameters needed - for user-defined capabilities. The various Caps files - were reorganized to reduce redundancy, and in the common portion - (Caps-ncurses), - a registry of user-defined capabilities is provided for use by - tic. While users can still define their own custom - capabilities, tic will not offer any advice when their - parameters do not match.
- -In ncurses 6.2, tic makes a special check to allow - any type for RGB, but its being able to do this relies - upon fixes made in the ncurses library in mid-2019.
- -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.
-There are a few new/modified configure options:
+There are a few new configure options:
helps work around a filename conflict with Debian packages - versus test-packages.
+Compile with environment restriction, so certain + environment variables are not available when running via a + setuid/setgid application. These are (for example + $TERMINFO) those that allow the search path for the + terminfo or termcap entry to be customized.
+ +A setuid/setgid application inherits its environment + variables from the current user, in contrast to sudo which + may limit the environment variables that ncurses uses.
allows one to rename the “AdaCurses” library - (at least one packager prefers a lowercase name).
+Compile-in feature to detect screensize for terminals + which do not advertise their screensize, e.g., serial + terminals.
now ensures there is a value, and adds the fallback - information to top-level Makefile summary.
+Override the displayed (rather than compiled-in) ABI. Only + packagers who have created configurations where the ABI + differs from ncurses should be interested in this option.
check for pcre-posix library to help with MinGW port.
+When stripping executables during install, use the + specified program rather than “strip” overriding + program chosen by the install program for stripping + executables.
These configure options are modified:
-help work around problems building fallback source using - pre-6.0 tic/infocmp.
+The optional DIR parameter can now be + “auto” to automatically use pkg-config's library + directory.
+ +The default is $(libdir).
option value can now be a relative pathname.
+The default is “auto” which tells the + configure script to choose BS or DEL according to platform + defaults.
ignore $TERMINFO - as a default value in configure script if it came from the - infocmp -Q option.
+add/use configure check for clock_gettime
, to
+ supersede gettimeofday
.
distinguish gcc from icc and clang when the - --enable-warnings option is not used, to avoid - unnecessary warnings about unrecognized inline options
+modify configure script check for pkg-config library + directory to take into account an older version 0.15.0 which + used PKG_CONFIG_PATH but not PKG_CONFIG_LIBDIR
consistently prepend new libraries as they are found - during configuration, rather than relying upon the linker to - resolve order dependencies of libraries.
+allow for MinGW32-/64-bit configurations to use + _DEFAULT_SOURCE
modified configure scripts to reduce relinking/ranlib - during library install :
- -modify CF_XOPEN_SOURCE macro's amend default case to avoid + undefining _XOPEN_SOURCE if _POSIX_C_SOURCE is defined
add configure check for getenv to work around - implementation shown in Emscripten which overwrites the - previous return value on each call.
- -Use that to optionally suppress START_TRACE - macro, whose call to getenv may not work - properly
+updated configure script macro CF_XOPEN_SOURCE, for + uClibc-ng
change target configure level for _XOPEN_SOURCE - to 600 to address use of vsscanf and - setenv.
+modify version-check for gcc/g++, now works for msys2
reduce use of _GNU_SOURCE for current glibc where - _DEFAULT_SOURCE combines with - _XOPEN_SOURCE
+build-fixes related to configure-options and/or + platform:
-Allow for Cygwin's newlib when checking for the - _DEFAULT_SOURCE symbol.
+MidnightBSD is now checked for the - _XOPEN_SOURCE-related definitions.
-If the check for va_copy or __va_copy - fails,
+several changes to support a port to Ultrix 3.1:
+other configure-script improvements:
The test/configure script (used for ncurses-examples) - is improved:
- -Here are some of the other portability fixes:
-modify configure scripts/makefiles to omit + KEY_RESIZE if the corresponding SIGWINCH + feature is disabled
+increase MB_CUR_MAX to 16, matching glibc's + MB_LEN_MAX
Here are some of the other portability fixes:
+add BSD erase2 to characters handled by + tset/reset
+added dummy "check" rule in top-level and test-Makefile to - simplify building test-packages for ArchLinux.
+use getauxval when available, to improve + setuid/setgid checks
dropped library-dependency on psapi for MinGW port, since - win_driver.c defines PSAPI_VERSION to 2, making it - use GetProcessImageFileName from kernel32.dll
+set dwShareMode in calls to + CreateConsoleScreenBuffer
made build-fixes for configuration using --program-suffix - with Ada95, noticed with MacOS but applicable to other - platforms without libpanelw, etc.
+use CreateFile with "CONIN$", + "CONOUT$" rather than GetStdHandle to + obtain a handle on the actual console, avoiding redirection + in the MinGW/Win32 configurations
modified ncurses/Makefile.in to fix a case where - Debian/testing changes to the ld --as-needed configuration - broke ncurses-examples test packages.
+modify MinGW driver to return KEY_BACKSPACE when + an unmodified VK_BACK virtual key is entered
used _WIN32/_WIN64 in preference to - __MINGW32__/__MINGW64__ symbols to simplify - building with Microsoft Visual C++, since the former are - defined in both compiler configurations.
+modify MinGW configuration to provide for running in + MSYS/MSYS2 shells, assuming ConPTY support
ncurses supports all of the - for SVr4 curses features including keyboard mapping, color, - forms-drawing with ACS characters, and automatic recognition +
ncurses supports the + features of SVr4 curses including keyboard mapping, color, + form 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):
+ncurses provides work-alike + replacements of SVr4 supplemental libraries based on curses, + but which were not specified by X/Open Curses:
the panels library, supporting a stack of windows with - backing store.
+the panel library, supporting a stack of windows with + backing store
the menus library, supporting a uniform but flexible - interface for menu programming.
+the menu library, supporting a uniform but flexible + interface for menu programming
the form library, supporting data collection through - on-screen forms.
+ on-screen formsncurses supports - user-defined capabilities which it can see, but which are + user-defined capabilities that it can see, but which are hidden from SVr4 curses applications using the same terminal database.
The ncurses utilities have options to allow you to filter terminfo entries for use with less capable curses/terminfo versions such - as the HP/UX and AIX ports.
+ as the HP-UX and AIX ports.The 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).
+ X/Open Curses specification, XSI curses (that is, it + implements all BASE level features, and almost all + 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).Support for direct-color terminals, such as modern + xterm.
+Support for 256-color terminals, such as modern xterm.
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
.
X/Open Curses permits most functions it specifies to be + made available as macros as well. ncurses does this
+ +stdscr
, andExcept for the last case, ncurses provides a non-macro
+ implementation of the function. If the macro definition is
+ disabled with #undef
, or by defining
+ NCURSES_NOMACROS
the function may be linked (and
+ its calls will be checked against the prototype).
New vi uses ncurses.
https://sites.google.com/a/bostic.com/keithbostic/vi
+ "https://sites.google.com/a/bostic.com/keithbostic/the-berkeley-vi-editor-home-page">
+ https://sites.google.com/a/bostic.com/keithbostic/the-berkeley-vi-editor-home-page
terminal emulator for serial modem connections
https://alioth.debian.org/projects/minicom/
+ "https://salsa.debian.org/minicom-team/minicom">https://salsa.debian.org/minicom-team/minicoma replacement for ssh
.
Ongoing development work is done by Thomas E. Dickey. Thomas E. Dickey has acted as the maintainer for the Free Software - Foundation, which holds a copyright on ncurses for releases 4.2 through 6.1. Following the release of ncurses 6.1, effective as of release 6.2, copyright for ncurses reverted to @@ -2026,7 +1604,6 @@ diff --git a/st.info b/st.info "mailto:bug-ncurses-request@gnu.org">bug-ncurses-request@gnu.org containing the line: -
@@ -2040,7 +1617,7 @@ diff --git a/st.info b/st.info
subscribe
<name>@<host.domain>ftp://ftp.invisible-island.net/ncurses/current/ + "https://invisible-island.net/archives/ncurses/current/">https://invisible-island.net/archives/ncurses/current/ and
@@ -2050,19 +1627,17 @@ diff --git a/st.info b/st.info
https://invisible-mirror.net/archives/ncurses/current/ .ftp://ftp.invisible-island.net/ncurses/6.1/ + "https://invisible-island.net/archives/ncurses/6.4/">https://invisible-island.net/archives/ncurses/6.4/ and
+ "https://invisible-mirror.net/archives/ncurses/6.4/">https://invisible-mirror.net/archives/ncurses/6.4/ .
https://invisible-mirror.net/archives/ncurses/6.1/ .There is an archive of the mailing list here:
http://lists.gnu.org/archive/html/bug-ncurses - (also https)
+ "https://lists.gnu.org/archive/html/bug-ncurses">https://lists.gnu.org/archive/html/bug-ncurses .Related @@ -2082,6 +1657,9 @@ diff --git a/st.info b/st.info ncurses versus slang (S-Lang) +
Comments on + OpenBSD +tack – terminfo action checker @@ -2101,14 +1679,15 @@ diff --git a/st.info b/st.info Eric Raymond . Unlike the older version, the termcap and terminfo data are provided in the same file, which also provides - several user-definable extensions beyond the X/Open + several user-definable extensions beyond the X/Open Curses specification.You can find lots of information on terminal-related topics - not covered in the terminfo file at - Richard Shuford's archive . The collection of computer - manuals at Richard Shuford's + archive (original). + The collection of computer manuals at bitsavers.org has also been useful.
@@ -2118,11 +1697,9 @@ diff --git a/st.info b/st.infoRelease Notes -
- Library improvements -
- New features
@@ -2133,7 +1710,6 @@ diff --git a/st.info b/st.info- Program improvements -
- Utilities
@@ -2149,7 +1725,6 @@ diff --git a/st.info b/st.info- Configuration changes -