5 The ncurses (new curses) library is a free software emulation of
6 curses in System V Release 4.0 (SVr4), and more. It uses terminfo
7 format, supports pads and color and multiple highlights and forms
8 characters and function-key mapping, and has all the other SVr4-curses
9 enhancements over BSD curses. SVr4 curses is better known today as
12 In mid-June 1995, the maintainer of 4.4BSD curses declared that he
13 considered 4.4BSD curses obsolete, and encouraged the keepers of unix
14 releases such as BSD/OS, FreeBSD and NetBSD to switch over to ncurses.
16 Since 1995, ncurses has been ported to many systems:
17 * It is used in almost every system based on the Linux kernel (aside
18 from some embedded applications).
19 * It is used as the system curses library on OpenBSD, FreeBSD and
21 * It is used in environments such as Cygwin and MinGW. The first of
22 these was EMX on OS/2 Warp.
23 * It is used (though usually not as the system curses) on all of the
24 vendor unix systems, e.g., AIX, HP-UX, IRIX64, SCO, Solaris,
26 * It should work readily on any ANSI/POSIX-conforming unix.
28 The distribution includes the library and support utilities, including
29 * [1]captoinfo, a termcap conversion tool
30 * [2]clear, utility for clearing the screen
31 * [3]infocmp, the terminfo decompiler
32 * [4]tabs, set tabs on a terminal
33 * [5]tic, the terminfo compiler
34 * [6]toe, list (table of) terminfo entries
35 * [7]tput, utility for retrieving terminal capabilities in shell
37 * [8]tset, to initialize the terminal
39 Full manual pages are provided for the library and tools.
41 The ncurses distribution is available via anonymous FTP at the GNU
44 [9]ftp://ftp.gnu.org/gnu/ncurses/ .
46 It is also available at
48 [10]ftp://invisible-island.net/ncurses/ .
52 These notes are for ncurses 6.0, released August 8, 2015.
54 This release is designed to be source-compatible with ncurses 5.0
55 through 5.9; providing a new application binary interface (ABI).
56 Although the source can still be configured to support the ncurses 5
57 ABI, the intent of the release is to provide extensions which are
58 generally useful, but binary-incompatible with ncurses 5:
59 * Extend the cchar_t structure to allow more than 16 colors to be
61 * Modify the encoding of mouse state to make room for a 5th mouse
62 button. That allows one to use ncurses with a wheel mouse with
63 xterm or similar X terminal emulators.
65 There are, of course, numerous other improvements, including
66 * fixes made based on the Clang and Coverity static analyzers.
67 * memory leak fixes using Valgrind
69 The release notes mention some bug-fixes, but are focused on new
70 features and improvements to existing features log since ncurses 5.9
73 While the intent of the release is to provide a new stable ABI, there
74 are other development activities which are summarized below.
75 * The original release plan, e.g., for "5.10" was to improve the
76 MinGW port. Ultimately that was completed (wide-character support,
77 mouse, etc), but was deferred to focus on termcap support and
78 performance issues. Also, pinpointing the problems with Console2
80 * A review of termcap compatibility in 2011 led to several minor
81 fixes in the library and improvements to utilities. To do this
82 properly, a review of the various extent termcap implementations
84 The [11]termcap library checker (tctest) (not part of ncurses) was
85 one result. A followup review of performance using
86 [12]ncurses-examples in 2014 led to additional improvements.
87 * Output buffering provided a further, but worthwhile distraction. A
88 bug report in 2012 regarding the use of signal handlers in
89 ncurses) pointed out [13]a problem with the use of unsafe
90 functions for handling SIGTSTP. Other signals could be addressed
91 with workarounds; repairing SIGTSTP required a different approach.
92 The solution required changing internal behavior of the library:
93 how it handles output buffering.
94 Now ncurses buffers its own output, independently of the standard
95 output. A few applications relied upon the library's direct reuse
96 of the standard output buffering; however that is unspecified
97 behavior and has never been a recommended practice. Identifying
98 these applications as well as refining the change to permit
99 low-level applications to work consistently took time.
100 * Since the introduction of the experimental support for 256 colors
101 early in [14]2005 (released in [15]ncurses 5.5), there has been
102 increased user interest. Almost all packagers continue providing
103 the ncurses ABI 5 which cannot support 256 colors.
104 * Symbol versioning, or the lack of it in ncurses, is the main
105 reason why packagers would be reluctant to add a new ncurses ABI.
106 This release provides the new ABI along with script-generated
107 lists of versioned symbols which can be used for both ABI 5 and 6
108 (with distinct names to keep the two separate). This took time to
109 development, as reported in [16]Symbol versioning in ncurses.
115 X/Open curses provides more than one initialization function:
116 * [17]initscr (the simplest) accepts no parameters.
117 * [18]newterm accepts parameters for the stream input and output
118 * [19]setupterm (the low-level function) accepts a parameter for the
119 file descriptor of the output.
121 They are documented in X/Open as if initscr calls newterm using stdout
122 for output stream, and in turn newterm calls setupterm using
123 fileno(stdout) for the file descriptor. As long as an implementation
124 acts as if it does this, it conforms. In practice, implementations do
125 what is implied. This creates a problem: the low-level setupterm
126 function's file descriptor is unbuffered, while newterm implies
127 buffered output. X/Open Curses says that all output is done through
128 the file descriptor, and does not say how the output stream is
131 Initially, ncurses used the file descriptor (obtained from the output
132 stream passed to newterm) for changing the terminal modes, and relied
133 upon the output parameter of newterm for buffered output. Later (to
134 avoid using unsafe buffered I/O in signal handlers), ncurses was
135 modified to use the file descriptor (unbuffered output) when cleaning
136 up on receipt of a signal. Otherwise (when not handling a signal), it
137 continued to use the buffered output.
139 That approach worked reasonably well and as a side effect, using the
140 same buffered output as an application might use for printf meant that
141 no flushing was needed when switching between normal- and
144 There were a couple of problems:
145 * to get good performance, curses (not only ncurses, but SVr4 curses
146 in general) set an output buffer using setbuf or similar function.
147 There is no standard (or portable) way to turn that output buffer
148 off, and revert to line-buffering. The [20]NCURSES_NO_SETBUF
149 environment variable did make it optional.
150 * to handle SIGTSTP (the "stop" signal), ncurses relied upon unsafe
151 functions. That is, due to the complexity of the feature, it
152 relied upon reusing existing functions which should not have been
153 called via the signal handler.
155 Conveniently, solving the second problem (by making ncurses do its own
156 output buffering) also fixed the first one. But there were special
157 cases to resolve: [21]low-level functions such as mvcur, putp, vidattr
158 explicitly use the standard output. Those functions were reused
159 internally, and required modification to distinguish whether they were
160 used by the high-level or low-level interfaces.
162 Finally, there may still be a few programs which should be modified to
163 improve their portability, e.g., adding an
167 when switching from "[22]shell" mode to "[23]program" (curses) mode.
168 Those are fairly rare because most programmers have learned not to mix
169 printf and [24]printw.
173 This release introduces symbol-versioning to ncurses because without
174 it, the change of ABI would be less successful. A lengthy discussion
175 will be presented in [25]Symbol versioning in ncurses. These notes
176 summarize what has changed, and what can be done with the new release.
178 Symbol-versioning allows the developers of a library to mark each
179 public symbol (both data and functions) with an identifier denoting
180 the library name and the version for which it was built. By doing
181 this, users of the library have a way to help ensure that applications
182 do not accidentally load an incompatible library. In addition, private
183 symbols can be hidden entirely.
185 This release provides sample files for the four principal
186 configurations of ncurses libraries: ncurses, ncursesw, ncursest and
187 ncursestw. Each sample is given in two forms:
190 These list all public symbols, together with version names.
193 These list all public symbols, without version names.
195 The sample files are generated by scripts which take into account a
196 few special cases such as [26]tack to omit many of the ncurses private
197 symbols (beginning with "_nc_"). Here are counts of globals versus
200 Config Symbols Globals Locals "_nc_"
201 ncurses 976 796 180 332
202 ncursesw 1089 905 184 343
203 ncursest 979 804 175 358
204 ncursestw 1098 914 184 372
206 Although only four sample configurations are presented, each is formed
207 by merging symbols from several combinations of configure-script
208 options, taking into account advice from downstream packagers. Because
209 they are formed by merging, the sample files may list a symbol which
210 is not in a given package. That is expected. The samples have been
211 tested and are working with systems (such as Fedora, FreeBSD and
212 Debian) which fully support this feature. There are other systems
213 which do not support the feature, and a few (such as Solaris) which
214 provide incomplete support.
216 The version-naming convention used allows these sample files to build
217 distinct libraries for ABI 5 and 6. Version names consist of
218 * configuration name, e.g., "NCURSESW" for the wide-character
220 * ABI version (if not 5)
221 * library name for two special cases which have the same interface
222 across configurations: "TINFO" and "TIC"
224 * patch date (for the release version)
226 For example, running nm -D on the libraries in the ncurses6 test
227 package shows these symbol-versions:
229 0000000000000000 A NCURSES6_TIC_5.0.19991023
230 0000000000000000 A NCURSES6_TIC_5.1.20000708
231 0000000000000000 A NCURSES6_TIC_5.5.20051010
232 0000000000000000 A NCURSES6_TIC_5.7.20081102
233 0000000000000000 A NCURSES6_TIC_5.9.20150530
234 0000000000000000 A NCURSES6_TINFO_5.0.19991023
235 0000000000000000 A NCURSES6_TINFO_5.1.20000708
236 0000000000000000 A NCURSES6_TINFO_5.2.20001021
237 0000000000000000 A NCURSES6_TINFO_5.3.20021019
238 0000000000000000 A NCURSES6_TINFO_5.4.20040208
239 0000000000000000 A NCURSES6_TINFO_5.5.20051010
240 0000000000000000 A NCURSES6_TINFO_5.6.20061217
241 0000000000000000 A NCURSES6_TINFO_5.7.20081102
242 0000000000000000 A NCURSES6_TINFO_5.8.20110226
243 0000000000000000 A NCURSES6_TINFO_5.9.20150530
244 0000000000000000 A NCURSESW6_5.1.20000708
245 0000000000000000 A NCURSESW6_5.3.20021019
246 0000000000000000 A NCURSESW6_5.4.20040208
247 0000000000000000 A NCURSESW6_5.5.20051010
248 0000000000000000 A NCURSESW6_5.6.20061217
249 0000000000000000 A NCURSESW6_5.7.20081102
250 0000000000000000 A NCURSESW6_5.8.20110226
251 0000000000000000 A NCURSESW6_5.9.20150530
253 As a special case, this release (which makes the final change for ABI
254 5) is marked with release version 5.9 and patch date 20150530.
258 The new release has several improvements for performance and building.
260 * several files in ncurses- and progs-directories were modified to
261 allow const data used in internal tables to be put by the linker
262 into the readonly text segment.
263 * various improvements were made to building the Ada95 binding, both
264 in simplifying the generated files as well as improving the way it
267 There are also new features in the libraries:
268 * added [27]use_tioctl function
269 * added [28]wgetdelay to retrieve _delay member of WINDOW if it
270 happens to be opaque, e.g., in the pthread configuration.
271 * added [29]A_ITALIC extension.
272 * added form library extension [30]O_DYNAMIC_JUSTIFY option which
273 can be used to override the different treatment of justification
274 for static versus dynamic fields .
275 * rewrote [31]putwin and [32]getwin, making an extended version
276 which is capable of reading screen-dumps between the wide/normal
277 ncurses configurations. These are text files, except for a magic
278 code at the beginning:
280 0 string \210\210 Screen-dump (ncurses)
282 * several changes to mouse support include:
283 + added decoder for xterm SGR 1006 mouse mode.
284 + added experimental support for "%u" format to terminfo.
285 + improved behavior of wheel-mice for xterm protocol: noting
286 that there are only button-presses for buttons "4" and "5",
287 so there is no need to wait to combine events into
290 There are a few new configure options dealing with library
292 * add "--enable-ext-putwin" configure option to turn on the extended
293 putwin/getwin. By default, this is enabled for ABI 6 and disabled
295 * add "--enable-string-hacks" option to control whether strlcat and
296 strlcpy may be used. Because ncurses already does the requisite
297 buffer-limit checks, this feature is mainly of interest to quiet
298 compiler-warnings on a few systems.
299 * add configure option "--with-tparm-arg" to allow [33]tparm's
300 parameters to be something more likely to be the same size as a
301 pointer, e.g., intptr_t (again, the default is set for ABI 6).
307 Most of the termcap-related changes based on development of [34]tctest
308 (termcap library checker) are implemented in the tic and infocmp
309 programs rather than affecting the library. As noted in the
310 [35]discussion of tctest, ncurses's ability to translate between
311 terminfo and termcap formats has been improved at different times, but
312 subject to feedback from "real" termcap users. There are very few of
313 those. Nowadays, virtually all termcap users are using ncurses (or
314 NetBSD, with its own terminfo library) and their programs are actually
315 using terminfo rather than termcap data.
317 Still, there are a few. A comment about the translation of the ASCII
318 NUL character prompted a review:
319 * Both terminfo and termcap store string capabilities as
320 NUL-terminated strings.
321 * In terminfo, a \0 in a terminal description is stored as \200.
322 * There are no (known) terminals which would behave differently when
324 * When translating to terminfo format (or displaying a printable
325 version of an entry using infocmp), ncurses shows \200 as \0.
326 * It has done this since 1998 (quoting from the NEWS file):
330 + modify _nc_tic_expand() to generate \0 rather than \200.
332 + correct translation of terminfo "^@", to \200, like \0.
334 * However, the _nc_tic_expand function (which optionally produces
335 terminfo or termcap format) did not address this special case for
336 termcap. Even the later 4.4BSD [37]cgetstr interprets a \0
337 literally, ending that string (rather than using the terminfo
340 As a result of the review, several improvements were made to ncurses
341 translation to/from termcap format -- and improving the checks made in
342 tic for consistency of entries. Most of these are not of general
343 interest, except for two new command-line options for tic and infocmp:
344 * the "-0" option generates termcap/terminfo source on a single
346 * the "-K" option provides stricter BSD-compatibility for termcap
349 Other user-visible improvements and new features include:
350 * added "-D" option to tic and infocmp, to show the database
351 locations that it could use.
352 * added "-s" option to toe, to sort its output.
353 * extended "-c" and "-n" options of infocmp to allow comparing more
355 * modified toe's report when "-a" and "-s" options are combined, to
356 add a column showing which entries belong to a given database.
357 * modified the clear program to take into account the "E3" extended
358 capability to clear the terminal's scrollback buffer.
362 Along with the library and utilities, many improvements were made to
363 the [38]ncurses-examples. Some were made to allow building (and
364 comparison-testing) against NetBSD curses and PDCurses. Both lack some
365 of the X/Open Curses features, necessitating customization. But this
366 activity was useful because it showed some remaining performance
367 issues (which have been resolved in this release).
369 These changes were made to verify compatibility or compare performance
371 * made workarounds for compiling test-programs with NetBSD curses,
372 though it lacks some common functions such as [39]use_env.
373 * added dots_termcap test-program
374 * added dots_curses test-program, for comparison with the low-level
376 * added test_setupterm test-proram to demonstrate normal/error
377 returns from the setupterm and restartterm functions.
378 * added "-d", "-e" and "-q" options to the demo_terminfo and
379 demo_termcap test-programs.
380 * added "-y" option to demo_termcap and test/demo_terminfo
381 test-programs to demonstrate behavior with/without extended
383 * modified demo_termcap and demo_terminfo test-programs to make
384 their options more directly comparable, and add "-i" option to
385 specify a terminal description filename to parse for names to
387 * rewrote the tests for [40]mvderwin and test for recursive
388 [41]mvwin in the movewindow test-program.
390 These changes were made to help with the MinGW port:
391 * added test-screens to the ncurses test-program to show
392 256-characters at a time, to help with MinGW port.
393 * modified the view test-program to load UTF-8 when built with MinGW
394 by using regular win32 API because the MinGW functions mblen and
396 * added "-s" option to the view test-program to allow it to start in
397 single-step mode, reducing size of trace files when it is used for
398 debugging MinGW changes.
400 These changes were made to verify new extensions in ncurses:
401 * added [42]form_driver_w entrypoint to wide-character forms
402 library, as well as form_driver_w test-program.
403 * modified ncurses test-program's b/B tests to display lines only
404 for the attributes which a given terminal supports, to make room
406 * modified ncurses test-program, adding "-E" and "-T" options to
407 demonstrate use_env versus use_tioctl.
408 * modified ncurses test-program's c/C tests to cycle through subsets
409 of the total number of colors, to better illustrate
410 8/16/88/256-colors by providing directly comparable screens.
411 * modified the ncurses test-program to also show position reports in
414 These changes were made to make the examples more useful:
415 * added scripts for building dpkg and rpm test-packages
416 * modified the hanoi test-program to show the minimum number of
417 moves possible for the given number of tiles.
418 * modified the knight test-program to show the number of choices
419 possible for each position in automove option, e.g., to allow user
420 to follow Warnsdorff's rule to solve the puzzle.
424 This release provides improvements to tic's "-c" checking option,
425 which was used for example to
426 * make sgr in several entries agree with other caps.
427 * correct padding in some entries where earlier versions had
428 miscounted the number of octal digits.
430 There are several new terminal descriptions:
431 * [43]mlterm is now aliased to mlterm3
432 * [44]nsterm is now derived from nsterm-256color
434 * [46]teken is FreeBSD's "xterm" console.
437 * [49]tmux is derived from screen.
438 * several screen.XXX entries support the respective variations for
440 * [50]simpleterm is now 0.5
441 * [51]vte is aliased to vte-2012
444 A few entries use extensions (user-defined terminal capabilities):
445 * E3, used in linux, putty and xterm-basic is tested in the
446 [53]clear program to erase a terminal's scrollback.
447 * TS is used in the [54]xterm+sl building block to help deprecate
448 the misuse of tsl for xterm's title-string.
449 * XT is used in some terminfo entries to improve usefulness for
450 other applications than screen, which would like to pretend that
451 xterm's title is a status-line.
452 * xm is used in examples [55]xterm-1005 and [56]xterm-1006 to
453 illustrate a way to make mouse handling more general
455 A few terminals support italics and/or dim capabilities. In
456 particular, screen does not. Documented that, and accommodated the
457 terminals where this feature works with the A_ITALIC extension.
458 * konsole, mlterm3 (italics)
462 * xterm (dim, italics)
466 As usual, this release
467 * improves documentation by describing new features,
468 * attempts to improve the description of features which users have
470 * fills in overlooked descriptions of features which were described
471 in the [57]NEWS file but treated sketchily in manual pages.
473 In addition, the mechanism for producing HTML versions of the
474 documentation has been improved:
475 * use an improved version of [58]man2html to generate html manpages.
476 * regenerated [59]NCURSES-Programming-HOWTO.html to fix some of the
477 broken html emitted by docbook.
479 Interesting bug-fixes
482 + modify makefile rules to ensure that the PIC option is not
483 used when building a static library
484 + make Ada95 build-fix for big-endian architectures such as
485 sparc. This undoes one of the fixes from [60]20110319, which
486 added an "Unused" member to representation clauses, replacing
487 that with pragmas to suppress warnings about unused bits.
488 * Color and attributes:
489 + parenthesize parameter of COLOR_PAIR and PAIR_NUMBER in
490 curses.h in case it happens to be a comma-expression.
491 + improve [61]20021221 workaround for broken acs, handling a
492 case where that ACS_xxx character is not in the acsc string
493 but there is a known wide-character which can be used.
494 + modify [62]init_pair to accept -1's for color value after
495 [63]assume_default_colors has been called.
496 + add a check in [64]start_color to limit color-pairs to 256
497 when extended colors are not supported.
498 * Resizing the screen:
499 + propagate error-returns from wresize, i.e., the internal
500 increase_size and decrease_size functions through
502 + add check for zero/negative dimensions for resizeterm and
504 + modify resizeterm to always push a KEY_RESIZE onto the fifo,
505 even if screensize is unchanged. Modify library to push a
506 KEY_RESIZE if there was a SIGWINCH, even if it does not call
507 resizeterm). These changes eliminate the case where a
508 SIGWINCH is received, but ERR is returned from wgetch or
509 wgetnstr because the screen dimensions did not change.
510 * Low-level interfaces
511 + fix an old bug in the termcap emulation; "%i" was ignored in
512 tparm because the parameters to be incremented were already
513 on the internal stack.
514 + change "%l" behavior in tparm to push the string length onto
515 the stack rather than saving the formatted length into the
517 + modify name-comparison for tgetstr, etc., to accommodate
518 legacy applications as well as to improve compatbility with
519 BSD 4.2 termcap implementations (see note for [66]980725).
520 * High-level interfaces
521 + modify internal recursion in wgetch which handles cooked mode
522 to check if the call to wgetnstr returned an error. This can
523 happen when both nocbreak and nodelay are set, for instance
524 (see note for [67]960418).
525 + add a check in internal function waddch_nosync to ensure that
526 tab characters are treated as control characters; some broken
527 locales claim they are printable.
528 + modify menu library to ensure that a menu's top-row is
529 adjusted as needed to ensure that the current item is on the
531 + fix special case where double-width character overwrites a
532 single- width character in the first column.
534 Configuration changes
538 The ncurses 6.0 configure script makes changes to the default value of
539 several configure options, depending on the --with-abi-version option
540 (i.e., whether its value is "5" or "6"):
543 Feature introduced in [68]970405 supports the use of const
544 where X/Open Curses should have, but did not. NetBSD curses
545 does something similar with const.
548 Extends the cchar_t structure to allow more than 16 colors to
549 be encoded. This applies only to the wide-character
550 (--enable-widec) configuration.
553 Modifies the encoding of mouse state to make room for a 5th
554 mouse button. That allows one to use ncurses with a wheel mouse
555 with xterm or similar X terminal emulators.
558 Modifies the file-format written by putwin to use printable
559 text rather than binary files, allowing getwin to read screen
560 dumps written by differently-configured ncurses libraries. The
561 extended getwin can still read binary screen dumps from the
562 same configuration of ncurses. This does not change the ABI
563 (the binary interface seen by calling applications).
566 Modifies the FIELDTYPE structure used for the form library to
567 make it more generic.
570 Allows an application to define _LP64 to declare chtype and
571 mmask_t as simply "unsigned" rather than the configured types
572 using the --with-chtype and --with-mmask_t options.
575 Compile-in support for extended functions which accept a SCREEN
576 pointer, reducing the need for juggling the global SP value
577 with [69]set_term and [70]delscreen.
579 --with-chtype=uint32_t
580 Makes chtype explicitly a 32-bit unsigned value.
582 --with-mmask_t=uint32_t
583 Makes mmask_t explicitly a 32-bit unsigned value.
585 --with-tparm-arg=intptr_t
586 X/Open Curses declares [71]tparm using long for each of the
587 parameters aside from the formatting string, presuming that
588 long and char* are the same size. This configure option uses
589 intptr_t which provides a better guarantee of the sizes.
591 The configure script no longer checks for antique compilers; c89 is
592 assumed as a minimum. There are a few features from later revisions
593 which are used when available. The configure script makes checks to
594 turn on useful warnings from clang, gcc and icc. You should be able to
595 build ncurses 6.0 with any of the current (or not so current) C
596 compilers available in 2015.
598 The configure script, by the way, makes changes which do not work with
599 systems whose /bin/sh is non-POSIX. This mainly affects Solaris (the
600 other vendor unix systems have followed the POSIX guidelines for the
601 past twenty years). If you must build on Solaris, its [72]xpg4
602 binaries suffice, e.g.,
605 WHAT=`hostname|sed -e 's/\..*//'`
615 if test -f /usr/xpg4/bin/sh
617 CONFIG_SHELL=/usr/xpg4/bin/sh
622 rm -f config.status config.cache
624 $SHELL ./configure --verbose \
626 --disable-overwrite \
629 --prefix=$TOP $* 2>&1 | tee -a $OUT
631 Other major changes to the configure script include:
632 * ABI 6 is now the default, intending that the existing ABI 5 should
633 build as before using the "--with-abi-version=5" option.
634 * added --with-extra-suffix option to help with installing
635 nonconflicting ncurses6 packages, e.g., avoiding header- and
637 NOTE: as a side-effect, this renames
639 adacurses-config to adacurses5-config and
640 adacursesw-config to adacursesw5-config
641 * the configure script looks for gnatgcc if the Ada95 binding is
642 built, in preference to the default gcc/cc. The script also
643 ensures that the Ada95 binding is built with the level of
644 optimization as the C libraries.
645 * the configure script captures define's related to -D_XOPEN_SOURCE
646 from the configure check and adds those to the *-config and *.pc
647 files, to simplify use for the wide-character libraries.
649 Configuration options
651 There are several new (or extended) configure options:
654 Do not install the terminal database. This is used to omit
655 features for packages, as done with --without-progs. The option
656 simplifies building cross-compile support packages.
658 --disable-gnat-projects
659 This option is used for regression testing
661 --disable-lib-suffixes
662 Suppress the "w", "t" or "tw" suffixes which normally would be
663 added to the library names for the --enable-widec and
664 --with-pthread options.
667 When --with-shared is set, build libncurses++ as a shared
668 library. This implicitly relies upon building with gcc/g++,
669 since other compiler suites may have differences in the way
670 shared libraries are built. libtool by the way has similar
674 Extended this configure option to simplify building with
675 different versions of Berkeley database using FreeBSD ports.
678 If ".pc" files are installed, optionally add a suffix to the
679 files and corresponding package names to separate unusual
680 configurations. If no option value is given (or if it is
681 "none"), no suffix is added. This option is used in the test
682 package for ncurses6.
685 Configure xterm's terminfo entries to use either BS (^H, i.e.,
686 ASCII backspace) or DEL (^?, or 127).
692 Most of the portability-related work since [73]ncurses 5.9 extended
693 and improved the MinGW port introduced in [74]ncurses 5.8.
695 The MinGW port can be readily cross-compiled:
696 * modified configure script to allow creating dll's for MinGW when
698 * enforced Windows-style path-separator if cross-compiling,
699 * added scripts for test-builds of cross-compiled packages for
701 * added pc-files to the MinGW cross-compiling test-packages.
702 * added script for building test-packages of binaries cross-compiled
704 * added nc_mingw.h to installed headers for MinGW port; this is
705 needed for cross-compiling [75]ncurses-examples.
706 * added test-packages for cross-compiling ncurses-examples using the
709 The MinGW-specific Windows driver accounts for several changes:
710 * wide-character display is made usable by replacing MinGW's
711 non-working wcrtomb and wctomb functions.
712 * implemented some display features: [76]beep, [77]flash,
714 * the driver handles repainting on endwin/refresh combination.
715 * modified treatment of TERM variable for MinGW port to allow
716 explicit use of the Windows console driver by checking if $TERM is
717 set to "#win32console" or an abbreviation of that.
718 * the Windows driver also matches the special TERM value "unknown"
719 * the driver now returns characters for special keys, (like ansi.sys
720 does), when keypad mode is off, rather than returning nothing at
722 * the driver checks a new environment variable [79]NCURSES_CONSOLE2
723 to optionally work around a deficiency in Console2 (and its
724 descendent ConsoleZ) which hang when an application creates a
727 Finally, there are other improvements:
728 * MinGW is one of the configurations where ncurses installs by
730 * configuration for cross-compiling uses AC_CHECK_TOOLS in
731 preference to AC_PATH_PROGS when searching for ncurses*-config,
732 e.g., in Ada95/configure and test/configure.
733 * extend Windows support to work with MSYS2;
734 + this works with a scenario where there is an ANSI-escape
735 handler such as ansicon running in the console window.
736 + wrap isatty calls with a macro, provide a corresponding set
737 of support routines to address differences between MinGW and
739 * ensure WINVER is defined in makefiles rather than using headers.
740 * add check for the gnatprep "-T" option.
741 * work around a bug introduced by [80]gcc 4.8.1 in MinGW which
742 breaks "trace" feature.
743 * add a driver-name method to each of the drivers.
747 These changes affect certain platforms (ports):
748 * the configure script knows how to build shared libraries with
749 DragonFlyBSD and Interix.
750 * support for AIX shared libraries is improved, tested with AIX 5.3,
751 6.1 and 7.1 with both gcc 4.2.4 and cc:
752 + the shared-library suffix for AIX 5 and 6 is now ".so"
753 + the -brtl option is used with AIX 5-7; it is needed to link
754 with the shared libraries.
755 * the configure --enable-pc-files option takes into account the
756 [81]PKG_CONFIG_PATH variable.
757 * the configure option --with-pkg-config-libdir provides control
758 over the actual directory into which pc-files are installed.
759 * the build scripts add explicit -ltinfo, etc., to the generated
760 ".pc" file when ld option "--as-needed" is used, or when ncurses
761 and tinfo are installed without using rpath.
762 * the configure script disallows conflicting options
763 "--with-termlib" and "--enable-term-driver".
764 * the check for missing c++ compiler to work when no error is
765 reported, and no variables set is improved (see note for
767 * the misc/gen_edit.sh script selects a "linux" entry which works
768 with the current kernel rather than assuming it is always
770 * the test/configure script makes it simpler to override names of
771 curses-related libraries, to help with linking with pdcurses in
773 * the configure-script/ifdef's allow the BSD OLD_TTY feature to be
774 suppressed if the type of ospeed is configured using the option
775 --with-ospeed to not be a short. By default, it is a short for
776 termcap-compatibility.
777 * the MKlib_gen.sh script works around a recent change in gcc 5
778 (released [83]mid-2015) which essentially emits multiple #line
779 statements for the same position in a file.
780 * the configure script works with Minix3.2 (see [84]note on
783 + the configure script supports OS/2 kLIBC.
784 + the --with-lib-prefix option allows configuring for old/new
786 * improved configure-script checks for _XOPEN_SOURCE:
787 + the definition works starting with Solaris 10.
788 + the definition is suppressed for IRIX64, since its header
789 files have a conflict versus _SGI_SOURCE.
790 _________________________________________________________________
794 The ncurses package is fully upward-compatible with SVr4 (System V
796 * All of the SVr4 calls have been implemented (and are documented).
797 * ncurses supports all of the for SVr4 curses features including
798 keyboard mapping, color, forms-drawing with ACS characters, and
799 automatic recognition of keypad and function keys.
800 * ncurses provides these SVr4 add-on libraries (not part of X/Open
802 + the panels library, supporting a stack of windows with
804 + the menus library, supporting a uniform but flexible
805 interface for menu programming.
806 + the form library, supporting data collection through
808 * ncurses's terminal database is fully compatible with that used by
810 + ncurses supports user-defined capabilities which it can see,
811 but which are hidden from SVr4 curses applications using the
812 same terminal database.
813 + It can be optionally configured to match the format used in
814 related systems such as AIX and Tru64.
815 + Alternatively, ncurses can be configured to use hashed
816 databases rather than the directory of files used by SVr4
818 * The ncurses utilities have options to allow you to filter terminfo
819 entries for use with less capable curses/terminfo versions such as
820 the HP/UX and AIX ports.
822 The ncurses package also has many useful extensions over SVr4:
823 * The API is 8-bit clean and base-level conformant with the X/OPEN
824 curses specification, XSI curses (that is, it implements all BASE
825 level features, and most EXTENDED features). It includes many
826 function calls not supported under SVr4 curses (but portability of
827 all calls is documented so you can use the SVr4 subset only).
828 * Unlike SVr3 curses, ncurses can write to the rightmost-bottommost
829 corner of the screen if your terminal has an insert-character
831 * Ada95 and C++ bindings.
832 * Support for mouse event reporting with X Window xterm and FreeBSD
833 and OS/2 console windows.
834 * Extended mouse support via Alessandro Rubini's gpm package.
835 * The function wresize allows you to resize windows, preserving
837 * The function use_default_colors allows you to use the terminal's
838 default colors for the default color pair, achieving the effect of
840 * The functions keyok and define_key allow you to better control the
841 use of function keys, e.g., disabling the ncurses KEY_MOUSE, or by
842 defining more than one control sequence to map to a given key
844 * Support for 256-color terminals, such as modern xterm.
845 * Support for 16-color terminals, such as aixterm and modern xterm.
846 * Better cursor-movement optimization. The package now features a
847 cursor-local-movement computation more efficient than either BSD's
849 * Super hardware scrolling support. The screen-update code
850 incorporates a novel, simple, and cheap algorithm that enables it
851 to make optimal use of hardware scrolling, line-insertion, and
852 line-deletion for screen-line movements. This algorithm is more
853 powerful than the 4.4BSD curses quickch routine.
854 * Real support for terminals with the magic-cookie glitch. The
855 screen-update code will refrain from drawing a highlight if the
856 magic- cookie unattributed spaces required just before the
857 beginning and after the end would step on a non-space character.
858 It will automatically shift highlight boundaries when doing so
859 would make it possible to draw the highlight without changing the
860 visual appearance of the screen.
861 * It is possible to generate the library with a list of pre-loaded
862 fallback entries linked to it so that it can serve those terminal
863 types even when no terminfo tree or termcap file is accessible
864 (this may be useful for support of screen-oriented programs that
865 must run in single-user mode).
866 * The [85]tic/[86]captoinfo utility provided with ncurses has the
867 ability to translate many termcaps from the XENIX, IBM and AT&T
869 * A BSD-like [87]tset utility is provided.
870 * The ncurses library and utilities will automatically read terminfo
871 entries from $HOME/.terminfo if it exists, and compile to that
872 directory if it exists and the user has no write access to the
873 system directory. This feature makes it easier for users to have
874 personal terminfo entries without giving up access to the system
876 * You may specify a path of directories to search for compiled
877 descriptions with the environment variable TERMINFO_DIRS (this
878 generalizes the feature provided by TERMINFO under stock System
880 * In terminfo source files, use capabilities may refer not just to
881 other entries in the same source file (as in System V) but also to
882 compiled entries in either the system terminfo directory or the
883 user's $HOME/.terminfo directory.
884 * The table-of-entries utility [88]toe makes it easy for users to
885 see exactly what terminal types are available on the system.
886 * The library meets the XSI requirement that every macro entry point
887 have a corresponding function which may be linked (and will be
888 prototype-checked) if the macro definition is disabled with
890 * Extensive documentation is provided (see the [89]Additional
891 Reading section of the [90]ncurses FAQ for online documentation).
893 Applications using ncurses
895 The ncurses distribution includes a selection of test programs
896 (including a few games). These are available separately as
899 The ncurses library has been tested with a wide variety of
900 applications including:
903 Curses Development Kit
905 [92]http://invisible-island.net/cdk/
910 [93]http://invisible-island.net/ded/
913 the underlying application used in Slackware's setup, and the
914 basis for similar install/configure applications on many
917 [94]http://invisible-island.net/dialog/
922 [95]http://lynx.isc.org/
927 [96]http://www.midnight-commander.org/
932 [97]http://www.mutt.org/
935 file-transfer utility
937 [98]http://www.ncftp.com/
942 [99]https://sites.google.com/a/bostic.com/keithbostic/nvi
945 newsreader, supporting color, MIME
947 [100]http://www.tin.org/
949 as well as some that use ncurses for the terminfo support alone:
952 terminal emulator for serial modem connections
954 [101]http://alioth.debian.org/projects/minicom/
957 a replacement for ssh.
959 [102]https://mosh.mit.edu/
962 terminfo action checker
964 [103]http://invisible-island.net/ncurses/tack.html
969 [104]http://tmux.github.io/
972 vi-like-emacs may be built to use the terminfo, termcap or
975 [105]http://invisible-island.net/vile/
977 and finally, those which use only the termcap interface:
982 [106]http://www.gnu.org/software/emacs/
987 [107]http://www.gnu.org/software/screen/
992 [108]http://www.vim.org/
994 Development activities
996 Zeyd Ben-Halim started ncurses from a previous package pcurses,
997 written by Pavel Curtis. Eric S. Raymond continued development.
998 Juergen Pfeifer wrote most of the form and menu libraries. Ongoing
999 development work is done by [109]Thomas Dickey. Thomas Dickey also
1000 acts as the maintainer for the Free Software Foundation, which holds
1001 the [110]copyright on ncurses.
1003 Contact the current maintainers at
1005 [111]bug-ncurses@gnu.org
1007 To join the ncurses mailing list, please write email to
1009 [112]bug-ncurses-request@gnu.org
1011 containing the line:
1013 subscribe <name>@<host.domain>
1015 This list is open to anyone interested in helping with the development
1016 and testing of this package.
1018 Beta versions of ncurses and patches to the current release are made
1021 [113]ftp://invisible-island.net/ncurses/ .
1023 There is an archive of the mailing list here:
1025 [114]http://lists.gnu.org/archive/html/bug-ncurses (also
1030 The release notes make scattered references to these pages, which may
1031 be interesting by themselves:
1033 * [117]ncurses licensing
1034 * [118]Symbol versioning in ncurses
1035 * [119]The MinGW port of ncurses
1036 * [120]tack - terminfo action checker
1037 * [121]tar versus portability
1038 * [122]tctest - termcap library checker
1039 * [123]Terminal Database
1043 The distribution provides a newer version of the terminfo-format
1044 terminal description file once maintained by [124]Eric Raymond .
1045 Unlike the older version, the termcap and terminfo data are provided
1046 in the same file, and provides several user-definable extensions
1047 beyond the X/Open specification.
1049 You can find lots of information on terminal-related topics not
1050 covered in the terminfo file at [125]Richard Shuford's archive .
1053 * [127]Release Notes
1054 + [128]Library improvements
1055 o [129]Output buffering
1056 o [130]Symbol versioning
1057 o [131]Miscellaneous
1058 + [132]Program improvements
1061 + [135]Terminal database
1062 + [136]Documentation
1063 + [137]Interesting bug-fixes
1064 + [138]Configuration changes
1065 o [139]Major changes
1066 o [140]Configuration options
1070 * [144]Features of ncurses
1071 * [145]Applications using ncurses
1072 * [146]Development activities
1073 * [147]Related resources
1074 * [148]Other resources
1078 1. http://invisible-island.net/ncurses/man/captoinfo.1m.html
1079 2. http://invisible-island.net/ncurses/man/clear.1.html
1080 3. http://invisible-island.net/ncurses/man/infocmp.1m.html
1081 4. http://invisible-island.net/ncurses/man/tabs.1.html
1082 5. http://invisible-island.net/ncurses/man/tic.1m.html
1083 6. http://invisible-island.net/ncurses/man/toe.1m.html
1084 7. http://invisible-island.net/ncurses/man/tput.1.html
1085 8. http://invisible-island.net/ncurses/man/tset.1.html
1086 9. ftp://ftp.gnu.org/gnu/ncurses/
1087 10. ftp://invisible-island.net/ncurses/
1088 11. http://invisible-island.net/ncurses/tctest.html
1089 12. http://invisible-island.net/ncurses/ncurses-examples.html
1090 13. http://lists.gnu.org/archive/html/bug-ncurses/2012-07/msg00029.html
1091 14. http://invisible-island.net/ncurses/NEWS.html#t20050101
1092 15. http://invisible-island.net/ncurses/announce-5.5.html
1093 16. http://invisible-island.net/ncurses/ncurses-mapsyms.html
1094 17. http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-initscr
1095 18. http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-newterm
1096 19. http://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-Initialization
1097 20. http://invisible-island.net/ncurses/man/ncurses.3x.html#h3-NCURSES_NO_SETBUF
1098 21. http://invisible-island.net/ncurses/man/curs_terminfo.3x.html
1099 22. http://invisible-island.net/ncurses/man/curs_kernel.3x.html#h3-reset_prog_mode_-reset_shell_mode
1100 23. http://invisible-island.net/ncurses/man/curs_kernel.3x.html#h3-reset_prog_mode_-reset_shell_mode
1101 24. http://invisible-island.net/ncurses/man/curs_printw.3x.html
1102 25. http://invisible-island.net/ncurses/ncurses-mapsyms.html
1103 26. http://invisible-island.net/ncurses/tack.html
1104 27. http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-use_tioctl
1105 28. http://invisible-island.net/ncurses/man/curs_opaque.3x.html
1106 29. http://invisible-island.net/ncurses/man/curs_attr.3x.html#h2-PORTABILITY
1107 30. http://invisible-island.net/ncurses/man/form_field_opts.3x.html
1108 31. http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-putwin_getwin
1109 32. http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-putwin_getwin
1110 33. http://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-Formatting-Output
1111 34. http://invisible-island.net/ncurses/tctest.html
1112 35. http://invisible-island.net/ncurses/tctest.html#my-better-translation
1113 36. http://invisible-island.net/ncurses/NEWS.html#t980103
1114 37. https://svnweb.freebsd.org/base/head/lib/libc/gen/getcap.c?revision=244092&view=markup#l784
1115 38. http://invisible-island.net/ncurses/ncurses-examples.html
1116 39. http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-use_env
1117 40. http://invisible-island.net/ncurses/man/curs_window.3x.html#h3-derwin
1118 41. http://invisible-island.net/ncurses/man/curs_window.3x.html#h3-mvwin
1119 42. http://invisible-island.net/ncurses/man/form_driver.3x.html#h3-form_driver_w
1120 43. http://invisible-island.net/ncurses/terminfo.src.html#toc-_M_L_T_E_R_M
1121 44. http://invisible-island.net/ncurses/terminfo.src.html#tic-nsterm
1122 45. http://invisible-island.net/ncurses/terminfo.src.html#tic-putty-sco
1123 46. http://invisible-island.net/ncurses/terminfo.src.html#tic-teken
1124 47. http://invisible-island.net/ncurses/terminfo.src.html#toc-_T_E_R_M_I_N_A_T_O_R
1125 48. http://invisible-island.net/ncurses/terminfo.src.html#toc-_T_E_R_M_I_N_O_L_O_G_Y
1126 49. http://invisible-island.net/ncurses/terminfo.src.html#tic-tmux
1127 50. http://invisible-island.net/ncurses/terminfo.src.html#toc-_S_I_M_P_L_E_T_E_R_M
1128 51. http://invisible-island.net/ncurses/terminfo.src.html#tic-vte
1129 52. http://invisible-island.net/ncurses/terminfo.src.html#tic-vt520ansi
1130 53. http://aerie.jexium-island.net/ncurses/man/clear.1.html
1131 54. http://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_sl
1132 55. http://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-1005
1133 56. http://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-1006
1134 57. http://invisible-island.net/ncurses/NEWS.html
1135 58. http://invisible-island.net/scripts/man2html.html
1136 59. http://invisible-island.net/ncurses/NCURSES-Programming-HOWTO.html
1137 60. http://invisible-island.net/ncurses/NEWS.html#t20110319
1138 61. http://invisible-island.net/ncurses/NEWS.html#t20021221
1139 62. http://invisible-island.net/ncurses/man/curs_color.3x.html#h3-Routine-Descriptions
1140 63. http://invisible-island.net/ncurses/man/default_colors.3x.html
1141 64. http://invisible-island.net/ncurses/man/curs_color.3x.html#h3-Routine-Descriptions
1142 65. http://invisible-island.net/ncurses/man/resizeterm.3x.html
1143 66. http://invisible-island.net/ncurses/NEWS.html#t980725
1144 67. http://invisible-island.net/ncurses/NEWS.html#t960418
1145 68. http://invisible-island.net/ncurses/NEWS.html#t970405
1146 69. http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-set_term
1147 70. http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-delscreen
1148 71. http://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-Formatting-Output
1149 72. http://docs.oracle.com/cd/E19253-01/html/817-0552/fhkpy.html
1150 73. http://invisible-island.net/ncurses/announce-5.9.html
1151 74. http://invisible-island.net/ncurses/announce-5.8.html
1152 75. http://invisible-island.net/ncurses/ncurses-examples.html
1153 76. http://invisible-island.net/ncurses/man/curs_beep.3x.html
1154 77. http://invisible-island.net/ncurses/man/curs_beep.3x.html
1155 78. http://invisible-island.net/ncurses/man/curs_kernel.3x.html#h3-curs_set
1156 79. http://invisible-island.net/ncurses/man/ncurses.3x.html#h3-NCURSES_CONSOLE2
1157 80. http://stackoverflow.com/questions/20877689/gcc-4-8-1-minggw-d-option-does-not-work-as-usual
1158 81. http://linux.die.net/man/1/pkg-config
1159 82. http://invisible-island.net/ncurses/NEWS.html#t20021206
1160 83. https://gcc.gnu.org/gcc-5/
1161 84. http://invisible-island.net/autoconf/portability-test.html
1162 85. http://invisible-island.net/ncurses/man/tic.1m.html
1163 86. http://invisible-island.net/ncurses/man/captoinfo.1m.html
1164 87. http://invisible-island.net/ncurses/man/tset.1.html
1165 88. http://invisible-island.net/ncurses/man/toe.1m.html
1166 89. http://invisible-island.net/ncurses/ncurses.faq.html#additional_reading
1167 90. http://invisible-island.net/ncurses/ncurses.faq.html
1168 91. http://invisible-island.net/ncurses/ncurses-examples.html
1169 92. http://invisible-island.net/cdk/
1170 93. http://invisible-island.net/ded/
1171 94. http://invisible-island.net/dialog/
1172 95. http://lynx.isc.org/
1173 96. http://www.midnight-commander.org/
1174 97. http://www.mutt.org/
1175 98. http://www.ncftp.com/
1176 99. https://sites.google.com/a/bostic.com/keithbostic/nvi
1177 100. http://www.tin.org/
1178 101. http://alioth.debian.org/projects/minicom/
1179 102. https://mosh.mit.edu/
1180 103. http://invisible-island.net/ncurses/tack.html
1181 104. http://tmux.github.io/
1182 105. http://invisible-island.net/vile/
1183 106. http://www.gnu.org/software/emacs/
1184 107. http://www.gnu.org/software/screen/
1185 108. http://www.vim.org/
1186 109. mailto:dickey@invisible-island.net
1187 110. http://invisible-island.net/ncurses/ncurses-license.html
1188 111. mailto:bug-ncurses@gnu.org
1189 112. mailto:bug-ncurses-request@gnu.org
1190 113. ftp://invisible-island.net/ncurses/
1191 114. http://lists.gnu.org/archive/html/bug-ncurses
1192 115. https://lists.gnu.org/archive/html/bug-ncurses
1193 116. http://invisible-island.net/scripts/man2html.html
1194 117. http://invisible-island.nethttp://invisible-island.net/ncurses/ncurses-license.html
1195 118. http://invisible-island.net/ncurses/ncurses-mapsyms.html
1196 119. http://invisible-island.net/ncurses/ncurses-mingw.html
1197 120. http://invisible-island.net/ncurses/tack.html
1198 121. http://invisible-island.net/autoconf/portability-tar.html
1199 122. http://invisible-island.net/ncurses/tctest.html
1200 123. http://invisible-island.net/ncurses/ncurses.html#download_database
1201 124. http://www.catb.org/~esr/terminfo/
1202 125. http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal
1203 126. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h2-overview
1204 127. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h2-release-notes
1205 128. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h3-library
1206 129. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h3-lib-setbuf
1207 130. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h3-lib-versioning
1208 131. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h3-lib-other
1209 132. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h3-programs
1210 133. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h4-utilities
1211 134. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h4-examples
1212 135. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h3-database
1213 136. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h3-documentation
1214 137. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h3-bug-fixes
1215 138. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h3-config-config
1216 139. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h4-config-major
1217 140. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h4-config-options
1218 141. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h3-portability
1219 142. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h4-port-mingw
1220 143. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h4-port-systems
1221 144. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h2-features
1222 145. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h2-who-uses
1223 146. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h2-development
1224 147. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h2-this-stuff
1225 148. file:///usr/build/ncurses/ncurses-6.0-20150808/doc/html/announce.html#h2-other-stuff