diff options
Diffstat (limited to 'doc/html/announce.html')
| -rw-r--r-- | doc/html/announce.html | 1014 |
1 files changed, 567 insertions, 447 deletions
diff --git a/doc/html/announce.html b/doc/html/announce.html index 2aa03cfab131..483bfe522833 100644 --- a/doc/html/announce.html +++ b/doc/html/announce.html @@ -1,7 +1,7 @@ <!-- - $Id: announce.html,v 1.70 2024/04/27 18:38:45 tom Exp $ + $Id: announce.html,v 1.71 2025/12/30 20:20:20 tom Exp $ **************************************************************************** - * Copyright 2018-2023,2024 Thomas E. Dickey * + * Copyright 2018-2024,2025 Thomas E. Dickey * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -32,7 +32,7 @@ <html> <head> <meta name="generator" content= - "HTML Tidy for HTML5 for Linux version 5.6.0"> + "HTML Tidy for HTML5 for Linux version 5.8.0"> <title>Announcing ncurses 6.5</title> <link rel="author" href="mailto:bug-ncurses@gnu.org"> <meta http-equiv="Content-Type" content= @@ -154,10 +154,10 @@ Notes</a></h2> <p>These notes are for <span class="main-name">ncurses</span> - 6.5, released <strong>April 27, 2024</strong>.</p> + 6.5, released <strong>December 30, 2025</strong>.</p> <p>This release is designed to be source-compatible with - <span class="main-name">ncurses</span> 5.0 through 6.4; providing + <span class="main-name">ncurses</span> 5.0 through 6.5; providing extensions to the application binary interface (ABI). Although the source can still be configured to support the <span class= "main-name">ncurses</span> 5 ABI, the reason for the release is @@ -165,75 +165,130 @@ "main-name">ncurses</span> 6 ABI and the supporting utility programs.</p> - <p>There are, of course, numerous other improvements, listed in - this announcement.</p> + <p>There are numerous other improvements listed in this + announcement.</p> <p>The most <a href="#h3-bug-fixes">important bug-fixes/improvements</a> 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 - <span class="main-name">ncurses</span> 6.4 release.</p> + <span class="main-name">ncurses</span> 6.5 release.</p> <h3><a name="h3-library" id="h3-library">Library improvements</a></h3> - <h4><a name="h4-new-library" id="h4-new-library">New features</a></h4> + <h4><a name="h4-term-driver" id="h4-term-driver">Terminal driver + improvements</a></h4> - <p>These are new features:</p> + <p>This release focuses on improvements to the MinGW/Windows + terminal driver. The terminal driver for MinGW32 was introduced + in <a href="https://invisible-island.net/ncurses/NEWS.html#t20090214">2009</a>. A new + version of the terminal driver to support Windows Terminal was + begun in <a href="https://invisible-island.net/ncurses/NEWS.html#t20200829">2020</a>. + However, there were some differences:</p> <ul> <li> - <p>The low-level terminfo and termcap interfaces are used - both by the higher-level curses library, as well as by many - applications.</p> + <p>Both drivers use <a href= + "https://learn.microsoft.com/en-us/windows/console/console-reference"> + Console API</a>; the later Windows driver also provides for + using character escape sequences.</p> + </li> - <p>The functions which convert parameterized terminal - capability strings for output to the terminal - (<code>tiparm</code> and <code>tparm</code>) analyze the - capability string to determine which parameters are strings - (i.e., addresses), versus numbers (not addresses).</p> + <li> + <p>The MinGW32 driver was designed to imitate POSIX terminal + I/O data types to simplify integration with the existing + sources.</p> - <p>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 <em>all</em> - implementations of terminfo, dating from the early 1980s.</p> + <p>The newer Windows driver did not integrate with the + sources in the same way. In particular, the <a href= + "https://invisible-island.net/ncurses/man/tset.1.html">reset</a> utility was + incomplete.</p> + </li> - <p>Two new functions address this problem: by providing a - function which allows the calling application to tell ncurses - how many string-parameters to expect:</p> + <li> + <p>Windows Terminal support for Console API is incomplete, + lacking mouse support. Additionally, its developers took a + few years to resolve issues with carriage-return versus + line-feed translation.</p> - <ul> - <li><code>tiscan_s</code> helps applications check - formatting capabilities that would be passed to - <code>tiparm_s</code>.</li> + <p>Reflecting on these problems, both MinGW and Windows + drivers are still provided in ncurses through the current + release.</p> + </li> - <li><code>tiparm_s</code> provides applications a way to - tell ncurses what the expected parameters are for a - capability.</li> - </ul> + <li> + <p>The two drivers are similar, but in developing the Windows + driver some renaming and refactoring was done. That resulted + in duplicate source files. This release eliminates the + duplication.</p> </li> + </ul> + <p>These improvements have been made to the terminal driver:</p> + + <ul> <li> - <p>The ncurses library supports a compile-time feature - (enabled with the configure <code>--enable-check-size</code> - option) which simplifies initialization with terminals which - do not negotiate window (screen) size. This is done in - <code>setupterm</code>, 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.</p> + <p>made <tt>win_driver.c</tt> obsolete in favor of + <tt>win32_driver.c</tt></p> + </li> - <p>The ncurses test-program with options - “<code>-E -T</code>” demonstrates this - feature.</p> + <li> + <p>made <tt>win32_curses.h</tt> obsolete in favor of + <tt>nc_win32.h</tt></p> </li> - <li>add functions to query tty-flags in - <code>SCREEN</code></li> - </ul> + <li> + <p>added configure check for Win32 named pipes feature, using + that to make <tt>nc_mingw.h</tt> obsolete in favor of + <tt>nc_win32.h</tt></p> + </li> + + <li>separated the <tt>_NC_WINDOWS</tt> platform macro into + <tt>_NC_WINDOWS_NATIVE</tt>, for MinGW and other native Win32 + support, and <tt>_NC_WINDOWS</tt>, to make some Win32 features + available under the Cygwin runtime, in this case the + term-driver.</li> + + <li> + <p>modified MinGW32 configuration to account for its use of + Windows-style pathnames in filesystem checks.</p> + </li> - <p>This release drops compatibility with obsolete versions of - <a href="https://invisible-island.net/ncurses/tack/">tack</a>, e.g., pre-1.08</p> + <li> + <p>changed <tt>MS_TERMINAL</tt> symbol to + <tt>DEFAULT_TERM_VAR</tt></p> + </li> + + <li> + <p>updated <tt>ncurses/wcwidth.c</tt>, for MinGW ports, from + xterm.</p> + </li> + + <li> + <p>made fixes for reading Unicode characters in MinGW/Windows + port</p> + </li> + + <li> + <p>improved Windows driver by restoring the scroll buffer and + console mode, e.g., when <tt>reset_prog_mode</tt> or + <tt>endwin</tt> is called</p> + </li> + + <li> + <p>simplified include for <tt>wchar.h</tt> in Windows port by + removing the platform ifdef's</p> + </li> + + <li> + <p>modified driver for MinGW to handle shift-tab and + control-tab as back-tab</p> + </li> + + <li> + <p>made fixes for port using clang-cl or cl MSVC</p> + </li> + </ul> <h4><a name="h4-fixes-library" id="h4-fixes-library">Other improvements</a></h4> @@ -242,108 +297,145 @@ <ul> <li> - <p>In addition to the new, safer function - <code>tiparm_s</code>, ncurses adds checks to make the older - <code>tiparm</code>, <code>tparm</code> and - <code>tgoto</code> functions safer:</p> + <p>add comments to generated <tt>term.h</tt> to hint the + configure options used</p> + </li> - <ul> - <li> - <p>the terminfo functions <code>tiparm</code> and - <code>tparm</code> ensure that the capability string - comes from the terminal description which ncurses loads, - rather than from random data which the application - happens to have.</p> - </li> + <li> + <p>change scope of <tt>TTY</tt>, <tt>GET_TTY</tt> and + <tt>SET_TTY</tt> to ncurses-internals</p> + </li> + <li> + <p>improved mouse driver</p> + + <ul> <li> - <p>the <code>tgoto</code> function disallows capabilities - which its analysis shows will attempt to use string - parameters.</p> + <p>modify <tt>handle_wheel</tt> case 2 to ignore the + event as in case 1 for mouse version 1, since that + corresponds to a button 6 or 7 event which is not + supported with ABI 6.</p> </li> <li> - <p>ncurses uses internal functions which correspond to - <code>tiparm</code>, and <code>tgoto</code> which ensure - that the capability strings which are passed to these - functions come from the loaded terminal description.</p> + <p>use separate read/write pointers in the mouse event + queue to work with too-close events for the + click-detection to work reliably, and further improve + that in case <tt>mouseinterval(0)</tt> is used to + suppress click-detection.</p> </li> </ul> </li> <li> - <p>improve check in <code>lib_tparm.c</code>, ensuring that a - char* fits into a <code>TPARM_ARG</code></p> + <p>modify treatment of <em>“n”</em> parameter for + <tt>waddnstr</tt>, <tt>waddnwstr</tt>, and + <tt>wins_nwstr</tt> to return <em>OK</em> when + <em>“n”</em> is zero, for consistency with other + implementations</p> + </li> + + <li> + <p>modify <tt>wattron</tt>/<tt>wattroff</tt> calls in + <tt>form/m_post.c</tt> to call <tt>wattr_on</tt> and + <tt>wattr_off</tt> to omit cast used in the former for X/Open + compatibility</p> + </li> + + <li> + <p>change <tt>winwstr</tt> to a generated function, using the + macro definition, moving its handling of negative length + parameter into <tt>winnwstr</tt>.</p> + </li> + + <li> + <p>change <tt>winwstr</tt> to return wide character count + instead of <em>OK</em>.</p> + </li> + + <li> + <p>disallow directories and block/character devices in + safe-open.</p> + </li> + + <li> + <p>amend <tt>scr_restore</tt> and <tt>scr_init</tt> to remove + the target window only after validating the source window + which will replace the target</p> </li> <li> - <p>modify <code>_nc_syserr_abort</code> to use - <code>_nc_env_access</code>, rather than only checking root - uid</p> + <p>modify <tt>_nc_flush</tt> to also flush <em>stderr</em> to + help the <em>flash</em> capability to work in + <tt>bash</tt></p> </li> <li> - <p>improve thread lock in <code>lib_trace.c</code></p> + <p>trim padding from <em>sgr</em> expression used in + <tt>trim_sgr0</tt>, to avoid copying the padding into the + resulting sgr0</p> </li> <li> - <p>modify <code>flushinp</code> to use file descriptors in - <code>SCREEN</code>, rather than from <code>TERMINAL</code>, - and check if they are for a terminal, like SVr4</p> + <p>modify <tt>misc/Makefile.in</tt> and + <tt>misc/run_tic.in</tt> so that <tt>$DESTDIR</tt> is set and + used only in the makefile.</p> </li> <li> - <p>modify <code>mcprint</code> to use file descriptor in - <code>SCREEN</code>, for consistency</p> + <p>modify <tt>MKfallback.sh</tt> to eliminate + <tt>TERMINFO</tt> environment variable.</p> </li> <li> - <p>modify internal function <code>_nc_read_file_entry</code> - to show relevant filename in warnings</p> + <p>add <tt>-x</tt> option to <tt>infocmp</tt> in + <tt>MKfallback.sh</tt></p> </li> <li> - <p>improve checks in internal function - <code>convert_string</code> for corrupt terminfo entry</p> + <p>limit value from <tt>ESCDELAY</tt> environment variable to + 30 seconds, like other delay limits.</p> </li> <li> - <p>review/improve handling of out-of-memory conditions</p> + <p>limit values from <tt>LINES</tt> and <tt>COLUMNS</tt> + environment variables to 512</p> </li> <li> - <p>limit delays to 30 seconds, i.e., padding delays in - terminfo, as well as <code>napms</code> and - <code>delay_output</code> functions</p> + <p>added check in <tt>wresize</tt> for out-of-range + dimensions</p> </li> <li> - <p>fix reallocation loop for <code>vsnprintf</code> in - <code>_nc_sprintf_string</code> by copying the va_list - variable</p> + <p>improved error-handling in c++ binding</p> </li> <li> - <p>modify <code>delscreen</code> to limit the windows which - it creates to just those associated with the screen</p> + <p>improved error-reporting in <tt>write_entry.c</tt></p> </li> <li> - <p>modify <code>endwin</code> to return an error if it is - called again without an intervening screen update</p> + <p>amended limit used in <tt>alloc_pair</tt>, by applying an + adjustment for default colors only when the maximum number of + color pairs is greater than the maximum number of colors</p> </li> <li> - <p>modify <code>wenclose</code> to handle pads</p> + <p>added limit-checks in <tt>alloc_entry.c</tt> and + <tt>alloc_ttype.c</tt> to avoid indexing errors when using + <tt>infocmp</tt> to compare all capabilities when processing + a malformed terminfo binary which has a valid header</p> </li> <li> - <p>eliminate use of <code>PATH_MAX</code> in - <code>lib_trace.c</code></p> + <p>added a null pointer check in mouse-initialization, for + the Windows driver</p> </li> <li> - <p>provide for any <code>CCHARW_MAX</code> greater than 1</p> + <p>added some null-pointer checks after <tt>malloc</tt>s in + test-programs.</p> </li> </ul> @@ -351,42 +443,41 @@ <ul> <li> - <p>correct loop termination condition in - <code>waddnstr</code> and <code>waddnwstr</code></p> + <p>removed test in <tt>wgetch</tt> which applied + <tt>notimeout</tt> to the initial read of a character</p> </li> <li> - <p>improve parsing in internal function - <code>_nc_msec_cost</code>, allowing a single decimal - point</p> + <p>added check for special case of <tt>wcrtomb</tt> + converting a single byte code to a different single byte + code, which glibc does for code 160 in the KOI8-R + encoding</p> </li> <li> - <p>amend parameter check for entire string versus specific - length in <code>winsnstr</code> and <code>wins_nwstr</code> - to match Solaris; make similar correction to - <code>wins_nwstr</code></p> + <p>corrected <tt>_nc_to_char</tt> for the case when + <tt>wctob</tt> is not found by configure script</p> </li> <li> - <p>correct internal function <code>wadd_wch_literal</code> - when adding a non-spacing character to a double-width + <p>revised loop in <tt>wins_nwstr</tt>, to ensure that + non-spacing characters are combined with the base spacing character</p> </li> <li> - <p>correct definition of <code>Charable</code> macro for - non-wide ncurses library .</p> + <p>modified checks in <tt>delwin</tt> to avoid checking if + the window is a pad until first checking if it is still on + the active window-list</p> </li> </ul> <h3><a name="h3-programs" id="h3-programs">Program improvements</a></h3> - <p id="h4-utilities">Several improvements were made to the - utility programs. Some were done to make the <code>infocmp</code> - option “<tt>-u</tt>” option help refactor the - terminal database.</p> +<h4><a name="h4-utilities">Utilities</a></h4> + <p>Several improvements were made to the + utility programs.</p> <dl> <dt><span class="part-name"><a href= @@ -396,26 +487,32 @@ <dd> <ul> <li> - <p>add limit checks for processing extended capabilities - with the “<code>-u</code>” option</p> + <p>improved <tt>infocmp</tt> <tt>-E</tt>/<tt>-e</tt> + fallback feature</p> + + <ul> + <li>prefix names with “<tt>ti_</tt>” if + they begin with a digit, e.g., 9term</li> + + <li>escape backslashes and double-quotes in description + fields</li> + </ul> </li> <li> - <p>correct initial alignment of extended capabilities, so - that the “<code>-u</code>” option can be used - for more than two terminal types</p> + <p>modified <tt>infocmp</tt> <tt>-E</tt>/<tt>-e</tt> + fallback feature to reduce stricter compiler warnings for + the extended capability data.</p> </li> <li> - <p>modify “<code>-u</code>” option to not - report cancels for strings which were already cancelled - in a use'd chunk.</p> + <p>modified <tt>infocmp</tt> and <tt>tabs</tt> to use + actual name in usage and header.</p> </li> <li> - <p>correct an assignment “<code>-u</code>” - for detecting if a boolean is unset in a base entry and - set in a use'd chunk, i.e., if it was cancelled.</p> + <p>improved error-message from <tt>infocmp</tt> when a + terminal entry cannot be opened</p> </li> </ul> </dd> @@ -427,50 +524,32 @@ <dd> <ul> <li> - <p>correct limit-check when dumping tc/use clause via - “<code>-I</code>”</p> + <p>increased limit on use-clauses from 32 to 40, warn but + allow entries which exceed the old limit.</p> </li> <li> - <p>check return value of <code>_nc_save_str</code>, in - special case where extended capabilities are processed - but the terminal description was not initialized</p> + <p>added check for infinite loop in <tt>tic</tt>'s + use-resolution.</p> </li> <li> - <p>modify check for multiply defined aliases to report - problems within the current runtime rather than for - conflicts with pre-existing terminal descriptions.</p> - </li> - - <li> - <p>disallow using <code>$TERMINFO</code> or - <code>$HOME/.terminfo</code> when - “<code>-o</code>” option is used</p> + <p>added a buffer-limit check in + <tt>postprocess_termcap</tt></p> </li> </ul> </dd> <dt><span class="part-name"><a href= - "https://invisible-island.net/ncurses/man/tput.1.html">tput</a></span> and <span class= - "part-name"><a href= - "https://invisible-island.net/ncurses/man/tset.1.html">tset</a></span></dt> + "https://invisible-island.net/ncurses/man/tput.1m.html">tput</a></span> + </dt> <dd> <ul> <li> - <p>add “<code>-v</code>” option to tput, to - show warnings</p> - </li> - - <li> - <p>modify <em>reset</em> command to avoid altering clocal - if the terminal uses a modem</p> - </li> - - <li> - <p>modify <em>reset</em> feature to avoid 1-second sleep - if running in a pseudo-terminal</p> + <p>Warn about capabilities which expect parameters where + none are given. Also, repair the feature where multiple + capabilities can be handled on a single line.</p> </li> </ul> </dd> @@ -484,41 +563,53 @@ <ul> <li> - <p>modify <code>test_tparm</code> to account for extended - capabilities</p> + <p>add help-popup for <tt>test_instr.c</tt>, + <tt>test_inwstr.c</tt></p> + </li> + + <li> + <p>add options to <tt>test/worm.c</tt> for benchmarking.</p> </li> <li> - <p>corrected mouse mask in <code>test/testcurs.c</code></p> + <p>improve <tt>-t</tt> option of <tt>test/gdc.c</tt>, + allowing hours only, or hours and minutes only.</p> </li> <li> - <p>modify <code>test/clip_printw.c</code> to optionally test - non-wrapped updates</p> + <p>correct dimensions in <tt>test/popup_msg.c</tt>, fixing an + overrun.</p> </li> <li> - <p>modify <code>test/test_mouse.c</code> to use curses api - for raw/noraw</p> + <p>modify <tt>test/demo_keyok.c</tt> to accept <tt>^Q</tt> + for quit, for consistency.</p> </li> <li> - <p>modify <code>test/clip_printw.c</code> to optionally test - non-wrapped updates</p> + <p>add option “<tt>-c</tt>” to test programs to + illustrate a non-blank character in the window background + property.</p> + </li> + + <li> + <p>reserve <tt>-c</tt>/<tt>-l</tt> options in + <tt>test/*.c</tt> for command/logging like <a href= + "https://invisible-island.net/vttest/">vttest</a>.</p> </li> </ul> - <p>There is one new demo/test programs:</p> + <p>There is one new demo/test program:</p> <dl> - <dt><span class="part-name"><em>test/test_endwin.c</em></span> + <dt><span class= + "part-name"><em>ncurses/report_ctype.c</em></span> </dt> <dd> - <p>This program shows the return-status from - <code>endwin</code> with different combinations of - <code>endwin</code> (repeated), <code>initscr</code>, - <code>newterm</code>.</p> + <p>Shows a chart of the first 256 character codes, which are + not as consistent across platforms for ctype versus wctype as + some suppose.</p> </dd> </dl> @@ -529,61 +620,82 @@ <ul> <li> <p><a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-ansi_apparrows"><tt>ansi+apparrows</tt></a></p> + "https://invisible-island.net/ncurses/terminfo.src.html#tic-ghostty"><tt>ghostty</tt></a></p> </li> <li> <p><a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-contour"><tt>contour</tt></a></p> + "https://invisible-island.net/ncurses/terminfo.src.html#tic-illumos"><tt>illumos</tt></a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-sun-16color"><tt>sun-16color</tt></a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-sun-256color"><tt>sun-256color</tt></a>, + and <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-sun-direct"><tt>sun-direct</tt></a></p> </li> <li> <p><a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-linux_kbs"><tt>linux+kbs</tt></a> - for terminals which imitate xterm's behavior with Linux</p> + "https://invisible-island.net/ncurses/terminfo.src.html#tic-ms-terminal-direct"><tt>ms-terminal-direct</tt></a></p> </li> <li> <p><a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-rio"><tt>rio</tt></a>, - <a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-rio-direct"><tt>rio-direct</tt></a></p> + "https://invisible-island.net/ncurses/terminfo.src.html#tic-pangoterm"><tt>pangoterm</tt></a></p> </li> <li> <p><a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-mostlike"><tt>mostlike</tt></a></p> + "https://invisible-island.net/ncurses/terminfo.src.html#tic-rlogin-color"><tt>rlogin-color</tt></a></p> </li> <li> <p><a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-ms-vt100-16color"><tt>ms-vt100-16color</tt></a>, - <a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-winconsole"><tt>winconsole</tt></a></p> + "https://invisible-island.net/ncurses/terminfo.src.html#tic-sclp"><tt>sclp</tt></a></p> </li> <li> <p><a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-vt100_noapp"><tt>vt100+noapp</tt></a>, + "https://invisible-island.net/ncurses/terminfo.src.html#tic-vt520-w"><tt>vt520-w</tt></a> + and <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-vt525-w"><tt>vt525-w</tt></a></p> + </li> + </ul> + + <p>along with building blocks</p> + + <ul> + <li> + <p><a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-linux_lockeys"><tt>linux+lockeys</tt></a>, <a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-vt100_noapp_pc"><tt>vt100+noapp+pc</tt></a>, + "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_r5_lockeys"><tt>xterm+r5+lockeys</tt></a>, <a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_app_pc"><tt>xterm+app+pc</tt></a>, + "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_r5_fkeys"><tt>xterm+r5+fkeys</tt></a></p> + </li> + + <li> + <p><a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-vt100_pf1-pf4"><tt>vt100+pf1-pf4</tt></a></p> + </li> + + <li> + <p><a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-vt220_ufkeys"><tt>vt220+ufkeys</tt></a>, <a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_decedit"><tt>xterm+decedit</tt></a> - from <a href="https://invisible-island.net/xterm/xterm.log.html#xterm_389">xterm - #389</a></p> + "https://invisible-island.net/ncurses/terminfo.src.html#tic-vt220_sfkeys"><tt>vt220+sfkeys</tt></a></p> </li> <li> <p><a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-putty_cursor"><tt>putty+cursor</tt></a> - to reflect amending of modified cursor-keys in 2021</p> + "https://invisible-island.net/ncurses/terminfo.src.html#tic-ecma_standout"><tt>ecma+standout</tt></a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-ecma_underline"><tt>ecma+underline</tt></a></p> </li> <li> <p><a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-wezterm"><tt>wezterm</tt></a></p> + "https://invisible-island.net/ncurses/terminfo.src.html#tic-wyse+cvis"><tt>wyse+cvis</tt></a></p> </li> </ul> @@ -598,88 +710,149 @@ <ul> <li> - <p><a href= - "https://invisible-island.net/ncurses/terminfo.src.html#toc-_X_T_E_R_M__Extensions_">document</a> - XF, kxIN and kxOUT</p> + <p>use <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_keypad">xterm+keypad</a> + in <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-pccon_base">pccon+base</a></p> </li> <li> - <p>add note on <a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-sun"><tt>sun</tt></a> - regarding wscons/cmdtool/shelltool</p> + <p>use <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-bracketed_paste">bracketed+paste</a> + in <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-nsterm">nsterm</a>, + <a href="https://invisible-island.net/ncurses/terminfo.src.html#tic-rlogin-color">rlogin-color</a>, + <a href="https://invisible-island.net/ncurses/terminfo.src.html#tic-screen">screen</a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-terminology">terminology</a></p> </li> <li> - <p>remove DECCOLM+DECSCLM from <a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-foot"><tt>foot</tt></a></p> + <p>use extended-keys in <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-djgpp">djgpp</a> 2.05</p> </li> <li> - <p>add xterm+focus to <a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-foot_base"><tt>foot+base</tt></a></p> - </li> + <p>update/correct some of the rv/xr strings, checked with</p> - <li> - <p>add ecma+strikeout to <a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-putty"><tt>putty</tt></a></p> - </li> + <p><a href="https://invisible-island.net/ncurses/tack.html">tack</a></p> - <li> - <p>use CSI 3J in <a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-vte-2017"><tt>vte-2017</tt></a></p> + <ul> + <li>add rv code for <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-alacritty">alacritty</a></li> + + <li>add xr code for <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-putty">putty</a></li> + + <li>add rv/xr codes for <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-domterm">domterm</a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-mintty">mintty</a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-mlterm">mlterm</a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-contour">contour</a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-ghostty">ghostty</a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-iterm2">iterm2</a>, + <a href="https://invisible-island.net/ncurses/terminfo.src.html#tic-kitty">kitty</a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-konsole">konsole</a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-vscode">vscode</a>, + <a href="https://invisible-island.net/ncurses/terminfo.src.html#tic-vte">vte</a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-wezterm">wezterm</a></li> + </ul> </li> <li> - <p>use oldxterm+sm+1006 in <a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-vte-2014"><tt>vte-2014</tt></a></p> + <p>improve use-clauses: <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-ansi_cup">ansi+cup</a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-ansi_idl1">ansi+idl1</a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-ansi_rca">ansi+rca</a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-ansi_rca2">ansi+rca2</a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-ansi_sgrso">ansi+sgrso</a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-ansi_sgrul">ansi+sgrul</a></p> </li> <li> - <p>modify <a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-xgterm"><tt>xgterm</tt></a> - to work around line-drawing bug</p> + <p><a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-sclp">sclp</a>:</p> + + <ul> + <li>add kf1 to kf5</li> + + <li>use <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-ansi_rca">ansi+rca</a></li> + + <li>use <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-vt220_pcedit">vt220+pcedit</a></li> + </ul> </li> <li> - <p>add xterm focus mode 1004 to <a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_focus"><tt>xterm+focus</tt></a> - as fe/fd capabilities, like vim.</p> + <p><a href="https://invisible-island.net/ncurses/terminfo.src.html#tic-vt525">vt525</a></p> + + <ul> + <li>add color</li> + + <li>add op</li> + </ul> </li> <li> - <p>add xterm+focus to <a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-alacritty_common"><tt>alacritty+common</tt></a></p> + <p><a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-wezterm">wezterm</a>:</p> + + <ul> + <li>use <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_alt_title">xterm+alt+title</a></li> + + <li>omit its broken left/right margin feature</li> + </ul> </li> + <li>update <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-contour">contour</a></li> + <li> - <p>add XR/xr, to work with vim, and use RV/rv to denote DA2 - and its response</p> + <p>update <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-ms-terminal">ms-terminal</a></p> + + <ul> + <li>add XM/xm to ms-terminal, to enable mouse with + experimental Windows driver</li> + </ul> </li> <li> - <p>add XF flag to <a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_focus"><tt>xterm+focus</tt></a> - so that termcap applications can be aware of terminals which - may support focus in/out</p> + <p>update <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-st">st</a> to 0.8.5</p> </li> <li> - <p>use xterm+focus in <a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-p370"><tt>xterm-p370</tt></a> - and <a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-tmux"><tt>tmux</tt></a></p> + <p>update <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-teraterm">teraterm</a> to + 5.0</p> </li> <li> - <p>remove xterm+sm+1006 from <a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-tmux"><tt>tmux</tt></a></p> + <p>update <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-foot">foot</a> to + 1.18.1</p> </li> <li> - <p>NetBSD-related fixes for <a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-x68k"><tt>x68k</tt></a> and - <a href= - "https://invisible-island.net/ncurses/terminfo.src.html#tic-wsvt25"><tt>wsvt25</tt></a></p> + <p>update <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-iterm2">iTerm2</a> to + 3.5.0</p> </li> </ul> @@ -715,67 +888,12 @@ <ul> <li> - <p>add assignment in <code>CF_MAN_PAGES</code> to fill in - value for <code>TERMINFO_DIRS</code> in ncurses, terminfo - and tic manpages.</p> + <p>corrected note about box() in curs_border.3x</p> </li> <li> - <p>clarify interaction of <code>-R</code> option versus - <code>-C</code>, <code>-I</code> and <code>-r</code> in - <code>infocmp</code> manpage.</p> - </li> - - <li> - <p>correct manpage description of panel_hidden.</p> - </li> - - <li> - <p>improve manpage description for addch versus unctrl - format used for non-printable characters.</p> - </li> - - <li> - <p>improve manpages discussing file descriptors in - low-level functions.</p> - </li> - - <li> - <p>improve description of search rules for terminal - descriptions in terminfo manpage.</p> - </li> - - <li> - <p>modify dist.mk to avoid passing developer's comments - in manpages into the generated html documentation.</p> - </li> - - <li> - <p>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.</p> - </li> - </ul> - </li> - - <li> - <p>New/improved history and portability sections:</p> - - <ul> - <li> - <p>add information about "ttycap", termcap's forerunner, - to tset.1</p> - </li> - - <li> - <p>document limitations of tparm, and error-returns in - curs_terminfo.3x</p> - </li> - - <li> - <p>document limitations of tgoto, and error-returns in - curs_termcap.3x</p> + <p>added note on scrolling and lower-right corner to + waddch and wadd_wch manual pages.</p> </li> </ul> </li> @@ -786,17 +904,17 @@ <ul> <li> <p>This release has many changes to improve the - formatting and style of the manpages.</p> + formatting and style of the man pages.</p> </li> <li> - <p>Manpages now use consistent section-naming, page - headers and footers (including the modification date for - each page).</p> + <p>Table layout in the man pages has been revised.</p> </li> <li> - <p>Table layout has been revised.</p> + <p>The <a href= + "https://invisible-island.net/ncurses/howto/NCURSES-Programming-HOWTO.html">ncurses + HOWTO</a> and its sample programs has been updated.</p> </li> </ul> </li> @@ -808,82 +926,66 @@ <h3><a name="h3-bug-fixes" id="h3-bug-fixes">Interesting bug-fixes</a></h3> - <p>The changes to <tt>tparm</tt>, <tt>tgoto</tt> which improve - the design of the low-level interfaces are <em>interesting</em>, - but are not bug-fixes <em>per se</em>.</p> - <h3><a name="h3-config-config" id= "h3-config-config">Configuration changes</a></h3> <h4><a name="h4-config-major" id="h4-config-major">Major changes</a></h4> - <p>These are the major changes (aside from introducing <a href= - "#h4-new-library"><tt>tiparm_s</tt></a>):</p> + <p>Improvements made to configure checks include</p> <ul> <li> - <p>use wide-character (ncursesw) by default</p> + <p>improve configure check for “install”.</p> </li> <li> - <p>use opaque typedefs by default</p> + <p>add check for build-time utilities, in case + cross-compiling is setup with an invalid + <tt>$BUILD_CC</tt></p> </li> - </ul> - <p>However, most of the work on configure scripts was done to - reduce warnings within the configure script:</p> - - <ul> <li> - <p>intrusive warnings from GNU grep regarding fgrep and - egrep</p> + <p>add configure check for <tt><sys/fsuid.h></tt>, + which may be needed for flatpacks</p> </li> <li> - <p>fatal errors in compile-checks, arising from recent - “Modern C” efforts by some developers which - caused longstanding configure checks to fail.</p> - - <p>After repairing the configure script, none of that - activity affected ncurses because stricter warnings are used - routinely in development.</p> + <p>add a consistency-check for termio(s)/tty headers, to help + with cross-compiles</p> </li> - </ul> - <p>Other improvements made to configure checks include</p> - - <ul> <li> - <p>use <a href= - "https://invisible-island.net/ncurses/INSTALL.html#option:enable-string-hacks">string-hacks</a> - in alloc_entry.c, alloc_type.c and hardscroll.c, overlooked - due to compiler changes in recent OpenBSD releases</p> + <p>modify configure check for + <tt>MAKEFLAGS</tt>/<tt>MFLAGS</tt> to ignore existing value + of these environment variables</p> </li> <li> - <p>revise progs.priv.h to provide for NC_ISATTY reuse</p> + <p>improve configurability of <tt>alloca</tt> as used in + Windows ports.</p> </li> <li> - <p>configure check for MB_LEN_MAX provides warning as - needed</p> + <p>modify configure script checks for <tt>stdbool.h</tt> to + fix build with older gcc version.</p> </li> <li> - <p>trim a space after some "-R" options, fixing builds for - applications built using clang and ncurses on Solaris</p> + <p>add <new> to the possible headers declaring the C++ + <tt>std::bad_alloc</tt>.</p> </li> <li> - <p>work around misconfiguration of MacPorts gcc13, which - exposes invalid definition of <tt>MB_LEN_MAX</tt> in gcc's - fallback copy of <tt>limits.h</tt></p> + <p>modify check for <tt>stdbool.h</tt> to be more + conservative in case the headers are used with a compiler + other than that which was used to configure</p> </li> <li> - <p>modified experimental Windows driver works with xterm - mouse protocol</p> + <p>remove dependency on <tt>stdbool.h</tt> from configure + script check for type of <em>bool</em> when C++ binding is + omitted.</p> </li> </ul> @@ -894,50 +996,26 @@ <dl> <dt><a href= - "https://invisible-island.net/ncurses/INSTALL.html#option:disable-setuid-environ"><tt>--disable-setuid-environ</tt></a> - </dt> - - <dd> - <p>Compile with environment restriction, so certain - environment variables are not available when running via a - setuid/setgid application. These are (for example - <tt>$TERMINFO</tt>) those that allow the search path for the - terminfo or termcap entry to be customized.</p> - - <p>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.</p> - </dd> - - <dt><a href= - "https://invisible-island.net/ncurses/INSTALL.html#option:enable-check-size"><tt>--enable-check-size</tt></a> - </dt> - - <dd> - <p>Compile-in feature to detect screensize for terminals - which do not advertise their screensize, e.g., serial - terminals.</p> - </dd> - - <dt><a href= - "https://invisible-island.net/ncurses/INSTALL.html#option:with-abi-altered"><tt>--with-abi-altered=<em>NUM</em></tt></a> + "https://invisible-island.net/ncurses/INSTALL.html#option:enable-install-prefix"><tt>--enable-install-prefix</tt></a> </dt> <dd> - <p>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.</p> + <p>Modify behavior of <tt>$DESTDIR</tt> to merge or replace + the value set by <tt>--prefix</tt>.</p> </dd> <dt><a href= - "https://invisible-island.net/ncurses/INSTALL.html#option:with-strip-program"><tt>--with-strip-program=<em>XXX</em></tt></a> + "https://invisible-island.net/ncurses/INSTALL.html#option:enable-named-pipes"><tt>--enable-named-pipes</tt></a> </dt> <dd> - <p>When stripping executables during install, use the - specified program rather than “strip” overriding - program chosen by the install program for stripping - executables.</p> + <p>The Windows driver uses named pipes for communicating with + a pseudo console, allowing it to use escape sequences rather + than Console API. This works well with mintty. On the + downside, this feature may not work well with the Windows + Terminal due to a longstanding bug in <tt>conhost.exe</tt> + (<a href= + "https://github.com/microsoft/terminal/issues/9461">#9461</a>).</p> </dd> </dl> @@ -945,146 +1023,186 @@ <dl> <dt><a href= - "https://invisible-island.net/ncurses/INSTALL.html#option:with-pkg-config-libdir"><tt>--with-pkg-config-libdir[=<em>DIR</em>]</tt></a> + "https://invisible-island.net/ncurses/INSTALL.html#option:enable-exp-win32"><tt>--enable-exp-win32</tt></a> </dt> <dd> - <p>The optional <em>DIR</em> parameter can now be - “auto” to automatically use pkg-config's library - directory.</p> - - <p>The default is <tt>$(libdir)</tt>.</p> + <p>This option is obsolete, replaced by + <tt>--enable-named-pipes</tt>.</p> </dd> <dt><a href= - "https://invisible-island.net/ncurses/INSTALL.html#option:with-xterm-kbs"><tt>--with-xterm-kbs[=<em>XXX</em>]</tt></a> + "https://invisible-island.net/ncurses/INSTALL.html#option:enable-term-driver"><tt>--enable-term-driver</tt></a> </dt> <dd> - <p>The default is “auto” which tells the - configure script to choose BS or DEL according to platform - defaults.</p> + <p>This is enabled by default on platforms where the Windows + driver can be compiled, e.g., Cygwin, MinGW32 and MSYS2.</p> </dd> </dl> - <h3><a name="h3-portability" id="h3-portability">Portability</a></h3> + <h4><a name="h4-config-package" id="h4-config-package">Package + configuration scripts</a></h4> - <p>Many of the portability changes are implemented via the - configure script:</p> + <p>The configure script and makefiles optionally generate a + script which reports the compiler and linker options needed to + build a program with ncurses, as well as a data file which is + used via pkg-config for the same purpose. Several improvements + were made for these scripts:</p> <ul> <li> - <p>add/use configure check for <code>clock_gettime</code>, to - supersede <code>gettimeofday</code>.</p> + <p>improved filtering of <tt>-L</tt> options in + <tt>misc/gen-pkgconfig.in</tt> and in + <tt>misc/ncurses-config.in</tt></p> </li> <li> - <p>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</p> + <p>modified <tt>ncurses*-config</tt> to add <tt>-I</tt> + option in <tt>--cflag</tt> where needed for + <tt>--disable-overwrite</tt> to match ".pc" files.</p> </li> <li> - <p>allow for MinGW32-/64-bit configurations to use - _DEFAULT_SOURCE</p> + <p>suppressed <tt>-g</tt> and <tt>-fXXX</tt> flags from + <tt>CFLAGS</tt> in <tt>misc/ncurses-config.in</tt></p> </li> <li> - <p>modify CF_XOPEN_SOURCE macro's amend default case to avoid - undefining _XOPEN_SOURCE if _POSIX_C_SOURCE is defined</p> + <p>modified configure script to allow for <tt>pkg-config</tt> + using DOS/Windows pathname syntax</p> </li> <li> - <p>updated configure script macro CF_XOPEN_SOURCE, for - uClibc-ng</p> + <p>modified <tt>misc/ncurses-config.in</tt>, improved match + with <tt>pkg-config output</tt>.</p> </li> <li> - <p>modify version-check for gcc/g++, now works for msys2</p> + <p>adjusted naming of test packages for MinGW + <tt>*-config</tt> scripts to match the <tt>pkg-config</tt> + names</p> </li> <li> - <p>build-fixes related to configure-options and/or - platform:</p> - - <ul> - <li>fix for <tt>--enable-fvisibility</tt></li> - - <li>fix for unusual values of - <tt>--with-rel-version</tt></li> + <p>added <tt>--cflags-only-I</tt> and + <tt>--cflags-only-other</tt> options to + <tt>misc/ncurses-config.in</tt></p> + </li> + </ul> - <li>fix for unusual values of - <tt>--with-abi-version</tt></li> + <h3><a name="h3-portability" id="h3-portability">Portability</a></h3> - <li>fix for <tt>--disable-tcap-names</tt></li> + <p>Many of the portability changes are implemented via the + configure script:</p> - <li>fix for termcap in <tt>nc_access.h</tt></li> - </ul> + <ul> + <li> + <p>disallow configure options which apply only to multiuser + systems, to improve ports to single-user systems such as + Haiku</p> </li> <li> - <p>other configure-script improvements:</p> + <p>add warning to configure script to address conflict + between the <tt>--enable-lp64</tt> option and the options for + overriding the types used for <tt>chtype</tt> and + <tt>mmask_t</tt>.</p> + </li> - <ul> - <li>recent msys2 headers work with - <tt>_DEFAULT_SOURCE</tt>; amend check</li> + <li> + <p>modify configure script cases for $host_os, to accommodate + 64-bit big-endian POWER Linux with glibc</p> + </li> - <li>use <tt>$ac_includes_default</tt> in most cases where - stdlib.h should work</li> + <li> + <p>modify configure script and misc/Makefile to accept glob + expressions that include Windows/DOS drive-letters</p> + </li> - <li>use <tt>#error</tt> consistently vs "make an - error"</li> + <li> + <p>change <tt>Ada95/configure</tt> to use + <tt>--with-screen</tt> option rather than + <tt>--enable-widec</tt>, to provide more choices of + underlying curses library.</p> + </li> - <li>add configure macro for <tt>gettimeofday</tt> vs inline - check</li> - </ul> + <li> + <p>modify configure script to work around broken gnatgcc + script found in gcc-13 builds.</p> </li> </ul> - <p>Here are some of the other portability fixes:</p> + <p>Other portability fixes include:</p> <ul> <li> - <p>modify configure scripts/makefiles to omit - <tt>KEY_RESIZE</tt> if the corresponding <tt>SIGWINCH</tt> - feature is disabled</p> + <p>improve pattern used for configure + <tt>--with-xterm-kbs</tt> option.</p> + </li> + + <li> + <p>modify recursive make rules to avoid interference with GNU + make's "-j" option</p> + </li> + + <li> + <p>when installing the terminfo database, check if symbolic + links are supported before attemping to link lib/terminfo + from share/terminfo</p> + </li> + + <li> + <p>improve logic in misc/run_tic.in for constructing symbolic + link when <tt>$DESTDIR</tt> is set.</p> + </li> + + <li> + <p>build-fix for ncurses-examples with newer PDCurses, which + no longer has stubs for unimplemented features.</p> + </li> + + <li> + <p>change <tt>etip.h.in</tt> to include either/both of + <tt><new></tt> and <tt><exception></tt>, needed + for another old BSD.</p> </li> <li> - <p>increase <tt>MB_CUR_MAX</tt> to 16, matching glibc's - <tt>MB_LEN_MAX</tt></p> + <p>correct conditional-compile for a case when the C compiler + does not have a bool type.</p> </li> <li> - <p>add BSD <tt>erase2</tt> to characters handled by - tset/reset</p> + <p>improve <tt>MKlib_gen.sh</tt> handling of + “bool” type, for building link_test.</p> </li> <li> - <p>use <tt>getauxval</tt> when available, to improve - <tt>setuid</tt>/<tt>setgid</tt> checks</p> + <p>modify <tt>ncurses/tinfo/MKfallback.sh</tt> to work with + MacOS <tt>sed</tt>, which lacks BSD-style <tt>\<</tt> and + <tt>\></tt>.</p> </li> <li> - <p>set <tt>dwShareMode</tt> in calls to - <tt>CreateConsoleScreenBuffer</tt></p> + <p>modify <tt>MKlib_gen.c</tt> to allow for Solaris's + definition of <tt>NULL</tt> as <tt>0L</tt>.</p> </li> <li> - <p>use <tt>CreateFile</tt> with "<tt>CONIN$</tt>", - "<tt>CONOUT$</tt>" rather than <tt>GetStdHandle</tt> to - obtain a handle on the actual console, avoiding redirection - in the MinGW/Win32 configurations</p> + <p>widen pattern in pc/*-config scripts to disallow more + linker options.</p> </li> <li> - <p>modify MinGW driver to return <tt>KEY_BACKSPACE</tt> when - an unmodified <tt>VK_BACK</tt> virtual key is entered</p> + <p>avoid redefining bool in <tt>curses.h</tt> if the platform + already supports that type.</p> </li> <li> - <p>modify MinGW configuration to provide for running in - MSYS/MSYS2 shells, assuming ConPTY support</p> + <p>move include <tt><curses.h></tt> from + <tt>etip.h.in</tt> to <tt>cursesw.h</tt>, to work around + breakage in Apple's port of ncurses.</p> </li> </ul> @@ -1116,8 +1234,8 @@ <ul> <li> - <p>the panel library, supporting a stack of windows with - backing store</p> + <p>the panel library, permitting windows to stack and + overlap</p> </li> <li> @@ -1627,10 +1745,10 @@ <blockquote> <p><a href= - "https://invisible-island.net/archives/ncurses/6.4/">https://invisible-island.net/archives/ncurses/6.4/</a> + "https://invisible-island.net/archives/ncurses/6.5/">https://invisible-island.net/archives/ncurses/6.5/</a> and<br> <a href= - "https://invisible-mirror.net/archives/ncurses/6.4/">https://invisible-mirror.net/archives/ncurses/6.4/</a> .</p> + "https://invisible-mirror.net/archives/ncurses/6.5/">https://invisible-mirror.net/archives/ncurses/6.5/</a> .</p> </blockquote> <p>There is an archive of the mailing list here:</p> @@ -1701,7 +1819,7 @@ <li> <a href="#h3-library">Library improvements</a> <ul> - <li><a href="#h4-new-library">New features</a></li> + <li><a href="#h4-term-driver">Terminal driver</a></li> <li><a href="#h4-fixes-library">Other improvements</a></li> @@ -1730,6 +1848,8 @@ <li><a href="#h4-config-options">Configuration options</a></li> + <li><a href="#h4-config-package">Package + scripts</a></li> </ul> </li> |
