diff options
Diffstat (limited to 'contrib/ncurses/doc/html/announce.html')
-rw-r--r-- | contrib/ncurses/doc/html/announce.html | 448 |
1 files changed, 218 insertions, 230 deletions
diff --git a/contrib/ncurses/doc/html/announce.html b/contrib/ncurses/doc/html/announce.html index f9dae07..234c703 100644 --- a/contrib/ncurses/doc/html/announce.html +++ b/contrib/ncurses/doc/html/announce.html @@ -1,8 +1,8 @@ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN"> <!-- - $Id: announce.html,v 1.51 2006/12/17 23:32:42 tom Exp $ + $Id: announce.html,v 1.52 2008/11/02 01:05:08 tom Exp $ **************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2008 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -31,13 +31,13 @@ --> <HTML> <HEAD> -<TITLE>Announcing ncurses 5.6</TITLE> +<TITLE>Announcing ncurses 5.7</TITLE> <link rev=made href="mailto:bug-ncurses@gnu.org"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </HEAD> <BODY> -<H1>Announcing ncurses 5.6</H1> +<H1>Announcing ncurses 5.7</H1> The ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, and more. It uses terminfo format, @@ -69,185 +69,170 @@ the GNU distribution site <H1>Release Notes</H1> -This release is designed to be upward compatible from ncurses 5.0 through 5.5; +This release is designed to be upward compatible from ncurses 5.0 through 5.6; very few applications will require recompilation, depending on the platform. -These are the highlights from the change-log since ncurses 5.5 release. +These are the highlights from the change-log since ncurses 5.6 release. <p> Interface changes: <ul> <li>generate linkable stubs for some macros: <br> - getbegx, getbegy, getcurx, getcury, getmaxx, getmaxy, getparx, - getpary, getpary, - <br> - and (for libncursesw) - <br> - wgetbkgrnd + getattrs </ul> New features and improvements: <ul> <li>library <ul> - <li>support hashed databases for the terminal descriptions. - This uses the Berkeley database, has been tested for - several versions on different platforms. - - <li>add <code>use_legacy_coding()</code> function to support - lynx's font-switching feature. - - <li>add extension <code>nofilter()</code>, to cancel a prior - <code>filter()</code> call. - - <li>add/install a package config script, e.g., - <code>ncurses5-config</code> or - <code>ncursesw5-config</code>, according to - configuration options. - - <li>provide ifdef for <code>NCURSES_NOMACROS</code> which - suppresses most macro definitions from curses.h, i.e., - where a macro is defined to override a function to improve - performance. - - <li>make ifdef's consistent in <code>curses.h</code> for the - extended colors so the header file can be used for the - normal curses library. The header file installed for - extended colors is a variation of the wide-character - configuration. - - <li>improve <code>tgetstr()</code> by making the return value - point into the user's buffer, if provided. - - <li>add ifdef's allowing ncurses to be built with - <code>tparm()</code> using either varargs (the existing - status), or using a fixed-parameter list (to match X/Open). - - <li>widen the test for xterm <code>kmous</code> a little to - <code>allow</code> for other - strings than "\E[M", e.g., for <code>xterm-sco</code> - functionality in xterm. - - <li>modify <code>wgetnstr()</code> to return - <code>KEY_RESIZE</code> if a sigwinch occurs. - - <li>move prototypes for wide-character trace functions from - curses.tail to curses.wide to avoid accidental reference to - those if <code>_XOPEN_SOURCE_EXTENDED</code> is defined - without ensuring that <wchar.h> is included. - - <li>change the way shared libraries (other than libtool) are - installed. Rather than copying the build-tree's libraries, - link the shared objects into the install directory. This - makes the <code>--with-rpath</code> option work except with - <code>$(DESTDIR)</code>. - - <li>several improvements for rendering in hpterm. These are - only available if the library is configured using - <code>--enable-xmc-glitch</code>. - - <li>Add <code>NCURSES_NO_HARD_TABS</code> and - <code>NCURSES_NO_MAGIC_COOKIE</code> environment variables - to allow runtime suppression of the related hard-tabs and - xmc-glitch features. + <li>new flavor of the ncurses library provides rudimentary + support for POSIX threads. Several functions are + reentrant, but most require either a window-level or + screen-level mutex.<br> + (This is <em>API</em>-compatible, + but not <em>ABI</em>-compatible with the normal library). + + <li>add <code>NCURSES_OPAQUE</code> symbol to curses.h, will + use to make structs opaque in selected configurations. + + <li>add <code>NCURSES_EXT_FUNCS</code> and + <code>NCURSES_EXT_COLORS</code> symbols to curses.h to make + it simpler to tell if the extended functions and/or colors + are declared. + + <li>add wresize() to C++ binding + + <li>eliminate fixed-buffer vsprintf() calls in C++ binding. + + <li>add several functions to C++ binding which wrap C functions + that pass a WINDOW* parameter. + + <li>adapt mouse-handling code from menu library in form-library + + <li>improve tracing for form library, showing created forms, + fields, etc. + + <li>make $NCURSES_NO_PADDING feature work for termcap interface . + + <li>add check to trace-file open, if the given name is a + directory, add ".log" to the name and try again. + + <li>several new manpages: curs_legacy.3x, curs_memleaks.3x, + curs_opaque.3x and curs_threads.3x </ul> <li>programs: <ul> - <li>add new test programs: chgat.c, demo_altkeys.c, - echochar.c, foldkeys.c, movewindow.c, redraw.c, (noting - that existing test programs also were modified to test - additional features). - - <li>modify tack to test extended capability function-key - strings. + <li>modified three test-programs to demonstrate the threading + support in this version: ditto, rain, worm. - <li>modify toe to access termcap data, e.g., via <code>cgetent()</code> - functions, or as a text file if those are not available. + <li>several new test-programs: demo_panels, dots_mvcur, + inch_wide, inchs, key_name, key_names, savescreen, + savescreen.sh test_arrays, test_get_wstr, test_getstr, + test_instr, test_inwstr and test_opaque. - <li>improve infocmp/tic <code>-f</code> option formatting. + <li>add <code>adacurses-config</code> to the Ada95 install. - <li>add <code>toe -a</code> option, to show all databases. - This uses new private interfaces in the ncurses library for - iterating through the list of databases. + <li>modify tic <code>-f</code> option to format spaces as + <code>\s</code> to prevent them from being lost when that + is read back in unformatted strings. - <li>modify <code>MKfallback.sh</code> to use - <code>tic -x</code> when constructing fallback tables to - allow extended capabilities to be retrieved from a fallback entry. + <li>The <code>tack</code> program is now distributed separately + from ncurses. </ul> <li>terminal database <ul> - <li>add terminfo entries for xfce terminal (xfce) and multi gnome terminal (mgt) - <li>add nsterm-16color entry - <li>updated mlterm terminfo entry - <li>add kon, kon2 and jfbterm terminfo entry - <li>remove invis capability from klone+sgr, mainly used by linux entry, since it does not really do this - <li>add ka2, kb1, kb3, kc2 to vt220-keypad as an extension - <li>add shifted up/down arrow codes to xterm-new as kind/kri strings - <li>add hpterm-color terminfo entry - <li>add 256color variants of terminfo entries for programs which are reported to implement this feature - <li>correct order of use-clauses in rxvt-basic entry which made codes for f1-f4 vt100-style rather than vt220-style. + <li>added entries: + <ul> + <li><code>Eterm-256color</code>, + <code>Eterm-88color</code> and + <code>rxvt-88color</code> + <li><code>aterm</code> + <li><code>konsole-256color</code> + <li><code>mrxvt</code> + <li><code>screen.mlterm</code> + <li><code>screen.rxvt</code> + <li><code>teraterm4.59</code> is now the primary primary + teraterm entry, renamed original to + <code>teraterm2.3</code> + <li><code>9term</code> terminal + <li>Newbury Data entries + </ul> + <li>updated/improved entries: + <ul> + <li><code>gnome</code> to version 2.22.3 + <li><code>h19</code>, <code>z100</code> + <li><code>konsole</code> to version 1.6.6 + <li><code>mlterm</code>, <code>mlterm+pcfkeys</code> + <li><code>xterm</code>, and building-blocks for function-keys + to <a href="http://invisible-island.net/xterm/xterm.log.html#xterm_230">xterm patch #230</a>. + </ul> </ul> </ul> Major bug fixes: <ul> - <li>correct a typo in configure <code>--with-bool</code> option for the - case where <code>--without-cxx</code> is used. + <li>add logic to tic for cancelling strings in user-defined + capabilities + (this is <em>needed</em> for + current <code>konsole</code> terminfo entry). + + <li>modify <code>mk-1st.awk</code> so the generated makefile rules for + linking or installing shared libraries do not first remove the + library, in case it is in use, e.g., <code>libncurses.so</code> by + <code>/bin/sh</code>. + + <li>correct check for notimeout() in wgetch(). + + <li>fix a sign-extension bug in infocmp's repair_acsc() function. - <li>move assignment from environment variable <code>ESCDELAY</code> - from <code>initscr()</code> down to <code>newterm()</code> so the - environment variable affects timeouts for terminals opened with - newterm() as well. + <li>change winnstr() to stop at the end of the line. - <li>modify <code>werase</code> to clear multicolumn characters that - extend into a derived window. + <li>make Ada95 demo_panels() example work. - <li>modify <code>wchgat()</code> to mark updated cells as changed so a - refresh will repaint those cells. + <li>fix for adding a non-spacing character at the beginning of a line. - <li>correct logic in <code>wadd_wch()</code> and - <code>wecho_wch()</code>, which did not guard against passing the - multi-column attribute into a call on <code>waddch()</code>, e.g., - using data returned by <code>win_wch()</code> + <li>fill in extended-color pair to make colors work + for wide-characters using extended-colors. - <li>fix redrawing of windows other than <code>stdscr</code> using - <code>wredrawln()</code> by touching the corresponding rows in - <code>curscr</code>. + <li>improve refresh of window on top of multi-column characters, + taking into account split characters on left/right window + boundaries. - <li>reduce memory leaks in repeated calls to <code>tgetent()</code> by - remembering the last <code>TERMINAL*</code> value allocated to hold - the corresponding data and freeing that if the - <code>tgetent()</code> result buffer is the same as the previous - call. + <li>modify <code>win_wchnstr()</code> to ensure that only a base cell + is returned for each multi-column character. - <li>modify <code>read_termtype()</code> so the <code>term_names</code> - data is always allocated as part of the <code>str_table</code>, a - better fix for a memory leak. + <li>improve <code>waddch()</code> and <code>winsch()</code> handling of + EILSEQ from <code>mbrtowc()</code> by using <code>unctrl()</code> + to display illegal bytes rather than trying to append further bytes + to make up a valid sequence. - <li>fix <code>wins_nwstr(),</code> which did not handle single-column - non-8bit codes. + <li>restore <code>curs_set()</code> state after + <code>endwin()</code>/<code>refresh()</code> - <li>modify <code>wbkgrnd()</code> to avoid clearing the - <code>A_CHARTEXT</code> attribute bits since those record the state - of multicolumn characters. + <li>modify <code>keyname()</code> to use "^X" form only if + <code>meta()</code> has been called, or if <code>keyname()</code> + is called without initializing curses, e.g., via + <code>initscr()</code> or <code>newterm()</code>. - <li>improve <code>SIGWINCH</code> handling by postponing its effect - during <code>newterm()</code>, etc., when allocating screens. + <li>modify <code>unctrl()</code> to check codes in 128-255 range versus + <code>isprint()</code>. + If they are not printable, and locale was set, use a "M-" or "~" + sequence. - <li>remove 970913 feature for copying subwindows as they are moved in - <code>mvwin()</code>. + <li>improve <code>resizeterm()</code> by moving ripped-off lines, and + repainting the soft-keys. - <li>add checks in <code>waddchnstr()</code> and - <code>wadd_wchnstr()</code> to stop copying when a null character - is found. + <li>modify form library to accept control characters such as newline + in set_field_buffer(), which is compatible with Solaris. - <li>add some checks to ensure current position is within scrolling - region before scrolling on a new line. + <li>use <code>NCURSES_MOUSE_MASK()</code> in definition of + <code>BUTTON_RELEASE()</code>, etc., to make those work properly + with the <code>--enable-ext-mouse</code> configuration - <li>add a workaround to ACS mapping to allow applications such as - test/blue.c to use the "PC ROM" characters by masking them with - A_ALTCHARSET. This worked up til 5.5, but was lost in the revision - of legacy coding. + <li>correct some functions in Ada95 binding which were using return + value from C where none was returned. + + <li>reviewed/fixed issues reported by Coverity and Klocwork tools. </ul> Portability: @@ -257,110 +242,115 @@ Portability: <li>new options: <dl> - <dt>--with-hashed-db - <dd>Use Berkeley hashed database for storing terminfo data rather than storing - each compiled entry in a separate binary file within a directory - tree. - - <dt>--without-dlsym - <dd>Do not use <code>dlsym()</code> to load GPM dynamically. - - <dt>--with-valgrind - <dd>Simplify building for testing with valgrind. - - <dt>--enable-wgetch-events - <dd>Compile with experimental wgetch-events code. - - <dt>--enable-signed-char - <dd>Store booleans in "signed char" rather than "char". + <dt>--disable-big-strings + <dd>control whether static string tables are generated as single + large strings (to improve startup performance), or as array + of individual strings. + + <dt>--disable-relink + <dd>control whether shared libraries are relinked (during install) + when rpath is enabled. + + <dt>--disable-tic-depends + <dd>make explicit whether tic library depends on ncurses/ncursesw + library. + + <dt>--enable-mixed-case + <dd>override the configure script's check if the filesystem + supports mixed-case filenames. + This allows one to control how the terminal database + maps to the filesystem. + For filesystems that do not support mixed-case, the library + uses generate 2-character (hexadecimal) codes for the + lower-level of the filesystem terminfo database + + <dt>--enable-reentrant + <dd>builds a different flavor of the ncurses library (ncursest) + which improves reentrant use of the + library by reducing global and static variables + (see the "--with-pthread" option for the threaded support). + + <dt>--enable-weak-symbols + <dd>use weak-symbols for linking to the POSIX thread library, + and use the same soname for the ncurses shared library + as the normal library (caveat: the ABI is for the threaded + library, which makes global data accessed via functions). + + <dt>--with-pthread + <dd>build with the POSIX thread library (tested with AIX, + Linux, FreeBSD, OpenBSD, HPUX, IRIX64, Solaris, Tru64). + + <dt>--with-ticlib + <dd>build/install the tic-support functions in a separate library </dl> <li>improved options: <dl> - <dt>--disable-largefile - <dd>make the option work both ways. - - <dt>--with-gpm - <dd>The option now accepts a parameter, - i.e., the name of the dynamic GPM library to load via - <code>dlopen()</code> - - <dt>--disable-symlinks - <dd>The option now allows one to - disable <code>symlink()</code> in <code>tic</code> even when - <code>link()</code> does not work. - - </dl> - - </ul> - - <li>other configure/build issues: <ul> <li>remove special case for - Darwin in <code>CF_XOPEN_SOURCE</code> configure macro. + <dt>--enable-ext-colors + <dd>requires the wide-character configuration. - <li>add configure check to ensure that <code>SIGWINCH</code> is - defined on platforms such as OS X which exclude that when - <code>_XOPEN_SOURCE,</code> etc., are defined + <dt>--with-chtype + <dd>ignore option value "unsigned" is always added to + the type in curses.h; do the same for --with-mmask-t. - <li>use ld's <code>-search_paths_first</code> option on Darwin - to work around odd search rules on that platform. + <dt>--with-dmalloc + <dd>build-fix for redefinition of <code>strndup</code>. - <li>improve ifdef's for <code>_POSIX_VDISABLE</code> in tset to - work with Mac OS X. - - <li>modify configure script to ensure that if the C compiler is - used rather than the loader in making shared libraries, the - <code>$(CFLAGS)</code> variable is also used. + <dt>--with-hashed-db + <dd>accepts a parameter which is the install-prefix of a given + Berkeley Database. - <li>use <code>${CC}</code> rather than <code>${LD}</code> in - shared library rules for IRIX64, Solaris to help ensure - that initialization sections are provided for extra linkage - requirements, e.g., of C++ applications. + <dt>--with-hashed-db + <dd>the $LIBS environment variable overrides the search for the db + library. - <li>improve some shared-library configure scripting for Linux, - FreeBSD and NetBSD to make - <code>--with-shlib-version</code> work. + <dt>--without-hashed-db + <dd>assumed when "--disable-database" is used. - <li>split up dependency of <code>names.c</code> and - <code>codes.c</code> in <code>ncurses/Makefile</code> to - work with parallel make. + </dl> - <li>modify <code>MKlib_gen.sh</code> to change - preprocessor-expanded <code>_Bool</code> back to <code>bool</code>. + </ul> - <li>modify <code>progs/Makefile.in</code> to make - <code>tput init</code> work properly with cygwin, - i.e., do not pass a <code>.exe</code> in the reference - string used in check_aliases. + <li>other configure/build issues: + <ul> + <li>build-fixes for LynxOS + <li>modify shared-library rules to allow FreeBSD 3.x to use rpath. + <li>build-fix for FreeBSD "contemporary" TTY interface. + <li>build-fixes for AIX with libtool. + <li>build-fixes for Darwin and libtool. + <li>modify BeOS-specific ifdef's to build on Haiku. + <li>corrected gcc options for building shared libraries on Solaris + and IRIX64. + <li>change shared-library configuration for OpenBSD, make rpath work. + <li>build-fixes for using libutf8, e.g., on OpenBSD 3.7 + <li>add "-e" option in ncurses/Makefile.in when generating source-files + to force earlier exit if the build environment fails unexpectedly. + <li>add support for shared libraries for QNX. + <li>change delimiter in <code>MKlib_gen.sh</code> from '%' to '@', to + avoid substitution by IBM xlc to '#' as part of its extensions to + digraphs. </ul> <li>library: <ul> - <li>ignore wide-acs line-drawing characters that - <code>wcwidth()</code> claims are not one-column. This is - a workaround for Solaris' broken locale support. - - <li>reduce name-pollution in <code>term.h</code> by removing - <code>#define</code>'s for HAVE_xxx symbols. - - <li>fix <code>#ifdef</code> in <code>c++/internal.h</code> for - QNX 6.1 + <li>rewrite wrapper for <code>wcrtomb()</code>, making it work on + Solaris. This is used in the form library to determine the length + of the buffer needed by <code>field_buffer</code>. + <li>add/use configure script macro CF_SIG_ATOMIC_T, use the corresponding + type for data manipulated by signal handlers. + <li>set locale in misc/ncurses-config.in since it uses a range + <li>disable GPM mouse support when $TERM does not happen to contain + "linux", since Gpm_Open() no longer limits its assertion to terminals + that it might handle, e.g., within "screen" in xterm. + <li>reset mouse file-descriptor when unloading GPM library. </ul> - <li>test programs: <ul> <li>modify <code>test/configure</code> script - to allow building test programs with PDCurses/X11. - - <li>modified test programs to allow some to work with NetBSD - curses. Several do not because NetBSD curses implements a - subset of X/Open curses, and also lacks much of SVr4 - additions. But it is enough for comparison. - - <li>improved <code>test/configure</code> to build test/ncurses - on HPUX 11 using the vendor curses. - - <li>change configure script to produce - <code>test/Makefile</code> from data file. + <li>test programs: + <ul> + <li>update test programs to build/work with various UNIX curses for + comparisons. </ul> </ul> @@ -410,6 +400,8 @@ and <CODE>define_key()</CODE> allow you to better control the use of function keys, e.g., disabling the ncurses KEY_MOUSE, or by defining more than one control sequence to map to a given key code. +<LI>Support for 256-color terminals, such as modern xterm, when configured +using the <code>--enable-ext-colors</code> option. <LI>Support for 16-color terminals, such as aixterm and modern xterm. <LI>Better cursor-movement optimization. The package now features a cursor-local-movement computation more efficient than either BSD's @@ -513,14 +505,10 @@ for similar applications on GNU/Linux. <br> <DT> pinfo <DD> Lynx-like info browser. -<A HREF="http://dione.ids.pl/~pborys/software/pinfo/">http://dione.ids.pl/~pborys/software/pinfo/</A> +<A HREF="https://alioth.debian.org/projects/pinfo/">https://alioth.debian.org/projects/pinfo/</A> <DT> tin <DD> newsreader, supporting color, MIME <A HREF="http://www.tin.org/">http://www.tin.org/</A> -<DT> vh-1.6 -<DD> Volks-Hypertext browser for the Jargon File -<br> -<A HREF="http://www.debian.org/Packages/unstable/text/vh.html">http://www.debian.org/Packages/unstable/text/vh.html</A> </DL> as well as some that use ncurses for the terminfo support alone: <DL> |