+ Release 4.0 (SVr4), and more. It uses terminfo format, supports
+ pads and color and multiple highlights and forms characters and
+ function-key mapping, and has all the other SVr4-curses
+ enhancements over BSD curses. SVr4 curses became the basis of
+ X/Open Curses.</p>
+
+ <p>In mid-June 1995, the maintainer of 4.4BSD curses declared
+ that he considered 4.4BSD curses obsolete, and encouraged the
+ keepers of <span class="main-name">unix</span> releases such as
+ BSD/OS, FreeBSD and NetBSD to switch over to <span class=
+ "main-name">ncurses</span>.</p>
+
+ <p>Since 1995, <span class="main-name">ncurses</span> has been
+ ported to many systems:</p>
+
+ <ul>
+ <li>It is used in almost every system based on the Linux kernel
+ (aside from some embedded applications).</li>
+
+ <li>It is used as the system curses library on OpenBSD, FreeBSD
+ and MacOS.</li>
+
+ <li>It is used in environments such as Cygwin and MinGW. The
+ first of these was EMX on OS/2 Warp.</li>
+
+ <li>It is used (though usually not as the <em>system</em>
+ curses) on all of the vendor <span class=
+ "main-name">unix</span> systems, e.g., AIX, HP-UX, IRIX64, SCO,
+ Solaris, Tru64.</li>
+
+ <li>It should work readily on any ANSI/POSIX-conforming
+ <span class="main-name">unix</span>.</li>
+ </ul>
+
+ <p>The distribution includes the library and support utilities,
+ including</p>
+
+ <ul>
+ <li><a href="@HOMEPAGE@/man/captoinfo.1m.html"><span class=
+ "part-name">captoinfo</span></a>, a termcap conversion
+ tool</li>
+
+ <li><a href="@HOMEPAGE@/man/clear.1.html"><span class=
+ "part-name">clear</span></a>, utility for clearing the
+ screen</li>
+
+ <li><a href="@HOMEPAGE@/man/infocmp.1m.html"><span class=
+ "part-name">infocmp</span></a>, the terminfo decompiler</li>
+
+ <li><a href="@HOMEPAGE@/man/tabs.1.html"><span class=
+ "part-name">tabs</span></a>, set tabs on a terminal</li>
+
+ <li><a href="@HOMEPAGE@/man/tic.1m.html"><span class=
+ "part-name">tic</span></a>, the terminfo compiler</li>
+
+ <li><a href="@HOMEPAGE@/man/toe.1m.html"><span class=
+ "part-name">toe</span></a>, list (table of) terminfo
+ entries</li>
+
+ <li><a href="@HOMEPAGE@/man/tput.1.html"><span class=
+ "part-name">tput</span></a>, utility for retrieving terminal
+ capabilities in shell scripts</li>
+
+ <li><a href="@HOMEPAGE@/man/tset.1.html"><span class=
+ "part-name">tset</span></a>, to initialize the terminal</li>
+ </ul>
+
+ <p>Full manual pages are provided for the library and tools.</p>
+
+ <p>The <span class="main-name">ncurses</span> distribution is
+ available at <span class="main-name">ncurses</span>' <a href=
+ "@HOMEPAGE@/">homepage</a>:</p>
+
+ <blockquote>
+ <p><a href=
+ "ftp://ftp.invisible-island.net/ncurses/">ftp://ftp.invisible-island.net/ncurses/</a>
+ or<br>
+ <a href=
+ "https://invisible-mirror.net/archives/ncurses/">https://invisible-mirror.net/archives/ncurses/</a> .</p>
+ </blockquote>
+
+ <p>It is also available via anonymous FTP at the GNU distribution
+ site</p>
+
+ <blockquote>
+ <p><a href=
+ "ftp://ftp.gnu.org/gnu/ncurses/">ftp://ftp.gnu.org/gnu/ncurses/</a> .</p>
+ </blockquote>
+
+ <h2><a name="h2-release-notes" id="h2-release-notes">Release
+ Notes</a></h2>
+
+ <p>These notes are for <span class="main-name">ncurses</span>
+ @VERSION@, released <strong>February 12, 2020</strong>.</p>
+
+ <p>This release is designed to be source-compatible with
+ <span class="main-name">ncurses</span> 5.0 through 6.1; 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
+ to reflect improvements to the <span class=
+ "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>The most <a href="#h3-bug-fixes">important
+ bug-fixes/improvements</a> 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 <span class="main-name">ncurses</span>
+ 6.1 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>
+
+ <p>There are several new features:</p>
+
+ <ul>
+ <li>
+ <p><a href=
+ "@HOMEPAGE@/man/form_field_opts.3x.html">O_EDGE_INSERT_STAY</a>
+ tells the form library to optionally delay cursor movement on
+ a field edge/boundary</p>
+ </li>
+
+ <li>
+ <p><a href=
+ "@HOMEPAGE@/man/form_field_opts.3x.html">O_INPUT_FIELD</a>
+ extension to form library allows a dynamic field to shrink if
+ the new limit is smaller than the current field size.</p>
+ </li>
+
+ <li>
+ <p>added <a href=
+ "@HOMEPAGE@/man/curs_memleaks.3x.html">exit_curses</a> and
+ <a href=
+ "@HOMEPAGE@/man/curs_memleaks.3x.html">exit_terminfo</a> to
+ replace internal symbols for leak-checking.</p>
+ </li>
+
+ <li>
+ <p>added <a href=
+ "@HOMEPAGE@/man/curs_trace.3x.html#h3-Functions">curses_trace</a>,
+ to replace trace().</p>
+ </li>
+ </ul>
+
+ <p>Additionally, to improve performance other changes (and
+ extensions) are provided in this release:</p>
+
+ <ul>
+ <li>
+ <p>mouse decoding now handles shift/control/alt logic when
+ decoding xterm's 1006 mode</p>
+ </li>
+
+ <li>
+ <p>ncurses now defines a limit for <a href=
+ "@HOMEPAGE@/man/curs_getstr.3x.html">wgetnstr</a>, <a href=
+ "@HOMEPAGE@/man/curs_get_wstr.3x.html">wgetn_wstr</a> when
+ length is negative or “too large”.</p>
+ </li>
+
+ <li>reordered loop-limit checks in <a href=
+ "@HOMEPAGE@/man/curs_insstr.3x.html">winsnstr</a> in case the
+ string has no terminating null and only the number of
+ characters is used.</li>
+
+ <li>
+ <p>there is now no buffer-size limit when reading the
+ <a href="@HOMEPAGE@/man/ncurses.3x.html#h3-TERMCAP"><tt>$TERMCAP</tt></a>
+ variable.</p>
+ </li>
+
+ <li>
+ <p>the <a href=
+ "@HOMEPAGE@/man/ncurses.3x.html#h3-TERMCAP"><tt>$TERMCAP</tt></a>
+ variable may be interpreted as a fallback to a terminfo
+ entry</p>
+ </li>
+
+ <li>
+ <p><a href=
+ "@HOMEPAGE@/man/curs_terminfo.3x.html#h3-Output-Functions"><tt>
+ mvcur</tt></a> now decides whether to use hard-tabs, using
+ <strong><tt>xt</tt></strong>, <strong><tt>tbc</tt></strong>
+ and <strong><tt>hts</tt></strong> as clues.</p>
+ </li>
+
+ <li>
+ <p>extended colors are improved by modifying an internal call
+ to <a href=
+ "@HOMEPAGE@/man/curs_terminfo.3x.html#h3-Output-Functions"><tt>
+ vid_puts</tt></a> to pass extended color pairs e.g., from
+ <tt>tty_update.c</tt> and <tt>lib_mvcur.c</tt></p>
+ </li>
+
+ <li>
+ <p id="getenv-fixes">the initialization functions now avoid
+ relying upon persistent data for the result from <a href=
+ "#getenv-check"><tt>getenv</tt></a></p>
+ </li>
+
+ <li>
+ <p>scrolling is improved:</p>
+
+ <ul>
+ <li>a limit check in <tt>newline_forces_scroll</tt> handles
+ the case where the row is inside scroll-margins, but not at
+ the end.</li>
+
+ <li>
+ <p>improved loop limits in <tt>_nc_scroll_window</tt>
+ handle a case where the scrolled data is a pad which is
+ taller than the window.</p>
+ </li>
+ </ul>
+ </li>
+ </ul>
+
+ <h4><a name="h4-fixes-library" id="h4-fixes-library">Other
+ improvements</a></h4>
+
+ <p>These are revised features:</p>
+
+ <ul>
+ <li>
+ <p>used “<tt>const</tt>” in some prototypes
+ rather than <tt>NCURSES_CONST</tt> where X/Open Curses was
+ updated to do this, e.g., <tt>wscanw</tt>, <tt>newterm</tt>,
+ the terminfo interface. Also use “<tt>const</tt>”
+ 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 “<tt>const</tt>” for certain
+ return values, e.g., <a href=
+ "@HOMEPAGE@/man/curs_util.3x.html#h3-keyname_key_name">keyname</a>.</p>
+ </li>
+
+ <li>
+ <p>modified <a href=
+ "@HOMEPAGE@/man/curs_bkgd.3x.html#h3-bkgd"><tt>wbkgd</tt></a>
+ and <a href=
+ "@HOMEPAGE@/man/curs_bkgrnd.3x.html#h3-bkgrnd"><tt>wbkgrnd</tt></a>
+ to improve compatibility with SVr4 curses, changing the way
+ the window rendition is updated when the background character
+ is modified</p>
+ </li>
+
+ <li>
+ <p>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 <a href=
+ "@HOMEPAGE@/man/term.5.html#h3-EXTENDED-STORAGE-FORMAT">term(5)</a>).</p>
+ </li>
+
+ <li>
+ <p>modified the initialization checks for mouse so that the
+ <a href=
+ "/ncurses/terminfo.src.html#tic-xterm_sm_1006"><tt>xterm+sm+1006</tt></a>
+ block will work with terminal descriptions not mentioning
+ <em>xterm</em>.</p>
+ </li>
+ </ul>
+
+ <p>These were done to limit or ultimately deprecate features:</p>
+
+ <ul>
+ <li>
+ <p>deprecated <a href=
+ "@HOMEPAGE@/NEWS.html#t970831">safe-sprintf</a>, since the
+ <tt>vsnprintf</tt> function, which does what was needed, was
+ standardized long ago.</p>
+ </li>
+
+ <li>
+ <p>marked <a href=
+ "@HOMEPAGE@/man/curs_printw.3x.html#h2-PORTABILITY"><tt>vwprintw</tt></a>
+ and <tt>vwscanw</tt> as deprecated; recommend using <a href=
+ "@HOMEPAGE@/man/curs_printw.3x.html"><tt>vw_printw</tt></a>
+ and <tt>vw_scanw</tt>, respectively.</p>
+ </li>
+
+ <li>
+ <p>added deprecation warnings for internal functions called
+ by older versions of <a href=
+ "@HOMEPAGE@/tack.html">tack</a>.</p>
+ </li>
+
+ <li>
+ <p>removed unused <tt>_nc_import_termtype2</tt> function.</p>
+ </li>
+ </ul>
+
+ <p>These are improvements to existing features:</p>
+
+ <ul>
+ <li>
+ <p>check parameter of <a href=
+ "@HOMEPAGE@/man/curs_threads.3x.html">set_escdelay</a>,
+ return ERR if negative.</p>
+ </li>
+
+ <li>
+ <p>check parameter of <a href=
+ "@HOMEPAGE@/man/curs_threads.3x.html">set_tabsize</a>, return
+ ERR if not greater than zero</p>
+ </li>
+
+ <li>
+ <p>correct a status-check in _nc_read_tic_entry() so that if
+ reading a hex/b64 <a href=
+ "@HOMEPAGE@/man/ncurses.3x.html#h3-TERMINFO"><tt>$TERMINFO</tt></a>,
+ and the <a href=
+ "@HOMEPAGE@/man/ncurses.3x.html#h3-TERM"><tt>$TERM</tt></a>
+ does not match, fall-through to the compiled-in search
+ list.</p>
+ </li>
+
+ <li>
+ <p>amend check for <a href=
+ "@HOMEPAGE@/man/terminfo.5.html#h3-Predefined-Capabilities"><tt>
+ repeat_char</tt></a> to handle a case where setlocale() was
+ called after <a href=
+ "@HOMEPAGE@/man/curs_initscr.3x.html"><tt>initscr</tt></a></p>
+ </li>
+
+ <li>
+ <p>move macro for <a href=
+ "@HOMEPAGE@/man/curs_touch.3x.html"><tt>is_linetouched</tt></a>
+ inside <strong><tt>NCURSES_NOMACROS</tt></strong>
+ <em><tt>ifndef</tt></em>.</p>
+ </li>
+
+ <li>
+ <p>use <tt>_nc_copy_termtype2</tt> rather than direct
+ assignment in <a href=
+ "@HOMEPAGE@/man/curs_terminfo.3x.html#h3-Initialization">setupterm</a>,
+ in case it is called repeatedly using fallback terminfo
+ descriptions</p>
+ </li>
+
+ <li>
+ <p>improve workaround for Solaris wcwidth versus line-drawing
+ characters</p>
+ </li>
+
+ <li>
+ <p>add checks in <a href=
+ "@HOMEPAGE@/man/resizeterm.3x.html"><tt>repair_subwindows</tt></a>
+ to keep the current position and scroll-margins inside the
+ resized subwindow.</p>
+ </li>
+
+ <li>
+ <p>correct a buffer-limit in <tt>write_entry.c</tt> for
+ systems that use caseless filenames.</p>
+ </li>
+
+ <li>
+ <p>improved build-time utility <em>report_offsets</em>:</p>
+
+ <ul>
+ <li>
+ <p>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.</p>
+ </li>
+
+ <li>
+ <p>add <tt>NCURSES_GLOBALS</tt> and
+ <tt>NCURSES_PRESCREEN</tt> to report to show how similar
+ the different <em>libtinfo</em> configurations are.</p>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <p>modified some header files to ensure that those include
+ necessary files except for the previously-documented
+ cases</p>
+ </li>
+
+ <li>
+ <p>added some traces in initialization to show whether a
+ fallback entry is used.</p>
+ </li>
+
+ <li>
+ <p>made minor optimization to reduce calls to
+ _nc_reserve_pairs</p>
+ </li>
+ </ul>
+
+ <p>These are corrections to existing features:</p>
+
+ <ul>
+ <li>
+ <p>fix a special case in <tt>PutAttrChar</tt> 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 <em>vt52</em>, which
+ lacks most line-drawing capability.</p>
+ </li>
+
+ <li>
+ <p>corrected flag for "seq" method of db 1.8.5 interface,
+ needed by toe on some of the BSDs.</p>
+ </li>
+
+ <li>
+ <p>modify comparison in make_hash.c to correct a special case
+ in collision handling for Caps-hpux11</p>
+ </li>
+
+ <li>
+ <p>add extended_slk_color{,_sp} symbols to the appropriate
+ package/*.{map,sym} files</p>
+ </li>
+
+ <li>
+ <p>modify lib_setup to avoid calling pthread_self() without
+ first verifying that the address is valid, i.e., for weak
+ symbols</p>
+ </li>
+
+ <li>
+ <p>add a couple of broken-linker symbols to the list of
+ versioned symbols to help with link-time optimization versus
+ weak symbols.</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:</p>
+
+ <dl>
+ <dt><span class="part-name">clear</span>
+ </dt>
+
+ <dd>
+ <ul>
+ <li>improved logic for clearing with the <em>E3</em>
+ extension, in case the terminal scrolls content onto its
+ saved-lines before actually clearing the display, by
+ clearing the saved-lines after clearing the display</li>
+ </ul>
+ </dd>
+
+ <dt><span class="part-name">infocmp</span>
+ </dt>
+
+ <dd>
+ <ul>
+ <li>omit filtering of “<tt>OTxx</tt>” names
+ which are used for obsolete capabilities, when the output
+ is sorted by long-names. This change helps when making a
+ table of the short/long capability names.</li>
+ </ul>
+ </dd>
+
+ <dt><span class="part-name">tic</span>
+ </dt>
+
+ <dd>
+ <ul>
+ <li>added check for consistent alternate character set
+ capabilities.</li>
+
+ <li>added check for paired <tt>indn</tt>/<tt>rin</tt>.</li>
+
+ <li>added check for terminals with <tt>parm_dch</tt> vs
+ <tt>parm_ich</tt>.</li>
+
+ <li>added check for the case where
+ <tt>setf</tt>/<tt>setb</tt> are given using different
+ strings, but provide identical results to
+ <tt>setaf</tt>/<tt>setab</tt>.</li>
+
+ <li>corrected check for <tt>ich1</tt>.</li>
+
+ <li>changed a too-large terminal entry from a fatal error
+ to a warning.</li>
+ </ul>
+ </dd>
+
+ <dt><span class="part-name">toe</span>
+ </dt>
+
+ <dd>
+ <ul>
+ <li>ignores any hex/b64 <tt>$TERMINFO</tt> value in the
+ list of terminfo databases.</li>
+ </ul>
+ </dd>
+
+ <dt><span class="part-name">tset</span>
+ </dt>
+
+ <dd>
+ <ul>
+ <li>replace check in <span class="part-name">reset</span>
+ command for obsolete “<tt>pt</tt>” capability
+ using <tt>tbc</tt> and <tt>hts</tt> capabilities as
+ clues</li>
+
+ <li>modify <span class="part-name">reset</span> to allow
+ for tabstops at intervals other than 8.</li>
+
+ <li>change <span class="part-name">reset</span>'s behavior
+ for margins to simply clear soft-margins if possible,
+ rather than clearing and then setting them according to the
+ terminal's width.</li>
+ </ul>
+ </dd>
+
+ <dt><span class="part-name">tput</span>
+ </dt>
+
+ <dd>
+ <ul>
+ <li>add “<tt>x</tt>” to <tt>getopt</tt> string
+ so that “<tt>tput -x clear</tt>”
+ works.</li>
+ </ul>
+ </dd>
+ </dl>
+
+ <p>Several changes were made to the generated ncurses*config
+ scripts and the analogous “<tt>.pc</tt>” files to
+ reduce differences between the configurations they report:</p>
+
+ <ul>
+ <li>
+ <p>modified the ncurse*-config and pc-files to more closely
+ match for the <tt>-I</tt> and <tt>-l</tt> options.</p>
+ </li>
+
+ <li>
+ <p>filtered out linker-specs from the <tt>--libs</tt>
+ report.</p>
+ </li>
+
+ <li>
+ <p>amended the ncurses*-config and pc-files to take into
+ account the rpath hack which differed between those
+ files.</p>
+ </li>
+
+ <li>
+ <p>modified generated ncurses*config and ncurses.pc,
+ ncursesw.pc, etc., to list helper libraries such as gpm for
+ static linking.</p>
+ </li>
+ </ul>
+
+ <h4><a name="h4-examples" id="h4-examples">Examples</a></h4>
+
+ <p>Along with the library and utilities, improvements were made
+ to the <a href=
+ "@HOMEPAGE@/ncurses-examples.html">ncurses-examples</a>. 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
+ <em>tracemunch</em> script:</p>
+
+ <ul>
+ <li>
+ <p>improve recovery from error when reading command-character
+ in <tt>test/ncurses.c</tt>, showing the relevant error
+ message and not exiting on EINTR.</p>
+ </li>
+
+ <li>
+ <p>improve <em>tracemunch</em>, by keeping track of
+ <tt>TERMINAL*</tt> values, and if tracing was first turned on
+ after initialization, attempt to show distinct screen, window
+ and terminal names anyway.</p>
+ </li>
+
+ <li>
+ <p>modify <em>tracemunch</em> to accept filename parameters
+ in addition to use as a pipe/filter.</p>
+ </li>
+
+ <li>
+ <p>update <em>tracemunch</em> to work with <em>perl
+ 5.26.2</em>, which changed the rules for escaping regular
+ expressions.</p>
+ </li>
+
+ <li>
+ <p>add some checks in <em>tracemunch</em> for undefined
+ variables.</p>
+ </li>
+
+ <li>
+ <p>modify <tt>TurnOn</tt>/<tt>TurnOff</tt> macros (in
+ lib_vidattr.c and lib_vid_attr.c) to avoid expansion of
+ “<tt>CUR</tt>” in trace.</p>
+ </li>
+ </ul>
+
+ <p>There are other new demo/test programs and reusable
+ examples:</p>
+
+ <dl>
+ <dt><span class="part-name">color_content</span>
+ </dt>
+
+ <dd>Demonstrate the <tt>color_content</tt> and
+ <tt>extended_color_content</tt> functions.</dd>
+
+ <dt><span class="part-name">demo_tabs</span>
+ </dt>
+
+ <dd>A simple demo of tabs in curses.</dd>
+
+ <dt><span class="part-name">dump_window</span>
+ </dt>
+
+ <dd>A portable curses screen-dump, used to compare ncurses
+ screen contents with Solaris.</dd>
+
+ <dt><span class="part-name">pair_content</span>
+ </dt>
+
+ <dd>Demonstrate the <tt>pair_content</tt> and
+ <tt>extended_pair_content</tt> functions.</dd>
+
+ <dt><span class="part-name">report_hashing</span>
+ </dt>
+
+ <dd>Check hash-tables used for terminfo and termcap names.</dd>
+
+ <dt><span class="part-name">parse_rgb</span>
+ </dt>
+
+ <dd>Sample implementation of the ncurses RGB extension from
+ <a href="@HOMEPAGE@/man/user_caps.5.html">user_caps.5</a>, used
+ in <em>picsmap</em> and <em>savescreen</em> programs.</dd>
+ </dl>
+
+ <p>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.</p>
+
+ <ul>
+ <li>
+ <p>add “<tt>-l</tt>” option to test/background,
+ to dump screen contents in a form that lets different curses
+ implementations be compared.</p>
+ </li>
+
+ <li>
+ <p>add “<tt>@</tt>” command to test/ncurses
+ F-test, to allow rapid jump to different character pages.</p>
+ </li>
+
+ <li>
+ <p>added enum, regex examples to test/demo_forms</p>
+ </li>
+
+ <li>
+ <p>amend Scaled256() macro in test/picsmap.c to cover the
+ full range 0..1000</p>
+ </li>
+
+ <li>
+ <p>corrected pathname used in Ada95 sample programs for
+ <tt>explain.txt</tt>, 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.</p>
+ </li>
+
+ <li>
+ <p>ignore interrupted system-call in test/ncurses's
+ command-line, e.g., if the terminal were resized.</p>
+ </li>
+
+ <li>
+ <p>improved ifdef's for <tt>TABSIZE</tt> variable, to help
+ with AIX/HPUX ports.</p>
+ </li>
+ </ul>
+
+ <h3><a name="h3-database" id="h3-database">Terminal database</a></h3>
+
+ <p>There are several new terminal descriptions:</p>
+
+ <blockquote style="word-break:keep-all">
+ <p><tt>alacritty</tt>, <tt>domterm</tt>, <tt>kitty</tt>,
+ <tt>mintty</tt>, <tt>mintty-direct</tt>, <tt>ms-terminal</tt>,
+ <tt>n7900</tt>, <tt>nsterm-build309</tt>,
+ <tt>nsterm-direct</tt>, <tt>screen5</tt>, <tt>ti703</tt>,
+ <tt>ti707</tt>, <tt>ti703-w</tt>, <tt>ti707-w</tt>
+ <tt>vscode</tt>, <tt>vscode-direct</tt>, <tt>xterm-mono</tt>,
+ <tt>xterm.js</tt></p>
+ </blockquote>
+
+ <p>There are many changes to existing terminal descriptions. Some
+ were updates to several descriptions:</p>
+
+ <ul>
+ <li>use <a href=
+ "/ncurses/terminfo.src.html#tic-ansi_rep"><tt>ansi+rep</tt></a>
+ in a dozen places</li>
+
+ <li>add rs1 to konsole, mlterm</li>
+
+ <li>improve several flash capabilities with trailing mandatory
+ delays</li>
+
+ <li>drop <tt>ich1</tt> from <tt>rxvt-basic</tt>, <tt>Eterm</tt>
+ and <tt>mlterm</tt> to improve compatibility with old
+ non-curses programs</li>
+
+ <li>add/use <a href=
+ "/ncurses/terminfo.src.html#tic-xterm_keypad"><tt>xterm+keypad</tt></a>
+ in <tt>xterm-new</tt></li>
+
+ <li>use <a href=
+ "/ncurses/terminfo.src.html#tic-xterm_sl-twm"><tt>xterm+sl-twm</tt></a>
+ for consistency, nine places</li>
+
+ <li>improve <em>xm</em> example in <a href=
+ "/ncurses/terminfo.src.html#tic-xterm_x11mouse">xterm+x11mouse</a>
+ and <a href=
+ "/ncurses/terminfo.src.html#tic-xterm_sm_1006">xterm+sm_1006</a>.</li>
+ </ul>
+
+ <p>while others affected specific descriptions. These were
+ retested, to take into account changes by their developers:</p>
+
+ <blockquote>
+ <p><tt>terminator</tt>, <tt>st</tt></p>
+ </blockquote>
+
+ <p>while these are specific fixes based on reviewing
+ documentation, user reports, or warnings from <span class=
+ "part-name">tic</span>:</p>
+
+ <dl>
+ <dt><a href=
+ "/ncurses/terminfo.src.html#tic-adds200">adds200</a>:</dt>
+
+ <dd>
+ <ul>
+ <li>fix typo</li>
+ </ul>
+ </dd>
+
+ <dt><a href=
+ "/ncurses/terminfo.src.html#tic-gnome-256color">gnome-256color</a>
+ </dt>
+
+ <dd>
+ <ul>
+ <li>base entry on "gnome", not "vte", for consistency</li>
+ </ul>
+ </dd>
+
+ <dt><a href=
+ "/ncurses/terminfo.src.html#tic-interix">interix</a>
+ </dt>
+
+ <dd>
+ <ul>
+ <li>trim unnecessary setf/setb</li>
+ </ul>
+ </dd>
+
+ <dt><a href=
+ "/ncurses/terminfo.src.html#tic-linux-16color">linux-16color</a>
+ </dt>
+
+ <dd>
+ <ul>
+ <li>accommodate <a href=
+ "https://lists.gnu.org/archive/html/bug-ncurses/2019-10/msg00061.html">
+ Linux console driver</a> incompatibility introduced in
+ early 2018</li>
+ </ul>
+ </dd>
+
+ <dt><a href=
+ "/ncurses/terminfo.src.html#tic-nsterm-256color">nsterm-256color</a>:</dt>
+
+ <dd>
+ <ul>
+ <li>add nsterm-build309 to replace nsterm-256color,
+ assigning the latter as an alias of nsterm, to make mouse
+ work with nsterm-256color</li>
+ </ul>
+ </dd>
+
+ <dt><a href=
+ "/ncurses/terminfo.src.html#tic-regent40">regent40</a>:</dt>
+
+ <dd>
+ <ul>
+ <li>renumber function-keys to match manual</li>
+ </ul>
+ </dd>
+
+ <dt><a href=
+ "/ncurses/terminfo.src.html#tic-regent60">regent60</a>:</dt>
+
+ <dd>
+ <ul>
+ <li>add cd (clr_eos)</li>
+
+ <li>corrected acsc</li>
+
+ <li>add shifted function-keys</li>
+ </ul>
+ </dd>
+
+ <dt><a href=
+ "/ncurses/terminfo.src.html#tic-tvi950">tvi950</a>:</dt>
+
+ <dd>
+ <ul>
+ <li>added function-key definitions to agree with Televideo
+ 950 manual</li>
+
+ <li>corrected acsc</li>
+
+ <li>remove bogus kf0</li>
+
+ <li>add bel</li>
+ </ul>
+ </dd>
+
+ <dt><a href=
+ "/ncurses/terminfo.src.html#tic-tvi955">tvi955</a>:</dt>
+
+ <dd>
+ <ul>
+ <li>fix typo</li>
+ </ul>
+ </dd>
+
+ <dt><a href=
+ "/ncurses/terminfo.src.html#tic-vi200">vi200</a>:</dt>
+
+ <dd>
+ <ul>
+ <li>add acsc string, including right/down-arrow</li>
+ </ul>
+ </dd>
+
+ <dt><a href=
+ "/ncurses/terminfo.src.html#tic-wy50">wy50</a>:</dt>
+
+ <dd>
+ <ul>
+ <li>corrected acsc</li>
+ </ul>
+ </dd>
+
+ <dt><a href="/ncurses/terminfo.src.html#tic-wy50">wy50</a> and
+ <a href="/ncurses/terminfo.src.html#tic-wy60">wy60</a>:</dt>
+
+ <dd>
+ <ul>
+ <li>add shifted function-keys as kF1 to kF16</li>
+ </ul>
+ </dd>
+
+ <dt><a href=
+ "/ncurses/terminfo.src.html#tic-xterm_x11hilite">xterm+x11hilite</a>:</dt>
+
+ <dd>
+ <ul>
+ <li>eliminate unused <em>p5</em> parameter.</li>
+ </ul>
+ </dd>
+ </dl>
+
+ <p>A few entries use extensions (user-defined terminal
+ capabilities):</p>
+
+ <ul>
+ <li>use <a href=
+ "/ncurses/terminfo.src.html#tic-xterm_sm_1006"><tt>xterm+sm+1006</tt></a>
+ (aka “SGR 1006 mouse”) for konsole-base and
+ putty</li>
+
+ <li>add <em><tt>Smol/Rmol</tt></em> user-defined capability to
+ <tt>tmux</tt> and <tt>vte-2018</tt></li>
+
+ <li>add <em><tt>Smulx</tt></em> user-defined capability to
+ <tt>tmux</tt>, <tt>vte-2018</tt></li>
+ </ul>
+
+ <h3><a name="h3-documentation" id=
+ "h3-documentation">Documentation</a></h3>
+
+ <p>As usual, this release</p>
+
+ <ul>
+ <li>
+ <p>improves documentation by describing new features,</p>
+ </li>
+
+ <li>
+ <p>attempts to improve the description of features which
+ users have found confusing</p>
+ </li>
+
+ <li>
+ <p>fills in overlooked descriptions of features which were
+ described in the <a href="@HOMEPAGE@/NEWS.html">NEWS</a> file
+ but treated sketchily in manual pages.</p>
+ </li>
+ </ul>
+
+ <p>In addition to providing background information to explain
+ these features and show how they evolved, there are corrections,
+ clarifications, etc.:</p>
+
+ <ul>
+ <li>
+ <p>Corrections:</p>
+
+ <ul>
+ <li>correct error-returns listed in manual pages for a few
+ form functions</li>
+
+ <li>corrected prototypes in several manpages using script
+ to extract those in compilable form.</li>
+
+ <li>fix typo in <a href=
+ "@HOMEPAGE@/man/term.5.html#h3-EXTENDED-NUMBER-FORMAT">term.5</a>,
+ improve explanation of format</li>
+ </ul>
+ </li>