announce.html.in revision 76726
1<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
2<!--
3  $Id: announce.html.in,v 1.41 2000/10/28 21:43:25 tom Exp $
4-->
5<HTML>
6<HEAD>
7<TITLE>Announcing ncurses @VERSION@</TITLE>
8<link rev=made href="mailto:bug-ncurses@gnu.org">
9</HEAD>
10<BODY>
11
12<H1>Announcing ncurses @VERSION@</H1>
13
14The ncurses (new curses) library is a free software emulation of
15curses in System V Release 4.0, and more.  It uses terminfo format,
16supports pads and color
17and multiple highlights and forms characters and function-key mapping,
18and has all the other SYSV-curses enhancements over BSD curses.<P>
19
20In mid-June 1995, the maintainer of 4.4BSD curses declared that he
21considered 4.4BSD curses obsolete, and is encouraging the keepers of
22Unix releases such as BSD/OS, freeBSD and netBSD to switch over to
23ncurses.<P>
24
25The ncurses code was developed under GNU/Linux.
26It has been in use for some time with OpenBSD as the system curses library,
27and on FreeBSD and NetBSD as an external package.
28It should port easily to any ANSI/POSIX-conforming UNIX.
29It has even been ported to OS/2 Warp!<P>
30
31The distribution includes the library and support utilities, including a
32terminfo compiler tic(1), a decompiler infocmp(1), clear(1), tput(1), tset(1),
33and a termcap conversion tool captoinfo(1).  Full manual pages are provided for
34the library and tools.<P>
35
36The ncurses distribution is available via anonymous FTP at
37the GNU distribution site
38<A HREF="ftp://ftp.gnu.org/pub/gnu/ncurses">ftp://ftp.gnu.org/pub/gnu/ncurses</A>.
39<br>It is also available at
40<A HREF="ftp://dickey.his.com/ncurses">ftp://dickey.his.com/ncurses</A>.
41
42<H1>Release Notes</H1>
43
44This release is designed to be upward compatible from ncurses 5.0 and 5.1;
45very few applications will require recompilation, depending on the platform.
46These are the highlights from the change-log since ncurses 5.1 release.
47<p>
48Interface changes:
49<ul>
50	<li>change type of <code>ospeed</code> variable back to
51	  <code>short</code> to match its use in legacy applications.  It was
52	  altered after ncurses 4.2 to <code>speed_t</code> to repair a type
53	  mismatch which was introduced after 1.9.4 in 1995.  The principal
54	  users of termcap continued to use <code>short</code>, which is
55	  not the same size.
56	  <p>
57	  <em>NOTE</em>: A few applications will have to be recompiled
58	  (about 1% of the programs in a typical Linux distribution,
59	  10% of the programs that use ncurses).  These are easy to
60	  identify with <code>nm</code> or <code>strings</code>.
61
62	<li>remove a private function <code>_nc_can_clear_with()</code>, which
63	  was built with the configure --enable-expanded option but not used.
64
65	<li>add several private functions (prefixed with "_nc_") for tracing
66	  <code>chtype</code> values in the debug library, and for better
67	  access and buffer limit checking.
68</ul>
69New features and improvements:
70<ul>
71	<li>rewrote <code>tgoto()</code> to make it better support existing
72	  termcap applications which use hardcoded strings rather than obtain
73	  all of their information from the termcap file.  If the string does
74	  not appear to be a terminfo string (i.e., does not refer to a "%p"
75	  parameter, or terminfo-style padding), and termcap support is configured, <code>tgoto()</code>
76	  will interpret it as termcap.  Otherwise, as before, it will use
77	  <code>tparm()</code>.
78
79	<li>to ensure that the <code>tgoto()</code> changes work properly,
80	  added checks to <code>tic</code> which report capabilities that do
81	  not reference the expected number of parameters.
82
83	<li>new configure script options:
84	<ul>
85	  <li>option <code>--disable-root-environ</code> adds runtime checks
86	    which tell ncurses to disregard $TERMINFO and similar environment
87	    variables if the current user is root, or running setuid/setgid.
88
89	  <li>option <code>--disable-assumed-color</code> allows you to use the
90	    pre-5.1 convention of default colors used for color-pair 0 to be
91	    configured (see assume_default_colors()).
92
93	  <li>implement configure script options that transform installed
94	    program names, e.g., <code>--program-prefix</code>, including the
95	    manpage names and cross references.
96
97	  <li>option <code>--with-database</code> allows you to specify a
98	    different terminfo source-file to install.  On OS/2 EMX, the
99	    default is misc/emx.src, otherwise misc/terminfo.src
100
101	  <li>option <code>--with-default-terminfo-dir</code> allows you to
102	    specify the default terminfo database directory.
103
104	  <li>option <code>--with-libtool</code> allows you to build with
105	    <code>libtool</code>.  <p> <em>NOTE</em>:  <code>libtool</code>
106	    uses a different notation for numbering shared library versions
107	    from the existing ncurses configuration.
108
109	  <li>option <code>--with-manpage-tbl</code> causes the manpages to be
110	    preprocessed by tbl(1) prior to installation,
111
112	  <li>option <code>--without-curses-h</code> causes the installation
113	    process to install curses.h as ncurses.h and make appropriate
114	    changes to headers and manpages.
115	</ul>
116
117	<li>modified configure script options:
118	<ul>
119	  <li>change symbol used by the <code>--install-prefix</code> configure
120	    option from <code>INSTALL_PREFIX</code> to <code>DESTDIR</code>
121	    (the latter has become common usage although the name is
122	    misleading).
123
124	  <li>modify <code>ld -rpath</code> options (e.g., Linux, and Solaris)
125	    to use an absolute pathname for the build tree's lib directory,
126	    avoiding confusion with directories relative to the current one
127	    with the installed programs.
128
129	  <li>modified <code>misc/run_tic.in</code> to use
130	    <code>tic&nbsp;-o</code>, to eliminate dependency on
131	    <code>$TERMINFO</code> variable for installs.
132	</ul>
133
134	<li>terminfo database:
135	<ul>
136	  <li>updated xterm terminfo entries to match XFree86 xterm patch #146.
137
138	  <li>added amiga-vnc,
139	    Matrix Orbital, and
140	    QNX qansi to misc/terminfo.src.
141
142	  <li>added os2 entry to misc/emx.src.
143
144	  <li>add S0 and E0 extensions to <code>screen</code>'s terminfo entry
145	    since otherwise the FreeBSD port makes it pass termcap equivalents
146	    to <code>tgoto</code>, which would be misinterpreted by older
147	    versions of ncurses.
148	</ul>
149
150	<li>improvements to program usability:
151	<ul>
152	  <li>modify programs to use <code>curses_version()</code> string to
153	    report the version of ncurses with which they are compiled rather
154	    than the NCURSES_VERSION string.  The function returns the patch
155	    level in addition to the major and minor version numbers.
156
157	  <li>modify <code>tput</code> program so it can be renamed or invoked via a link as
158	    'reset' or 'init', producing the same effect as <code>tput&nbsp;reset</code> or <code>tput&nbsp;init</code>.
159
160	  <li>add error checking to infocmp's -v and -m options to ensure that
161	    the option value is indeed a number.
162	</ul>
163
164	<li>improved performance:
165	<ul>
166	  <li>replace a lookup table in lib_vidattr.c used to decode
167	    <code>no_color_video</code> with a logic expression which is faster.
168	</ul>
169
170</ul>
171Major bug fixes:
172<ul>
173	<li>correct <code>manlinks.sed</code> script introduced in ncurses 5.1
174	  to avoid using ERE "\+", which is not understood by standard versions
175	  of <code>sed</code>.  This happens to work with GNU <code>sed</code>,
176	  but is not portable, and was the initial motivation for this release.
177
178	<li>remove "hpux10.*" case from CF_SHARED_OPTS configure script macro.
179	  This differed from the "hpux*" case by using reversed symbolic
180	  links, which made the 5.1 version not match the configuration of
181	  5.0 shared libraries.
182
183	<li>guard against corrupt terminfo data:
184	  <ul>
185	  <li>modify <code>tparm()</code> to disallow arithmetic on strings,
186	    analyze the varargs list to read strings as strings and numbers as
187	    numbers.
188
189	  <li>modify <code>tparm()</code>'s internal function
190	    <code>spop()</code> to treat a null pointer as an empty string.
191
192	  <li>modify <code>parse_format()</code> in lib_tparm.c to ignore
193	    precision if it is longer than 10000.
194
195	  <li>rewrote limit checks in lib_mvcur.c using new functions
196	    <code>_nc_safe_strcat()</code>, etc.  Made other related changes to
197	    check lengths used for <code>strcat()</code> and
198	    <code>strcpy()</code>.
199	  </ul>
200
201	<li>corrections to screen optimization:
202	  <ul>
203	  <li>added special case in lib_vidattr.c to reset underline and
204	    standout for devices that have no sgr0 defined.
205
206	  <li>change handling of <code>non_dest_scroll_region</code> in
207	    tty_update.c to clear text after it is shifted in rather than before
208	    shifting out.  Also correct row computation.
209
210	  <li>modify <code>rs2</code> capability in xterm-r6 and similar entries
211	    where cursor save/restore bracketed the sequence for resetting video
212	    attributes.  The cursor restore would undo that.
213	  </ul>
214
215	<li>UTF-8 support:
216	<ul>
217	  <li>when checking LC_ALL, LC_CTYPE, and LANG environment variables
218	    for UTF-8 locale, ignore those which are set to an empty value, as
219	    per SUSV2.
220
221	  <li>encode 0xFFFD in UTF-8 with 3 bytes, not 2.
222
223	  <li>modify <code>_nc_utf8_outch()</code> to avoid sign-extension when
224	    checking for out-of-range value.
225	</ul>
226
227	<li>other library fixes:
228	<ul>
229	  <li>added checks for an empty <code>$HOME</code> environment
230	    variable, to avoid retrieving terminfo descriptions from
231	    <code>./.terminfo</code> .
232
233	  <li>change functions <code>_nc_parse_entry()</code> and
234	    <code>postprocess_termcap()</code> to avoid using
235	    <code>strtok()</code>, because it is non-reentrant.
236
237	  <li>initialize <code>fds[]</code> array to 0's in
238	    <code>_nc_timed_wait()</code>; apparently <code>poll()</code> only
239	    sets the <code>revents</code> members of that array when there is
240	    activity corresponding to the related file.
241
242	  <li>add a check for null pointer in <code>Make_Enum_Type()</code>.
243
244	  <li>fix a heap problem with the c++ binding.
245
246	  <li>correct missing includes for &lt;string.h&gt; in several places,
247	    including the C++ binding.  This is not noted by gcc unless we use
248	    the <code>-fno-builtin</code> option.
249	</ul>
250
251	<li>several fixes for tic:
252	  <ul>
253	  <li>add a check for empty buffers returned by <code>fgets()</code> in
254	    comp_scan.c <code>next_char()</code> function, in case
255	    <code>tic</code> is run on a non-text file (fixes a core dump).
256
257	  <li>modify <code>tic</code> to verify that its inputs are really files,
258	    in case someone tries to read a directory (or
259	    <code>/dev/zero</code>).
260
261	  <li>correct an uninitialized parameter to <code>open_tempfile()</code>
262	    in tic.c which made "tic -I" give an ambiguous error message about
263	    <code>tmpnam</code>.
264
265	  <li>correct logic in <code>adjust_cancels()</code>, which did not check
266	    both alternatives when reclassifying an extended name between
267	    boolean, number and string, causing an infinite loop in
268	    <code>tic</code>.
269	  </ul>
270
271	<li>using new checks in <code>tic</code> for parameter counts in
272	  capability strings, found/fixed several errors both in the
273	  terminfo database and in the include/Caps file.
274	  <ul>
275	  <li>modified several terminfo capability strings, including the
276	    definitions for setaf, setab, in include/Caps to indicate that the
277	    entries are parameterized.  This information is used to tell which
278	    strings are translated when converting to termcap.  This fixes a
279	    problem where the generated termcap would contain a spurious "%p1"
280	    for the terminfo "%p1%d".
281
282	  <li>correct parameter counts in include/Caps for dclk as well as some
283	    printer-specific capabilities: csnm, defc, scs, scsd, smgtp, smglp.
284	  </ul>
285
286	<li>various fixes for install scripts used to support configure
287	  <code>--srcdir</code> and <code>--with-install-prefix</code>.
288
289	<li>correct several mismatches between manpage filename and ".TH"
290	  directives, renaming dft_fgbg.3x to default_colors.3x and
291	  menu_attribs.3x to menu_attributes.3x.
292</ul>
293
294Portability:
295<ul>
296	<li>configure script:
297	<ul>
298	  <li>newer config.guess, config.sub, including changes to support OS/2
299	    EMX.  The configure script for OS/2 EMX still relies on a patch
300	    since there is no (working) support for that platform in the main
301	    autoconf distribution.
302
303	  <li>make configure script checks on variables <code>$GCC</code> and
304	    <code>$GXX</code> consistently compare against 'yes' rather than
305	    test if they are nonnull, since either may be set to the
306	    corresponding name of the C or C++ compiler.
307
308	  <li>change configure script to use AC_CANONICAL_SYSTEM rather than
309	    AC_CANONICAL_HOST, which means that <code>configure --target</code>
310	    will set a default program-prefix.
311
312	  <li>modify the check for big-core to force a couple of memory
313	    accesses, which may work as needed for older/less-capable machines
314	    (if not, there's still the explicit configure option).
315
316	  <li>modify configure test for <code>tcgetattr()</code> to allow for
317	    old implementations, e.g., on BeOS, which only defined it as a
318	    macro.
319
320	  <li>add configure check for filesystems (such as OS/2 EMX) which do
321	    not distinguish between upper/lowercase filenames, use this to fix
322	    tags rules in makefiles.
323
324	  <li>add MKncurses_def.sh to generate fallback definitions for
325	    ncurses_cfg.h, to quiet gcc -Wundef warnings, modified ifdef's in
326	    code to consistently use "#if" rather than "#ifdef".
327
328	  <li>change most remaining unquoted parameters of <code>test</code> in
329	    configure script to use quotes, for instance fixing a problem in the
330	    <code>--disable-database</code> option.
331
332	  <li>modify scripts so that "make install.data" works on OS/2 EMX.
333
334	  <li>modify scripts and makefiles so the Ada95 directory builds on
335	    OS/2 EMX.
336	</ul>
337
338	<li>library:
339	<ul>
340	<li>replaced case-statement in <code>_nc_tracebits()</code> for CSIZE
341	  with a table to simplify working around implementations that define
342	  random combinations of the related macros to zero.
343
344	<li>improved OS/2 mouse support by retrying as a 2-button mouse if code
345	  fails to set up a 3-button mouse.
346
347	<li>added private entrypoint <code>_nc_basename()</code>, used to
348	  consolidate related code in progs, as well as accommodating OS/2 EMX
349	  pathnames.
350
351	<li>alter definition of NCURSES_CONST to make it non-empty.
352
353	<li>redefine 'TEXT' in menu.h for AMIGA, since it is reported to have
354	  an (unspecified) symbol conflict.
355	</ul>
356
357	<li>programs:
358	<ul>
359	  <li>modified progs/tset.c and tack/sysdep.c to build with sgttyb
360	    interface if neither termio or termios is available.  Tested this
361	    with FreeBSD 2.1.5 (which does have termios - but the sgttyb does
362	    work).
363	</ul>
364
365</ul>
366
367<H1>Features of Ncurses</H1>
368
369The ncurses package is fully compatible with SVr4 (System V Release 4) curses:
370
371<UL>
372<LI>All 257 of the SVr4 calls have been implemented (and are documented).
373<LI>Full support for SVr4 curses features including keyboard mapping, color,
374forms-drawing with ACS characters, and automatic recognition of keypad
375and function keys.
376<LI>An emulation of the SVr4 panels library, supporting
377a stack of windows with backing store, is included.
378<LI>An emulation of the SVr4 menus library, supporting
379a uniform but flexible interface for menu programming, is included.
380<LI>An emulation of the SVr4 form library, supporting
381data collection through on-screen forms, is included.
382<LI>Binary terminfo entries generated by the ncurses tic(1) implementation
383are bit-for-bit-compatible with the entry format SVr4 curses uses.
384<LI>The utilities have options to allow you to filter terminfo
385entries for use with less capable <STRONG>curses</STRONG>/<STRONG>terminfo</STRONG>
386versions such as the HP/UX and AIX ports.</UL>
387
388The ncurses package also has many useful extensions over SVr4:
389
390<UL>
391<LI>The API is 8-bit clean and base-level conformant with the X/OPEN curses
392specification, XSI curses (that is, it implements all BASE level features,
393but not all EXTENDED features).  Most EXTENDED-level features not directly
394concerned with wide-character support are implemented, including many
395function calls not supported under SVr4 curses (but portability of all
396calls is documented so you can use the SVr4 subset only).
397<LI>Unlike SVr3 curses, ncurses can write to the rightmost-bottommost corner
398of the screen if your terminal has an insert-character capability.
399<LI>Ada95 and C++ bindings.
400<LI>Support for mouse event reporting with X Window xterm and OS/2 console windows.
401<LI>Extended mouse support via Alessandro Rubini's gpm package.
402<LI>The function <CODE>wresize()</CODE> allows you to resize windows, preserving
403their data.
404<LI>The function <CODE>use_default_colors()</CODE> allows you to
405use the terminal's default colors for the default color pair,
406achieving the effect of transparent colors.
407<LI>The functions <CODE>keyok()</CODE>
408and <CODE>define_key()</CODE> allow
409you to better control the use of function keys,
410e.g., disabling the ncurses KEY_MOUSE,
411or by defining more than one control sequence to map to a given key code.
412<LI>Support for 16-color terminals, such as aixterm and XFree86 xterm.
413<LI>Better cursor-movement optimization.  The package now features a
414cursor-local-movement computation more efficient than either BSD's
415or System V's.
416<LI>Super hardware scrolling support.  The screen-update code incorporates
417a novel, simple, and cheap algorithm that enables it to make optimal
418use of hardware scrolling, line-insertion, and line-deletion
419for screen-line movements.  This algorithm is more powerful than
420the 4.4BSD curses quickch() routine.
421<LI>Real support for terminals with the magic-cookie glitch.  The
422screen-update code will refrain from drawing a highlight if the magic-
423cookie unattributed spaces required just before the beginning and
424after the end would step on a non-space character.  It will
425automatically shift highlight boundaries when doing so would make it
426possible to draw the highlight without changing the visual appearance
427of the screen.
428<LI>It is possible to generate the library with a list of pre-loaded
429fallback entries linked to it so that it can serve those terminal types even
430when no terminfo tree or termcap file is accessible (this may be useful
431for support of screen-oriented programs that must run in single-user mode).
432<LI>The tic(1)/captoinfo utility provided with ncurses has the
433ability to translate many termcaps from the XENIX, IBM and
434AT&amp;T extension sets.
435<LI>A BSD-like tset(1) utility is provided.
436<LI>The ncurses library and utilities will automatically read terminfo
437entries from $HOME/.terminfo if it exists, and compile to that directory
438if it exists and the user has no write access to the system directory.
439This feature makes it easier for users to have personal terminfo entries
440without giving up access to the system terminfo directory.
441<LI>You may specify a path of directories to search for compiled
442descriptions with the environment variable TERMINFO_DIRS (this
443generalizes the feature provided by TERMINFO under stock System V.)
444<LI>In terminfo source files, use capabilities may refer not just to
445other entries in the same source file (as in System V) but also to
446compiled entries in either the system terminfo directory or the user's
447$HOME/.terminfo directory.
448<LI>A script (<STRONG>capconvert</STRONG>) is provided to help BSD users
449transition from termcap to terminfo.  It gathers the information in a
450TERMCAP environment variable and/or a ~/.termcap local entries file
451and converts it to an equivalent local terminfo tree under $HOME/.terminfo.
452<LI>Automatic fallback to the /etc/termcap file can be compiled in
453when it is not possible to build a terminfo tree.  This feature is neither
454fast nor cheap, you don't want to use it unless you have to,
455but it's there.
456<LI>The table-of-entries utility <STRONG>toe</STRONG> makes it easy for users to
457see exactly what terminal types are available on the system.
458<LI>The library meets the XSI requirement that every macro entry
459point have a corresponding function which may be linked (and will be
460prototype-checked) if the macro definition is disabled with
461<CODE>#undef</CODE>.
462<LI>An HTML "Introduction to Programming with NCURSES" document provides
463a narrative introduction to the curses programming interface.
464</UL>
465
466<H1>State of the Package</H1>
467
468Numerous bugs present in earlier versions have been fixed; the
469library is far more reliable than it used to be.  Bounds checking in many
470`dangerous' entry points has been improved.  The code is now type-safe
471according to gcc -Wall.  The library has been checked for malloc leaks and
472arena corruption by the Purify memory-allocation tester.<P>
473
474The ncurses code has been tested with a wide variety of applications
475including (versions starting with those noted):
476<DL>
477<DT> cdk
478<DD> Curses Development Kit
479<br>
480<A HREF="http://www.vexus.ca/CDK.html">http://www.vexus.ca/CDK.html</a>
481<br>
482<A HREF="http://dickey.his.com/cdk/cdk.html">http://dickey.his.com/cdk</A>.
483<DT> ded
484<DD> directory-editor
485<br>
486<A HREF="http://dickey.his.com/ded/ded.html">http://dickey.his.com/ded</A>.
487<DT> dialog
488<DD> the underlying application used in Slackware's setup, and the basis
489for similar applications on GNU/Linux.
490<br>
491<A HREF="http://dickey.his.com/dialog/dialog.html">http://dickey.his.com/dialog</A>.
492<DT> lynx
493<DD> the character-screen WWW browser
494<br>
495<A HREF="http://lynx.isc.org/release/">http://lynx.isc.org/release</A>.
496<DT> Midnight Commander 4.1
497<DD> file manager
498<br>
499<A HREF="www.gnome.org/mc/">www.gnome.org/mc/</A>.
500<DT> mutt
501<DD> mail utility
502<br>
503<A HREF="http://www.mutt.org">http://www.mutt.org</A>.
504<DT> ncftp
505<DD> file-transfer utility
506<br>
507<A HREF="http://www.ncftp.com">http://www.ncftp.com</A>.
508<DT> nvi
509<DD> New vi versions 1.50 are able to use ncurses versions 1.9.7 and later.
510<br>
511<A HREF="http://www.bostic.com/vi/">http://www.bostic.com/vi/</A>.
512<DT> tin
513<DD> newsreader, supporting color, MIME
514<br>
515<A HREF="http://www.tin.org">http://www.tin.org</A>.
516<DT> taper
517<DD> tape archive utility
518<br>
519<A HREF="http://members.iinet.net.au/~yusuf/taper/">http://members.iinet.net.au/~yusuf/taper/</A>.
520<DT> vh-1.6
521<DD> Volks-Hypertext browser for the Jargon File
522<br>
523<A HREF="http://www.bg.debian.org/Packages/unstable/text/vh.html">http://www.bg.debian.org/Packages/unstable/text/vh.html</A>.
524</DL>
525as well as some that use ncurses for the terminfo support alone:
526<DL>
527<DT> minicom
528<DD> terminal emulator
529<br>
530<A HREF="http://www.pp.clinet.fi/~walker/minicom.html">http://www.pp.clinet.fi/~walker/minicom.html</A>.
531<DT> vile
532<DD> vi-like-emacs
533<br>
534<A HREF="http://dickey.his.com/vile/vile.html">http://dickey.his.com/vile</A>.
535</DL>
536<P>
537
538The ncurses distribution includes a selection of test programs (including
539a few games).
540
541<H2>Who's Who and What's What</H2>
542
543The original developers of ncurses are <A
544HREF="mailto:zmbenhal@netcom.com">Zeyd Ben-Halim</A> and
545<A HREF="http://www.ccil.org/~esr/home.html">Eric S. Raymond</A>.
546Ongoing work is being done by
547<A HREF="mailto:dickey@herndon4.his.com">Thomas Dickey</A>
548and
549<A HREF="mailto:juergen.pfeifer@gmx.net">J&uuml;rgen Pfeifer</A>.
550<A HREF="mailto:dickey@herndon4.his.com">Thomas Dickey</A>
551acts as the maintainer for the Free Software Foundation, which holds the
552copyright on ncurses.
553Contact the current maintainers at
554<A HREF="mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</A>.
555<P>
556
557To join the ncurses mailing list, please write email to
558<CODE>bug-ncurses-request@gnu.org</CODE> containing the line:
559<PRE>
560             subscribe &lt;name&gt;@&lt;host.domain&gt;
561</PRE>
562
563This list is open to anyone interested in helping with the development and
564testing of this package.<P>
565
566Beta versions of ncurses and patches to the current release are made available at
567<A HREF="ftp://dickey.his.com/ncurses">ftp://dickey.his.com/ncurses</A>.
568
569<H2>Future Plans</H2>
570<UL>
571<LI>Extended-level XPG4 conformance, with internationalization support.
572<LI>Ports to more systems, including DOS and Windows.
573</UL>
574We need people to help with these projects.  If you are interested in working
575on them, please join the ncurses list.
576
577<H2>Other Related Resources</H2>
578
579The distribution includes and uses a version of the terminfo-format
580terminal description file maintained by Eric Raymond.
581<A HREF="http://earthspace.net/~esr/terminfo">http://earthspace.net/~esr/terminfo</A>.<P>
582
583You can find lots of information on terminal-related topics
584not covered in the terminfo file at
585<A HREF="http://www.cs.utk.edu/~shuford/terminal_index.html">Richard Shuford's
586archive</A>.
587</BODY>
588</HTML>
589<!--
590# The following sets edit modes for GNU EMACS
591# Local Variables:
592# mode:html
593# case-fold-search:nil
594# fill-column:70
595# End:
596-->
597