]> ncurses.scripts.mit.edu Git - ncurses.git/commitdiff
ncurses 5.2 v5.2
authorThomas E. Dickey <dickey@invisible-island.net>
Sat, 21 Oct 2000 04:42:11 +0000 (00:42 -0400)
committerThomas E. Dickey <dickey@invisible-island.net>
Sat, 21 Oct 2000 04:42:11 +0000 (00:42 -0400)
207 files changed:
ANNOUNCE
Ada95/gen/Makefile.in
Ada95/gen/gen.c
Ada95/gen/terminal_interface-curses-forms.ads.m4
Ada95/gen/terminal_interface-curses-menus.ads.m4
Ada95/samples/Makefile.in
Ada95/samples/sample-explanation.ads
Ada95/samples/sample-text_io_demo.adb
Ada95/samples/sample.adb
Ada95/src/Makefile.in
Ada95/src/terminal_interface-curses-text_io.adb
Ada95/src/terminal_interface-curses.adb
INSTALL
MANIFEST
Makefile.glibc
Makefile.in
Makefile.os2
NEWS
README
README.emx
aclocal.m4
announce.html.in
c++/Makefile.in
c++/cursesf.cc
c++/cursesf.h
c++/cursesp.cc
c++/cursesw.cc
c++/cursslk.cc
c++/internal.h
config.guess
config.sub
configure
configure.in
convert_configure.pl
dist.mk
doc/html/ada/terminal_interface-curses-forms-field_types-alpha__adb.htm
doc/html/ada/terminal_interface-curses-forms-field_types-alpha__ads.htm
doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__adb.htm
doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm
doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm
doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm
doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm
doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm
doc/html/ada/terminal_interface-curses-forms-field_types-intfield__adb.htm
doc/html/ada/terminal_interface-curses-forms-field_types-intfield__ads.htm
doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__adb.htm
doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm
doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm
doc/html/ada/terminal_interface-curses-forms-field_types-numeric__ads.htm
doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm
doc/html/ada/terminal_interface-curses-forms-field_types-regexp__ads.htm
doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__adb.htm
doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm
doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm
doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm
doc/html/ada/terminal_interface-curses-forms-field_types__adb.htm
doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm
doc/html/ada/terminal_interface-curses-forms-field_user_data__ads.htm
doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm
doc/html/ada/terminal_interface-curses-forms-form_user_data__ads.htm
doc/html/ada/terminal_interface-curses-forms__adb.htm
doc/html/ada/terminal_interface-curses-forms__ads.htm
doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm
doc/html/ada/terminal_interface-curses-menus-item_user_data__ads.htm
doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm
doc/html/ada/terminal_interface-curses-menus-menu_user_data__ads.htm
doc/html/ada/terminal_interface-curses-menus__adb.htm
doc/html/ada/terminal_interface-curses-menus__ads.htm
doc/html/ada/terminal_interface-curses-text_io__adb.htm
doc/html/ada/terminal_interface-curses__adb.htm
doc/html/ada/terminal_interface-curses__ads.htm
doc/html/announce.html
doc/html/man/captoinfo.1m.html
doc/html/man/curs_color.3x.html
doc/html/man/curs_extend.3x.html
doc/html/man/curs_scanw.3x.html
doc/html/man/curs_trace.3x.html
doc/html/man/default_colors.3x.html [moved from doc/html/man/dft_fgbg.3x.html with 97% similarity]
doc/html/man/infocmp.1m.html
doc/html/man/infotocap.1m.html
doc/html/man/menu.3x.html
doc/html/man/menu_attributes.3x.html [moved from doc/html/man/menu_attribs.3x.html with 100% similarity]
doc/html/man/ncurses.3x.html
doc/html/man/term.5.html
doc/html/man/term.7.html
doc/html/man/terminfo.5.html
doc/html/man/tic.1m.html
doc/html/man/toe.1m.html
doc/html/man/tput.1.html
doc/html/man/tset.1.html
form/Makefile.in
form/fty_enum.c
include/Caps
include/MKncurses_def.sh [new file with mode: 0755]
include/MKparametrized.sh
include/Makefile.in
include/curses.h.in
include/edit_cfg.sh
include/ncurses_cfg.hin
include/ncurses_defs [new file with mode: 0644]
include/termcap.h.in
include/tic.h
man/Makefile.in
man/captoinfo.1m
man/clear.1
man/curs_color.3x
man/curs_extend.3x
man/curs_scanw.3x
man/curs_trace.3x
man/default_colors.3x [moved from man/dft_fgbg.3x with 96% similarity]
man/form_fieldtype.3x
man/infocmp.1m
man/infotocap.1m
man/man_db.renames
man/manlinks.sed
man/menu.3x
man/menu_attributes.3x [moved from man/menu_attribs.3x with 98% similarity]
man/ncurses.3x
man/panel.3x
man/term.5
man/term.7
man/terminfo.head
man/terminfo.tail
man/tic.1m
man/toe.1m
man/tput.1
man/tset.1
menu/Makefile.in
menu/menu.h
menu/mf_common.h
misc/Makefile.in
misc/emx.src
misc/indent.pro
misc/run_tic.in [moved from misc/run_tic.sh with 77% similarity, mode: 0644]
misc/terminfo.src
mk-1st.awk
mk-2nd.awk
ncurses/Makefile.in
ncurses/base/MKlib_gen.sh
ncurses/base/lib_addstr.c
ncurses/base/lib_color.c
ncurses/base/lib_colorset.c
ncurses/base/lib_getch.c
ncurses/base/lib_mouse.c
ncurses/base/lib_newterm.c
ncurses/base/lib_restart.c
ncurses/base/lib_set_term.c
ncurses/base/lib_winch.c
ncurses/curses.priv.h
ncurses/llib-lncurses
ncurses/modules
ncurses/tinfo/access.c
ncurses/tinfo/alloc_ttype.c
ncurses/tinfo/comp_parse.c
ncurses/tinfo/comp_scan.c
ncurses/tinfo/home_terminfo.c
ncurses/tinfo/lib_baudrate.c
ncurses/tinfo/lib_options.c
ncurses/tinfo/lib_raw.c
ncurses/tinfo/lib_setup.c
ncurses/tinfo/lib_termcap.c
ncurses/tinfo/lib_tgoto.c [new file with mode: 0644]
ncurses/tinfo/lib_tparm.c
ncurses/tinfo/lib_tputs.c
ncurses/tinfo/parse_entry.c
ncurses/tinfo/read_entry.c
ncurses/tinfo/read_termcap.c
ncurses/tinfo/strings.c [new file with mode: 0644]
ncurses/tinfo/write_entry.c
ncurses/trace/lib_traceatr.c
ncurses/trace/lib_tracebits.c
ncurses/tty/MKexpanded.sh
ncurses/tty/lib_mvcur.c
ncurses/tty/lib_tstp.c
ncurses/tty/lib_twait.c
ncurses/tty/lib_vidattr.c
ncurses/tty/tty_update.c
panel/Makefile.in
panel/panel.priv.h
progs/Makefile.in
progs/dump_entry.c
progs/infocmp.c
progs/progs.priv.h
progs/tic.c
progs/toe.c
progs/tput.c
progs/tset.c
tack/Makefile.in
tack/sysdep.c
test/Makefile.in
test/cardfile.c
test/configure
test/configure.in
test/filter.c
test/firework.c
test/gdc.c
test/hanoi.c
test/hashtest.c
test/knight.c
test/ncurses.c
test/railroad.c
test/rain.c
test/tclock.c
test/test.priv.h
test/view.c
test/worm.c
test/xmas.c

index 5ef8f3c2f963c630fadb54c58d3fdbce3be2437e..7b5f4efa69ae44ea29f14dc42e07bdc41dd5ca87 100644 (file)
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
 
-                            Announcing ncurses 5.1
+                            Announcing ncurses 5.2
 
    The ncurses (new curses) library is a free software emulation of
    curses in System V Release 4.0, and more. It uses terminfo format,
 
    The ncurses (new curses) library is a free software emulation of
    curses in System V Release 4.0, and more. It uses terminfo format,
 
                                  Release Notes
 
 
                                  Release Notes
 
-   This release is designed to be upward compatible from ncurses 5.0;
-   very few applications will require recompilation, depending on the
-   platform. These are the highlights from the change-log since ncurses
-   5.0 release.
+   This release is designed to be upward compatible from ncurses 5.0 and
+   5.1; very few applications will require recompilation, depending on
+   the platform. These are the highlights from the change-log since
+   ncurses 5.1 release.
 
    Interface changes:
 
    Interface changes:
-     * made the extended terminal capabilities
-       (configure --enable-tcap-names) a standard feature (though the
-       configure script can disable it, it is built by default).
-     * removed the trace() function and related trace support from the
-       production library. This is the only interface change that may
-       cause problems with existing applications linked to shared
-       libraries, since not all platforms use the minor version number.
-     * explicitly initialized to zero several data items which were
-       implicitly initialized, e.g., cur_term. If not explicitly
-       initialized, their storage type is C (common), and causes problems
-       linking on some platforms.
-     * modified curses.h.in, undef'ing some symbols to avoid conflict
-       with C++ STL.
-
-   New features:
-     * added a new extension, assume_default_colors() to provide better
-       control over the use of default colors. This is the principal
-       visible difference between ncurses 5.1 and preceding versions. The
-       new extension allows an application to specify what colors pair 0
-       uses.
-       NOTE: Pair 0 defaults to white on black unless you have invoked
-       use_default_colors() or set it via assume_default_colors(). An
-       application that calls start_colors() without setting the
-       background color will consistently have a black background no
-       matter what color your terminal's background actually is.
-     * made several fixes to the terminfo-to-termcap conversion, and have
-       been using the generated termcaps without further hand-tuning.
-       This builds on the extension use_extended_names() by adding
-       "obsolete" termcap strings to terminfo.src
-          + modified tic so that if extended names (i.e.,
-            configure --enable-tcap-names) are active, then tic -x will
-            also write "obsolete" capabilities that are present in the
-            terminfo source.
-          + added screen's AX capability (for ECMA SGR 39 and 49) to
-            applicable terminfo entries, use presence of this as a check
-            for a small improvement in setting default colors.
-          + add -a option to tic and infocmp, which retains commented-out
-            capabilities during source translation/comparison, e.g.,
-            captoinfo and infotocap.
-     * implemented limited support for UTF-8, useful with XFree86 xterm:
-          + if the configure --enable-widec option is given, append 'w'
-            to names of the generated libraries (e.g., libncursesw.so) to
-            avoid conflict with existing ncurses libraries.
-          + add a simple UTF-8 output driver to the experimental
-            wide-character support. If any of the environment variables
-            LC_ALL, LC_CTYPE or LANG contain the string "UTF-8", this
-            driver will be used to translate the output to UTF-8.
-          + modified view.c to make a rudimentary viewer of UTF-8 text.
-     * modify raw() and noraw() to clear/restore IEXTEN flag which
-       affects stty lnext on systems such as FreeBSD
-     * reordered tests during mouse initialization to allow for gpm to
-       run in xterm, or for xterm to be used under OS/2 EMX. Also dropped
-       test for $DISPLAY in favor of the terminfo capability kmous=\E[M
-       or if $TERM environment variable contains "xterm".
-     * added configure option --with-manpage-symlinks, which provides for
-       fully indexing manpage entries by making symbolic links for the
-       aliases.
-     * changed unctrl() to render C1 characters (128-159) as ~@, ~A, etc.
-     * add experimental configure option --enable-colorfgbg to check for
-       $COLORTERM variable as set by rxvt/aterm/Eterm.
-     * made the infocmp -F option less verbose.
-     * dropped support for gnat 3.10 (gnat 3.12 is current).
+     * change type of ospeed variable back to short to match its use in
+       legacy applications. It was altered after ncurses 4.2 to speed_t
+       to repair a type mismatch which was introduced after 1.9.4 in
+       1995. The principal users of termcap continued to use short, which
+       is not the same size.
+       NOTE: A few applications will have to be recompiled (about 1% of
+       the programs in a typical Linux distribution, 10% of the programs
+       that use ncurses). These are easy to identify with nm or strings.
+     * remove a private function _nc_can_clear_with(), which was built
+       with the configure --enable-expanded option but not used.
+     * add several private functions (prefixed with "_nc_") for tracing
+       chtype values in the debug library, and for better access and
+       buffer limit checking.
+
+   New features and improvements:
+     * rewrote tgoto() to make it better support existing termcap
+       applications which use hardcoded strings rather than obtain all of
+       their information from the termcap file. If the string does not
+       appear to be a terminfo string (i.e., does not refer to a "%p"
+       parameter, or terminfo-style padding), and termcap support is
+       configured, tgoto() will interpret it as termcap. Otherwise, as
+       before, it will use tparm().
+     * to ensure that the tgoto() changes work properly, added checks to
+       tic which report capabilities that do not reference the expected
+       number of parameters.
+     * new configure script options:
+          + option --disable-root-environ adds runtime checks which tell
+            ncurses to disregard $TERMINFO and similar environment
+            variables if the current user is root, or running
+            setuid/setgid.
+          + option --disable-assumed-color allows you to use the pre-5.1
+            convention of default colors used for color-pair 0 to be
+            configured (see assume_default_colors()).
+          + implement configure script options that transform installed
+            program names, e.g., --program-prefix, including the manpage
+            names and cross references.
+          + option --with-database allows you to specify a different
+            terminfo source-file to install. On OS/2 EMX, the default is
+            misc/emx.src, otherwise misc/terminfo.src
+          + option --with-default-terminfo-dir allows you to specify the
+            default terminfo database directory.
+          + option --with-libtool allows you to build with libtool.
+            NOTE: libtool uses a different notation for numbering shared
+            library versions from the existing ncurses configuration.
+          + option --with-manpage-tbl causes the manpages to be
+            preprocessed by tbl(1) prior to installation,
+          + option --without-curses-h causes the installation process to
+            install curses.h as ncurses.h and make appropriate changes to
+            headers and manpages.
+     * modified configure script options:
+          + change symbol used by the --install-prefix configure option
+            from INSTALL_PREFIX to DESTDIR (the latter has become common
+            usage although the name is misleading).
+          + modify ld -rpath options (e.g., Linux, and Solaris) to use an
+            absolute pathname for the build tree's lib directory,
+            avoiding confusion with directories relative to the current
+            one with the installed programs.
+          + modified misc/run_tic.in to use tic -o, to eliminate
+            dependency on $TERMINFO variable for installs.
+     * terminfo database:
+          + updated xterm terminfo entries to match XFree86 xterm patch
+            #146.
+          + added amiga-vnc, Matrix Orbital, and QNX qansi to
+            misc/terminfo.src.
+          + added os2 entry to misc/emx.src.
+          + add S0 and E0 extensions to screen's terminfo entry since
+            otherwise the FreeBSD port makes it pass termcap equivalents
+            to tgoto, which would be misinterpreted by older versions of
+            ncurses.
+     * improvements to program usability:
+          + modify programs to use curses_version() string to report the
+            version of ncurses with which they are compiled rather than
+            the NCURSES_VERSION string. The function returns the patch
+            level in addition to the major and minor version numbers.
+          + modify tput program so it can be renamed or invoked via a
+            link as 'reset' or 'init', producing the same effect as
+            tput reset or tput init.
+          + add error checking to infocmp's -v and -m options to ensure
+            that the option value is indeed a number.
+     * improved performance:
+          + replace a lookup table in lib_vidattr.c used to decode
+            no_color_video with a logic expression which is faster.
 
    Major bug fixes:
 
    Major bug fixes:
-     * modified infocmp -e, -E options to ensure that generated
-       fallback.c type for Booleans agrees with term.h
-     * documented a special case of incompatiblity between ncurses 4.2
-       and 5.0, added a section for this in INSTALL.
-     * corrected tests for file-descriptors in OS/2 EMX mouse support. A
-       negative value could be used by FD_SET, causing the select() call
-       to wait indefinitely.
-     * made 'tput flash' work properly for xterm by flushing output in
-       delay_output() when using napms(), and modifying xterm's terminfo
-       to specify no padding character. Otherwise, xterm's reported baud
-       rate could mislead ncurses into producing too few padding
-       characters.
-     * modified lib_addch.c to allow repeated update to the lower-right
-       corner, rather than displaying only the first character written
-       until the cursor is moved. Recent versions of SVr4 curses can
-       update the lower-right corner, and behave this way.
-     * modified echo() behavior of getch() to match Solaris curses for
-       carriage return and backspace (reported by Neil Zanella).
-     * corrected offsets used for subwindows in wresize()
-     * modified configure script so AC_MSG_ERROR is temporarily defined
-       to a warning in AC_PROG_CXX to make it recover from a missing C++
-       compiler without requiring user to add --without-cxx option
-     * corrected logic in lib_twait.c as used by lib_mouse.c for GPM
-       mouse support when poll() is used rather than select().
-     * made several fixes for buffer overflows, unchecked recursion,
-       improvements in performance, etc. See the NEWS file for details.
+     * correct manlinks.sed script introduced in ncurses 5.1 to avoid
+       using ERE "\+", which is not understood by standard versions of
+       sed. This happens to work with GNU sed, but is not portable, and
+       was the initial motivation for this release.
+     * remove "hpux10.*" case from CF_SHARED_OPTS configure script macro.
+       This differed from the "hpux*" case by using reversed symbolic
+       links, which made the 5.1 version not match the configuration of
+       5.0 shared libraries.
+     * guard against corrupt terminfo data:
+          + modify tparm() to disallow arithmetic on strings, analyze the
+            varargs list to read strings as strings and numbers as
+            numbers.
+          + modify tparm()'s internal function spop() to treat a null
+            pointer as an empty string.
+          + modify parse_format() in lib_tparm.c to ignore precision if
+            it is longer than 10000.
+          + rewrote limit checks in lib_mvcur.c using new functions
+            _nc_safe_strcat(), etc. Made other related changes to check
+            lengths used for strcat() and strcpy().
+     * corrections to screen optimization:
+          + added special case in lib_vidattr.c to reset underline and
+            standout for devices that have no sgr0 defined.
+          + change handling of non_dest_scroll_region in tty_update.c to
+            clear text after it is shifted in rather than before shifting
+            out. Also correct row computation.
+          + modify rs2 capability in xterm-r6 and similar entries where
+            cursor save/restore bracketed the sequence for resetting
+            video attributes. The cursor restore would undo that.
+     * UTF-8 support:
+          + when checking LC_ALL, LC_CTYPE, and LANG environment
+            variables for UTF-8 locale, ignore those which are set to an
+            empty value, as per SUSV2.
+          + encode 0xFFFD in UTF-8 with 3 bytes, not 2.
+          + modify _nc_utf8_outch() to avoid sign-extension when checking
+            for out-of-range value.
+     * other library fixes:
+          + added checks for an empty $HOME environment variable, to
+            avoid retrieving terminfo descriptions from ./.terminfo .
+          + change functions _nc_parse_entry() and postprocess_termcap()
+            to avoid using strtok(), because it is non-reentrant.
+          + initialize fds[] array to 0's in _nc_timed_wait(); apparently
+            poll() only sets the revents members of that array when there
+            is activity corresponding to the related file.
+          + add a check for null pointer in Make_Enum_Type().
+          + fix a heap problem with the c++ binding.
+          + correct missing includes for <string.h> in several places,
+            including the C++ binding. This is not noted by gcc unless we
+            use the -fno-builtin option.
+     * several fixes for tic:
+          + add a check for empty buffers returned by fgets() in
+            comp_scan.c next_char() function, in case tic is run on a
+            non-text file (fixes a core dump).
+          + modify tic to verify that its inputs are really files, in
+            case someone tries to read a directory (or /dev/zero).
+          + correct an uninitialized parameter to open_tempfile() in
+            tic.c which made "tic -I" give an ambiguous error message
+            about tmpnam.
+          + correct logic in adjust_cancels(), which did not check both
+            alternatives when reclassifying an extended name between
+            boolean, number and string, causing an infinite loop in tic.
+     * using new checks in tic for parameter counts in capability
+       strings, found/fixed several errors both in the terminfo database
+       and in the include/Caps file.
+          + modified several terminfo capability strings, including the
+            definitions for setaf, setab, in include/Caps to indicate
+            that the entries are parameterized. This information is used
+            to tell which strings are translated when converting to
+            termcap. This fixes a problem where the generated termcap
+            would contain a spurious "%p1" for the terminfo "%p1%d".
+          + correct parameter counts in include/Caps for dclk as well as
+            some printer-specific capabilities: csnm, defc, scs, scsd,
+            smgtp, smglp.
+     * various fixes for install scripts used to support configure
+       --srcdir and --with-install-prefix.
+     * correct several mismatches between manpage filename and ".TH"
+       directives, renaming dft_fgbg.3x to default_colors.3x and
+       menu_attribs.3x to menu_attributes.3x.
+
+   Portability:
+     * configure script:
+          + newer config.guess, config.sub, including changes to support
+            OS/2 EMX. The configure script for OS/2 EMX still relies on a
+            patch since there is no (working) support for that platform
+            in the main autoconf distribution.
+          + make configure script checks on variables $GCC and $GXX
+            consistently compare against 'yes' rather than test if they
+            are nonnull, since either may be set to the corresponding
+            name of the C or C++ compiler.
+          + change configure script to use AC_CANONICAL_SYSTEM rather
+            than AC_CANONICAL_HOST, which means that configure --target
+            will set a default program-prefix.
+          + modify the check for big-core to force a couple of memory
+            accesses, which may work as needed for older/less-capable
+            machines (if not, there's still the explicit configure
+            option).
+          + modify configure test for tcgetattr() to allow for old
+            implementations, e.g., on BeOS, which only defined it as a
+            macro.
+          + add configure check for filesystems (such as OS/2 EMX) which
+            do not distinguish between upper/lowercase filenames, use
+            this to fix tags rules in makefiles.
+          + add MKncurses_def.sh to generate fallback definitions for
+            ncurses_cfg.h, to quiet gcc -Wundef warnings, modified
+            ifdef's in code to consistently use "#if" rather than
+            "#ifdef".
+          + change most remaining unquoted parameters of test in
+            configure script to use quotes, for instance fixing a problem
+            in the --disable-database option.
+          + modify scripts so that "make install.data" works on OS/2 EMX.
+          + modify scripts and makefiles so the Ada95 directory builds on
+            OS/2 EMX.
+     * library:
+          + replaced case-statement in _nc_tracebits() for CSIZE with a
+            table to simplify working around implementations that define
+            random combinations of the related macros to zero.
+          + improved OS/2 mouse support by retrying as a 2-button mouse
+            if code fails to set up a 3-button mouse.
+          + added private entrypoint _nc_basename(), used to consolidate
+            related code in progs, as well as accommodating OS/2 EMX
+            pathnames.
+          + alter definition of NCURSES_CONST to make it non-empty.
+          + redefine 'TEXT' in menu.h for AMIGA, since it is reported to
+            have an (unspecified) symbol conflict.
+     * programs:
+          + modified progs/tset.c and tack/sysdep.c to build with sgttyb
+            interface if neither termio or termios is available. Tested
+            this with FreeBSD 2.1.5 (which does have termios - but the
+            sgttyb does work).
 
                               Features of Ncurses
 
 
                               Features of Ncurses
 
@@ -344,7 +466,7 @@ References
    5. http://dickey.his.com/ded/ded.html
    6. http://dickey.his.com/dialog/dialog.html
    7. http://lynx.isc.org/release/
    5. http://dickey.his.com/ded/ded.html
    6. http://dickey.his.com/dialog/dialog.html
    7. http://lynx.isc.org/release/
-   8. file://localhost/usr/build/ncurses/ncurses-5.1-20000704/doc/html/www.gnome.org/mc/
+   8. file://localhost/usr/build/ncurses/ncurses-5.2-20001021/doc/html/www.gnome.org/mc/
    9. http://www.mutt.org/
   10. http://www.ncftp.com/
   11. http://www.bostic.com/vi/
    9. http://www.mutt.org/
   10. http://www.ncftp.com/
   11. http://www.bostic.com/vi/
index cd538fa1712fdc0d176e6672a1d3302e811e0bc1..b1651379df2828b9a686b7a042a507549a6ee9d8 100644 (file)
 #  Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
 #
 #  Version Control
 #  Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
 #
 #  Version Control
-#  $Revision: 1.30 $
+#  $Revision: 1.34 $
 #
 .SUFFIXES:
 
 SHELL          = /bin/sh
 THIS           = Makefile
 
 #
 .SUFFIXES:
 
 SHELL          = /bin/sh
 THIS           = Makefile
 
+x              = @PROG_EXT@
+
 top_srcdir     = @top_srcdir@
 top_srcdir     = @top_srcdir@
+DESTDIR                = @DESTDIR@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
-libdir         = @libdir@
-includedir     = @includedir@
-datadir                = @datadir@
-ticdir         = $(datadir)/terminfo
-ADA_INCLUDE    = @ADA_INCLUDE@
-ADA_OBJECTS    = @ADA_OBJECTS@
+ADA_INCLUDE    = $(DESTDIR)@ADA_INCLUDE@
+ADA_OBJECTS    = $(DESTDIR)@ADA_OBJECTS@
 
 INSTALL                = @INSTALL@
 INSTALL_DATA   = @INSTALL_DATA@
 
 INSTALL                = @INSTALL@
 INSTALL_DATA   = @INSTALL_DATA@
@@ -53,7 +52,7 @@ INSTALL_DATA  = @INSTALL_DATA@
 AWK            = @AWK@
 LN_S           = @LN_S@
 
 AWK            = @AWK@
 LN_S           = @LN_S@
 
-CC             = @CC@
+HOST_CC                = @BUILD_CC@
 CFLAGS         = @CFLAGS@
 
 CPPFLAGS       = @ACPPFLAGS@ \
 CFLAGS         = @CFLAGS@
 
 CPPFLAGS       = @ACPPFLAGS@ \
@@ -67,7 +66,7 @@ CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
 
 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
 
 
 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
 
-LINK           = $(CC)
+LINK           = $(HOST_CC)
 LD_FLAGS       = @LD_MODEL@ $(LOCAL_LIBS) @LDFLAGS@ @LIBS@ @LOCAL_LDFLAGS2@ $(LDFLAGS)
 
 RANLIB         = @RANLIB@
 LD_FLAGS       = @LD_MODEL@ $(LOCAL_LIBS) @LDFLAGS@ @LIBS@ @LOCAL_LDFLAGS2@ $(LDFLAGS)
 
 RANLIB         = @RANLIB@
@@ -77,7 +76,7 @@ LIB_CURSES      = -L../../lib -lncurses@LIB_SUFFIX@
 M4             = m4
 M4FLAGS                =
 
 M4             = m4
 M4FLAGS                =
 
-GENERATE       = ./gen '@DFT_ARG_SUFFIX@'
+GENERATE       = ./gen$x '@DFT_ARG_SUFFIX@'
 DEL_ADAMODE    = sed -e '/^\-\-\ \ \-\*\-\ ada\ \-\*\-.*/d'
 
 GNATHTML       = `type -p gnathtml || type -p gnathtml.pl`
 DEL_ADAMODE    = sed -e '/^\-\-\ \ \-\*\-\ ada\ \-\*\-.*/d'
 
 GNATHTML       = `type -p gnathtml || type -p gnathtml.pl`
@@ -157,107 +156,107 @@ sources:
 
 $(ADA_INCLUDE) \
 $(ADA_OBJECTS) :
 
 $(ADA_INCLUDE) \
 $(ADA_OBJECTS) :
-       $(top_srcdir)/mkinstalldirs $(INSTALL_PREFIX)$@
+       $(top_srcdir)/mkinstalldirs $@
 
 install \
 install.libs :: $(ADA_INCLUDE)
 
 install \
 install.libs :: $(ADA_INCLUDE)
-       @echo installing package $(ALIB) in $(INSTALL_PREFIX)$(ADA_INCLUDE)
-       @$(top_srcdir)/tar-copy.sh '$(ALIB)[-.]*.ad?' $(ADA_SRCDIR) $(INSTALL_PREFIX)$(ADA_INCLUDE)
-       @test $(srcdir) != ./ && $(top_srcdir)/tar-copy.sh '$(ALIB)[-.]*.ad?' $(srcdir)/../src $(INSTALL_PREFIX)$(ADA_INCLUDE)
+       @echo installing package $(ALIB) in $(ADA_INCLUDE)
+       @$(top_srcdir)/tar-copy.sh '$(ALIB)[-.]*.ad?' $(ADA_SRCDIR) $(ADA_INCLUDE)
+       @test $(srcdir) != ./ && $(top_srcdir)/tar-copy.sh '$(ALIB)[-.]*.ad?' $(srcdir)/../src $(ADA_INCLUDE)
 
 install \
 install.libs :: $(ADA_OBJECTS)
 
 install \
 install.libs :: $(ADA_OBJECTS)
-       @echo installing package $(ALIB) in $(INSTALL_PREFIX)$(ADA_OBJECTS)
+       @echo installing package $(ALIB) in $(ADA_OBJECTS)
        @chmod a-wx $(ADA_SRCDIR)/*.ali
        @chmod a-wx $(ADA_SRCDIR)/*.ali
-       @$(top_srcdir)/tar-copy.sh '$(ALIB)[-.]*.ali' $(ADA_SRCDIR) $(INSTALL_PREFIX)$(ADA_OBJECTS)
+       @$(top_srcdir)/tar-copy.sh '$(ALIB)[-.]*.ali' $(ADA_SRCDIR) $(ADA_OBJECTS)
        @chmod u+x $(ADA_SRCDIR)/*.ali
 
 uninstall \
 uninstall.libs ::
        @chmod u+x $(ADA_SRCDIR)/*.ali
 
 uninstall \
 uninstall.libs ::
-       @echo removing package $(ALIB) from $(INSTALL_PREFIX)$(ADA_INCLUDE)
-       -@cd $(INSTALL_PREFIX)$(ADA_INCLUDE) && rm -f $(ALIB)[-.]*
+       @echo removing package $(ALIB) from $(ADA_INCLUDE)
+       -@cd $(ADA_INCLUDE) && rm -f $(ALIB)[-.]*
 
 uninstall \
 uninstall.libs ::
 
 uninstall \
 uninstall.libs ::
-       @echo removing package $(ALIB) from $(INSTALL_PREFIX)$(ADA_OBJECTS)
-       -@cd $(INSTALL_PREFIX)$(ADA_OBJECTS) && rm -f $(ALIB)[-.]*
+       @echo removing package $(ALIB) from $(ADA_OBJECTS)
+       -@cd $(ADA_OBJECTS) && rm -f $(ALIB)[-.]*
 
 
-gen:   gen.o
+gen$x: gen.o
        @ECHO_LINK@ $(LINK) $(CFLAGS_NORMAL) gen.o $(LD_FLAGS) -o $@ $(LIB_CURSES)
 
 gen.o: $(srcdir)/gen.c
        @ECHO_LINK@ $(LINK) $(CFLAGS_NORMAL) gen.o $(LD_FLAGS) -o $@ $(LIB_CURSES)
 
 gen.o: $(srcdir)/gen.c
-       $(CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/gen.c
+       $(HOST_CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/gen.c
 
 
-Character_Attribute_Set_Rep: gen
+Character_Attribute_Set_Rep: gen$x
        $(GENERATE) B A >$@
 
        $(GENERATE) B A >$@
 
-Base_Defs: gen
+Base_Defs: gen$x
        $(GENERATE) B B >$@
 
        $(GENERATE) B B >$@
 
-Color_Defs: gen
+Color_Defs: gen$x
        $(GENERATE) B C >$@
 
        $(GENERATE) B C >$@
 
-Key_Definitions: gen
+Key_Definitions: gen$x
        $(GENERATE) B K >$@
 
        $(GENERATE) B K >$@
 
-Old_Keys: gen
+Old_Keys: gen$x
        $(GENERATE) B O >$@
 
        $(GENERATE) B O >$@
 
-ACS_Map: gen
+ACS_Map: gen$x
        $(GENERATE) B M >$@
 
        $(GENERATE) B M >$@
 
-AC_Rep: gen
+AC_Rep: gen$x
        $(GENERATE) B R >$@
 
        $(GENERATE) B R >$@
 
-Linker_Options: gen
+Linker_Options: gen$x
        $(GENERATE) B L >$@
 
        $(GENERATE) B L >$@
 
-Version_Info: gen
+Version_Info: gen$x
        $(GENERATE) B V >$@
 
        $(GENERATE) B V >$@
 
-Window_Offsets: gen
+Window_Offsets: gen$x
        $(GENERATE) B D >$@
 
        $(GENERATE) B D >$@
 
-Menu_Opt_Rep: gen
+Menu_Opt_Rep: gen$x
        $(GENERATE) M R >$@
 
        $(GENERATE) M R >$@
 
-Menu_Base_Defs: gen
+Menu_Base_Defs: gen$x
        $(GENERATE) M B >$@
 
        $(GENERATE) M B >$@
 
-Menu_Linker_Options: gen
+Menu_Linker_Options: gen$x
        $(GENERATE) M L >$@
 
        $(GENERATE) M L >$@
 
-Item_Rep: gen
+Item_Rep: gen$x
        $(GENERATE) M I >$@
 
        $(GENERATE) M I >$@
 
-Form_Opt_Rep: gen
+Form_Opt_Rep: gen$x
        $(GENERATE) F R >$@
 
        $(GENERATE) F R >$@
 
-Form_Base_Defs: gen
+Form_Base_Defs: gen$x
        $(GENERATE) F B >$@
 
        $(GENERATE) F B >$@
 
-Form_Linker_Options: gen
+Form_Linker_Options: gen$x
        $(GENERATE) F L >$@
 
        $(GENERATE) F L >$@
 
-Field_Rep: gen
+Field_Rep: gen$x
        $(GENERATE) F I >$@
 
        $(GENERATE) F I >$@
 
-Mouse_Base_Defs: gen
+Mouse_Base_Defs: gen$x
        $(GENERATE) P B >$@
 
        $(GENERATE) P B >$@
 
-Mouse_Event_Rep: gen
+Mouse_Event_Rep: gen$x
        $(GENERATE) P M >$@
 
        $(GENERATE) P M >$@
 
-Mouse_Events: gen
+Mouse_Events: gen$x
        $(GENERATE) B E >$@
 
        $(GENERATE) B E >$@
 
-Panel_Linker_Options: gen
+Panel_Linker_Options: gen$x
        $(GENERATE) P L >$@
 
        $(GENERATE) P L >$@
 
-Chtype_Def: gen
+Chtype_Def: gen$x
        $(GENERATE) E C >$@
 
        $(GENERATE) E C >$@
 
-Eti_Defs: gen
+Eti_Defs: gen$x
        $(GENERATE) E E >$@
 
 $(ADA_SRCDIR)/$(ABASE).ads:    $(srcdir)/$(ABASE).ads.m4 \
        $(GENERATE) E E >$@
 
 $(ADA_SRCDIR)/$(ABASE).ads:    $(srcdir)/$(ABASE).ads.m4 \
@@ -347,7 +346,7 @@ TAGS:
        etags *.[ch]
 
 mostlyclean ::
        etags *.[ch]
 
 mostlyclean ::
-       -rm -f a.out core gen *.o
+       -rm -f a.out core gen$x *.o
        -rm -f $(GEN_FILES1)
        -rm -f $(GEN_FILES2)
        -rm -f $(GEN_FILES3)
        -rm -f $(GEN_FILES1)
        -rm -f $(GEN_FILES2)
        -rm -f $(GEN_FILES3)
index 3c1800d36d2379b6d310a459301cf1a2dda08c76..64e9f912e443c6fc4a8ed45ad31d10eb94e18cb8 100644 (file)
@@ -32,7 +32,7 @@
 
 /*
     Version Control
 
 /*
     Version Control
-    $Revision: 1.31 $
+    $Revision: 1.32 $
   --------------------------------------------------------------------------*/
 /*
   This program generates various record structures and constants from the
   --------------------------------------------------------------------------*/
 /*
   This program generates various record structures and constants from the
@@ -170,7 +170,7 @@ static void gen_chtype_rep(const char *name)
   chtype_rep("Ch",A_CHARTEXT);
   chtype_rep("Color",A_COLOR);
   chtype_rep("Attr",(A_ATTRIBUTES&~A_COLOR));
   chtype_rep("Ch",A_CHARTEXT);
   chtype_rep("Color",A_COLOR);
   chtype_rep("Attr",(A_ATTRIBUTES&~A_COLOR));
-  printf("      end record;\n   for %s'Size use %d;\n",name,8*sizeof(chtype));
+  printf("      end record;\n   for %s'Size use %ld;\n", name, (long)(8*sizeof(chtype)));
   printf("      --  Please note: this rep. clause is generated and may be\n");
   printf("      --               different on your system.\n");
 }
   printf("      --  Please note: this rep. clause is generated and may be\n");
   printf("      --               different on your system.\n");
 }
@@ -1103,19 +1103,19 @@ eti_gen(char*buf, int code, const char* name, int* etimin, int* etimax)
   return strlen(buf);
 }
 
   return strlen(buf);
 }
 
-#define GEN_OFFSET(member,itype)                                   \
-  if (sizeof(((WINDOW*)0)->member)==sizeof(itype)) {               \
-    o = offsetof(WINDOW, member);                                  \
-    if ((o%sizeof(itype) == 0)) {                                  \
-       printf("   Offset%-*s : constant Natural := %2d; --  %s\n", \
-              8, #member, o/sizeof(itype),#itype);                 \
-    }                                                              \
+#define GEN_OFFSET(member,itype)                                    \
+  if (sizeof(((WINDOW*)0)->member)==sizeof(itype)) {                \
+    o = offsetof(WINDOW, member);                                   \
+    if ((o%sizeof(itype) == 0)) {                                   \
+       printf("   Offset%-*s : constant Natural := %2ld; --  %s\n", \
+              8, #member, o/sizeof(itype),#itype);                  \
+    }                                                               \
   }
   
 static void
 gen_offsets(void)
 {
   }
   
 static void
 gen_offsets(void)
 {
-  int o;
+  long o;
   const char* s_bool = "";
 
   GEN_OFFSET(_maxy,short);
   const char* s_bool = "";
 
   GEN_OFFSET(_maxy,short);
@@ -1137,8 +1137,8 @@ gen_offsets(void)
     GEN_OFFSET(_scroll,int);
     s_bool = "int";
   }
     GEN_OFFSET(_scroll,int);
     s_bool = "int";
   }
-  printf("   Sizeof%-*s : constant Natural := %2d; --  %s\n",
-        8, "_bool",sizeof(bool),"bool");
+  printf("   Sizeof%-*s : constant Natural := %2ld; --  %s\n",
+        8, "_bool", (long) sizeof(bool),"bool");
   /* In ncurses _maxy and _maxx needs an offset for the "public"
    * value
    */
   /* In ncurses _maxy and _maxx needs an offset for the "public"
    * value
    */
index 840c5f185810e85fd8d81c7ff1b95f6f4cc12652..f969ce0422ac10add2c42bc88327ff4bbf3bc456 100644 (file)
@@ -38,13 +38,12 @@ include(M4MACRO)dnl
 ------------------------------------------------------------------------------
 --  Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
 --  Version Control:
 ------------------------------------------------------------------------------
 --  Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
 --  Version Control:
---  $Revision: 1.23 $
+--  $Revision: 1.24 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 include(`Form_Base_Defs')
 with System;
 with Ada.Characters.Latin_1;
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 include(`Form_Base_Defs')
 with System;
 with Ada.Characters.Latin_1;
-with Interfaces.C;
 
 package Terminal_Interface.Curses.Forms is
    pragma Preelaborate (Terminal_Interface.Curses.Forms);
 
 package Terminal_Interface.Curses.Forms is
    pragma Preelaborate (Terminal_Interface.Curses.Forms);
index 81a4935cde1b0e6ba6c01ac421a8044bb6a02260..2bc350a72d18ca3958ced723520e58d5d3c80719 100644 (file)
@@ -38,12 +38,11 @@ include(M4MACRO)dnl
 ------------------------------------------------------------------------------
 --  Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
 --  Version Control:
 ------------------------------------------------------------------------------
 --  Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
 --  Version Control:
---  $Revision: 1.20 $
+--  $Revision: 1.21 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 include(`Menu_Base_Defs')
 with System;
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 include(`Menu_Base_Defs')
 with System;
-with Interfaces.C;
 with Ada.Characters.Latin_1;
 
 package Terminal_Interface.Curses.Menus is
 with Ada.Characters.Latin_1;
 
 package Terminal_Interface.Curses.Menus is
index c9582fb7a323a86ed7668c569793f28495f0e8c1..d9cf0cf738aacfdacdb301ee27e9d46ab1c28105 100644 (file)
 #  Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
 #
 #  Version Control
 #  Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
 #
 #  Version Control
-#  $Revision: 1.24 $
+#  $Revision: 1.25 $
 #
 .SUFFIXES:
 
 SHELL          = /bin/sh
 THIS           = Makefile
 
 #
 .SUFFIXES:
 
 SHELL          = /bin/sh
 THIS           = Makefile
 
+x              = @PROG_EXT@
+
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
@@ -96,7 +98,7 @@ TOUR_OBJS    =        tour.o sample.o sample-curses_demo.o sample-explanation.o       \
 
 RAIN_OBJS    = rain.o status.o
 
 
 RAIN_OBJS    = rain.o status.o
 
-all ::  demo1 rainy_day
+all ::  tour$x rain$x
        @
 
 sources :
        @
 
 sources :
@@ -111,13 +113,13 @@ uninstall \
 uninstall.libs ::
        @
 
 uninstall.libs ::
        @
 
-demo1: explain.msg
+tour$x :       explain.msg
        $(ADAMAKE) $(ADAMAKEFLAGS) tour $(CARGS) $(LARGS)
 
 explain.msg:   $(srcdir)/explain.txt
        cp $(srcdir)/explain.txt $@
 
        $(ADAMAKE) $(ADAMAKEFLAGS) tour $(CARGS) $(LARGS)
 
 explain.msg:   $(srcdir)/explain.txt
        cp $(srcdir)/explain.txt $@
 
-rainy_day:
+rain$x :
        $(ADAMAKE) $(ADAMAKEFLAGS) rain $(CARGS) $(LARGS)
 
 mostlyclean:
        $(ADAMAKE) $(ADAMAKEFLAGS) rain $(CARGS) $(LARGS)
 
 mostlyclean:
index 1e20f0517b0b81619ef1c747e2f8fa0f32050f73..24a0e177d44a1dee68701237aa3d53881b19871d 100644 (file)
 ------------------------------------------------------------------------------
 --  Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
 --  Version Control
 ------------------------------------------------------------------------------
 --  Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
 --  Version Control
---  $Revision: 1.7 $
+--  $Revision: 1.8 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 --  Poor mans help system. This scans a sequential file for key lines and
 --  then reads the lines up to the next key. Those lines are presented in
 --  a window as help or explanation.
 --
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 --  Poor mans help system. This scans a sequential file for key lines and
 --  then reads the lines up to the next key. Those lines are presented in
 --  a window as help or explanation.
 --
-with Terminal_Interface.Curses;
-
 package Sample.Explanation is
 
 package Sample.Explanation is
 
-   package Curses renames Terminal_Interface.Curses;
-
    procedure Explain (Key : in String);
    --  Retrieve the text associated with this key and display it.
 
    procedure Explain (Key : in String);
    --  Retrieve the text associated with this key and display it.
 
index ed796095990e60cddbab433db82dbdc5908f893d..158b93586d5fc8555ab837d5b034aa2ffcded1b4 100644 (file)
@@ -35,7 +35,7 @@
 ------------------------------------------------------------------------------
 --  Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
 --  Version Control
 ------------------------------------------------------------------------------
 --  Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
 --  Version Control
---  $Revision: 1.8 $
+--  $Revision: 1.9 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 with Ada.Numerics.Generic_Elementary_Functions;
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 with Ada.Numerics.Generic_Elementary_Functions;
@@ -119,7 +119,7 @@ package body Sample.Text_IO_Demo is
       Default_Labels;
       Notepad ("TEXTIO-PAD00");
 
       Default_Labels;
       Notepad ("TEXTIO-PAD00");
 
-      Set_Echo_Mode (FALSE);
+      Set_Echo_Mode (False);
       Set_Meta_Mode;
       Set_KeyPad_Mode;
       W := Sub_Window (Standard_Window, Lines - 2, Columns - 2, 1, 1);
       Set_Meta_Mode;
       Set_KeyPad_Mode;
       W := Sub_Window (Standard_Window, Lines - 2, Columns - 2, 1, 1);
index 2d96142c723c41d08bcd646d18ebba0514dd0c7e..3544b0976b8d03eb0269bd864f6272df2320240c 100644 (file)
@@ -35,7 +35,7 @@
 ------------------------------------------------------------------------------
 --  Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
 --  Version Control
 ------------------------------------------------------------------------------
 --  Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
 --  Version Control
---  $Revision: 1.11 $
+--  $Revision: 1.12 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 with Text_IO;
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 with Text_IO;
@@ -195,7 +195,7 @@ package body Sample is
 
       Init_Keyboard_Handler;
 
 
       Init_Keyboard_Handler;
 
-      Set_Echo_Mode (FALSE);
+      Set_Echo_Mode (False);
       Set_Raw_Mode;
       Set_Meta_Mode;
       Set_KeyPad_Mode;
       Set_Raw_Mode;
       Set_Meta_Mode;
       Set_KeyPad_Mode;
index a3de1954896540d1ccb408e81dbdff7c393ad47f..d0069973ed7b1d0ea1ba6dfc2dd9d1623b36bc5b 100644 (file)
@@ -29,7 +29,7 @@
 #  Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
 #
 #  Version Control
 #  Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
 #
 #  Version Control
-#  $Revision: 1.20 $
+#  $Revision: 1.22 $
 #
 .SUFFIXES:
 
 #
 .SUFFIXES:
 
@@ -37,13 +37,10 @@ SHELL               = /bin/sh
 THIS           = Makefile
 
 MODEL          = ../../@DFT_OBJ_SUBDIR@
 THIS           = Makefile
 
 MODEL          = ../../@DFT_OBJ_SUBDIR@
+DESTDIR                = @DESTDIR@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
-libdir         = @libdir@
-includedir     = @includedir@
-datadir                = @datadir@
-ticdir         = $(datadir)/terminfo
 ADA_INCLUDE    = @ADA_INCLUDE@
 
 INSTALL                = @INSTALL@
 ADA_INCLUDE    = @ADA_INCLUDE@
 
 INSTALL                = @INSTALL@
@@ -192,7 +189,7 @@ distclean :: clean
 
 realclean :: distclean
 
 
 realclean :: distclean
 
-BASEDEPS=$(ABASE).ads $(srcdir)/$(ABASE)-aux.ads $(srcdir)/$(ABASE).adb
+BASEDEPS=$(ABASE).ads $(ABASE)-aux.ads $(srcdir)/$(ABASE).adb
 
 $(ALIB).o: $(srcdir)/$(ALIB).ads
        $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ALIB).ads
 
 $(ALIB).o: $(srcdir)/$(ALIB).ads
        $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ALIB).ads
index 3d829a57aa6029194d6c02f58a18e9c615fccc86..cf7614b400fbabf9997da8ce03f3ef170c82dc1f 100644 (file)
@@ -35,7 +35,7 @@
 ------------------------------------------------------------------------------
 --  Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
 --  Version Control:
 ------------------------------------------------------------------------------
 --  Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
 --  Version Control:
---  $Revision: 1.11 $
+--  $Revision: 1.12 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 package body Terminal_Interface.Curses.Text_IO is
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 package body Terminal_Interface.Curses.Text_IO is
@@ -135,7 +135,7 @@ package body Terminal_Interface.Curses.Text_IO is
          if P_Size > 0 and then Line (Win) >= P_Size then
             New_Page (Win);
          else
          if P_Size > 0 and then Line (Win) >= P_Size then
             New_Page (Win);
          else
-            Add (Win, Ascii.LF);
+            Add (Win, ASCII.LF);
          end if;
       end loop;
    end New_Line;
          end if;
       end loop;
    end New_Line;
index 1f536d141c15a673e1298be94249bf72b998c543..698f1c650e925da82540e9e8db0b318e003e8172 100644 (file)
@@ -35,7 +35,7 @@
 ------------------------------------------------------------------------------
 --  Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
 --  Version Control:
 ------------------------------------------------------------------------------
 --  Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
 --  Version Control:
---  $Revision: 1.25 $
+--  $Revision: 1.26 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 with System;
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 with System;
@@ -922,7 +922,7 @@ package body Terminal_Interface.Curses is
          when Non_Blocking => Time := 0;
          when Delayed      =>
             if Amount = 0 then
          when Non_Blocking => Time := 0;
          when Delayed      =>
             if Amount = 0 then
-               raise CONSTRAINT_ERROR;
+               raise Constraint_Error;
             end if;
             Time := C_Int (Amount);
       end case;
             end if;
             Time := C_Int (Amount);
       end case;
diff --git a/INSTALL b/INSTALL
index 9058c0616ddec53da63f9518e1bc7528c914e6ea..26d57374f47e23509e7c1ccda8e55ceb606f283e 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,4 +1,4 @@
--- $Id: INSTALL,v 1.38 2000/07/08 22:46:08 tom Exp $
+-- $Id: INSTALL,v 1.46 2000/10/14 17:57:02 Johnny.C.Lam Exp $
 ---------------------------------------------------------------------
              How to install Ncurses/Terminfo on your system
 ---------------------------------------------------------------------
 ---------------------------------------------------------------------
              How to install Ncurses/Terminfo on your system
 ---------------------------------------------------------------------
@@ -31,6 +31,9 @@ read the USING NCURSES WITH GPM section below.
 If you are running over the Andrew File System see the note below on
 USING NCURSES WITH AFS.
 
 If you are running over the Andrew File System see the note below on
 USING NCURSES WITH AFS.
 
+If you are cross-compiling, see the note below on BUILDING NCURSES WITH A
+CROSS-COMPILER.
+
 If you want to build the Ada95 binding, go to the Ada95 directory and
 follow the instructions there.  The Ada95 binding is not covered below.
 
 If you want to build the Ada95 binding, go to the Ada95 directory and
 follow the instructions there.  The Ada95 binding is not covered below.
 
@@ -101,6 +104,8 @@ INSTALLATION PROCEDURE:
 
        libncurses_p.a (profile)
 
 
        libncurses_p.a (profile)
 
+       libncurses.la (libtool)
+
     If you do not specify any models, the normal and debug libraries will be
     configured.  Typing `configure' with no arguments is equivalent to:
 
     If you do not specify any models, the normal and debug libraries will be
     configured.  Typing `configure' with no arguments is equivalent to:
 
@@ -123,6 +128,13 @@ INSTALLATION PROCEDURE:
     and SunOS with gcc, but more work needs to be done to make shared libraries
     work on other systems.
 
     and SunOS with gcc, but more work needs to be done to make shared libraries
     work on other systems.
 
+    If you have libtool installed, you can type
+
+       ./configure --with-libtool
+
+    to generate the appropriate static and/or shared libraries for your
+    platform using libtool.
+
     You can make curses and terminfo fall back to an existing file of termcap
     definitions by configuring with --enable-termcap.  If you do this, the
     library will search /etc/termcap before the terminfo database, and will
     You can make curses and terminfo fall back to an existing file of termcap
     definitions by configuring with --enable-termcap.  If you do this, the
     library will search /etc/termcap before the terminfo database, and will
@@ -173,7 +185,8 @@ INSTALLATION PROCEDURE:
     The terminfo(5) manual page must be preprocessed with tbl(1) before
     being formatted by nroff(1).  Modern man(1) implementations tend to do
     this by default, but you may want to look at your version's manual page
     The terminfo(5) manual page must be preprocessed with tbl(1) before
     being formatted by nroff(1).  Modern man(1) implementations tend to do
     this by default, but you may want to look at your version's manual page
-    to be sure.
+    to be sure.  You may also install the manual pages after preprocessing
+    with tbl(1) by specifying the configure option --with-manpage-tbl.
 
     If the system already has a curses library that you need to keep using
     for some bizarre binary-compatibility reason, you'll need to distinguish
 
     If the system already has a curses library that you need to keep using
     for some bizarre binary-compatibility reason, you'll need to distinguish
@@ -244,6 +257,15 @@ SUMMARY OF CONFIGURE OPTIONS:
     The other options are specific to this package.  We list them in alphabetic
     order.
 
     The other options are specific to this package.  We list them in alphabetic
     order.
 
+    --disable-assumed-color
+       With ncurses 5.1, we introduced a new function, assume_default_colors()
+       which allows applications to specify what the default foreground and
+       background color are assumed to be.  Most color applications use
+       full-screen color; but a few do not color the background.  While the
+       assumed values can be overridden by invoking assume_default_colors(),
+       you may find it useful to set the assumed values to the pre-5.1
+       convention, using this configure option.
+
     --disable-big-core
        Assume machine has little memory.  The configure script attempts to
        determine if your machine has enough memory (about 6Mb) to compile the
     --disable-big-core
        Assume machine has little memory.  The configure script attempts to
        determine if your machine has enough memory (about 6Mb) to compile the
@@ -262,6 +284,10 @@ SUMMARY OF CONFIGURE OPTIONS:
        that are not specified by XSI.  See ncurses/modules for the exact
        list of library modules that would be suppressed.
 
        that are not specified by XSI.  See ncurses/modules for the exact
        list of library modules that would be suppressed.
 
+    --disable-hashmap
+       Compile without hashmap scrolling-optimization code.  This algorithm is
+       the default.
+
     --disable-leaks
        For testing, compile-in code that frees memory that normally would not
        be freed, to simplify analysis of memory-leaks.
     --disable-leaks
        For testing, compile-in code that frees memory that normally would not
        be freed, to simplify analysis of memory-leaks.
@@ -281,6 +307,12 @@ SUMMARY OF CONFIGURE OPTIONS:
        rather than the include directory.  This makes it simpler to avoid
        compile-time conflicts with other versions of curses.h
 
        rather than the include directory.  This makes it simpler to avoid
        compile-time conflicts with other versions of curses.h
 
+    --disable-root-environ
+       Compile with environment restriction, so certain environment variables
+       are not available when running as root, or via a setuid/setgid
+       application.  These are (for example $TERMINFO) those that allow the
+       search path for the terminfo or termcap entry to be customized.
+
     --disable-scroll-hints
        Compile without scroll-hints code.  This option is ignored when
        hashmap scrolling is configured, which is the default.
     --disable-scroll-hints
        Compile without scroll-hints code.  This option is ignored when
        hashmap scrolling is configured, which is the default.
@@ -367,10 +399,6 @@ SUMMARY OF CONFIGURE OPTIONS:
        may not be accurate, or that your stty settings have disabled the use
        of tabs.
 
        may not be accurate, or that your stty settings have disabled the use
        of tabs.
 
-    --enable-hashmap
-       Compile with hashmap scrolling-optimization code.  This is the default,
-       replacing an older scrolling-hints algorithm.
-
     --enable-no-padding
        Compile-in support for the $NCURSES_NO_PADDING environment variable,
        which allows you to suppress the effect of non-mandatory padding in
     --enable-no-padding
        Compile-in support for the $NCURSES_NO_PADDING environment variable,
        which allows you to suppress the effect of non-mandatory padding in
@@ -378,8 +406,9 @@ SUMMARY OF CONFIGURE OPTIONS:
        extended functions.
 
     --enable-rpath
        extended functions.
 
     --enable-rpath
-       Use rpath option when generating shared libraries.  This applies mainly
-       to systems using the GNU linker (read the manpage).
+       Use rpath option when generating shared libraries, and with some
+       restrictions when linking the corresponding programs.  This applies
+       mainly to systems using the GNU linker (read the manpage).
 
     --enable-safe-sprintf
        Compile with experimental safe-sprintf code.  You may consider using
 
     --enable-safe-sprintf
        Compile with experimental safe-sprintf code.  You may consider using
@@ -435,6 +464,12 @@ SUMMARY OF CONFIGURE OPTIONS:
     --with-ada-objects=DIR
        Tell where to install the Ada objects (default:  PREFIX/lib/ada/adalib)
 
     --with-ada-objects=DIR
        Tell where to install the Ada objects (default:  PREFIX/lib/ada/adalib)
 
+    --with-database=XXX
+       Specify the terminfo source file to install.  Usually you will wish
+       to install ncurses' default (misc/terminfo.src).  Certain systems
+       have special requirements, e.g, OS/2 EMX has a customized terminfo
+       source file.
+
     --with-dbmalloc
        For testing, compile and link with Conor Cahill's dbmalloc library.
 
     --with-dbmalloc
        For testing, compile and link with Conor Cahill's dbmalloc library.
 
@@ -442,6 +477,10 @@ SUMMARY OF CONFIGURE OPTIONS:
        Generate debug-libraries (default).  These are named by adding "_g"
        to the root, e.g., libncurses_g.a
 
        Generate debug-libraries (default).  These are named by adding "_g"
        to the root, e.g., libncurses_g.a
 
+    --with-default-terminfo-dir=XXX
+       Specify the default terminfo database directory.  This is normally
+       DATADIR/terminfo, e.g., /usr/share/terminfo.
+
     --with-develop
        Enable experimental/development options.  This does not count those
        that change the interface, such as --enable-widec.
     --with-develop
        Enable experimental/development options.  This does not count those
        that change the interface, such as --enable-widec.
@@ -465,6 +504,10 @@ SUMMARY OF CONFIGURE OPTIONS:
        NOTE:  a few systems build shared libraries with fixed pathnames; this
        option probably will not work for those configurations.
 
        NOTE:  a few systems build shared libraries with fixed pathnames; this
        option probably will not work for those configurations.
 
+     --with-libtool
+       Generate libraries with libtool.  If this option is selected, then
+       it overrides all other library model specifications.
+
     --with-manpage-format=XXX
        Tell the configure script how you would like to install man-pages.  The
        option value must be one of these:  gzip, compress, BSDI, normal,
     --with-manpage-format=XXX
        Tell the configure script how you would like to install man-pages.  The
        option value must be one of these:  gzip, compress, BSDI, normal,
@@ -484,6 +527,11 @@ SUMMARY OF CONFIGURE OPTIONS:
        this on systems that do not support symbolic links will result in
        copying the man-page for each alias.
 
        this on systems that do not support symbolic links will result in
        copying the man-page for each alias.
 
+    --with-manpage-tbl
+       Tell the configure script that you with to preprocess the manpages
+       by running them through tbl to generate tables understandable by
+       nroff.
+
     --with-normal
        Generate normal (i.e., static) libraries (default).
 
     --with-normal
        Generate normal (i.e., static) libraries (default).
 
@@ -516,8 +564,8 @@ SUMMARY OF CONFIGURE OPTIONS:
        script.
 
     --with-terminfo-dirs=XXX
        script.
 
     --with-terminfo-dirs=XXX
-       Specify a search-list of terminfo directories which will be compiled into
-       the ncurses library (default: DATADIR/terminfo)
+       Specify a search-list of terminfo directories which will be compiled
+       into the ncurses library (default: DATADIR/terminfo)
 
     --with-termlib
        When building the ncurses library, organize this as two parts:  the
 
     --with-termlib
        When building the ncurses library, organize this as two parts:  the
@@ -529,6 +577,11 @@ SUMMARY OF CONFIGURE OPTIONS:
        Suppress the configure script's check for Ada95, do not build the
        Ada95 binding and related demo.
 
        Suppress the configure script's check for Ada95, do not build the
        Ada95 binding and related demo.
 
+    --without-curses-h
+       Don't install the ncurses header with the name "curses.h".  Rather,
+       install as "ncurses.h" and modify the installed headers and manpages
+       accordingly.
+
     --without-cxx
        XSI curses declares "bool" as part of the interface.  C++ also declares
        "bool".  Neither specifies the size and type of booleans, but both
     --without-cxx
        XSI curses declares "bool" as part of the interface.  C++ also declares
        "bool".  Neither specifies the size and type of booleans, but both
@@ -979,11 +1032,28 @@ USING NCURSES WITH GPM:
        are slow to update this library.  Current distributions of gpm can
        be configured properly using the --without-curses option.
 
        are slow to update this library.  Current distributions of gpm can
        be configured properly using the --without-curses option.
 
+BUILDING NCURSES WITH A CROSS-COMPILER
+       Ncurses can be built with a cross-compiler.  Some parts must be built
+       with the host's compiler since they are used for building programs
+       (e.g., ncurses/make_hash and ncurses/make_keys) that generate tables
+       that are compiled into the ncurses library.  You should set the
+       BUILD_CC environment variable to your host's compiler, and run the
+       configure script configuring for the cross-compiler.
+
+       Note that all of the generated source-files which are part of ncurses
+       will be made if you use
+
+               make sources
+
+       This would be useful in porting to an environment which has little
+       support for the tools used to generate the sources, e.g., sed, awk and
+       Bourne-shell.
+
 BUGS:
        Send any feedback to the ncurses mailing list at
        bug-ncurses@gnu.org. To subscribe send mail to
        bug-ncurses-request@gnu.org with body that reads:
        subscribe ncurses <your-email-address-here>
 
 BUGS:
        Send any feedback to the ncurses mailing list at
        bug-ncurses@gnu.org. To subscribe send mail to
        bug-ncurses-request@gnu.org with body that reads:
        subscribe ncurses <your-email-address-here>
 
-       The Hacker's Guide in the misc directory includes some guidelines
+       The Hacker's Guide in the doc directory includes some guidelines
        on how to report bugs in ways that will get them fixed most quickly.
        on how to report bugs in ways that will get them fixed most quickly.
index 0007f2aa46df4268c00cc765da4583763b4e6945..24368e571cfc343aa456b2d764e9ed3987ecd3bc 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
 ./doc/html/man/curs_trace.3x.html
 ./doc/html/man/curs_util.3x.html
 ./doc/html/man/curs_window.3x.html
 ./doc/html/man/curs_trace.3x.html
 ./doc/html/man/curs_util.3x.html
 ./doc/html/man/curs_window.3x.html
+./doc/html/man/default_colors.3x.html
 ./doc/html/man/define_key.3x.html
 ./doc/html/man/define_key.3x.html
-./doc/html/man/dft_fgbg.3x.html
 ./doc/html/man/form.3x.html
 ./doc/html/man/form_cursor.3x.html
 ./doc/html/man/form_data.3x.html
 ./doc/html/man/form.3x.html
 ./doc/html/man/form_cursor.3x.html
 ./doc/html/man/form_data.3x.html
 ./doc/html/man/keybound.3x.html
 ./doc/html/man/keyok.3x.html
 ./doc/html/man/menu.3x.html
 ./doc/html/man/keybound.3x.html
 ./doc/html/man/keyok.3x.html
 ./doc/html/man/menu.3x.html
-./doc/html/man/menu_attribs.3x.html
+./doc/html/man/menu_attributes.3x.html
 ./doc/html/man/menu_cursor.3x.html
 ./doc/html/man/menu_driver.3x.html
 ./doc/html/man/menu_format.3x.html
 ./doc/html/man/menu_cursor.3x.html
 ./doc/html/man/menu_driver.3x.html
 ./doc/html/man/menu_format.3x.html
 ./form/modules
 ./include/Caps
 ./include/MKhashsize.sh
 ./form/modules
 ./include/Caps
 ./include/MKhashsize.sh
+./include/MKncurses_def.sh
 ./include/MKparametrized.sh
 ./include/MKterm.h.awk.in
 ./include/Makefile.in
 ./include/MKparametrized.sh
 ./include/MKterm.h.awk.in
 ./include/Makefile.in
 ./include/nc_alloc.h
 ./include/nc_panel.h
 ./include/ncurses_cfg.hin
 ./include/nc_alloc.h
 ./include/nc_panel.h
 ./include/ncurses_cfg.hin
+./include/ncurses_defs
 ./include/term_entry.h
 ./include/termcap.h.in
 ./include/tic.h
 ./include/term_entry.h
 ./include/termcap.h.in
 ./include/tic.h
 ./man/curs_trace.3x
 ./man/curs_util.3x
 ./man/curs_window.3x
 ./man/curs_trace.3x
 ./man/curs_util.3x
 ./man/curs_window.3x
+./man/default_colors.3x
 ./man/define_key.3x
 ./man/define_key.3x
-./man/dft_fgbg.3x
 ./man/form.3x
 ./man/form_cursor.3x
 ./man/form_data.3x
 ./man/form.3x
 ./man/form_cursor.3x
 ./man/form_data.3x
 ./man/man_db.renames
 ./man/manlinks.sed
 ./man/menu.3x
 ./man/man_db.renames
 ./man/manlinks.sed
 ./man/menu.3x
-./man/menu_attribs.3x
+./man/menu_attributes.3x
 ./man/menu_cursor.3x
 ./man/menu_driver.3x
 ./man/menu_format.3x
 ./man/menu_cursor.3x
 ./man/menu_driver.3x
 ./man/menu_format.3x
 ./misc/ncurses.ref
 ./misc/panel.def
 ./misc/panel.ref
 ./misc/ncurses.ref
 ./misc/panel.def
 ./misc/panel.ref
-./misc/run_tic.sh
+./misc/run_tic.in
 ./misc/shlib
 ./misc/tabset/std
 ./misc/tabset/stdcrt
 ./misc/shlib
 ./misc/tabset/std
 ./misc/tabset/stdcrt
 ./ncurses/tinfo/lib_setup.c
 ./ncurses/tinfo/lib_termcap.c
 ./ncurses/tinfo/lib_termname.c
 ./ncurses/tinfo/lib_setup.c
 ./ncurses/tinfo/lib_termcap.c
 ./ncurses/tinfo/lib_termname.c
+./ncurses/tinfo/lib_tgoto.c
 ./ncurses/tinfo/lib_ti.c
 ./ncurses/tinfo/lib_tparm.c
 ./ncurses/tinfo/lib_tputs.c
 ./ncurses/tinfo/lib_ti.c
 ./ncurses/tinfo/lib_tparm.c
 ./ncurses/tinfo/lib_tputs.c
 ./ncurses/tinfo/read_entry.c
 ./ncurses/tinfo/read_termcap.c
 ./ncurses/tinfo/setbuf.c
 ./ncurses/tinfo/read_entry.c
 ./ncurses/tinfo/read_termcap.c
 ./ncurses/tinfo/setbuf.c
+./ncurses/tinfo/strings.c
 ./ncurses/tinfo/write_entry.c
 ./ncurses/trace/README
 ./ncurses/trace/lib_trace.c
 ./ncurses/tinfo/write_entry.c
 ./ncurses/trace/README
 ./ncurses/trace/lib_trace.c
index 53b35abb72993760282868257a53991caec970f9..780650a0a8bd4110f8fff939727055923ea2be25 100644 (file)
@@ -198,6 +198,7 @@ libncurses-routines = \
                        tinfo/lib_setup \
                        tinfo/lib_termcap \
                        tinfo/lib_termname \
                        tinfo/lib_setup \
                        tinfo/lib_termcap \
                        tinfo/lib_termname \
+                       tinfo/lib_tgoto \
                        tinfo/lib_ti \
                        tinfo/lib_tparm \
                        tinfo/lib_tputs \
                        tinfo/lib_ti \
                        tinfo/lib_tparm \
                        tinfo/lib_tputs \
@@ -207,6 +208,7 @@ libncurses-routines = \
                        tinfo/read_entry \
                        tinfo/read_termcap \
                        tinfo/setbuf \
                        tinfo/read_entry \
                        tinfo/read_termcap \
                        tinfo/setbuf \
+                       tinfo/strings \
                        tinfo/write_entry \
                        trace/lib_trace \
                        trace/lib_traceatr \
                        tinfo/write_entry \
                        trace/lib_trace \
                        trace/lib_traceatr \
index 381ca9e7ed753413ef870f693430390b17d548d8..9489e9fe45ec53f167b2932638778f646934959c 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.18 1998/08/22 23:45:00 tom Exp $
+# $Id: Makefile.in,v 1.20 2000/08/19 19:11:56 tom Exp $
 ##############################################################################
 # Copyright (c) 1998 Free Software Foundation, Inc.                          #
 #                                                                            #
 ##############################################################################
 # Copyright (c) 1998 Free Software Foundation, Inc.                          #
 #                                                                            #
@@ -33,8 +33,8 @@
 
 SHELL = /bin/sh
 
 
 SHELL = /bin/sh
 
-INSTALL_PREFIX=@INSTALL_PREFIX@
-CF_MFLAGS = @cf_cv_makeflags@ INSTALL_PREFIX="$(INSTALL_PREFIX)"
+DESTDIR=@DESTDIR@
+CF_MFLAGS = @cf_cv_makeflags@ DESTDIR="$(DESTDIR)"
 
 @SET_MAKE@
 
 
 @SET_MAKE@
 
@@ -46,7 +46,7 @@ prefix                = @prefix@
 exec_prefix    = @exec_prefix@
 
 bindir         = @bindir@
 exec_prefix    = @exec_prefix@
 
 bindir         = @bindir@
-datadir                = @datadir@
+ticdir         = @TERMINFO@
 includedir     = @includedir@
 libdir         = @libdir@
 mandir         = @mandir@
 includedir     = @includedir@
 libdir         = @libdir@
 mandir         = @mandir@
@@ -69,7 +69,7 @@ preinstall :
        @ echo '      lib directory: '$(libdir)
        @ echo '  include directory: '$(includedir)
        @ echo '      man directory: '$(mandir)
        @ echo '      lib directory: '$(libdir)
        @ echo '  include directory: '$(includedir)
        @ echo '      man directory: '$(mandir)
-       @ echo ' terminfo directory: '$(datadir)/terminfo
+       @ echo ' terminfo directory: '$(ticdir)
        @ echo ''
        @ test "$(includedir)" = "$(prefix)/include" || \
                echo '** Include-directory is not in a standard location'
        @ echo ''
        @ test "$(includedir)" = "$(prefix)/include" || \
                echo '** Include-directory is not in a standard location'
index 7a6f56dade1336e2fe88216362e3fe025f91c360..167ff657e0f2c6c672db4bac8fdd6b9816ee848a 100644 (file)
@@ -1,7 +1,7 @@
 ################################################################################
 # Wrapper Makefile for ncurses library under OS/2.
 ################################################################################
 ################################################################################
 # Wrapper Makefile for ncurses library under OS/2.
 ################################################################################
-# $Id: Makefile.os2,v 1.8 1998/12/13 02:23:13 tom Exp $
+# $Id: Makefile.os2,v 1.10 2000/10/09 23:53:57 Ilya.Zakharevich Exp $
 #
 # Author:  Juan Jose Garcia Ripoll <worm@arrakis.es>.
 # Webpage: http://www.arrakis.es/~worm/
 #
 # Author:  Juan Jose Garcia Ripoll <worm@arrakis.es>.
 # Webpage: http://www.arrakis.es/~worm/
@@ -13,8 +13,7 @@
 #
 #   touch Makefile
 #   make -f Makefile.os2 config
 #
 #   touch Makefile
 #   make -f Makefile.os2 config
-#   make -f Makefile.os2 CC=gcc HOSTCC=gcc
-#   make -f Makefile.os2 CC=gcc HOSTCC=gcc
+#   make -f Makefile.os2 CC=gcc HOSTCC=gcc CXX=gcc
 #
 # Ignoring the following errors:
 #   Invalid configuration `os2'...
 #
 # Ignoring the following errors:
 #   Invalid configuration `os2'...
@@ -138,7 +137,7 @@ make.dlls : $(DEFS) $(LIBS) $(DLLS) $(LIBS_AOUT)
 
 $(DEFS) : make.defs
 
 
 $(DEFS) : make.defs
 
-LIBDIR = $(INSTALL_PREFIX)$(libdir)
+LIBDIR = $(DESTDIR)$(libdir)
 $(LIBDIR) :
        mkdir -p $@
 
 $(LIBDIR) :
        mkdir -p $@
 
@@ -188,8 +187,8 @@ realclean ::
 # This is a simplified version of misc/Makefile
 #
 
 # This is a simplified version of misc/Makefile
 #
 
-TICDIR = $(INSTALL_PREFIX)$(datadir)/terminfo
-TABSETDIR = $(INSTALL_PREFIX)$(datadir)/tabset
+TICDIR = $(DESTDIR)$(datadir)/terminfo
+TABSETDIR = $(DESTDIR)$(datadir)/tabset
 
 $(TICDIR) :
        mkdir -p $@
 
 $(TICDIR) :
        mkdir -p $@
diff --git a/NEWS b/NEWS
index 558846f556891cdd56f35b72f8de9a97ace501dc..796c894d977553b1d9de80e08ce275fac1db103c 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
--- $Id: NEWS,v 1.577 2000/07/08 20:59:25 tom Exp $
+-- $Id: NEWS,v 1.602 2000/10/21 00:42:11 tom Exp $
 
 This is a log of changes that ncurses has gone through since Zeyd started
 working with Pavel Curtis' original work, pcurses, in 1992.
 
 This is a log of changes that ncurses has gone through since Zeyd started
 working with Pavel Curtis' original work, pcurses, in 1992.
@@ -6,6 +6,329 @@ working with Pavel Curtis' original work, pcurses, in 1992.
 Changes through 1.9.9e are recorded by Zeyd M. Ben-Halim.
 Changes since 1.9.9e are recorded by Thomas Dickey.
 
 Changes through 1.9.9e are recorded by Zeyd M. Ben-Halim.
 Changes since 1.9.9e are recorded by Thomas Dickey.
 
+20001021 5.2 release for upload to ftp.gnu.org
+       + update generated html files from manpages.
+       + modify dist.mk to use edit_man.sh to substitute autoconf'd variables
+         in html manpages.
+       + fix an uninitialized pointer in read_termcap.c (report by Todd C
+         Miller, from report/patch by Philip Guenther <guenther@gac.edu>).
+       + correct help-message and array limit in knight.c (patch by Brian
+         Raiter <breadbox@muppetlabs.com>).
+       > patch by Juergen Pfeifer:
+       + fix to avoid warning by GNAT-3.13p about use of inconsistent casing
+         for some identifiers defined in the standard package.
+       + cosmetic change to forms/fty_enum.c
+
+20001014
+       + correct an off-by-one position in test/railroad.c which could cause
+         wrapping at the right margin.
+       + test/repair some issues with libtool configuration.  Make
+         --disable-echo force libtool --silent.  (Libtool does not work for
+         OS/2 EMX, works partly for SCO - libtool is still very specific to
+         gcc).
+       + change default of --with-manpage-tbl to "no", since for most of the
+         platforms which do have tbl installed, the system "man" program
+         understands how to run tbl automatically.
+       + minor improvement to force_bar() in comp_parse.c (Bernhard
+         Rosenkraenzer <bero@redhat.de>).
+       + modify lib_tparm.c to use get_space() before writing terminating
+         null character, both for consistency as well as to ensure that if
+         save_char() was called immediately before, that the allocated memory
+         is enough (patch by Sergei Ivanov).
+       + add note about termcap ML capability which is duplicated between two
+         different capabilities:  smgl and smglr (reported by Sergei Ivanov
+         <svivanov@pdmi.ras.ru>).
+       + correct parameter counts in include/Caps for dclk as well as some
+         printer-specific capabilities: csnm, defc, scs, scsd, smgtp, smglp.
+       > patch by Johnny C Lam <lamj@stat.cmu.edu>:
+       + add support for building with libtool (apparently version 1.3.5,
+         since old versions do not handle -L../lib), using new configure
+         option --with-libtool.
+       + add configure option --with-manpage-tbl, which causes the manpages to
+         be preprocessed by tbl(1) prior to installation,
+       + add configure option --without-curses-h, which causes the
+         installation process to install curses.h as ncurses.h and make
+         appropriate changes to headers and manpages.
+
+20001009
+       + correct order of options/parameters in run_tic.in invocation of tic,
+         which did not work with standard getopt() (reported by Ethan
+         Butterfield <primus@veris.org>).
+       + correct logic for 'reverse' variable in lib_vidattr.c, which was
+         setting it true without checking if newmode had A_REVERSE set, e.g.,
+         using $TERM=ansi on OS/2 EMX (see 20000917).
+       > patch by Todd Miller:
+       + add a few missing use_terminfo_vars() and fixes up _nc_tgetent().
+         Previously, _nc_cgetset() would still get called on cp so the
+         simplest thing is to set cp to NULL if !use_terminfo_vars().
+       + added checks for an empty $HOME environment variable.
+       > patches by Ilya Zakharevich for OS/2 EMX:
+       + modify convert_configure.pl to support INSTALL.  Change compiler
+         options in that script to use multithreading, needed for the mouse.
+       + modify OS/2 mouse support, retrying as a 2-button mouse if code fails
+         to set up a 3-button mouse.
+       + improve code for OS/2 mouse support, using _nc_timed_wait() to
+         replace select() call.
+
+20001007
+       + change type of ospeed variable back to short to match its use in
+         legacy applications (reported by Andrey A Chernov).
+       + add case to configure script for --enable-rpath on IRIX (patch by
+         Albert Chin-A-Young).
+       + minor fix to position_check() function, to ensure it gets the whole
+         cursor report before decoding.
+       + add configure option --disable-assumed-color, to allow pre-5.1
+         convention of default colors used for color-pair 0 to be configured
+         (see assume_default_colors()).
+       + rename configure option --enable-hashmap --disable-hashmap, and
+         reorder the configure options, splitting the experimental and
+         development 
+       + add configure option --disable-root-environ, which tells ncurses to
+         disregard $TERMINFO and similar environment variables if the current
+         user is root, or running setuid/setgid (based on discussion with
+         several people).
+       + modified misc/run_tic.in to use tic -o, to eliminate dependency on
+         $TERMINFO variable for installs.
+       + add table entry for plab_norm to tput, so it passes in strings
+         for that capability.
+       + modify parse_format() in lib_tparm.c to ignore precision if it is
+         longer than 10000 (report by Jouko Pynnonen).
+       + rewrote limit checks in lib_mvcur.c using new functions
+         _nc_safe_strcat(), etc.  Made other related changes to check lengths
+         used for strcat/strcpy (report by Jouko Pynnonen <jouko@solutions.fi>).
+
+20000930
+       + modify several descriptions, including those for setaf, setab, in
+         include/Caps to indicate that the entries are parameterized.  This
+         information is used to tell which strings are translated when
+         converting to termcap.  Fixes a problem where the generated termcap
+         would contain a spurious "%p1" for the terminfo "%p1%d".
+       + modify ld -rpath options (e.g., Linux, and Solaris) to use an
+         absolute pathname for the build tree's lib directory (prompted by
+         discussion with Albert Chin-A-Young).
+       + modify "make install.man" and "make uninstall.man" to include tack's
+         man-page.
+       + various fixes for install scripts used to support configure --srcdir
+         and --with-install-prefix (reported by Matthew Clarke
+         <Matthew_Clarke@mindlink.bc.ca>).
+       + make configure script checks on variables $GCC and $GXX consistently
+         compare against 'yes' rather than test if they are nonnull, since
+         either may be set to the corresponding name of the C or C++ compiler
+         (report/patch by Albert Chin-A-Young).
+
+20000923
+       + modify rs2 capability in xterm-r6 and similar where cursor
+         save/restore bracketed the sequence for resetting video attributes. 
+         The cursor restore would undo that (from a NetBSD bug report by John
+         Hawkinson <jhawk@MIT.EDU>).
+       + using parameter check added to tic, corrected 27 typos in
+         terminfo.src -TD
+       + modify tic to verify that its inputs are really files, in case
+         someone tries to read a directory (or /dev/zero).
+       + add a check for empty buffers returned by fgets() in comp_scan.c
+         next_char() function, in case tic is run on a non-text file (fixes
+         a core dump reported by Aaron Campbell <aaron@cs.dal.ca>).
+       + add to railroad.c some code exercising tgoto(), providing an
+         alternate form of display if the terminal supports cursor addressing.
+       + split-out tgoto() again, this time into new file lib_tgoto.c, and
+         implement a conventional BSD-style tgoto() which is used if the
+         capability string does not contain terminfo-style padding or
+         parameters (requested by Andrey A Chernov).
+       + add check to tic which reports capabilities that do not reference
+         the expected number of parameters.
+       + add error checking to infocmp's -v and -m options to ensure that
+         the option value is indeed a number.
+
+20000917
+       + add S0, E0 extensions to screen's terminfo entry, which is another
+         way to solve the misconfiguration issue -TD
+       + completed special case for tgoto from 20000916
+
+20000916
+       + update xterm terminfo entries to match XFree86 xterm patch #146 -TD
+       + add Matrix Orbital terminfo entries (from Eric Z Ayers
+         <eric@ale.org>).
+       + add special case to lib_tparm.c to allow 'screen' program to use a
+         termcap-style parameter "%." to tgoto() for switching character sets.
+       + use LN_S substitution in run_tic.in, to work on OS/2 EMX which has
+         no symbolic links.
+       + updated notes in README.emx regarding autoconf patches.
+       + replace a lookup table in lib_vidattr.c used to decode no_color_video
+         with a logic expression (suggested by Philippe Blain).
+       + add a/A toggle to ncurses.c 'b' test, which clears/sets alternate
+         character set attribute from the displayed text.
+       + correct inequality in parameter analysis of rewritten lib_tparm.c
+         which had the effect of ignoring p9 in set_attributes (sgr), breaking
+         alternate character set (reported by Piotr Majka <charvel@link.pl>).
+       + correct ifdef'ing for GCC_PRINTF, GCC_SCANF which would not compile
+         with Sun WorkShop compilers since these tokens were empty (cf: 
+         20000902, reported by Albert Chin-A-Young).
+
+20000909
+       + correct an uninitialized parameter to open_tempfile() in tic.c which
+         made "tic -I" give an ambiguous error message about tmpnam.
+       + add special case in lib_vidattr.c to reset underline and standout for
+         devices that have no sgr0 defined (patch by Don Lewis
+         <Don.Lewis@tsc.tdk.com>).  Note that this will not work for bold
+         mode, since there is no exit-bold-mode capability.
+       + improved patch for Make_Enum_Type (patch by Juergen Pfeifer).
+       + modify tparm to disallow arithmetic on strings, analyze the varargs
+         list to read strings as strings and numbers as numbers.
+       + modify tparm's internal function spop() to treat a null pointer as
+         an empty string.
+       + modify tput program so it can be renamed or invoked via a link as
+         'reset' or 'init', producing the same effect as 'tput reset' or 'tput
+         init'.
+       + add private entrypoint _nc_basename(), use to consolidate related
+         code in progs, as well as accommodating OS/2 EMX pathnames.
+       + remove NCURSES_CONST line from edit_cfg.sh to compensate for its
+         removal (except via AC_SUBST) from configure.in, making --enable-const
+         work again (reported by Juergen Pfeifer).
+       + regen'd configure to pick up "hpux*" change from 20000902.
+
+20000902
+       + modify tset.c to check for transformed "reset" program name, if any.
+       + add a check for null pointer in Make_Enum_Type() (reported by Steven
+         W Orr <steveo@world.std.com>).
+       + change functions _nc_parse_entry() and postprocess_termcap() to avoid
+         using strtok(), because it is non-reentrant (reported by Andrey A
+         Chernov <ache@nagual.pp.ru>).
+       + remove "hpux10.*" case from CF_SHARED_OPTS configure script macro.
+         This differed from the "hpux*" case by using reversed symbolic
+         links, which made the 5.1 version not match the configuration of
+         5.0 shared libraries (reported by Albert Chin-A-Young).
+       + correct a dependency in Ada95/src/Makefile.in which prevented
+         building with configure --srcdir (patch by H Nanosecond
+         <aldomel@ix.netcom.com>).
+       + modify ifdef's in curses.h.in to avoid warning if GCC_PRINTF or
+         GCC_SCANF was not previously defined (reported by Pavel Roskin
+         <proski@gnu.org>).
+       + add MKncurses_def.sh to generate fallback definitions for
+         ncurses_cfg.h, to quiet gcc -Wundef warnings, modified ifdef's in
+         code to consistently use "#if" rather than "#ifdef".
+
+20000826
+       + add QNX qansi entries to terminfo -TD
+       + add os2 entry to misc/emx.src (<jmcoopr@webmail.bmi.net>).
+       + add configure option --with-database to allow specifying a different
+         terminfo source-file to install.  On OS/2 EMX, this defaults to
+         misc/emx.src
+       + change misc/run_tic.sh to derive it from misc/run_tic.in, to simplify
+         setting .exe extension on OS/2 EMX.
+       + add .exe extension in Ada95/gen/Makefile.in,
+         Ada95/samples/Makefile.in, for OS/2 EMX (reported by
+         <jmcoopr@webmail.bmi.net>).
+       + add configure check for filesystems (such as OS/2 EMX) which do not
+         distinguish between upper/lowercase filenames, use this to fix tags
+         rules in makefiles.
+       + initialize fds[] array to 0's in _nc_timed_wait(); apparently poll()
+         only sets the revents members of that array when there is activity
+         corresponding to the related file (report by Glenn Cooper
+         <gcooper@qantas.com.au>, using Purify on Solaris 5.6).
+       + change configure script to use AC_CANONICAL_SYSTEM rather than
+         AC_CANONICAL_HOST, which means that configure --target will set
+         a default program-prefix.
+       + add note on cross-compiling to INSTALL (which does not rely on the
+         AC_CANONICAL_* macros).
+
+20000819
+       + add cases for EMX OS/2 to config.guess, config.sub
+       + new version of config.guess, config.sub from lynx 2.8.4dev.7
+       + add definitions via transform.h to allow tic and tput to check for
+         the transformed aliases rather than the original infotocap, etc.
+       + simplify transform-expressions in progs/Makefile.in, make the
+         uninstall rule work for transformed program names.
+       + change symbol used by --install-prefix configure option from
+         INSTALL_PREFIX to DESTDIR (the latter has become common usage
+         although the name is misleading).
+       + modify programs to use curses_version() string to report the version
+         of ncurses with which they are compiled rather than the
+         NCURSES_VERSION string.  The function returns the patch level in
+         addition to the major and minor version numbers.
+
+20000812
+       + modify CF_MAN_PAGES configure macro to make transformed program names
+         a parameter to that macro rather than embedding them in the macro.
+       + newer config.guess, config.sub (reference version used in lynx
+         2.8.4dev.7).
+       + add configure option --with-default-terminfo-dir=DIR to allow
+         specifying the default terminfo database directory (request by Albert
+         Chin-A-Young).
+       + minor updates for terminfo.src from FreeBSD termcap change-history.
+       + correct notes in README and INSTALL regarding documentation files
+         that were moved from misc directory to doc (report by Rich Kulawiec
+         <rsk@gsp.org>).
+       + change most remaining unquoted parameters of 'test' in configure
+         script to use quotes, for instance fixing a problem in the
+         --disable-database option (reported by Christian Mondrup
+         <scancm@biobase.dk>).
+       + minor adjustments to work around some of the incompatibilities/bugs
+         in autoconf 2.29a alpha.
+       + add -I/usr/local/include when --with-ncurses option is used in
+         test/configure script.
+       + correct logic in adjust_cancels(), which did not check both
+         alternatives when reclassifying an extended name between boolean,
+         number and string, causing an infinite loop in tic.
+
+20000730
+       + correct a missing backslash in curses.priv.h
+
+20000729
+       + change handling of non_dest_scroll_region in tty_update.c to clear
+         text after it is shifted in rather than before shifting out.  Also
+         correct row computation (reported by Ruediger Kuhlmann
+         <uck4@rz.uni-karlsruhe.de>).
+       + add/use new trace function to display chtype values from winch() and
+         getbkgd().
+       + add trace mask TRACE_ATTRS, alter several existing _tracef calls that
+         trace attribute changes under TRACE_CALLS to use this.
+       + modify MKlib_gen.sh so that functions returning chtype will call
+         returnChar().
+       + add returnChar() trace, for functions returning chtype.
+       + change indent.pro to line up parenthesis.
+
+20000722
+       + fix a heap problem with the c++ binding (report by
+         <alexander_liberson@ninewest.com>, patch by Juergen Pfeifer).
+       + minor adjustment to ClrToEOL() to handle an out-of-bounds parameter.
+       + modify the check for big-core to force a couple of memory accesses,
+         which may work as needed for older/less-capable machines (if not,
+         there's still the explicit configure option).
+       > fixes based on diff's for Amiga and BeOS found at
+         http://www.mathematik.uni-karlsruhe.de/~kuhlmann/cross/ncurses/
+       + alter definition of NCURSES_CONST to make it non-empty.
+       + add amiga-vnc terminfo entry.
+       + redefine 'TEXT' in menu.h for AMIGA, since it is reported to have
+         an (unspecified) symbol conflict.
+       + replaced case-statement in _nc_tracebits() for CSIZE with a table to
+         simplify working around implementations that define random
+         combinations of the related macros to zero.
+       + modify configure test for tcgetattr() to allow for old
+         implementations, e.g., on BeOS, which only defined it as a macro.
+       > patches by Bruno Haible:
+       + when checking LC_ALL/LC_CTYPE/LANG environment variables for UTF-8
+         locale, ignore those which are set to an empty value, as per SUSV2.
+       + encode 0xFFFD in UTF-8 with 3 bytes, not 2.
+       + modify _nc_utf8_outch() to avoid sign-extension when checking for
+         out-of-range value.
+
+20000715
+       + correct manlinks.sed script to avoid using ERE "\+", which is not
+         understood by older versions of sed (patch by Albert Chin-A-Young).
+       + implement configure script options that transform installed program
+         names, e.g., --program-prefix, including the manpage names and cross
+         references (patch by Albert Chin-A-Young <china@thewrittenword.com>).
+       + correct several mismatches between manpage filename and ".TH"
+         directives, renaming dft_fgbg.3x to default_colors.3x and
+         menu_attribs.3x to menu_attributes.3x (report by Todd C Miller).
+       + correct missing includes for <string.h> in several places, including
+         the C++ binding.  This is not noted by gcc unless we use the
+         -fno-builtin option (reported by Igor Schein <igor@txc.com>).
+       + modified progs/tset.c and tack/sysdep.c to build with sgttyb
+         interface if neither termio or termios is available.  Tested this
+         with FreeBSD 2.1.5 (which does have termios - but the sgttyb does
+         work).
+
 20000708 5.1 release for upload to ftp.gnu.org
        + document configure options in INSTALL.
        + add man-page for ncurses trace functions.
 20000708 5.1 release for upload to ftp.gnu.org
        + document configure options in INSTALL.
        + add man-page for ncurses trace functions.
diff --git a/README b/README
index 8b8c78ac29a3d93654199c02e5b96ddaa358baaf..c46fc195ac5b397ca6471eedc0b22da90bcaee7a 100644 (file)
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
--- $Id: README,v 1.19 1999/10/23 20:39:24 tom Exp $
+-- $Id: README,v 1.20 2000/08/12 23:31:21 tom Exp $
 -------------------------------------------------------------------------------
                README file for the ncurses package
 
 -------------------------------------------------------------------------------
                README file for the ncurses package
 
@@ -10,7 +10,7 @@ See the file TO-DO for things that still need doing, including known bugs.
 Browse the file misc/ncurses-intro.html for narrative descriptions of how
 to use ncurses and the panel, menu, and form libraries.
  
 Browse the file misc/ncurses-intro.html for narrative descriptions of how
 to use ncurses and the panel, menu, and form libraries.
  
-Browse the file misc/hackguide.html for a tour of the package internals.
+Browse the file doc/html/hackguide.html for a tour of the package internals.
 
 ROADMAP AND PACKAGE OVERVIEW:
 
 
 ROADMAP AND PACKAGE OVERVIEW:
 
@@ -96,10 +96,10 @@ descriptions; the next two (clear and tput) are for use in shell scripts.  The
 last (tset) is provided for 4.4BSD compatibility.  The source code for all of
 these lives in the `progs' directory.
 
 last (tset) is provided for 4.4BSD compatibility.  The source code for all of
 these lives in the `progs' directory.
 
-Detailed documentation for all libraries and utilities can be found in
-the `man' directory.  An HTML introduction to ncurses, panels, and
-menus programming lives in the `misc' directory.  Manpages in HTML format
-are under `Ada95/html'.
+Detailed documentation for all libraries and utilities can be found in the
+`man' and `doc' directories.  An HTML introduction to ncurses, panels, and
+menus programming lives in the `doc/html' directory.  Manpages in HTML format
+are under `doc/html/man'.
 
 The `test' directory contains programs that can be used to verify or
 demonstrate the functions of the ncurses libraries.  See test/README for
 
 The `test' directory contains programs that can be used to verify or
 demonstrate the functions of the ncurses libraries.  See test/README for
@@ -171,5 +171,5 @@ suggesting improvements, and generally whining about ncurses :-)
 
 BUGS:
        See the INSTALL file for bug and developer-list addresses.
 
 BUGS:
        See the INSTALL file for bug and developer-list addresses.
-       The Hacker's Guide in the misc directory includes some guidelines
+       The Hacker's Guide in the doc directory includes some guidelines
        on how to report bugs in ways that will get them fixed most quickly.
        on how to report bugs in ways that will get them fixed most quickly.
index 15882d3b62dae1ac8108a20a11248987779ceb36..3f3d526a94e42d161d110574baecfda063fd2792 100644 (file)
@@ -1,5 +1,5 @@
--- $Id: README.emx,v 1.2 2000/05/06 17:41:56 tom Exp $
--- Author: Thomas Dickey <dickey@clark.net>
+-- $Id: README.emx,v 1.4 2000/09/16 19:28:28 tom Exp $
+-- Author: Thomas Dickey
 -------------------------------------------------------------------------------
 
 You can build ncurses on OS/2 in the EMX environment.  But you must build and
 -------------------------------------------------------------------------------
 
 You can build ncurses on OS/2 in the EMX environment.  But you must build and
@@ -11,7 +11,7 @@ You can generate a new one if you have autoconf built for EMX.  You will need
 the EMX development tools, of course.  Get these programs to start:
 
        GNU m4 program (version 1.4)
 the EMX development tools, of course.  Get these programs to start:
 
        GNU m4 program (version 1.4)
-       GNU autoconf (version 2.12).
+       GNU autoconf (version 2.13).
        GNU patch (version 2.5)
 
 Apply the autoconf patches from
        GNU patch (version 2.5)
 
 Apply the autoconf patches from
@@ -21,11 +21,8 @@ Apply the autoconf patches from
 
 These are ordered by date:
 
 
 These are ordered by date:
 
-       autoconf-2.12-970309.patch.gz
-       autoconf-2.12-970429.patch.gz
-       autoconf-2.12-971222-emx.patch.gz
-       autoconf-2.12-971222.patch.gz
-       autoconf-2.12-971230.patch.gz
+       autoconf-2.13-20000819.patch.gz
+       autoconf-2.13-20000819-emx.patch.gz
 
 I built my development environment for ncurses using EMX 0.9c at the end of
 1997.  Much of the EMX patch for autoconf was done originally by J.J.G.Ripoll,
 
 I built my development environment for ncurses using EMX 0.9c at the end of
 1997.  Much of the EMX patch for autoconf was done originally by J.J.G.Ripoll,
index 490bbed7a557880b4445caef528f5532bacd17a3..6782f0fb183fdad6083f570690e1c6cab1e07af2 100644 (file)
@@ -26,11 +26,13 @@ dnl sale, use or other dealings in this Software without prior written       *
 dnl authorization.                                                           *
 dnl***************************************************************************
 dnl
 dnl authorization.                                                           *
 dnl***************************************************************************
 dnl
-dnl Author: Thomas E. Dickey <dickey@clark.net> 1996,1997,1998
+dnl Author: Thomas E. Dickey 1996,1997,1998,1999,2000
 dnl
 dnl
-dnl $Id: aclocal.m4,v 1.214 2000/07/07 15:11:34 tom Exp $
+dnl $Id: aclocal.m4,v 1.238 2000/10/20 22:57:49 tom Exp $
 dnl Macros used in NCURSES auto-configuration script.
 dnl
 dnl Macros used in NCURSES auto-configuration script.
 dnl
+dnl See http://dickey.his.com/autoconf/ for additional information.
+dnl
 dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
 dnl Construct the list of include-options for the C programs in the Ada95
 dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
 dnl Construct the list of include-options for the C programs in the Ada95
@@ -41,7 +43,7 @@ ACPPFLAGS="$ACPPFLAGS -I. -I../../include"
 if test "$srcdir" != "."; then
        ACPPFLAGS="$ACPPFLAGS -I\$(srcdir)/../../include"
 fi
 if test "$srcdir" != "."; then
        ACPPFLAGS="$ACPPFLAGS -I\$(srcdir)/../../include"
 fi
-if test -z "$GCC"; then
+if test "$GCC" != yes; then
        ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
 elif test "$includedir" != "/usr/include"; then
        if test "$includedir" = '${prefix}/include' ; then
        ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
 elif test "$includedir" != "/usr/include"; then
        if test "$includedir" = '${prefix}/include' ; then
@@ -129,7 +131,7 @@ dnl Treat the configuration-variable specially here, since we're directly
 dnl substituting its value (i.e., 1/0).
 AC_DEFUN([CF_BOOL_DECL],
 [
 dnl substituting its value (i.e., 1/0).
 AC_DEFUN([CF_BOOL_DECL],
 [
-AC_MSG_CHECKING([for builtin ifelse(AC_LANG,[C],$CC,$CXX) bool type])
+AC_MSG_CHECKING([for builtin bool type])
 AC_CACHE_VAL(ifelse($1,,cf_cv_builtin_bool,[$1]),[
        AC_TRY_COMPILE([
 #include <stdio.h>
 AC_CACHE_VAL(ifelse($1,,cf_cv_builtin_bool,[$1]),[
        AC_TRY_COMPILE([
 #include <stdio.h>
@@ -138,7 +140,7 @@ AC_CACHE_VAL(ifelse($1,,cf_cv_builtin_bool,[$1]),[
                [ifelse($1,,cf_cv_builtin_bool,[$1])=1],
                [ifelse($1,,cf_cv_builtin_bool,[$1])=0])
        ])
                [ifelse($1,,cf_cv_builtin_bool,[$1])=1],
                [ifelse($1,,cf_cv_builtin_bool,[$1])=0])
        ])
-if test $ifelse($1,,cf_cv_builtin_bool,[$1]) = 1
+if test "$ifelse($1,,cf_cv_builtin_bool,[$1])" = 1
 then   AC_MSG_RESULT(yes)
 else   AC_MSG_RESULT(no)
 fi
 then   AC_MSG_RESULT(yes)
 else   AC_MSG_RESULT(no)
 fi
@@ -148,13 +150,13 @@ dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type).
 dnl Don't bother looking for bool.h, since it's been deprecated.
 AC_DEFUN([CF_BOOL_SIZE],
 [
 dnl Don't bother looking for bool.h, since it's been deprecated.
 AC_DEFUN([CF_BOOL_SIZE],
 [
-AC_MSG_CHECKING([for size of ifelse(AC_LANG,[C],$CC,$CXX) bool])
+AC_MSG_CHECKING([for size of bool])
 AC_CACHE_VAL(cf_cv_type_of_bool,[
        rm -f cf_test.out
        AC_TRY_RUN([
 #include <stdlib.h>
 #include <stdio.h>
 AC_CACHE_VAL(cf_cv_type_of_bool,[
        rm -f cf_test.out
        AC_TRY_RUN([
 #include <stdlib.h>
 #include <stdio.h>
-#if HAVE_GXX_BUILTIN_H
+#ifdef HAVE_GXX_BUILTIN_H
 #include <g++/builtin.h>
 #elif HAVE_GPP_BUILTIN_H
 #include <gpp/builtin.h>
 #include <g++/builtin.h>
 #elif HAVE_GPP_BUILTIN_H
 #include <gpp/builtin.h>
@@ -259,18 +261,20 @@ AC_TRY_LINK([
        [cf_cv_cgetent=no])
 ])
 AC_MSG_RESULT($cf_cv_cgetent)
        [cf_cv_cgetent=no])
 ])
 AC_MSG_RESULT($cf_cv_cgetent)
-test $cf_cv_cgetent = yes && AC_DEFINE(HAVE_BSD_CGETENT)
+test "$cf_cv_cgetent" = yes && AC_DEFINE(HAVE_BSD_CGETENT)
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl Check if we're accidentally using a cache from a different machine.
 dnl Derive the system name, as a check for reusing the autoconf cache.
 dnl
 dnl If we've packaged config.guess and config.sub, run that (since it does a
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl Check if we're accidentally using a cache from a different machine.
 dnl Derive the system name, as a check for reusing the autoconf cache.
 dnl
 dnl If we've packaged config.guess and config.sub, run that (since it does a
-dnl better job than uname).
+dnl better job than uname).  Normally we'll use AC_CANONICAL_HOST, but allow
+dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
+dnl which is useful in cross-compiles.
 AC_DEFUN([CF_CHECK_CACHE],
 [
 if test -f $srcdir/config.guess ; then
 AC_DEFUN([CF_CHECK_CACHE],
 [
 if test -f $srcdir/config.guess ; then
-       AC_CANONICAL_HOST
+       ifelse([$1],,[AC_CANONICAL_HOST],[$1])
        system_name="$host_os"
 else
        system_name="`(uname -s -r) 2>/dev/null`"
        system_name="$host_os"
 else
        system_name="`(uname -s -r) 2>/dev/null`"
@@ -359,7 +363,7 @@ dnl is a late feature for the standard and is not in some recent compilers
 dnl (1999/9/11).
 AC_DEFUN([CF_CPP_PARAM_INIT],
 [
 dnl (1999/9/11).
 AC_DEFUN([CF_CPP_PARAM_INIT],
 [
-if test -n "$CXX" ; then
+if test "$CXX" = yes ; then
 AC_CACHE_CHECK(if $CXX accepts parameter initialization,cf_cv_cpp_param_init,[
        AC_LANG_CPLUSPLUS
        AC_TRY_RUN([
 AC_CACHE_CHECK(if $CXX accepts parameter initialization,cf_cv_cpp_param_init,[
        AC_LANG_CPLUSPLUS
        AC_TRY_RUN([
@@ -456,7 +460,7 @@ int main() {
                [cf_cv_good_bcopy=unknown])
                ])
        ],[cf_cv_good_bcopy=no])
                [cf_cv_good_bcopy=unknown])
                ])
        ],[cf_cv_good_bcopy=no])
-       if test $cf_cv_good_bcopy = yes ; then
+       if test "$cf_cv_good_bcopy" = yes ; then
                AC_DEFINE(USE_OK_BCOPY)
        else
                AC_DEFINE(USE_MY_MEMMOVE)
                AC_DEFINE(USE_OK_BCOPY)
        else
                AC_DEFINE(USE_MY_MEMMOVE)
@@ -490,12 +494,39 @@ int main() {
 test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL)
 ])dnl
 dnl ---------------------------------------------------------------------------
 test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL)
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl Some old/broken variations define tcgetattr() only as a macro in
+dnl termio(s).h
+AC_DEFUN([CF_FUNC_TERMIOS],[
+AC_REQUIRE([CF_STRUCT_TERMIOS])
+AC_CACHE_CHECK(for tcgetattr, cf_cv_have_tcgetattr,[
+AC_TRY_LINK([
+#include <sys/types.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef HAVE_TERMIOS_H
+#include <termios.h>
+#define TTY struct termios
+#else
+#ifdef HAVE_TERMIO_H
+#include <termio.h>
+#define TTY struct termio
+#endif
+#endif
+],[
+TTY foo;
+tcgetattr(1, &foo);],
+[cf_cv_have_tcgetattr=yes],
+[cf_cv_have_tcgetattr=no])])
+test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR)
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl Test for availability of useful gcc __attribute__ directives to quiet
 dnl compiler warnings.  Though useful, not all are supported -- and contrary
 dnl to documentation, unrecognized directives cause older compilers to barf.
 AC_DEFUN([CF_GCC_ATTRIBUTES],
 [
 dnl Test for availability of useful gcc __attribute__ directives to quiet
 dnl compiler warnings.  Though useful, not all are supported -- and contrary
 dnl to documentation, unrecognized directives cause older compilers to barf.
 AC_DEFUN([CF_GCC_ATTRIBUTES],
 [
-if test -n "$GCC"
+if test "$GCC" = yes
 then
 cat > conftest.i <<EOF
 #ifndef GCC_PRINTF
 then
 cat > conftest.i <<EOF
 #ifndef GCC_PRINTF
@@ -511,7 +542,7 @@ cat > conftest.i <<EOF
 #define GCC_UNUSED /* nothing */
 #endif
 EOF
 #define GCC_UNUSED /* nothing */
 #endif
 EOF
-if test -n "$GCC"
+if test "$GCC" = yes
 then
        AC_CHECKING([for $CC __attribute__ directives])
        changequote(,)dnl
 then
        AC_CHECKING([for $CC __attribute__ directives])
        changequote(,)dnl
@@ -578,7 +609,7 @@ dnl -pedantic
 dnl
 AC_DEFUN([CF_GCC_WARNINGS],
 [
 dnl
 AC_DEFUN([CF_GCC_WARNINGS],
 [
-if test -n "$GCC"
+if test "$GCC" = yes
 then
        changequote(,)dnl
        cat > conftest.$ac_ext <<EOF
 then
        changequote(,)dnl
        cat > conftest.$ac_ext <<EOF
@@ -679,7 +710,7 @@ os2*) #(vi
        cf_gpp_libname=g++
        ;;
 esac
        cf_gpp_libname=g++
        ;;
 esac
-if test $ac_cv_prog_gxx = yes; then
+if test "$ac_cv_prog_gxx" = yes; then
        AC_MSG_CHECKING([for lib$cf_gpp_libname])
        cf_save="$LIBS"
        LIBS="$LIBS -l$cf_gpp_libname"
        AC_MSG_CHECKING([for lib$cf_gpp_libname])
        cf_save="$LIBS"
        LIBS="$LIBS -l$cf_gpp_libname"
@@ -722,7 +753,7 @@ CPPFLAGS="$CPPFLAGS -I. -I../include"
 if test "$srcdir" != "."; then
        CPPFLAGS="$CPPFLAGS -I\$(srcdir)/../include"
 fi
 if test "$srcdir" != "."; then
        CPPFLAGS="$CPPFLAGS -I\$(srcdir)/../include"
 fi
-if test -z "$GCC"; then
+if test "$GCC" != yes; then
        CPPFLAGS="$CPPFLAGS -I\$(includedir)"
 elif test "$includedir" != "/usr/include"; then
        if test "$includedir" = '${prefix}/include' ; then
        CPPFLAGS="$CPPFLAGS -I\$(includedir)"
 elif test "$includedir" != "/usr/include"; then
        if test "$includedir" = '${prefix}/include' ; then
@@ -746,7 +777,7 @@ AC_CACHE_VAL(cf_cv_have_isascii,[
        [cf_cv_have_isascii=no])
 ])dnl
 AC_MSG_RESULT($cf_cv_have_isascii)
        [cf_cv_have_isascii=no])
 ])dnl
 AC_MSG_RESULT($cf_cv_have_isascii)
-test $cf_cv_have_isascii = yes && AC_DEFINE(HAVE_ISASCII)
+test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII)
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl Compute the library-prefix for the given host system
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl Compute the library-prefix for the given host system
@@ -785,7 +816,7 @@ do
                do
                        CF_LIB_SUFFIX($cf_item,cf_suffix)
                        if test $cf_item = shared ; then
                do
                        CF_LIB_SUFFIX($cf_item,cf_suffix)
                        if test $cf_item = shared ; then
-                       if test $cf_cv_do_symlinks = yes ; then
+                       if test "$cf_cv_do_symlinks" = yes ; then
                                case "$cf_cv_shlib_version" in #(vi
                                rel) cf_suffix="$cf_suffix"'.$(REL_VERSION)' ;; #(vi
                                abi) cf_suffix="$cf_suffix"'.$(ABI_VERSION)' ;;
                                case "$cf_cv_shlib_version" in #(vi
                                rel) cf_suffix="$cf_suffix"'.$(REL_VERSION)' ;; #(vi
                                abi) cf_suffix="$cf_suffix"'.$(ABI_VERSION)' ;;
@@ -933,6 +964,18 @@ distclean ::
        rm -rf \$(DIRS_TO_MAKE)
 CF_EOF
 
        rm -rf \$(DIRS_TO_MAKE)
 CF_EOF
 
+# Special case: tack's manpage lives in its own directory.
+if test -d tack ; then
+if test -f $srcdir/$tack.h; then
+cat >> Makefile <<CF_EOF
+
+install.man \
+uninstall.man ::
+       cd tack && \$(MAKE) \$(CF_MFLAGS) \[$]@
+CF_EOF
+fi
+fi
+
 dnl If we're installing into a subdirectory of /usr/include, etc., we should
 dnl prepend the subdirectory's name to the "#include" paths.  It won't hurt
 dnl anything, and will make it more standardized.  It's awkward to decide this
 dnl If we're installing into a subdirectory of /usr/include, etc., we should
 dnl prepend the subdirectory's name to the "#include" paths.  It won't hurt
 dnl anything, and will make it more standardized.  It's awkward to decide this
@@ -957,27 +1000,62 @@ done
 DST=\[$]1
 REF=\[$]2
 SRC=\[$]3
 DST=\[$]1
 REF=\[$]2
 SRC=\[$]3
+TMPSRC=\${TMPDIR-/tmp}/\`basename \$SRC\`\$\$
+TMPSED=\${TMPDIR-/tmp}/headers.sed\$\$
 echo installing \$SRC in \$DST
 echo installing \$SRC in \$DST
+CF_EOF
+if test $WITH_CURSES_H = yes; then
+       cat >>headers.sh <<CF_EOF
 case \$DST in
 /*/include/*)
 case \$DST in
 /*/include/*)
-       TMPSRC=\${TMPDIR-/tmp}/\`basename \$SRC\`\$\$
-       TMPSED=\${TMPDIR-/tmp}/headers.sed\$\$
        END=\`basename \$DST\`
        for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
        do
                NAME=\`basename \$i\`
                echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
        done
        END=\`basename \$DST\`
        for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
        do
                NAME=\`basename \$i\`
                echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
        done
-       rm -f \$TMPSRC
-       sed -f \$TMPSED \$SRC > \$TMPSRC
-       eval \$PRG \$TMPSRC \$DST/\$SRC
-       rm -f \$TMPSRC \$TMPSED
        ;;
 *)
        ;;
 *)
-       eval \$PRG \$SRC \$DST
+       echo "" >> \$TMPSED
        ;;
 esac
 CF_EOF
        ;;
 esac
 CF_EOF
+else
+       cat >>headers.sh <<CF_EOF
+case \$DST in
+/*/include/*)
+       END=\`basename \$DST\`
+       for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
+       do
+               NAME=\`basename \$i\`
+               if test "\$NAME" = "curses.h"
+               then
+                       echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
+                       NAME=ncurses.h
+               fi
+               echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
+       done
+       ;;
+*)
+       echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
+       ;;
+esac
+CF_EOF
+fi
+cat >>headers.sh <<CF_EOF
+rm -f \$TMPSRC
+sed -f \$TMPSED \$SRC > \$TMPSRC
+NAME=\`basename \$SRC\`
+CF_EOF
+if test $WITH_CURSES_H != yes; then
+       cat >>headers.sh <<CF_EOF
+test "\$NAME" = "curses.h" && NAME=ncurses.h
+CF_EOF
+fi
+cat >>headers.sh <<CF_EOF
+eval \$PRG \$TMPSRC \$DST/\$NAME
+rm -f \$TMPSRC \$TMPSED
+CF_EOF
 
 chmod 0755 headers.sh
 
 
 chmod 0755 headers.sh
 
@@ -985,12 +1063,12 @@ for cf_dir in $SRC_SUBDIRS
 do
        if test -f $srcdir/$cf_dir/headers; then
        cat >>$cf_dir/Makefile <<CF_EOF
 do
        if test -f $srcdir/$cf_dir/headers; then
        cat >>$cf_dir/Makefile <<CF_EOF
-\$(INSTALL_PREFIX)\$(includedir) :
+\$(DESTDIR)\$(includedir) :
        \$(srcdir)/../mkinstalldirs \[$]@
 
 install \\
 install.libs \\
        \$(srcdir)/../mkinstalldirs \[$]@
 
 install \\
 install.libs \\
-install.includes :: \$(INSTALL_PREFIX)\$(includedir) \\
+install.includes :: \$(AUTO_SRC) \$(DESTDIR)\$(includedir) \\
 CF_EOF
                j=""
                for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
 CF_EOF
                j=""
                for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
@@ -1001,8 +1079,8 @@ CF_EOF
                echo "          $j" >>$cf_dir/Makefile
                for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
                do
                echo "          $j" >>$cf_dir/Makefile
                for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
                do
-                       echo "  @ (cd \$(INSTALL_PREFIX)\$(includedir) && rm -f `basename $i`) ; ../headers.sh \$(INSTALL_DATA) \$(INSTALL_PREFIX)\$(includedir) \$(srcdir) $i" >>$cf_dir/Makefile
-                       test $i = curses.h && echo "    @ (cd \$(INSTALL_PREFIX)\$(includedir) && rm -f ncurses.h && \$(LN_S) curses.h ncurses.h)" >>$cf_dir/Makefile
+                       echo "  @ (cd \$(DESTDIR)\$(includedir) && rm -f `basename $i`) ; ../headers.sh \$(INSTALL_DATA) \$(DESTDIR)\$(includedir) \$(srcdir) $i" >>$cf_dir/Makefile
+                       test $i = curses.h && test $WITH_CURSES_H = yes && echo "       @ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h && \$(LN_S) curses.h ncurses.h)" >>$cf_dir/Makefile
                done
 
        cat >>$cf_dir/Makefile <<CF_EOF
                done
 
        cat >>$cf_dir/Makefile <<CF_EOF
@@ -1014,8 +1092,8 @@ CF_EOF
                for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
                do
                        i=`basename $i`
                for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
                do
                        i=`basename $i`
-                       echo "  -@ (cd \$(INSTALL_PREFIX)\$(includedir) && rm -f $i)" >>$cf_dir/Makefile
-                       test $i = curses.h && echo "    -@ (cd \$(INSTALL_PREFIX)\$(includedir) && rm -f ncurses.h)" >>$cf_dir/Makefile
+                       echo "  -@ (cd \$(DESTDIR)\$(includedir) && rm -f $i)" >>$cf_dir/Makefile
+                       test $i = curses.h && echo "    -@ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h)" >>$cf_dir/Makefile
                done
        fi
 done
                done
        fi
 done
@@ -1030,6 +1108,7 @@ AC_DEFUN([CF_LIB_SUFFIX],
 [
        AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
        case $1 in
 [
        AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
        case $1 in
+       libtool) $2='.la'  ;;
        normal)  $2='.a'   ;;
        debug)   $2='_g.a' ;;
        profile) $2='_p.a' ;;
        normal)  $2='.a'   ;;
        debug)   $2='_g.a' ;;
        profile) $2='_p.a' ;;
@@ -1049,6 +1128,7 @@ dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
 AC_DEFUN([CF_LIB_TYPE],
 [
        case $1 in
 AC_DEFUN([CF_LIB_TYPE],
 [
        case $1 in
+       libtool) $2=''   ;;
        normal)  $2=''   ;;
        debug)   $2='_g' ;;
        profile) $2='_p' ;;
        normal)  $2=''   ;;
        debug)   $2='_g' ;;
        profile) $2='_p' ;;
@@ -1114,7 +1194,7 @@ EOF
        LIBS="$cf_saveLIBS"
        ])
 AC_MSG_RESULT($cf_cv_link_dataonly)
        LIBS="$cf_saveLIBS"
        ])
 AC_MSG_RESULT($cf_cv_link_dataonly)
-test $cf_cv_link_dataonly = no && AC_DEFINE(BROKEN_LINKER)
+test "$cf_cv_link_dataonly" = no && AC_DEFINE(BROKEN_LINKER)
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl Most Unix systems have both link and symlink, a few don't have symlink.
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl Most Unix systems have both link and symlink, a few don't have symlink.
@@ -1161,14 +1241,14 @@ int main()
 }
                        ],[
                        cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
 }
                        ],[
                        cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
-                       eval 'ac_cv_func_'$cf_func'=yes'
-                       CF_UPPER(cf_FUNC,$cf_func)
-                       AC_DEFINE_UNQUOTED(HAVE_$cf_FUNC)],[
+                       eval 'ac_cv_func_'$cf_func'=yes'],[
                        eval 'ac_cv_func_'$cf_func'=no'],[
                        eval 'ac_cv_func_'$cf_func'=error'])
                done
                test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
        ])
                        eval 'ac_cv_func_'$cf_func'=no'],[
                        eval 'ac_cv_func_'$cf_func'=error'])
                done
                test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
        ])
+       test "$ac_cv_func_link"    = yes && AC_DEFINE(HAVE_LINK)
+       test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK)
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
@@ -1208,6 +1288,33 @@ AC_MSG_RESULT($cf_cv_makeflags)
 AC_SUBST(cf_cv_makeflags)
 ])dnl
 dnl ---------------------------------------------------------------------------
 AC_SUBST(cf_cv_makeflags)
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl Generate tags/TAGS targets for makefiles.  Do not generate TAGS if we have
+dnl a monocase filesystem.
+AC_DEFUN([CF_MAKE_TAGS],[
+AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
+AC_CHECK_PROG(MAKE_LOWER_TAGS, ctags, yes, no)
+
+if test "$cf_cv_mixedcase" = yes ; then
+       AC_CHECK_PROG(MAKE_UPPER_TAGS, etags, yes, no)
+else
+       MAKE_UPPER_TAGS=no
+fi
+
+if test "$MAKE_UPPER_TAGS" = yes ; then
+       MAKE_UPPER_TAGS=
+else
+       MAKE_UPPER_TAGS="#"
+fi
+AC_SUBST(MAKE_UPPER_TAGS)
+
+if test "$MAKE_LOWER_TAGS" = yes ; then
+       MAKE_LOWER_TAGS=
+else
+       MAKE_LOWER_TAGS="#"
+fi
+AC_SUBST(MAKE_LOWER_TAGS)
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl Option to allow user to override automatic configuration of manpage format.
 dnl There are several special cases.
 AC_DEFUN([CF_MANPAGE_FORMAT],
 dnl Option to allow user to override automatic configuration of manpage format.
 dnl There are several special cases.
 AC_DEFUN([CF_MANPAGE_FORMAT],
@@ -1317,6 +1424,20 @@ AC_ARG_WITH(manpage-symlinks,
 AC_MSG_RESULT($cf_manpage_symlinks)
 ])dnl
 dnl ---------------------------------------------------------------------------
 AC_MSG_RESULT($cf_manpage_symlinks)
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl This option causes manpages to be run through tbl(1) to generate tables
+dnl correctly.
+AC_DEFUN([CF_MANPAGE_TBL],
+[
+AC_MSG_CHECKING(for manpage tbl)
+
+AC_ARG_WITH(manpage-tbl,
+       [  --with-manpage-tbl      specify manpage processing with tbl],
+       [cf_manpage_tbl=$withval],
+       [cf_manpage_tbl=no])
+
+AC_MSG_RESULT($cf_manpage_tbl)
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl Try to determine if the man-pages on the system are compressed, and if
 dnl so, what format is used.  Use this information to construct a script that
 dnl will install man-pages.
 dnl Try to determine if the man-pages on the system are compressed, and if
 dnl so, what format is used.  Use this information to construct a script that
 dnl will install man-pages.
@@ -1326,6 +1447,7 @@ CF_HELP_MESSAGE(Options to Specify How Manpages are Installed:)
 CF_MANPAGE_FORMAT
 CF_MANPAGE_RENAMES
 CF_MANPAGE_SYMLINKS
 CF_MANPAGE_FORMAT
 CF_MANPAGE_RENAMES
 CF_MANPAGE_SYMLINKS
+CF_MANPAGE_TBL
 
   if test "$prefix" = "NONE" ; then
      cf_prefix="$ac_default_prefix"
 
   if test "$prefix" = "NONE" ; then
      cf_prefix="$ac_default_prefix"
@@ -1351,9 +1473,11 @@ changequote({{,}})dnl
 # this script is generated by the configure-script
 prefix="$cf_prefix"
 datadir="$datadir"
 # this script is generated by the configure-script
 prefix="$cf_prefix"
 datadir="$datadir"
+TERMINFO="$TERMINFO"
 MKDIRS="`cd $srcdir && pwd`/mkinstalldirs"
 INSTALL="$INSTALL"
 INSTALL_DATA="$INSTALL_DATA"
 MKDIRS="`cd $srcdir && pwd`/mkinstalldirs"
 INSTALL="$INSTALL"
 INSTALL_DATA="$INSTALL_DATA"
+transform="$program_transform_name"
 
 TMP=\${TMPDIR-/tmp}/man\$\$
 trap "rm -f \$TMP" 0 1 2 5 15
 
 TMP=\${TMPDIR-/tmp}/man\$\$
 trap "rm -f \$TMP" 0 1 2 5 15
@@ -1379,16 +1503,52 @@ case \$i in #(vi
        fi
        aliases=
        source=\`basename \$i\`
        fi
        aliases=
        source=\`basename \$i\`
+       inalias=\$source
+       test ! -f \$inalias && inalias="\$srcdir/\$inalias"
+       if test ! -f \$inalias ; then
+               echo .. skipped \$source
+               continue
+       fi
 CF_EOF
 if test "$cf_manpage_symlinks" = yes ; then
 cat >>man/edit_man.sh <<CF_EOF
 CF_EOF
 if test "$cf_manpage_symlinks" = yes ; then
 cat >>man/edit_man.sh <<CF_EOF
-       aliases=\`sed -f \$srcdir/manlinks.sed \$source | sort -u\`
+       aliases=\`sed -f \$srcdir/manlinks.sed \$inalias | sort -u\`
 CF_EOF
 fi
 if test "$cf_manpage_renames" = no ; then
 cat >>man/edit_man.sh <<CF_EOF
 CF_EOF
 fi
 if test "$cf_manpage_renames" = no ; then
 cat >>man/edit_man.sh <<CF_EOF
-       target=$cf_subdir\${section}/\$source
-       sed -e "s,@DATADIR@,\$datadir," < \$i >\$TMP
+       # perform program transformations for section 1 man pages
+       if test \$section = 1 ; then
+               target=$cf_subdir\${section}/\`echo \$source|sed "\${transform}"\`
+       else
+               target=$cf_subdir\${section}/\$source
+       fi
+
+       # replace variables in man page
+CF_EOF
+       ifelse($1,,,{{
+       for cf_name in $1
+       do
+cat >>man/edit_man.sh <<CF_EOF
+       prog_$cf_name=\`echo $cf_name|sed "\${transform}"\`
+CF_EOF
+       done
+       }})
+cat >>man/edit_man.sh <<CF_EOF
+       sed     -e "s,@DATADIR@,\$datadir," \\
+               -e "s,@TERMINFO@,\$TERMINFO," \\
+CF_EOF
+       ifelse($1,,,{{
+       for cf_name in $1
+       do
+               cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+cat >>man/edit_man.sh <<CF_EOF
+               -e "s,@$cf_NAME@,\$prog_$cf_name," \\
+CF_EOF
+       done
+       }})
+cat >>man/edit_man.sh <<CF_EOF
+               < \$i >\$TMP
 CF_EOF
 else
 cat >>man/edit_man.sh <<CF_EOF
 CF_EOF
 else
 cat >>man/edit_man.sh <<CF_EOF
@@ -1401,6 +1561,18 @@ cat >>man/edit_man.sh <<CF_EOF
        test \$verb = installing && sed -e "s,@DATADIR@,\$datadir," < \$i | sed -f edit_man.sed >\$TMP
 CF_EOF
 fi
        test \$verb = installing && sed -e "s,@DATADIR@,\$datadir," < \$i | sed -f edit_man.sed >\$TMP
 CF_EOF
 fi
+if test $cf_manpage_tbl = yes ; then
+cat >>man/edit_man.sh <<CF_EOF
+       tbl \$TMP >\$TMP.out
+       mv \$TMP.out \$TMP
+CF_EOF
+fi
+if test $with_curses_h != yes ; then
+cat >>man/edit_man.sh <<CF_EOF
+       sed -e "/\#[    ]*include/s,curses.h,ncurses.h," < \$TMP >\$TMP.out
+       mv \$TMP.out \$TMP
+CF_EOF
+fi
 if test $cf_format = yes ; then
 cat >>man/edit_man.sh <<CF_EOF
        nroff -man \$TMP >\$TMP.out
 if test $cf_format = yes ; then
 cat >>man/edit_man.sh <<CF_EOF
        nroff -man \$TMP >\$TMP.out
@@ -1438,15 +1610,19 @@ CF_EOF
   ;;
 esac
 cat >>man/edit_man.sh <<CF_EOF
   ;;
 esac
 cat >>man/edit_man.sh <<CF_EOF
-       echo \$verb \$target
        suffix=\`basename \$target | sed -e 's/^[^.]*//'\`
        if test \$verb = installing ; then
        suffix=\`basename \$target | sed -e 's/^[^.]*//'\`
        if test \$verb = installing ; then
+               echo \$verb \$target
                \$INSTALL_DATA \$TMP \$target
                test -n "\$aliases" && (
                        cd $cf_subdir\${section} && (
                                target=\`basename \$target\`
                                for cf_alias in \$aliases
                                do
                \$INSTALL_DATA \$TMP \$target
                test -n "\$aliases" && (
                        cd $cf_subdir\${section} && (
                                target=\`basename \$target\`
                                for cf_alias in \$aliases
                                do
+                                       if test \$section = 1 ; then
+                                               cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
+                                       fi
+
                                        if test -f \$cf_alias\${suffix} ; then
                                                if ( cmp -s \$target \$cf_alias\${suffix} )
                                                then
                                        if test -f \$cf_alias\${suffix} ; then
                                                if ( cmp -s \$target \$cf_alias\${suffix} )
                                                then
@@ -1464,17 +1640,25 @@ cat >>man/edit_man.sh <<CF_EOF
                                done
                        )
                )
                                done
                        )
                )
-       else
+       elif test \$verb = removing ; then
+               echo \$verb \$target
                rm -f \$target
                test -n "\$aliases" && (
                        cd $cf_subdir\${section} && (
                                for cf_alias in \$aliases
                                do
                rm -f \$target
                test -n "\$aliases" && (
                        cd $cf_subdir\${section} && (
                                for cf_alias in \$aliases
                                do
+                                       if test \$section = 1 ; then
+                                               cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
+                                       fi
+
                                        echo .. \$verb alias \$cf_alias\${suffix}
                                        rm -f \$cf_alias\${suffix}
                                done
                        )
                )
                                        echo .. \$verb alias \$cf_alias\${suffix}
                                        rm -f \$cf_alias\${suffix}
                                done
                        )
                )
+       else
+#              echo ".hy 0"
+               cat \$TMP
        fi
        ;;
 esac
        fi
        ;;
 esac
@@ -1508,10 +1692,28 @@ ifelse($1,,[
 fi
 ])
 dnl ---------------------------------------------------------------------------
 fi
 ])
 dnl ---------------------------------------------------------------------------
+dnl Check if the file-system supports mixed-case filenames.  If we're able to
+dnl create a lowercase name and see it as uppercase, it doesn't support that.
+AC_DEFUN([CF_MIXEDCASE_FILENAMES],
+[
+AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
+       rm -f conftest CONFTEST
+       echo test >conftest
+       if test -f CONFTEST ; then
+               cf_cv_mixedcase=no
+       else
+               cf_cv_mixedcase=yes
+       fi
+       rm -f conftest CONFTEST
+])
+test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl Compute the object-directory name from the given model name
 AC_DEFUN([CF_OBJ_SUBDIR],
 [
        case $1 in
 dnl Compute the object-directory name from the given model name
 AC_DEFUN([CF_OBJ_SUBDIR],
 [
        case $1 in
+       libtool) $2='obj_lo'  ;;
        normal)  $2='objects' ;;
        debug)   $2='obj_g' ;;
        profile) $2='obj_p' ;;
        normal)  $2='objects' ;;
        debug)   $2='obj_g' ;;
        profile) $2='obj_p' ;;
@@ -1665,7 +1867,7 @@ AC_DEFUN([CF_SHARED_OPTS],
 
        # Some less-capable ports of gcc support only -fpic
        CC_SHARED_OPTS=
 
        # Some less-capable ports of gcc support only -fpic
        CC_SHARED_OPTS=
-       if test -n "$GCC"
+       if test "$GCC" = yes
        then
                AC_MSG_CHECKING(which $CC option to use)
                cf_save_CFLAGS="$CFLAGS"
        then
                AC_MSG_CHECKING(which $CC option to use)
                cf_save_CFLAGS="$CFLAGS"
@@ -1682,23 +1884,9 @@ AC_DEFUN([CF_SHARED_OPTS],
        beos*)
                MK_SHARED_LIB='$(CC) -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
                ;;
        beos*)
                MK_SHARED_LIB='$(CC) -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
                ;;
-       hpux10.*)
-               # (tested with gcc 2.7.2 -- I don't have c89)
-               if test -n "$GCC"; then
-                       LD_SHARED_OPTS='-Xlinker +b -Xlinker $(libdir)'
-               else
-                       CC_SHARED_OPTS='+Z'
-                       LD_SHARED_OPTS='-Wl,+b,$(libdir)'
-               fi
-               MK_SHARED_LIB='$(LD) +b $(libdir) -b +h `basename $[@]` -o $[@]'
-               # HP-UX shared libraries must be executable, and should be
-               # readonly to exploit a quirk in the memory manager.
-               INSTALL_LIB="-m 555"
-               cf_cv_do_symlinks=reverse
-               ;;
        hpux*)
                # (tested with gcc 2.7.2 -- I don't have c89)
        hpux*)
                # (tested with gcc 2.7.2 -- I don't have c89)
-               if test -n "$GCC"; then
+               if test "$GCC" = yes; then
                        LD_SHARED_OPTS='-Xlinker +b -Xlinker $(libdir)'
                else
                        CC_SHARED_OPTS='+Z'
                        LD_SHARED_OPTS='-Xlinker +b -Xlinker $(libdir)'
                else
                        CC_SHARED_OPTS='+Z'
@@ -1710,21 +1898,27 @@ AC_DEFUN([CF_SHARED_OPTS],
                INSTALL_LIB="-m 555"
                ;;
        irix*)
                INSTALL_LIB="-m 555"
                ;;
        irix*)
+               if test "$cf_cv_ld_rpath" = yes ; then
+                       cf_ld_rpath_opt="-Wl,-rpath,"
+                       EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS"
+               fi
                # tested with IRIX 5.2 and 'cc'.
                # tested with IRIX 5.2 and 'cc'.
-               if test -z "$GCC"; then
+               if test "$GCC" != yes; then
                        CC_SHARED_OPTS='-KPIC'
                fi
                MK_SHARED_LIB='$(LD) -shared -rdata_shared -soname `basename $[@]` -o $[@]'
                cf_cv_rm_so_locs=yes
                ;;
        linux*|gnu*)
                        CC_SHARED_OPTS='-KPIC'
                fi
                MK_SHARED_LIB='$(LD) -shared -rdata_shared -soname `basename $[@]` -o $[@]'
                cf_cv_rm_so_locs=yes
                ;;
        linux*|gnu*)
-               # tested with Linux 2.0.29 and gcc 2.7.2 (ELF)
-               test $cf_cv_ld_rpath = yes && cf_ld_rpath_opt="-Wl,-rpath,"
-               if test $DFT_LWR_MODEL = "shared" ; then
-                       LOCAL_LDFLAGS='-Wl,-rpath,../lib'
-                       LOCAL_LDFLAGS2='-Wl,-rpath,../../lib'
+               if test "$DFT_LWR_MODEL" = "shared" ; then
+                       LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
+                       LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+               fi
+               if test "$cf_cv_ld_rpath" = yes ; then
+                       cf_ld_rpath_opt="-Wl,-rpath,"
+                       EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
                fi
                fi
-               test $cf_cv_shlib_version = auto && cf_cv_shlib_version=rel
+               test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
                MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@] .$(REL_VERSION)`.$(ABI_VERSION),-stats,-lc -o $[@]'
                ;;
        openbsd2*)
                MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@] .$(REL_VERSION)`.$(ABI_VERSION),-stats,-lc -o $[@]'
                ;;
        openbsd2*)
@@ -1734,17 +1928,17 @@ AC_DEFUN([CF_SHARED_OPTS],
        openbsd*|freebsd*)
                CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
                MK_SHARED_LIB='$(LD) -Bshareable -o $[@]'
        openbsd*|freebsd*)
                CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
                MK_SHARED_LIB='$(LD) -Bshareable -o $[@]'
-               test $cf_cv_shlib_version = auto && cf_cv_shlib_version=rel
+               test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
                ;;
        netbsd*)
                CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
                ;;
        netbsd*)
                CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
-               test $cf_cv_ld_rpath = yes && cf_ld_rpath_opt="-Wl,-rpath,"
-               if test $DFT_LWR_MODEL = "shared" && test $cf_cv_ld_rpath = yes ; then
-                       LOCAL_LDFLAGS='-Wl,-rpath,../lib'
-                       LOCAL_LDFLAGS2='-Wl,-rpath,../../lib'
+               test "$cf_cv_ld_rpath" = yes && cf_ld_rpath_opt="-Wl,-rpath,"
+               if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then
+                       LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
+                       LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
                        EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS"
                        MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]'
                        EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS"
                        MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]'
-                       if test $cf_cv_shlib_version = auto; then
+                       if test "$cf_cv_shlib_version" = auto; then
                        if test ! -f /usr/libexec/ld.elf_so; then
                                cf_cv_shlib_version=rel
                        fi
                        if test ! -f /usr/libexec/ld.elf_so; then
                                cf_cv_shlib_version=rel
                        fi
@@ -1758,56 +1952,63 @@ AC_DEFUN([CF_SHARED_OPTS],
                # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't
                # link with shared libs).
                MK_SHARED_LIB='$(LD) -set_version $(REL_VERSION):$(ABI_VERSION) -expect_unresolved "*" -shared -soname `basename $[@]`'
                # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't
                # link with shared libs).
                MK_SHARED_LIB='$(LD) -set_version $(REL_VERSION):$(ABI_VERSION) -expect_unresolved "*" -shared -soname `basename $[@]`'
-               test $cf_cv_ld_rpath = yes && cf_ld_rpath_opt="-rpath"
                case $host_os in
                osf4*)
                        MK_SHARED_LIB="${MK_SHARED_LIB} -msym"
                        ;;
                esac
                MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]'
                case $host_os in
                osf4*)
                        MK_SHARED_LIB="${MK_SHARED_LIB} -msym"
                        ;;
                esac
                MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]'
-               if test $DFT_LWR_MODEL = "shared" ; then
-                       LOCAL_LDFLAGS='-Wl,-rpath,../lib'
-                       LOCAL_LDFLAGS2='-Wl,-rpath,../../lib'
+               if test "$DFT_LWR_MODEL" = "shared" ; then
+                       LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
+                       LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+               fi
+               if test "$cf_cv_ld_rpath" = yes ; then
+                       cf_ld_rpath_opt="-rpath"
+                       # EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
                fi
                cf_cv_rm_so_locs=yes
                ;;
        sco3.2v5*)  # (also uw2* and UW7) hops 13-Apr-98
                # tested with osr5.0.5
                fi
                cf_cv_rm_so_locs=yes
                ;;
        sco3.2v5*)  # (also uw2* and UW7) hops 13-Apr-98
                # tested with osr5.0.5
-               if test $ac_cv_prog_gcc != yes; then
+               if test "$ac_cv_prog_gcc" != yes; then
                        CC_SHARED_OPTS='-belf -KPIC'
                fi
                MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o [$]@'
                        CC_SHARED_OPTS='-belf -KPIC'
                fi
                MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o [$]@'
-               if test $cf_cv_ld_rpath = yes ; then
+               if test "$cf_cv_ld_rpath" = yes ; then
                        # only way is to set LD_RUN_PATH but no switch for it
                        RUN_PATH=$libdir
                fi
                        # only way is to set LD_RUN_PATH but no switch for it
                        RUN_PATH=$libdir
                fi
-               test $cf_cv_shlib_version = auto && cf_cv_shlib_version=rel
+               test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
                LINK_PROGS='LD_RUN_PATH=$(libdir)'
                LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib'
                ;;
        sunos4*)
                # tested with SunOS 4.1.1 and gcc 2.7.0
                LINK_PROGS='LD_RUN_PATH=$(libdir)'
                LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib'
                ;;
        sunos4*)
                # tested with SunOS 4.1.1 and gcc 2.7.0
-               if test $ac_cv_prog_gcc != yes; then
+               if test "$ac_cv_prog_gcc" != yes; then
                        CC_SHARED_OPTS='-KPIC'
                fi
                MK_SHARED_LIB='$(LD) -assert pure-text -o $[@]'
                        CC_SHARED_OPTS='-KPIC'
                fi
                MK_SHARED_LIB='$(LD) -assert pure-text -o $[@]'
-               test $cf_cv_shlib_version = auto && cf_cv_shlib_version=rel
+               test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
                ;;
        solaris2*)
                # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
                ;;
        solaris2*)
                # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
-               if test $ac_cv_prog_gcc != yes; then
+               if test "$ac_cv_prog_gcc" != yes; then
                        CC_SHARED_OPTS='-KPIC'
                fi
                MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]'
                        CC_SHARED_OPTS='-KPIC'
                fi
                MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]'
-               if test $cf_cv_ld_rpath = yes ; then
+               if test "$DFT_LWR_MODEL" = "shared" ; then
+                       LOCAL_LDFLAGS="-R `pwd`/lib:\$(libdir)"
+                       LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+               fi
+               if test "$cf_cv_ld_rpath" = yes ; then
                        cf_ld_rpath_opt="-R"
                        cf_ld_rpath_opt="-R"
-                       EXTRA_LDFLAGS="-R ../lib:\$(libdir) $EXTRA_LDFLAGS"
+                       EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
                fi
                fi
-               test $cf_cv_shlib_version = auto && cf_cv_shlib_version=rel
+               test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
                ;;
        sysv5uw7*|unix_sv*)
                # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
                ;;
        sysv5uw7*|unix_sv*)
                # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
-               if test $ac_cv_prog_gcc != yes; then
+               if test "$ac_cv_prog_gcc" != yes; then
                        CC_SHARED_OPTS='-KPIC'
                fi
                MK_SHARED_LIB='$(LD) -d y -G -o [$]@'
                        CC_SHARED_OPTS='-KPIC'
                fi
                MK_SHARED_LIB='$(LD) -d y -G -o [$]@'
@@ -1835,11 +2036,11 @@ AC_DEFUN([CF_SHARED_OPTS],
        if test -n "$cf_ld_rpath_opt" ; then
                AC_MSG_CHECKING(if we need a space after rpath option)
                cf_save_LIBS="$LIBS"
        if test -n "$cf_ld_rpath_opt" ; then
                AC_MSG_CHECKING(if we need a space after rpath option)
                cf_save_LIBS="$LIBS"
-               LIBS="$LIBS ${cf_ld_rpath_opt}/usr/lib"
+               LIBS="$LIBS ${cf_ld_rpath_opt}$libdir"
                AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
                LIBS="$cf_save_LIBS"
                AC_MSG_RESULT($cf_rpath_space)
                AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
                LIBS="$cf_save_LIBS"
                AC_MSG_RESULT($cf_rpath_space)
-               test $cf_rpath_space = yes && cf_ld_rpath_opt="$cf_ld_rpath_opt "
+               test "$cf_rpath_space" = yes && cf_ld_rpath_opt="$cf_ld_rpath_opt "
                MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\$(libdir)"
        fi
 
                MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\$(libdir)"
        fi
 
@@ -1858,8 +2059,8 @@ dnl Check for definitions & structures needed for window size-changing
 dnl FIXME: check that this works with "snake" (HP-UX 10.x)
 AC_DEFUN([CF_SIZECHANGE],
 [
 dnl FIXME: check that this works with "snake" (HP-UX 10.x)
 AC_DEFUN([CF_SIZECHANGE],
 [
-AC_MSG_CHECKING([declaration of size-change])
-AC_CACHE_VAL(cf_cv_sizechange,[
+AC_REQUIRE([CF_STRUCT_TERMIOS])
+AC_CACHE_CHECK(declaration of size-change, cf_cv_sizechange,[
     cf_cv_sizechange=unknown
     cf_save_CFLAGS="$CFLAGS"
 
     cf_cv_sizechange=unknown
     cf_save_CFLAGS="$CFLAGS"
 
@@ -1869,14 +2070,14 @@ do
     CFLAGS="$cf_save_CFLAGS"
     test -n "$cf_opts" && CFLAGS="$CFLAGS -D$cf_opts"
     AC_TRY_COMPILE([#include <sys/types.h>
     CFLAGS="$cf_save_CFLAGS"
     test -n "$cf_opts" && CFLAGS="$CFLAGS -D$cf_opts"
     AC_TRY_COMPILE([#include <sys/types.h>
-#if HAVE_TERMIOS_H
+#ifdef HAVE_TERMIOS_H
 #include <termios.h>
 #else
 #include <termios.h>
 #else
-#if HAVE_TERMIO_H
+#ifdef HAVE_TERMIO_H
 #include <termio.h>
 #endif
 #endif
 #include <termio.h>
 #endif
 #endif
-#if NEED_PTEM_H
+#ifdef NEED_PTEM_H
 /* This is a workaround for SCO:  they neglected to define struct winsize in
  * termios.h -- it's only in termio.h and ptem.h
  */
 /* This is a workaround for SCO:  they neglected to define struct winsize in
  * termios.h -- it's only in termio.h and ptem.h
  */
@@ -1907,36 +2108,18 @@ do
        CFLAGS="$cf_save_CFLAGS"
        if test "$cf_cv_sizechange" = yes ; then
                echo "size-change succeeded ($cf_opts)" >&AC_FD_CC
        CFLAGS="$cf_save_CFLAGS"
        if test "$cf_cv_sizechange" = yes ; then
                echo "size-change succeeded ($cf_opts)" >&AC_FD_CC
-               test -n "$cf_opts" && AC_DEFINE_UNQUOTED($cf_opts)
+               test -n "$cf_opts" && cf_cv_sizechange="$cf_opts"
                break
        fi
 done
                break
        fi
 done
-       ])
-AC_MSG_RESULT($cf_cv_sizechange)
-test $cf_cv_sizechange != no && AC_DEFINE(HAVE_SIZECHANGE)
-])dnl
-dnl ---------------------------------------------------------------------------
-dnl Check for datatype 'speed_t', which is normally declared via either
-dnl sys/types.h or termios.h
-AC_DEFUN([CF_SPEED_TYPE],
-[
-AC_MSG_CHECKING(for speed_t)
-OSPEED_INCLUDES=
-AC_TRY_COMPILE([#include <sys/types.h>],
-       [speed_t some_variable = 0],
-       [OSPEED_TYPE=speed_t],
-       [OSPEED_TYPE=unsigned])
-AC_TRY_COMPILE([#include <termios.h>],
-       [speed_t some_variable = 0],
-       [OSPEED_TYPE=speed_t
-        OSPEED_INCLUDES="#include <termios.h>"],[])
-AC_SUBST(OSPEED_TYPE)
-AC_SUBST(OSPEED_INCLUDES)
-if test "$OSPEED_TYPE" = "unsigned" ; then
-       AC_MSG_RESULT(no)
-       AC_DEFINE(speed_t,unsigned)
-else
-       AC_MSG_RESULT(yes)
+])
+if test "$cf_cv_sizechange" != no ; then
+       AC_DEFINE(HAVE_SIZECHANGE)
+       case $cf_cv_sizechange in #(vi
+       NEED*)
+               AC_DEFINE_UNQUOTED($cf_cv_sizechange )
+               ;;
+       esac
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
@@ -1952,7 +2135,11 @@ AC_MSG_CHECKING(for src modules)
 
 # dependencies and linker-arguments for test-programs
 TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${LIB_NAME}${DFT_DEP_SUFFIX} $TEST_DEPS"
 
 # dependencies and linker-arguments for test-programs
 TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${LIB_NAME}${DFT_DEP_SUFFIX} $TEST_DEPS"
-TEST_ARGS="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARGS"
+if test "$DFT_LWR_MODEL" = "libtool"; then
+       TEST_ARGS="${TEST_DEPS}"
+else
+       TEST_ARGS="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARGS"
+fi
 
 # dependencies and linker-arguments for utility-programs
 PROG_ARGS="$TEST_ARGS"
 
 # dependencies and linker-arguments for utility-programs
 PROG_ARGS="$TEST_ARGS"
@@ -1987,7 +2174,11 @@ do
                        AC_DEFINE_UNQUOTED(HAVE_${cf_have_include}_H)
                        AC_DEFINE_UNQUOTED(HAVE_LIB${cf_have_include})
                        TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${cf_dir}${DFT_DEP_SUFFIX} $TEST_DEPS"
                        AC_DEFINE_UNQUOTED(HAVE_${cf_have_include}_H)
                        AC_DEFINE_UNQUOTED(HAVE_LIB${cf_have_include})
                        TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${cf_dir}${DFT_DEP_SUFFIX} $TEST_DEPS"
-                       TEST_ARGS="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARGS"
+                       if test "$DFT_LWR_MODEL" = "libtool"; then
+                               TEST_ARGS="${TEST_DEPS}"
+                       else
+                               TEST_ARGS="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARGS"
+                       fi
                fi
        fi
 done
                fi
        fi
 done
@@ -2005,7 +2196,7 @@ do
        SRC_SUBDIRS="$SRC_SUBDIRS $cf_dir"
 done
 SRC_SUBDIRS="$SRC_SUBDIRS misc test"
        SRC_SUBDIRS="$SRC_SUBDIRS $cf_dir"
 done
 SRC_SUBDIRS="$SRC_SUBDIRS misc test"
-test $cf_with_cxx_binding != no && SRC_SUBDIRS="$SRC_SUBDIRS c++"
+test "$cf_with_cxx_binding" != no && SRC_SUBDIRS="$SRC_SUBDIRS c++"
 
 ADA_SUBDIRS=
 if test "$cf_cv_prog_gnat_correct" = yes && test -f $srcdir/Ada95/Makefile.in; then
 
 ADA_SUBDIRS=
 if test "$cf_cv_prog_gnat_correct" = yes && test -f $srcdir/Ada95/Makefile.in; then
@@ -2052,7 +2243,7 @@ strstreambuf foo(buf, sizeof(buf))
        [cf_cv_libstdcpp=no])
        LIBS="$cf_save"
 ])
        [cf_cv_libstdcpp=no])
        LIBS="$cf_save"
 ])
-test $cf_cv_libstdcpp = yes && CXXLIBS="$CXXLIBS -l$cf_stdcpp_libname"
+test "$cf_cv_libstdcpp" = yes && CXXLIBS="$CXXLIBS -l$cf_stdcpp_libname"
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
@@ -2065,7 +2256,7 @@ dnl do this if we've found the sigaction function.
 dnl
 dnl If needed, define SVR4_ACTION.
 AC_DEFUN([CF_STRUCT_SIGACTION],[
 dnl
 dnl If needed, define SVR4_ACTION.
 AC_DEFUN([CF_STRUCT_SIGACTION],[
-if test $ac_cv_func_sigaction = yes; then
+if test "$ac_cv_func_sigaction" = yes; then
 AC_MSG_CHECKING(whether sigaction needs _POSIX_SOURCE)
 AC_TRY_COMPILE([
 #include <sys/types.h>
 AC_MSG_CHECKING(whether sigaction needs _POSIX_SOURCE)
 AC_TRY_COMPILE([
 #include <sys/types.h>
@@ -2088,13 +2279,21 @@ dnl ---------------------------------------------------------------------------
 dnl Some machines require _POSIX_SOURCE to completely define struct termios.
 dnl If so, define SVR4_TERMIO
 AC_DEFUN([CF_STRUCT_TERMIOS],[
 dnl Some machines require _POSIX_SOURCE to completely define struct termios.
 dnl If so, define SVR4_TERMIO
 AC_DEFUN([CF_STRUCT_TERMIOS],[
-if test $ac_cv_header_termios_h = yes ; then
+AC_CHECK_HEADERS( \
+termio.h \
+termios.h \
+unistd.h \
+)
+if test "$ISC" = yes ; then
+       AC_CHECK_HEADERS( sys/termio.h )
+fi
+if test "$ac_cv_header_termios_h" = yes ; then
        case "$CFLAGS" in
        *-D_POSIX_SOURCE*)
                termios_bad=dunno ;;
        *)      termios_bad=maybe ;;
        esac
        case "$CFLAGS" in
        *-D_POSIX_SOURCE*)
                termios_bad=dunno ;;
        *)      termios_bad=maybe ;;
        esac
-       if test $termios_bad = maybe ; then
+       if test "$termios_bad" = maybe ; then
        AC_MSG_CHECKING(whether termios.h needs _POSIX_SOURCE)
        AC_TRY_COMPILE([#include <termios.h>],
                [struct termios foo; int x = foo.c_iflag],
        AC_MSG_CHECKING(whether termios.h needs _POSIX_SOURCE)
        AC_TRY_COMPILE([#include <termios.h>],
                [struct termios foo; int x = foo.c_iflag],
@@ -2159,17 +2358,17 @@ AC_MSG_CHECKING(if sys/time.h works with sys/select.h)
 AC_CACHE_VAL(cf_cv_sys_time_select,[
 AC_TRY_COMPILE([
 #include <sys/types.h>
 AC_CACHE_VAL(cf_cv_sys_time_select,[
 AC_TRY_COMPILE([
 #include <sys/types.h>
-#if HAVE_SYS_TIME_H
+#ifdef HAVE_SYS_TIME_H
 #include <sys/time.h>
 #endif
 #include <sys/time.h>
 #endif
-#if HAVE_SYS_SELECT_H
+#ifdef HAVE_SYS_SELECT_H
 #include <sys/select.h>
 #endif
 ],[],[cf_cv_sys_time_select=yes],
      [cf_cv_sys_time_select=no])
      ])
 AC_MSG_RESULT($cf_cv_sys_time_select)
 #include <sys/select.h>
 #endif
 ],[],[cf_cv_sys_time_select=yes],
      [cf_cv_sys_time_select=no])
      ])
 AC_MSG_RESULT($cf_cv_sys_time_select)
-test $cf_cv_sys_time_select = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
+test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl Determine the type we should use for chtype (and attr_t, which is treated
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl Determine the type we should use for chtype (and attr_t, which is treated
@@ -2182,7 +2381,7 @@ AC_REQUIRE([CF_UNSIGNED_LITERALS])
 AC_MSG_CHECKING([for type of chtype])
 AC_CACHE_VAL(cf_cv_typeof_chtype,[
                AC_TRY_RUN([
 AC_MSG_CHECKING([for type of chtype])
 AC_CACHE_VAL(cf_cv_typeof_chtype,[
                AC_TRY_RUN([
-#if USE_WIDEC_SUPPORT
+#ifdef USE_WIDEC_SUPPORT
 #include <stddef.h>    /* we want wchar_t */
 #define WANT_BITS 39
 #else
 #include <stddef.h>    /* we want wchar_t */
 #define WANT_BITS 39
 #else
@@ -2194,7 +2393,7 @@ int main()
        FILE *fp = fopen("cf_test.out", "w");
        if (fp != 0) {
                char *result = "long";
        FILE *fp = fopen("cf_test.out", "w");
        if (fp != 0) {
                char *result = "long";
-#if USE_WIDEC_SUPPORT
+#ifdef USE_WIDEC_SUPPORT
                /*
                 * If wchar_t is smaller than a long, it must be an int or a
                 * short.  We prefer not to use a short anyway.
                /*
                 * If wchar_t is smaller than a long, it must be an int or a
                 * short.  We prefer not to use a short anyway.
@@ -2252,7 +2451,7 @@ AC_CACHE_VAL(cf_cv_type_sigaction,[
                [cf_cv_type_sigaction=yes],
                [cf_cv_type_sigaction=no])])
 AC_MSG_RESULT($cf_cv_type_sigaction)
                [cf_cv_type_sigaction=yes],
                [cf_cv_type_sigaction=no])])
 AC_MSG_RESULT($cf_cv_type_sigaction)
-test $cf_cv_type_sigaction = yes && AC_DEFINE(HAVE_TYPE_SIGACTION)
+test "$cf_cv_type_sigaction" = yes && AC_DEFINE(HAVE_TYPE_SIGACTION)
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl Test if the compiler supports 'U' and 'L' suffixes.  Only old compilers
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl Test if the compiler supports 'U' and 'L' suffixes.  Only old compilers
@@ -2273,7 +2472,7 @@ dnl $1=uppercase($2)
 AC_DEFUN([CF_UPPER],
 [
 changequote(,)dnl
 AC_DEFUN([CF_UPPER],
 [
 changequote(,)dnl
-$1=`echo $2 | tr '[a-z]' '[A-Z]'`
+$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 changequote([,])dnl
 ])dnl
 dnl ---------------------------------------------------------------------------
 changequote([,])dnl
 ])dnl
 dnl ---------------------------------------------------------------------------
index 936b2053d5881ba09959a7073b8892a3be8f5f47..58be91d0d189e7d918acf377510962dbdf98a20f 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <!--
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <!--
-  $Id: announce.html.in,v 1.39 2000/07/04 21:59:36 tom Exp $
+  $Id: announce.html.in,v 1.40 2000/10/20 10:38:47 tom Exp $
 -->
 <HTML>
 <HEAD>
 -->
 <HTML>
 <HEAD>
@@ -38,136 +38,327 @@ the GNU distribution site
 
 <H1>Release Notes</H1>
 
 
 <H1>Release Notes</H1>
 
-This release is designed to be upward compatible from ncurses 5.0; very few
-applications will require recompilation, depending on the platform.
-These are the highlights from the change-log since ncurses 5.0 release.
+This release is designed to be upward compatible from ncurses 5.0 and 5.1;
+very few applications will require recompilation, depending on the platform.
+These are the highlights from the change-log since ncurses 5.1 release.
 <p>
 Interface changes:
 <ul>
 <p>
 Interface changes:
 <ul>
-       <li>made the extended terminal capabilities
-         (<code>configure&nbsp;--enable-tcap-names</code>)
-         a standard feature (though the configure script can disable it,
-         it is built by default).
-
-       <li>removed the <code>trace()</code> function and related trace support
-         from the production library.  This is the only interface change that
-         may cause problems with existing applications linked to shared
-         libraries, since not all platforms use the minor version number.
-
-       <li>explicitly initialized to zero several data items which were
-         implicitly initialized, e.g., cur_term.  If not explicitly
-         initialized, their storage type is C (common), and causes problems
-         linking on some platforms.
-
-       <li>modified curses.h.in, undef'ing some symbols to avoid conflict with
-         C++ STL.
+       <li>change type of <code>ospeed</code> variable back to
+         <code>short</code> to match its use in legacy applications.  It was
+         altered after ncurses 4.2 to <code>speed_t</code> to repair a type
+         mismatch which was introduced after 1.9.4 in 1995.  The principal
+         users of termcap continued to use <code>short</code>, which is
+         not the same size.
+         <p>
+         <em>NOTE</em>: A few applications will have to be recompiled
+         (about 1% of the programs in a typical Linux distribution,
+         10% of the programs that use ncurses).  These are easy to
+         identify with <code>nm</code> or <code>strings</code>.
+
+       <li>remove a private function <code>_nc_can_clear_with()</code>, which
+         was built with the configure --enable-expanded option but not used.
+
+       <li>add several private functions (prefixed with "_nc_") for tracing
+         <code>chtype</code> values in the debug library, and for better
+         access and buffer limit checking.
 </ul>
 </ul>
-New features:
+New features and improvements:
 <ul>
 <ul>
-       <li>added a new extension, <code>assume_default_colors()</code> to
-         provide better control over the use of default colors.  This is
-         the principal visible difference between ncurses 5.1 and preceding
-         versions.  The new extension allows an application to specify what
-         colors pair 0 uses.
-        <p> 
-         <em>NOTE</em>:  Pair 0 defaults to white on black unless
-         you have invoked <code>use_default_colors()</code> or set it via
-         <code>assume_default_colors()</code>.  An application that calls
-         <code>start_colors()</code> without setting the background color
-         will consistently have a black background no matter what color your
-         terminal's background actually is.
-
-       <li>made several fixes to the terminfo-to-termcap conversion, and
-         have been using the generated termcaps without further hand-tuning. 
-         This builds on the extension <code>use_extended_names()</code> by
-         adding "obsolete" termcap strings to terminfo.src
+       <li>rewrote <code>tgoto()</code> to make it better support existing
+         termcap applications which use hardcoded strings rather than obtain
+         all of their information from the termcap file.  If the string does
+         not appear to be a terminfo string (i.e., does not refer to a "%p"
+         parameter, or terminfo-style padding), and termcap support is configured, <code>tgoto()</code>
+         will interpret it as termcap.  Otherwise, as before, it will use
+         <code>tparm()</code>.
+
+       <li>to ensure that the <code>tgoto()</code> changes work properly,
+         added checks to <code>tic</code> which report capabilities that do
+         not reference the expected number of parameters.
+
+       <li>new configure script options:
        <ul>
        <ul>
-         <li>modified <code>tic</code> so that if extended names (i.e.,
-           configure&nbsp;--enable-tcap-names) are active, then <code>tic&nbsp;-x</code>
-           will also write "obsolete" capabilities that are present in the
-           terminfo source.
-
-         <li>added screen's AX capability (for ECMA SGR 39 and 49) to applicable
-           terminfo entries, use presence of this as a check for a small
-           improvement in setting default colors.
-
-         <li>add -a option to tic and infocmp, which retains commented-out
-           capabilities during source translation/comparison, e.g., captoinfo
-           and infotocap.
+         <li>option <code>--disable-root-environ</code> adds runtime checks
+           which tell ncurses to disregard $TERMINFO and similar environment
+           variables if the current user is root, or running setuid/setgid.
+
+         <li>option <code>--disable-assumed-color</code> allows you to use the
+           pre-5.1 convention of default colors used for color-pair 0 to be
+           configured (see assume_default_colors()).
+
+         <li>implement configure script options that transform installed
+           program names, e.g., <code>--program-prefix</code>, including the
+           manpage names and cross references.
+
+         <li>option <code>--with-database</code> allows you to specify a
+           different terminfo source-file to install.  On OS/2 EMX, the
+           default is misc/emx.src, otherwise misc/terminfo.src
+
+         <li>option <code>--with-default-terminfo-dir</code> allows you to
+           specify the default terminfo database directory.
+
+         <li>option <code>--with-libtool</code> allows you to build with
+           <code>libtool</code>.  <p> <em>NOTE</em>:  <code>libtool</code>
+           uses a different notation for numbering shared library versions
+           from the existing ncurses configuration.
+
+         <li>option <code>--with-manpage-tbl</code> causes the manpages to be
+           preprocessed by tbl(1) prior to installation,
+
+         <li>option <code>--without-curses-h</code> causes the installation
+           process to install curses.h as ncurses.h and make appropriate
+           changes to headers and manpages.
        </ul>
 
        </ul>
 
-       <li>implemented limited support for UTF-8, useful with XFree86 xterm:
+       <li>modified configure script options:
        <ul>
        <ul>
-         <li>if the <code>configure&nbsp;--enable-widec</code> option is
-           given, append 'w' to names of the generated libraries (e.g.,
-           libncursesw.so) to avoid conflict with existing ncurses libraries.
-         <li>add a simple UTF-8 output driver to the experimental
-           wide-character support.  If any of the environment variables
-           LC_ALL, LC_CTYPE or LANG contain the string "UTF-8", this driver
-           will be used to translate the output to UTF-8.
-         <li>modified view.c to make a rudimentary viewer of UTF-8 text.
+         <li>change symbol used by the <code>--install-prefix</code> configure
+           option from <code>INSTALL_PREFIX</code> to <code>DESTDIR</code>
+           (the latter has become common usage although the name is
+           misleading).
+
+         <li>modify <code>ld -rpath</code> options (e.g., Linux, and Solaris)
+           to use an absolute pathname for the build tree's lib directory,
+           avoiding confusion with directories relative to the current one
+           with the installed programs.
+
+         <li>modified <code>misc/run_tic.in</code> to use
+           <code>tic&nbsp;-o</code>, to eliminate dependency on
+           <code>$TERMINFO</code> variable for installs.
        </ul>
 
        </ul>
 
-       <li>modify <code>raw()</code> and <code>noraw()</code> to clear/restore
-         IEXTEN flag which affects <code>stty lnext</code> on systems such as FreeBSD
+       <li>terminfo database:
+       <ul>
+         <li>updated xterm terminfo entries to match XFree86 xterm patch #146.
 
 
-       <li>reordered tests during mouse initialization to allow for gpm to run
-         in xterm, or for xterm to be used under OS/2 EMX.  Also dropped test
-         for <code>$DISPLAY</code> in favor of the terminfo capability
-         <code>kmous=\E[M</code> or
-         if <code>$TERM</code> environment variable contains "xterm".
+         <li>added amiga-vnc,
+           Matrix Orbital, and
+           QNX qansi to misc/terminfo.src.
 
 
-       <li>added configure option <code>--with-manpage-symlinks</code>, which
-         provides for fully indexing manpage entries by making symbolic links
-         for the aliases.
+         <li>added os2 entry to misc/emx.src.
 
 
-       <li>changed <code>unctrl()</code> to render C1 characters (128-159) as
-         <code>~@</code>, <code>~A</code>, etc.
+         <li>add S0 and E0 extensions to <code>screen</code>'s terminfo entry
+           since otherwise the FreeBSD port makes it pass termcap equivalents
+           to <code>tgoto</code>, which would be misinterpreted by older
+           versions of ncurses.
+       </ul>
+
+       <li>improvements to program usability:
+       <ul>
+         <li>modify programs to use <code>curses_version()</code> string to
+           report the version of ncurses with which they are compiled rather
+           than the NCURSES_VERSION string.  The function returns the patch
+           level in addition to the major and minor version numbers.
 
 
-       <li>add experimental configure option --enable-colorfgbg to check for
-         $COLORTERM variable as set by rxvt/aterm/Eterm.
+         <li>modify <code>tput</code> program so it can be renamed or invoked via a link as
+           'reset' or 'init', producing the same effect as <code>tput&nbsp;reset</code> or <code>tput&nbsp;init</code>.
 
 
-       <li>made the <code>infocmp -F</code> option less verbose.
+         <li>add error checking to infocmp's -v and -m options to ensure that
+           the option value is indeed a number.
+       </ul>
 
 
-       <li>dropped support for gnat 3.10 (gnat 3.12 is current).
+       <li>improved performance:
+       <ul>
+         <li>replace a lookup table in lib_vidattr.c used to decode
+           <code>no_color_video</code> with a logic expression which is faster.
+       </ul>
 
 </ul>
 Major bug fixes:
 <ul>
 
 </ul>
 Major bug fixes:
 <ul>
-       <li>modified infocmp -e, -E options to ensure that generated fallback.c
-         type for Booleans agrees with term.h
+       <li>correct <code>manlinks.sed</code> script introduced in ncurses 5.1
+         to avoid using ERE "\+", which is not understood by standard versions
+         of <code>sed</code>.  This happens to work with GNU <code>sed</code>,
+         but is not portable, and was the initial motivation for this release.
+
+       <li>remove "hpux10.*" case from CF_SHARED_OPTS configure script macro.
+         This differed from the "hpux*" case by using reversed symbolic
+         links, which made the 5.1 version not match the configuration of
+         5.0 shared libraries.
+
+       <li>guard against corrupt terminfo data:
+         <ul>
+         <li>modify <code>tparm()</code> to disallow arithmetic on strings,
+           analyze the varargs list to read strings as strings and numbers as
+           numbers.
+
+         <li>modify <code>tparm()</code>'s internal function
+           <code>spop()</code> to treat a null pointer as an empty string.
+
+         <li>modify <code>parse_format()</code> in lib_tparm.c to ignore
+           precision if it is longer than 10000.
+
+         <li>rewrote limit checks in lib_mvcur.c using new functions
+           <code>_nc_safe_strcat()</code>, etc.  Made other related changes to
+           check lengths used for <code>strcat()</code> and
+           <code>strcpy()</code>.
+         </ul>
+
+       <li>corrections to screen optimization:
+         <ul>
+         <li>added special case in lib_vidattr.c to reset underline and
+           standout for devices that have no sgr0 defined.
+
+         <li>change handling of <code>non_dest_scroll_region</code> in
+           tty_update.c to clear text after it is shifted in rather than before
+           shifting out.  Also correct row computation.
+
+         <li>modify <code>rs2</code> capability in xterm-r6 and similar entries
+           where cursor save/restore bracketed the sequence for resetting video
+           attributes.  The cursor restore would undo that.
+         </ul>
+
+       <li>UTF-8 support:
+       <ul>
+         <li>when checking LC_ALL, LC_CTYPE, and LANG environment variables
+           for UTF-8 locale, ignore those which are set to an empty value, as
+           per SUSV2.
 
 
-       <li>documented a special case of incompatiblity between ncurses 4.2 and
-         5.0, added a section for this in INSTALL.
+         <li>encode 0xFFFD in UTF-8 with 3 bytes, not 2.
 
 
-       <li>corrected tests for file-descriptors in OS/2 EMX mouse support.  A
-         negative value could be used by FD_SET, causing the select() call to
-         wait indefinitely.
+         <li>modify <code>_nc_utf8_outch()</code> to avoid sign-extension when
+           checking for out-of-range value.
+       </ul>
 
 
-       <li>made 'tput flash' work properly for xterm by flushing output in
-         delay_output() when using napms(), and modifying xterm's terminfo to
-         specify no padding character.  Otherwise, xterm's reported baud rate
-         could mislead ncurses into producing too few padding characters.
+       <li>other library fixes:
+       <ul>
+         <li>added checks for an empty <code>$HOME</code> environment
+           variable, to avoid retrieving terminfo descriptions from
+           <code>./.terminfo</code> .
 
 
-       <li>modified lib_addch.c to allow repeated update to the lower-right
-         corner, rather than displaying only the first character written until
-         the cursor is moved.  Recent versions of SVr4 curses can update the
-         lower-right corner, and behave this way.
+         <li>change functions <code>_nc_parse_entry()</code> and
+           <code>postprocess_termcap()</code> to avoid using
+           <code>strtok()</code>, because it is non-reentrant.
 
 
-       <li>modified echo() behavior of getch() to match Solaris curses for
-         carriage return and backspace (reported by Neil Zanella).
+         <li>initialize <code>fds[]</code> array to 0's in
+           <code>_nc_timed_wait()</code>; apparently <code>poll()</code> only
+           sets the <code>revents</code> members of that array when there is
+           activity corresponding to the related file.
 
 
-       <li>corrected offsets used for subwindows in <code>wresize()</code>
+         <li>add a check for null pointer in <code>Make_Enum_Type()</code>.
 
 
-       <li>modified configure script so AC_MSG_ERROR is temporarily defined to
-         a warning in AC_PROG_CXX to make it recover from a missing C++
-         compiler without requiring user to add --without-cxx option
+         <li>fix a heap problem with the c++ binding.
 
 
-       <li>corrected logic in lib_twait.c as used by lib_mouse.c for GPM mouse
-         support when poll() is used rather than select().
+         <li>correct missing includes for &lt;string.h&gt; in several places,
+           including the C++ binding.  This is not noted by gcc unless we use
+           the <code>-fno-builtin</code> option.
+       </ul>
+
+       <li>several fixes for tic:
+         <ul>
+         <li>add a check for empty buffers returned by <code>fgets()</code> in
+           comp_scan.c <code>next_char()</code> function, in case
+           <code>tic</code> is run on a non-text file (fixes a core dump).
+
+         <li>modify <code>tic</code> to verify that its inputs are really files,
+           in case someone tries to read a directory (or
+           <code>/dev/zero</code>).
+
+         <li>correct an uninitialized parameter to <code>open_tempfile()</code>
+           in tic.c which made "tic -I" give an ambiguous error message about
+           <code>tmpnam</code>.
+
+         <li>correct logic in <code>adjust_cancels()</code>, which did not check
+           both alternatives when reclassifying an extended name between
+           boolean, number and string, causing an infinite loop in
+           <code>tic</code>.
+         </ul>
+
+       <li>using new checks in <code>tic</code> for parameter counts in
+         capability strings, found/fixed several errors both in the
+         terminfo database and in the include/Caps file.
+         <ul>
+         <li>modified several terminfo capability strings, including the
+           definitions for setaf, setab, in include/Caps to indicate that the
+           entries are parameterized.  This information is used to tell which
+           strings are translated when converting to termcap.  This fixes a
+           problem where the generated termcap would contain a spurious "%p1"
+           for the terminfo "%p1%d".
+
+         <li>correct parameter counts in include/Caps for dclk as well as some
+           printer-specific capabilities: csnm, defc, scs, scsd, smgtp, smglp.
+         </ul>
+
+       <li>various fixes for install scripts used to support configure
+         <code>--srcdir</code> and <code>--with-install-prefix</code>.
+
+       <li>correct several mismatches between manpage filename and ".TH"
+         directives, renaming dft_fgbg.3x to default_colors.3x and
+         menu_attribs.3x to menu_attributes.3x.
+</ul>
+
+Portability:
+<ul>
+       <li>configure script:
+       <ul>
+         <li>newer config.guess, config.sub, including changes to support OS/2
+           EMX.  The configure script for OS/2 EMX still relies on a patch
+           since there is no (working) support for that platform in the main
+           autoconf distribution.
+
+         <li>make configure script checks on variables <code>$GCC</code> and
+           <code>$GXX</code> consistently compare against 'yes' rather than
+           test if they are nonnull, since either may be set to the
+           corresponding name of the C or C++ compiler.
+
+         <li>change configure script to use AC_CANONICAL_SYSTEM rather than
+           AC_CANONICAL_HOST, which means that <code>configure --target</code>
+           will set a default program-prefix.
+
+         <li>modify the check for big-core to force a couple of memory
+           accesses, which may work as needed for older/less-capable machines
+           (if not, there's still the explicit configure option).
+
+         <li>modify configure test for <code>tcgetattr()</code> to allow for
+           old implementations, e.g., on BeOS, which only defined it as a
+           macro.
+
+         <li>add configure check for filesystems (such as OS/2 EMX) which do
+           not distinguish between upper/lowercase filenames, use this to fix
+           tags rules in makefiles.
+
+         <li>add MKncurses_def.sh to generate fallback definitions for
+           ncurses_cfg.h, to quiet gcc -Wundef warnings, modified ifdef's in
+           code to consistently use "#if" rather than "#ifdef".
+
+         <li>change most remaining unquoted parameters of <code>test</code> in
+           configure script to use quotes, for instance fixing a problem in the
+           <code>--disable-database</code> option.
+
+         <li>modify scripts so that "make install.data" works on OS/2 EMX.
+
+         <li>modify scripts and makefiles so the Ada95 directory builds on
+           OS/2 EMX.
+       </ul>
+
+       <li>library:
+       <ul>
+       <li>replaced case-statement in <code>_nc_tracebits()</code> for CSIZE
+         with a table to simplify working around implementations that define
+         random combinations of the related macros to zero.
+
+       <li>improved OS/2 mouse support by retrying as a 2-button mouse if code
+         fails to set up a 3-button mouse.
+
+       <li>added private entrypoint <code>_nc_basename()</code>, used to
+         consolidate related code in progs, as well as accommodating OS/2 EMX
+         pathnames.
+
+       <li>alter definition of NCURSES_CONST to make it non-empty.
+
+       <li>redefine 'TEXT' in menu.h for AMIGA, since it is reported to have
+         an (unspecified) symbol conflict.
+       </ul>
+
+       <li>programs:
+       <ul>
+         <li>modified progs/tset.c and tack/sysdep.c to build with sgttyb
+           interface if neither termio or termios is available.  Tested this
+           with FreeBSD 2.1.5 (which does have termios - but the sgttyb does
+           work).
+       </ul>
 
 
-       <li>made several fixes for buffer overflows, unchecked recursion,
-         improvements in performance, etc.  See the NEWS file for details.
 </ul>
 
 <H1>Features of Ncurses</H1>
 </ul>
 
 <H1>Features of Ncurses</H1>
index e8079893736f4ce81c3a68c51df86db10bb9d8f6..630499450afe2953b18d9a99bd0c92b27db30ed5 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.52 2000/05/28 01:44:34 tom Exp $
+# $Id: Makefile.in,v 1.56 2000/10/15 00:43:38 tom Exp $
 ##############################################################################
 # Copyright (c) 1998,1999 Free Software Foundation, Inc.                     #
 #                                                                            #
 ##############################################################################
 # Copyright (c) 1998,1999 Free Software Foundation, Inc.                     #
 #                                                                            #
@@ -41,13 +41,15 @@ CF_MFLAGS   = @cf_cv_makeflags@
 x              = @PROG_EXT@
 
 MODEL          = ../@DFT_OBJ_SUBDIR@
 x              = @PROG_EXT@
 
 MODEL          = ../@DFT_OBJ_SUBDIR@
-INSTALL_PREFIX = @INSTALL_PREFIX@
+DESTDIR                = @DESTDIR@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
 libdir         = @libdir@
 includedir     = @includedir@
 
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
 libdir         = @libdir@
 includedir     = @includedir@
 
+LIBTOOL                = @LIBTOOL@
+
 INSTALL                = @INSTALL@
 INSTALL_DATA   = @INSTALL_DATA@
 
 INSTALL                = @INSTALL@
 INSTALL_DATA   = @INSTALL_DATA@
 
@@ -64,6 +66,7 @@ CPPFLAGS      = -I../c++ -I$(INCDIR) -I$(srcdir) -DHAVE_CONFIG_H @CPPFLAGS@
 
 CCFLAGS                = $(CPPFLAGS) $(CXXFLAGS)
 
 
 CCFLAGS                = $(CPPFLAGS) $(CXXFLAGS)
 
+CFLAGS_LIBTOOL = $(CCFLAGS)
 CFLAGS_NORMAL  = $(CCFLAGS)
 CFLAGS_DEBUG   = $(CCFLAGS) @CXX_G_OPT@ -DTRACE
 CFLAGS_PROFILE = $(CCFLAGS) -pg
 CFLAGS_NORMAL  = $(CCFLAGS)
 CFLAGS_DEBUG   = $(CCFLAGS) @CXX_G_OPT@ -DTRACE
 CFLAGS_PROFILE = $(CCFLAGS) -pg
@@ -71,25 +74,37 @@ CFLAGS_SHARED       = $(CCFLAGS) @CC_SHARED_OPTS@
 
 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
 
 
 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
 
+NCURSES_MAJOR  = @NCURSES_MAJOR@
+NCURSES_MINOR  = @NCURSES_MINOR@
 REL_VERSION     = @cf_cv_rel_version@
 ABI_VERSION    = @cf_cv_abi_version@
 
 REL_VERSION     = @cf_cv_rel_version@
 ABI_VERSION    = @cf_cv_abi_version@
 
-LINK           = @LINK_PROGS@ $(CXX) @CXXLDFLAGS@
+LINK           = @LINK_PROGS@ $(LIBTOOL) $(CXX) @CXXLDFLAGS@
+
+LIBROOT                = ncurses++
+
+LIBNAME_LIBTOOL        = @LIB_PREFIX@$(LIBROOT)@LIB_SUFFIX@.la
+LIBNAME_NORMAL = @LIB_PREFIX@$(LIBROOT)@LIB_SUFFIX@.a
+LIBNAME                = @LIB_PREFIX@$(LIBROOT)@CXX_LIB_SUFFIX@
 
 
-LIBROOT        = ncurses++@LIB_SUFFIX@
-LIBNAME        = @LIB_PREFIX@$(LIBROOT).a
+LINK_FLAGS     = @EXTRA_LDFLAGS@ -L../lib -L$(libdir) -l$(LIBROOT)
 
 
-LDFLAGS                = @EXTRA_LDFLAGS@ -L../lib -L$(libdir) \
-       -l$(LIBROOT) \
-       @TEST_ARGS@ @LDFLAGS@ \
+LINK_LIBTOOL   = @EXTRA_LDFLAGS@ -L../lib -L$(libdir) ../lib/$(LIBNAME)
+LINK_NORMAL    = $(LINK_FLAGS)
+LINK_DEBUG     = $(LINK_FLAGS)
+LINK_PROFILE   = $(LINK_FLAGS)
+LINK_SHARED    = $(LINK_FLAGS)
+
+LDFLAGS                = @TEST_ARGS@ @LDFLAGS@ \
        @LD_MODEL@ @LIBS@ @EXTRA_LIBS@ @LOCAL_LDFLAGS@ $(CXXLIBS)
 
        @LD_MODEL@ @LIBS@ @EXTRA_LIBS@ @LOCAL_LDFLAGS@ $(CXXLIBS)
 
+LDFLAGS_LIBTOOL        = $(LDFLAGS)
 LDFLAGS_NORMAL = $(LDFLAGS)
 LDFLAGS_DEBUG  = $(LDFLAGS) @CC_G_OPT@
 LDFLAGS_PROFILE        = $(LDFLAGS) -pg
 LDFLAGS_SHARED = $(LDFLAGS) @LD_SHARED_OPTS@
 
 LDFLAGS_NORMAL = $(LDFLAGS)
 LDFLAGS_DEBUG  = $(LDFLAGS) @CC_G_OPT@
 LDFLAGS_PROFILE        = $(LDFLAGS) -pg
 LDFLAGS_SHARED = $(LDFLAGS) @LD_SHARED_OPTS@
 
-LDFLAGS_DEFAULT        = $(LDFLAGS_@DFT_UPR_MODEL@)
+LDFLAGS_DEFAULT        = $(LINK_@DFT_UPR_MODEL@) $(LDFLAGS_@DFT_UPR_MODEL@)
 
 AUTO_SRC       = \
                etip.h
 
 AUTO_SRC       = \
                etip.h
@@ -114,10 +129,15 @@ LIB_OBJS = \
        $(MODEL)/cursesapp.o \
        $(MODEL)/cursesmain.o
 
        $(MODEL)/cursesapp.o \
        $(MODEL)/cursesmain.o
 
-../lib/$(LIBNAME) : $(LIB_OBJS)
+../lib/$(LIBNAME_NORMAL) : $(LIB_OBJS)
        $(AR) $(AR_OPTS) $@ $?
        $(RANLIB) $@
 
        $(AR) $(AR_OPTS) $@ $?
        $(RANLIB) $@
 
+../lib/$(LIBNAME_LIBTOOL) : $(LIB_OBJS)
+       cd ../lib && $(LIBTOOL) $(CXX) -o $(LIBNAME) $(LIB_OBJS:.o=.lo) \
+               -rpath $(INSTALL_PREFIX)$(libdir) \
+               -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR)
+
 OBJS_DEMO = $(MODEL)/demo.o
 
 $(MODEL)/demo.o : $(srcdir)/demo.cc \
 OBJS_DEMO = $(MODEL)/demo.o
 
 $(MODEL)/demo.o : $(srcdir)/demo.cc \
@@ -132,22 +152,23 @@ etip.h:   $(srcdir)/etip.h.in $(srcdir)/edit_cfg.sh
        cp $(srcdir)/etip.h.in $@
        sh $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
 
        cp $(srcdir)/etip.h.in $@
        sh $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
 
-$(INSTALL_PREFIX)$(libdir) :
+$(DESTDIR)$(libdir) :
        $(srcdir)/../mkinstalldirs $@
 
 install \
        $(srcdir)/../mkinstalldirs $@
 
 install \
-install.libs:: ../lib/$(LIBNAME) $(INSTALL_PREFIX)$(libdir)
-       $(INSTALL) ../lib/$(LIBNAME) $(INSTALL_PREFIX)$(libdir)/$(LIBNAME)
+install.libs:: ../lib/$(LIBNAME) $(DESTDIR)$(libdir)
+       $(LIBTOOL) $(INSTALL) ../lib/$(LIBNAME) $(DESTDIR)$(libdir)/$(LIBNAME)
 
 uninstall \
 uninstall.libs::
 
 uninstall \
 uninstall.libs::
-       -rm -f $(INSTALL_PREFIX)$(libdir)/$(LIBNAME)
+       -$(LIBTOOL) rm -f $(DESTDIR)$(libdir)/$(LIBNAME)
 
 mostlyclean ::
        -rm -f core tags TAGS *~ *.ln *.atac trace
 
 clean :: mostlyclean
 
 mostlyclean ::
        -rm -f core tags TAGS *~ *.ln *.atac trace
 
 clean :: mostlyclean
-       -rm -f demo$x $(AUTO_SRC) ../lib/$(LIBNAME) $(LIB_OBJS) $(OBJS_DEMO)
+       -$(LIBTOOL) rm -f demo$x $(AUTO_SRC) ../lib/$(LIBNAME) $(LIB_OBJS) $(LIB_OBJS:.o=.lo) $(OBJS_DEMO)
+       -rm -rf .libs
 
 distclean :: clean
        -rm -f Makefile
 
 distclean :: clean
        -rm -f Makefile
index a993322b8657aeac1c556f45b6bc36736bc10bdd..a3b066cb51ef601f60eb57a7c8aab5bb811315ad 100644 (file)
@@ -35,7 +35,7 @@
 #include "cursesapp.h"
 #include "internal.h"
 
 #include "cursesapp.h"
 #include "internal.h"
 
-MODULE_ID("$Id: cursesf.cc,v 1.10 1999/10/30 23:49:28 tom Exp $")
+MODULE_ID("$Id: cursesf.cc,v 1.11 2000/06/09 16:15:40 juergen Exp $")
   
 NCursesFormField::~NCursesFormField () {
   if (field)
   
 NCursesFormField::~NCursesFormField () {
   if (field)
@@ -48,7 +48,8 @@ NCursesFormField::~NCursesFormField () {
 FIELD**
 NCursesForm::mapFields(NCursesFormField* nfields[]) {
   int fieldCount = 0,lcv;
 FIELD**
 NCursesForm::mapFields(NCursesFormField* nfields[]) {
   int fieldCount = 0,lcv;
-  
+  FIELD** old_fields;
+
   assert(nfields != 0);
 
   for (lcv=0; nfields[lcv]->field; ++lcv)
   assert(nfields != 0);
 
   for (lcv=0; nfields[lcv]->field; ++lcv)
@@ -63,8 +64,10 @@ NCursesForm::mapFields(NCursesFormField* nfields[]) {
   
   my_fields = nfields;
   
   
   my_fields = nfields;
   
-  if (form)
-    delete[] ::form_fields(form);  
+  if (form && (old_fields = ::form_fields(form))) {
+    ::set_form_fields(form,(FIELD**)0);
+    delete[] old_fields;
+  }
   return fields;
 }
 
   return fields;
 }
 
index 89f0cbe9dd34d585152063f287a147400529a836..40f4146172c355084fe274b77aa7ddbdf5c2691b 100644 (file)
@@ -1,6 +1,6 @@
 // * This makes emacs happy -*-Mode: C++;-*-
 /****************************************************************************
 // * This makes emacs happy -*-Mode: C++;-*-
 /****************************************************************************
- * Copyright (c) 1998,1999 Free Software Foundation, Inc.                   *
+ * Copyright (c) 1998,1999,2000 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  *   Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1997                 *
  ****************************************************************************/
 
  *   Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1997                 *
  ****************************************************************************/
 
-// $Id: cursesf.h,v 1.11 1999/10/30 23:59:37 tom Exp $
+// $Id: cursesf.h,v 1.12 2000/07/15 21:08:25 tom Exp $
 
 #ifndef _CURSESF_H
 #define _CURSESF_H
 
 #include <cursesp.h>
 
 #ifndef _CURSESF_H
 #define _CURSESF_H
 
 #include <cursesp.h>
+#include <string.h>
 
 extern "C" {
 #  include <form.h>
 
 extern "C" {
 #  include <form.h>
@@ -91,10 +92,10 @@ protected:
     if (err != E_OK)
       THROW(new NCursesFormException (err));
   }
     if (err != E_OK)
       THROW(new NCursesFormException (err));
   }
-  
+
 public:
   // Create a 'Null' field. Can be used to delimit a field list
 public:
   // Create a 'Null' field. Can be used to delimit a field list
-  NCursesFormField() 
+  NCursesFormField()
     : field((FIELD*)0), ftype((NCursesFieldType*)0) {
   }
 
     : field((FIELD*)0), ftype((NCursesFieldType*)0) {
   }
 
@@ -104,14 +105,14 @@ public:
                    int first_row = 0,
                    int first_col = 0,
                    int offscreen_rows = 0,
                    int first_row = 0,
                    int first_col = 0,
                    int offscreen_rows = 0,
-                   int additional_buffers = 0) 
+                   int additional_buffers = 0)
     : ftype((NCursesFieldType*)0) {
       field = ::new_field(rows,cols,first_row,first_col,
                          offscreen_rows, additional_buffers);
       if (!field)
        OnError(errno);
   }
     : ftype((NCursesFieldType*)0) {
       field = ::new_field(rows,cols,first_row,first_col,
                          offscreen_rows, additional_buffers);
       if (!field)
        OnError(errno);
   }
-  
+
   virtual ~NCursesFormField ();
 
   // Duplicate the field at a new position
   virtual ~NCursesFormField ();
 
   // Duplicate the field at a new position
@@ -321,12 +322,12 @@ private:
   static void frm_term(FORM *);
   static void fld_init(FORM *);
   static void fld_term(FORM *);
   static void frm_term(FORM *);
   static void fld_init(FORM *);
   static void fld_term(FORM *);
-  
+
   // Calculate FIELD* array for the menu
   FIELD** mapFields(NCursesFormField* nfields[]);
 
   // Calculate FIELD* array for the menu
   FIELD** mapFields(NCursesFormField* nfields[]);
 
-protected:  
-  // internal routines 
+protected:
+  // internal routines
   inline void set_user(void *user) {
     UserHook* uptr = (UserHook*)::form_userptr (form);
     assert (uptr != 0 && uptr->m_back==this && uptr->m_owner==form);
   inline void set_user(void *user) {
     UserHook* uptr = (UserHook*)::form_userptr (form);
     assert (uptr != 0 && uptr->m_back==this && uptr->m_owner==form);
@@ -337,8 +338,8 @@ protected:
     UserHook* uptr = (UserHook*)::form_userptr (form);
     assert (uptr != 0 && uptr->m_back==this && uptr->m_owner==form);
     return uptr->m_user;
     UserHook* uptr = (UserHook*)::form_userptr (form);
     assert (uptr != 0 && uptr->m_back==this && uptr->m_owner==form);
     return uptr->m_user;
-  }  
-  
+  }
+
   void InitForm (NCursesFormField* Fields[],
                 bool with_frame,
                 bool autoDeleteFields);
   void InitForm (NCursesFormField* Fields[],
                 bool with_frame,
                 bool autoDeleteFields);
@@ -353,14 +354,14 @@ protected:
 
   // 'Internal' constructor, builds an object without association to a
   // field array.
 
   // 'Internal' constructor, builds an object without association to a
   // field array.
-  NCursesForm( int  lines, 
-              int  cols, 
-              int  begin_y = 0, 
-              int  begin_x = 0) 
-    : NCursesPanel(lines,cols,begin_y,begin_x), 
+  NCursesForm( int  lines,
+              int  cols,
+              int  begin_y = 0,
+              int  begin_x = 0)
+    : NCursesPanel(lines,cols,begin_y,begin_x),
       form ((FORM*)0) {
   }
       form ((FORM*)0) {
   }
-  
+
 public:
   // Create form for the default panel.
   NCursesForm (NCursesFormField* Fields[],
 public:
   // Create form for the default panel.
   NCursesForm (NCursesFormField* Fields[],
@@ -372,9 +373,9 @@ public:
 
   // Create a form in a panel with the given position and size.
   NCursesForm (NCursesFormField* Fields[],
 
   // Create a form in a panel with the given position and size.
   NCursesForm (NCursesFormField* Fields[],
-              int  lines, 
-              int  cols, 
-              int  begin_y, 
+              int  lines,
+              int  cols,
+              int  begin_y,
               int  begin_x,
               bool with_frame=FALSE,        // reserve space for a frame?
               bool autoDelete_Fields=FALSE) // do automatic cleanup?
               int  begin_x,
               bool with_frame=FALSE,        // reserve space for a frame?
               bool autoDelete_Fields=FALSE) // do automatic cleanup?
@@ -397,17 +398,17 @@ public:
 
   // Set these fields for the form
   inline void setFields(NCursesFormField* Fields[]) {
 
   // Set these fields for the form
   inline void setFields(NCursesFormField* Fields[]) {
-    OnError(::set_form_fields(form,mapFields(Fields)));    
+    OnError(::set_form_fields(form,mapFields(Fields)));
   }
 
   // Remove the form from the screen
   }
 
   // Remove the form from the screen
-  inline void unpost (void) { 
-    OnError (::unpost_form (form)); 
+  inline void unpost (void) {
+    OnError (::unpost_form (form));
   }
   }
-  
+
   // Post the form to the screen if flag is true, unpost it otherwise
   inline void post(bool flag = TRUE) {
   // Post the form to the screen if flag is true, unpost it otherwise
   inline void post(bool flag = TRUE) {
-    OnError (flag ? ::post_form(form) : ::unpost_form (form)); 
+    OnError (flag ? ::post_form(form) : ::unpost_form (form));
   }
 
   // Decorations
   }
 
   // Decorations
@@ -424,7 +425,7 @@ public:
     else
       OnError(E_SYSTEM_ERROR);
   }
     else
       OnError(E_SYSTEM_ERROR);
   }
-  
+
   inline void label(const char *topLabel, const char *bottomLabel) {
     if (b_framed)
       NCursesPanel::label(topLabel,bottomLabel);
   inline void label(const char *topLabel, const char *bottomLabel) {
     if (b_framed)
       NCursesPanel::label(topLabel,bottomLabel);
@@ -578,18 +579,18 @@ template<class T> class NCursesUserForm : public NCursesForm
 protected:
   // 'Internal' constructor, builds an object without association to a
   // field array.
 protected:
   // 'Internal' constructor, builds an object without association to a
   // field array.
-  NCursesUserForm( int  lines, 
-                  int  cols, 
-                  int  begin_y = 0, 
+  NCursesUserForm( int  lines,
+                  int  cols,
+                  int  begin_y = 0,
                   int  begin_x = 0,
                   int  begin_x = 0,
-                  const T* p_UserData = (T*)0) 
+                  const T* p_UserData = (T*)0)
     : NCursesForm(lines,cols,begin_y,begin_x) {
       if (form)
        set_user ((void *)p_UserData);
   }
 
 public:
     : NCursesForm(lines,cols,begin_y,begin_x) {
       if (form)
        set_user ((void *)p_UserData);
   }
 
 public:
-  NCursesUserForm (NCursesFormField Fields[], 
+  NCursesUserForm (NCursesFormField Fields[],
                   bool with_frame=FALSE,
                   bool autoDelete_Fields=FALSE)
     : NCursesForm (Fields, with_frame, autoDelete_Fields) {
                   bool with_frame=FALSE,
                   bool autoDelete_Fields=FALSE)
     : NCursesForm (Fields, with_frame, autoDelete_Fields) {
@@ -603,11 +604,11 @@ public:
       if (form)
        set_user ((void *)p_UserData);
   };
       if (form)
        set_user ((void *)p_UserData);
   };
-  
+
   NCursesUserForm (NCursesFormField Fields[],
   NCursesUserForm (NCursesFormField Fields[],
-                  int lines, 
-                  int cols, 
-                  int begin_y = 0, 
+                  int lines,
+                  int cols,
+                  int begin_y = 0,
                   int begin_x = 0,
                   const T* p_UserData = (T*)0,
                   bool with_frame=FALSE,
                   int begin_x = 0,
                   const T* p_UserData = (T*)0,
                   bool with_frame=FALSE,
@@ -616,11 +617,11 @@ public:
                   with_frame, autoDelete_Fields) {
       if (form)
        set_user ((void *)p_UserData);
                   with_frame, autoDelete_Fields) {
       if (form)
        set_user ((void *)p_UserData);
-  };  
-  
+  };
+
   virtual ~NCursesUserForm() {
   };
   virtual ~NCursesUserForm() {
   };
-  
+
   inline T* UserData (void) const {
     return (T*)get_user ();
   };
   inline T* UserData (void) const {
     return (T*)get_user ();
   };
@@ -645,7 +646,7 @@ private:
   }
 
 public:
   }
 
 public:
-  Alpha_Field(int width) 
+  Alpha_Field(int width)
     : NCursesFieldType(TYPE_ALPHA),
       min_field_width(width) {
   }
     : NCursesFieldType(TYPE_ALPHA),
       min_field_width(width) {
   }
@@ -660,7 +661,7 @@ private:
   }
 
 public:
   }
 
 public:
-  Alphanumeric_Field(int width) 
+  Alphanumeric_Field(int width)
     : NCursesFieldType(TYPE_ALNUM),
       min_field_width(width) {
   }
     : NCursesFieldType(TYPE_ALNUM),
       min_field_width(width) {
   }
@@ -678,7 +679,7 @@ private:
 
 public:
   Integer_Field(int prec, long low=0L, long high=0L)
 
 public:
   Integer_Field(int prec, long low=0L, long high=0L)
-    : NCursesFieldType(TYPE_INTEGER), 
+    : NCursesFieldType(TYPE_INTEGER),
       precision(prec), lower_limit(low), upper_limit(high) {
   }
 };
       precision(prec), lower_limit(low), upper_limit(high) {
   }
 };
@@ -695,7 +696,7 @@ private:
 
 public:
   Numeric_Field(int prec, double low=0.0, double high=0.0)
 
 public:
   Numeric_Field(int prec, double low=0.0, double high=0.0)
-    : NCursesFieldType(TYPE_NUMERIC), 
+    : NCursesFieldType(TYPE_NUMERIC),
       precision(prec), lower_limit(low), upper_limit(high) {
   }
 };
       precision(prec), lower_limit(low), upper_limit(high) {
   }
 };
@@ -757,11 +758,11 @@ public:
 // -------------------------------------------------------------------------
 //
 class UserDefinedFieldType : public NCursesFieldType {
 // -------------------------------------------------------------------------
 //
 class UserDefinedFieldType : public NCursesFieldType {
-  friend class UDF_Init; // Internal helper to set up statics 
+  friend class UDF_Init; // Internal helper to set up statics
 private:
   // For all C++ defined fieldtypes we need only one generic lowlevel
   // FIELDTYPE* element.
 private:
   // For all C++ defined fieldtypes we need only one generic lowlevel
   // FIELDTYPE* element.
-  static FIELDTYPE* generic_fieldtype; 
+  static FIELDTYPE* generic_fieldtype;
 
 protected:
   // This are the functions required by the low level libforms functions
 
 protected:
   // This are the functions required by the low level libforms functions
@@ -793,9 +794,9 @@ public:
 // -------------------------------------------------------------------------
 //
 class UserDefinedFieldType_With_Choice : public UserDefinedFieldType {
 // -------------------------------------------------------------------------
 //
 class UserDefinedFieldType_With_Choice : public UserDefinedFieldType {
-  friend class UDF_Init; // Internal helper to set up statics 
+  friend class UDF_Init; // Internal helper to set up statics
 private:
 private:
-  // For all C++ defined fieldtypes with choice functions we need only one 
+  // For all C++ defined fieldtypes with choice functions we need only one
   // generic lowlevel FIELDTYPE* element.
   static FIELDTYPE* generic_fieldtype_with_choice;
 
   // generic lowlevel FIELDTYPE* element.
   static FIELDTYPE* generic_fieldtype_with_choice;
 
index 3bcf3d260f365e4120efac4a65d0d03a9e558b5b..50095d3d21444d1f8b5b53315537fecca4b84957 100644 (file)
@@ -1,6 +1,6 @@
 // * this is for making emacs happy: -*-Mode: C++;-*-
 /****************************************************************************
 // * this is for making emacs happy: -*-Mode: C++;-*-
 /****************************************************************************
- * Copyright (c) 1998,1999 Free Software Foundation, Inc.                   *
+ * Copyright (c) 1998,1999,2000 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -33,8 +33,9 @@
 
 #include "cursesp.h"
 #include "internal.h"
 
 #include "cursesp.h"
 #include "internal.h"
+#include <string.h>
 
 
-MODULE_ID("$Id: cursesp.cc,v 1.15 1999/10/30 23:59:37 tom Exp $")
+MODULE_ID("$Id: cursesp.cc,v 1.16 2000/07/15 21:08:13 tom Exp $")
 
 NCursesPanel* NCursesPanel::dummy = (NCursesPanel*)0;
 
 
 NCursesPanel* NCursesPanel::dummy = (NCursesPanel*)0;
 
@@ -42,13 +43,13 @@ void NCursesPanel::init() {
   p = ::new_panel(w);
   if (!p)
     OnError(ERR);
   p = ::new_panel(w);
   if (!p)
     OnError(ERR);
-  
+
   UserHook* hook = new UserHook;
   hook->m_user  = NULL;
   hook->m_back  = this;
   hook->m_owner = p;
   ::set_panel_userptr(p, (void *)hook);
   UserHook* hook = new UserHook;
   hook->m_user  = NULL;
   hook->m_back  = this;
   hook->m_owner = p;
   ::set_panel_userptr(p, (void *)hook);
-}  
+}
 
 NCursesPanel::~NCursesPanel() {
   UserHook* hook = (UserHook*)::panel_userptr(p);
 
 NCursesPanel::~NCursesPanel() {
   UserHook* hook = (UserHook*)::panel_userptr(p);
@@ -61,7 +62,7 @@ NCursesPanel::~NCursesPanel() {
 void
 NCursesPanel::redraw() {
   PANEL *pan;
 void
 NCursesPanel::redraw() {
   PANEL *pan;
-  
+
   pan = ::panel_above(NULL);
   while (pan) {
     ::touchwin(panel_window(pan));
   pan = ::panel_above(NULL);
   while (pan) {
     ::touchwin(panel_window(pan));
@@ -95,20 +96,20 @@ NCursesPanel::frame(const char *title,const char *btitle) {
   int err = OK;
   if (!title && !btitle) {
     err = box();
   int err = OK;
   if (!title && !btitle) {
     err = box();
-  } 
+  }
   else {
     err = box();
     if (err==OK)
   else {
     err = box();
     if (err==OK)
-      label(title,btitle); 
+      label(title,btitle);
   }
   OnError(err);
 }
 
 void
 NCursesPanel::label(const char *tLabel, const char *bLabel) {
   }
   OnError(err);
 }
 
 void
 NCursesPanel::label(const char *tLabel, const char *bLabel) {
-  if (tLabel) 
+  if (tLabel)
     centertext(0,tLabel);
     centertext(0,tLabel);
-  if (bLabel) 
+  if (bLabel)
     centertext(maxy(),bLabel);
 }
 
     centertext(maxy(),bLabel);
 }
 
index baae046ef20460d9b40947f503574f0ca796d5e1..b61a7056af15a879c64ebc4089a625bf730f844b 100644 (file)
@@ -25,7 +25,7 @@
 #include "cursesw.h"
 #include "internal.h"
 
 #include "cursesw.h"
 #include "internal.h"
 
-MODULE_ID("$Id: cursesw.cc,v 1.16 1999/11/13 23:42:17 tom Exp $")
+MODULE_ID("$Id: cursesw.cc,v 1.17 2000/09/02 18:55:31 tom Exp $")
 
 #define COLORS_NEED_INITIALIZATION  -1
 #define COLORS_NOT_INITIALIZED       0
 
 #define COLORS_NEED_INITIALIZATION  -1
 #define COLORS_NOT_INITIALIZED       0
@@ -424,7 +424,7 @@ NCursesWindow::setcolor(short pair)
   return OK;
 }
 
   return OK;
 }
 
-#ifdef HAVE_HAS_KEY
+#if HAVE_HAS_KEY
 extern "C" int _nc_has_mouse(void);
 
 bool NCursesWindow::has_mouse() const {
 extern "C" int _nc_has_mouse(void);
 
 bool NCursesWindow::has_mouse() const {
index 82ff83e11954cdf96c181866b3dd2542db4320fe..236d3a55b3ddbdd4956ae50ca8ac8527f325f609 100644 (file)
@@ -1,6 +1,6 @@
 // * this is for making emacs happy: -*-Mode: C++;-*-
 /****************************************************************************
 // * this is for making emacs happy: -*-Mode: C++;-*-
 /****************************************************************************
- * Copyright (c) 1998 Free Software Foundation, Inc.                        *
+ * Copyright (c) 1998,2000 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -34,8 +34,9 @@
 #include "cursslk.h"
 #include "cursesapp.h"
 #include "internal.h"
 #include "cursslk.h"
 #include "cursesapp.h"
 #include "internal.h"
+#include <string.h>
 
 
-MODULE_ID("$Id: cursslk.cc,v 1.5 1999/05/16 17:31:01 juergen Exp $")
+MODULE_ID("$Id: cursslk.cc,v 1.6 2000/07/15 21:07:50 tom Exp $")
 
 void Soft_Label_Key_Set::Soft_Label_Key::operator=(char *text)  {
   delete[] label;
 
 void Soft_Label_Key_Set::Soft_Label_Key::operator=(char *text)  {
   delete[] label;
@@ -54,7 +55,7 @@ void Soft_Label_Key_Set::init() {
   for(int i=0; i < num_labels; i++) {
     slk_array[i].num = i+1;
   }
   for(int i=0; i < num_labels; i++) {
     slk_array[i].num = i+1;
   }
-  b_attrInit = FALSE;  
+  b_attrInit = FALSE;
 }
 
 Soft_Label_Key_Set::Soft_Label_Key_Set() {
 }
 
 Soft_Label_Key_Set::Soft_Label_Key_Set() {
index cdf256cbd71e130d853cdae8f69b59a15c0cb778..67bc3ff2469e0e60672310a43d59640b46ff41cf 100644 (file)
@@ -1,6 +1,6 @@
 // * This makes emacs happy -*-Mode: C++;-*-
 /****************************************************************************
 // * This makes emacs happy -*-Mode: C++;-*-
 /****************************************************************************
- * Copyright (c) 1998 Free Software Foundation, Inc.                        *
+ * Copyright (c) 1998,2000 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  *   Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1997                 *
  ****************************************************************************/
 
  *   Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1997                 *
  ****************************************************************************/
 
-// $Id: internal.h,v 1.5 1999/05/16 17:29:25 juergen Exp $
+// $Id: internal.h,v 1.6 2000/09/02 18:22:23 tom Exp $
 
 #ifndef _CPLUS_INTERNAL_H
 #define _CPLUS_INTERNAL_H 1
 
 
 #ifndef _CPLUS_INTERNAL_H
 #define _CPLUS_INTERNAL_H 1
 
-#ifdef USE_RCS_IDS
+#if USE_RCS_IDS
 #define MODULE_ID(id) static const char Ident[] = id;
 #else
 #define MODULE_ID(id) /*nothing*/
 #define MODULE_ID(id) static const char Ident[] = id;
 #else
 #define MODULE_ID(id) /*nothing*/
index 499496436cd502d1fbd4861bd479191222eb825e..b100dbe1a331e739af3b3386c557c58569e72fab 100755 (executable)
@@ -109,6 +109,9 @@ trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
 # Note: order is significant - the case branches are not exclusive.
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 # Note: order is significant - the case branches are not exclusive.
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    i?86:OS/2:*:*)
+        echo "i386-unknown-os2"
+       exit 0;;
     *:NetBSD:*:*)
        # Netbsd (nbsd) targets should (where applicable) match one or
        # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
     *:NetBSD:*:*)
        # Netbsd (nbsd) targets should (where applicable) match one or
        # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
@@ -431,7 +434,7 @@ EOF
     *:IRIX*:*:*)
        echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
        exit 0 ;;
     *:IRIX*:*:*)
        echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
        exit 0 ;;
-    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+    ????????:AIX?:[12].1:2)    # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
        echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
        exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
     i?86:AIX:*:*)
        echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
        exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
     i?86:AIX:*:*)
index 8fa14be27e16d4a8d8df2f1c4c0abc2ee1a71a47..f8ec622e95b052747c1b1ddd1c3bf7ee9317fdae 100755 (executable)
@@ -3,7 +3,7 @@
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
 #   Free Software Foundation, Inc.
 
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
 #   Free Software Foundation, Inc.
 
-version='2000-06-13'
+version='2000-07-06'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -122,6 +122,9 @@ esac
 ### recognize some manufacturers as not being operating systems, so we
 ### can provide default operating systems below.
 case $os in
 ### recognize some manufacturers as not being operating systems, so we
 ### can provide default operating systems below.
 case $os in
+       -os2)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86/'`
+               ;;
        -sun*os*)
                # Prevent following clause from handling this invalid input.
                ;;
        -sun*os*)
                # Prevent following clause from handling this invalid input.
                ;;
@@ -218,8 +221,13 @@ case $basic_machine in
                | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
                | mips64vr5000 | miprs64vr5000el | mcore \
                | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
                | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
                | mips64vr5000 | miprs64vr5000el | mcore \
                | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
-               | thumb | d10v | fr30 | avr)
+               | thumb | d10v | d30v | fr30 | avr)
+               basic_machine=$basic_machine-unknown
+               ;;
+       m6811 | m68hc11 | m6812 | m68hc12)
+               # Motorola 68HC11/12.
                basic_machine=$basic_machine-unknown
                basic_machine=$basic_machine-unknown
+               os=-none
                ;;
        m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
                ;;
                ;;
        m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
                ;;
@@ -257,7 +265,7 @@ case $basic_machine in
              | f301-* | armv*-* | s390-* | sv1-* | t3e-* \
              | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
              | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \
              | f301-* | armv*-* | s390-* | sv1-* | t3e-* \
              | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
              | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \
-             | bs2000-*)
+             | bs2000-* | tic54x-* | c54x-*)
                ;;
        # Recognize the various machine names and aliases which stand
        # for a CPU type and a company and sometimes even an OS.
                ;;
        # Recognize the various machine names and aliases which stand
        # for a CPU type and a company and sometimes even an OS.
@@ -793,6 +801,10 @@ case $basic_machine in
                basic_machine=t3e-cray
                os=-unicos
                ;;
                basic_machine=t3e-cray
                os=-unicos
                ;;
+       tic54x | c54x*)
+               basic_machine=tic54x-unknown
+               os=-coff
+               ;;
        tx39)
                basic_machine=mipstx39-unknown
                ;;
        tx39)
                basic_machine=mipstx39-unknown
                ;;
@@ -994,6 +1006,7 @@ case $os in
                os=-nto-qnx
                ;;
        -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
                os=-nto-qnx
                ;;
        -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+             | -os2 \
              | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
              | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
                ;;
              | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
              | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
                ;;
index 51180b9b4cefecd847a5d5dab6961c7d5517bdd6..c18a988f72c4d271dae24fa52f981c98182126a5 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,11 +1,11 @@
 #! /bin/sh
 
 #! /bin/sh
 
-# From configure.in Revision: 1.195 
+# From configure.in Revision: 1.220 
 
 
 
 # Guess values for system-dependent variables and create Makefiles.
 
 
 
 # Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13.19990117 
+# Generated automatically using autoconf version 2.13.20000819 
 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
@@ -193,18 +193,15 @@ cat <<EOF
   --without-cxx-binding   do not build C++ binding and demo
   --without-ada           suppress check for Ada95, don't build demo
   --without-progs         suppress build with programs (e.g., tic)
   --without-cxx-binding   do not build C++ binding and demo
   --without-ada           suppress check for Ada95, don't build demo
   --without-progs         suppress build with programs (e.g., tic)
+  --without-curses-h      install curses.h as ncurses.h only
   --with-install-prefix   prefixes actual install-location
   --with-install-prefix   prefixes actual install-location
-Options to Specify How Manpages are Installed:
-  --with-manpage-format   specify manpage-format: gzip/compress/BSDI/normal and
-                          optionally formatted, e.g., gzip,formatted
-  --with-manpage-renames  specify manpage-renaming
-  --with-manpage-symlinks specify manpage-symlinks
 Options to Specify the Libraries Built/Used:
 Options to Specify the Libraries Built/Used:
+  --with-libtool          generate libraries with libtool
   --with-shared           generate shared-libraries
   --with-shared           generate shared-libraries
-EOF
-cat <<EOF
   --with-normal           generate normal-libraries (default)
   --with-debug            generate debug-libraries (default)
   --with-normal           generate normal-libraries (default)
   --with-debug            generate debug-libraries (default)
+EOF
+cat <<EOF
   --with-profile          generate profile-libraries
   --with-termlib          generate separate terminfo library
   --with-dbmalloc         test: use Conor Cahill's dbmalloc library
   --with-profile          generate profile-libraries
   --with-termlib          generate separate terminfo library
   --with-dbmalloc         test: use Conor Cahill's dbmalloc library
@@ -215,10 +212,12 @@ cat <<EOF
 Fine-Tuning Your Configuration:
   --disable-overwrite     leave out the link to -lcurses
   --disable-database      use only built-in data
 Fine-Tuning Your Configuration:
   --disable-overwrite     leave out the link to -lcurses
   --disable-database      use only built-in data
+  --with-database=XXX     specify terminfo source to install
+  --with-fallbacks=XXX    specify list of fallback terminal descriptions
 EOF
 cat <<EOF
 EOF
 cat <<EOF
-  --with-fallbacks=XXX    specify list of fallback terminal descriptions
   --with-terminfo-dirs=XXX specify list of terminfo directories (default: DATADIR/terminfo)
   --with-terminfo-dirs=XXX specify list of terminfo directories (default: DATADIR/terminfo)
+  --with-default-terminfo-dir=DIR default terminfo directory (default: DATADIR/terminfo)
   --disable-big-core      assume machine has little memory
   --enable-termcap        compile in termcap fallback support
   --enable-getcap         fast termcap load, no xrefs to terminfo
   --disable-big-core      assume machine has little memory
   --enable-termcap        compile in termcap fallback support
   --enable-getcap         fast termcap load, no xrefs to terminfo
@@ -227,38 +226,47 @@ cat <<EOF
   --enable-broken_linker  compile with broken-linker support code
   --enable-bsdpad         recognize BSD-style prefix padding
   --with-rcs-ids          compile-in RCS identifiers
   --enable-broken_linker  compile with broken-linker support code
   --enable-bsdpad         recognize BSD-style prefix padding
   --with-rcs-ids          compile-in RCS identifiers
-Extensions:
-  --disable-ext-funcs     disable function-extensions
+Options to Specify How Manpages are Installed:
+  --with-manpage-format   specify manpage-format: gzip/compress/BSDI/normal and
+                          optionally formatted, e.g., gzip,formatted
 EOF
 cat <<EOF
 EOF
 cat <<EOF
+  --with-manpage-renames  specify manpage-renaming
+  --with-manpage-symlinks specify manpage-symlinks
+  --with-manpage-tbl      specify manpage processing with tbl
+Extensions:
+  --disable-ext-funcs     disable function-extensions
   --enable-const          compile with extra/non-standard const
   --enable-const          compile with extra/non-standard const
-  --enable-hashmap        compile with hashmap scrolling-optimization code
   --enable-no-padding     compile with \$NCURSES_NO_PADDING code
   --enable-sigwinch       compile with SIGWINCH handler
   --enable-tcap-names     compile with user-definable terminal capabilities
   --enable-no-padding     compile with \$NCURSES_NO_PADDING code
   --enable-sigwinch       compile with SIGWINCH handler
   --enable-tcap-names     compile with user-definable terminal capabilities
+Development Code:
+  --with-develop          enable all development options
+  --enable-colorfgbg      compile with \$COLORFGBG code
+EOF
+cat <<EOF
+  --enable-hard-tabs      compile with hard-tabs code
+  --disable-root-environ  limit environment when running as root
+  --enable-xmc-glitch     compile with limited support for xmc
 Experimental Code:
 Experimental Code:
-  --with-develop          enable all experimental options for testing
-  --enable-colorfgbg      compile with experimental \$COLORFGBG code
-  --enable-hard-tabs      compile with experimental hard-tabs code
+  --disable-assumed-color do not assume anything about default-colors
+  --disable-hashmap       compile without hashmap scrolling-optimization
   --enable-safe-sprintf   compile with experimental safe-sprintf code
   --disable-scroll-hints  compile without scroll-hints code
   --enable-safe-sprintf   compile with experimental safe-sprintf code
   --disable-scroll-hints  compile without scroll-hints code
-  --enable-widec          compile with experimental wide-char code
-EOF
-cat <<EOF
-  --enable-xmc-glitch     compile with experimental xmc code
+  --enable-widec          compile with experimental wide-char/UTF-8 code
 Testing/development Options:
   --enable-echo           build: display "compiling" commands (default)
   --enable-warnings       build: turn on GCC compiler warnings
 Testing/development Options:
   --enable-echo           build: display "compiling" commands (default)
   --enable-warnings       build: turn on GCC compiler warnings
+EOF
+cat <<EOF
   --enable-assertions     test: turn on generation of assertion code
   --disable-leaks         test: suppress permanent memory-leaks
   --enable-expanded       test: generate functions for certain macros
   --disable-macros        test: use functions rather than macros
 Ada95 Binding Options:
   --enable-assertions     test: turn on generation of assertion code
   --disable-leaks         test: suppress permanent memory-leaks
   --enable-expanded       test: generate functions for certain macros
   --disable-macros        test: use functions rather than macros
 Ada95 Binding Options:
-  --with-ada-compiler=CMD Specify Ada95 compiler command (default gnatmake)
+  --with-ada-compiler=CMD specify Ada95 compiler command (default gnatmake)
   --with-ada-include=DIR  Ada includes are in DIR (default: PREFIX/lib/ada/adainclude)
   --with-ada-objects=DIR  Ada objects are in DIR (default: PREFIX/lib/ada/adalib)
   --with-ada-include=DIR  Ada includes are in DIR (default: PREFIX/lib/ada/adainclude)
   --with-ada-objects=DIR  Ada objects are in DIR (default: PREFIX/lib/ada/adalib)
-EOF
-cat <<EOF
 EOF
     exit 0 ;;
 
 EOF
     exit 0 ;;
 
@@ -409,7 +417,7 @@ EOF
     verbose=yes ;;
 
   -version | --version | --versio | --versi | --vers)
     verbose=yes ;;
 
   -version | --version | --versio | --versi | --vers)
-    echo "configure generated by autoconf version 2.13.19990117"
+    echo "configure generated by autoconf version 2.13.20000819"
     exit 0 ;;
 
   -with-* | --with-*)
     exit 0 ;;
 
   -with-* | --with-*)
@@ -636,13 +644,34 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
 
 if test -f $srcdir/config.guess ; then
        
 
 if test -f $srcdir/config.guess ; then
        
+# Do some error checking and defaulting for the host and target type.
+# The inputs are:
+#    configure --host=HOST --target=TARGET --build=BUILD NONOPT
+#
+# The rules are:
+# 1. You are not allowed to specify --host, --target, and nonopt at the
+#    same time.
+# 2. Host defaults to nonopt.
+# 3. If nonopt is not specified, then host defaults to the current host,
+#    as determined by config.guess.
+# 4. Target and build default to nonopt.
+# 5. If nonopt is not specified, then target and build default to host.
+
+# The aliases save the names the user supplied, while $host etc.
+# will get canonicalized.
+case $host---$target---$nonopt in
+NONE---*---* | *---NONE---* | *---*---NONE) ;;
+*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
+esac
+
+
 # Make sure we can run config.sub.
 if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
 else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
 # Make sure we can run config.sub.
 if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
 else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:646: checking host system type" >&5
+echo "configure:675: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
 
 host_alias=$host
 case "$host_alias" in
@@ -662,6 +691,47 @@ host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
 host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 echo "$ac_t""$host" 1>&6
 
 host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 echo "$ac_t""$host" 1>&6
 
+echo $ac_n "checking target system type""... $ac_c" 1>&6
+echo "configure:696: checking target system type" >&5
+
+target_alias=$target
+case "$target_alias" in
+NONE)
+  case $nonopt in
+  NONE) target_alias=$host_alias ;;
+  *) target_alias=$nonopt ;;
+  esac ;;
+esac
+
+target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
+target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$target" 1>&6
+
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:714: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+  case $nonopt in
+  NONE) build_alias=$host_alias ;;
+  *) build_alias=$nonopt ;;
+  esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+test "$host_alias" != "$target_alias" &&
+  test "$program_prefix$program_suffix$program_transform_name" = \
+    NONENONEs,x,x, &&
+  program_prefix=${target_alias}-
+
        system_name="$host_os"
 else
        system_name="`(uname -s -r) 2>/dev/null`"
        system_name="$host_os"
 else
        system_name="`(uname -s -r) 2>/dev/null`"
@@ -733,7 +803,7 @@ cf_user_CFLAGS="$CFLAGS"
 ###    Default install-location
 
 echo $ac_n "checking for prefix""... $ac_c" 1>&6
 ###    Default install-location
 
 echo $ac_n "checking for prefix""... $ac_c" 1>&6
-echo "configure:737: checking for prefix" >&5
+echo "configure:807: checking for prefix" >&5
 if test "x$prefix" = "xNONE" ; then
        case "$cf_cv_system_name" in
                # non-vendor systems don't have a conflict
 if test "x$prefix" = "xNONE" ; then
        case "$cf_cv_system_name" in
                # non-vendor systems don't have a conflict
@@ -748,7 +818,7 @@ echo "$ac_t""$prefix" 1>&6
 
 if test "x$prefix" = "xNONE" ; then
 echo $ac_n "checking for default include-directory""... $ac_c" 1>&6
 
 if test "x$prefix" = "xNONE" ; then
 echo $ac_n "checking for default include-directory""... $ac_c" 1>&6
-echo "configure:752: checking for default include-directory" >&5
+echo "configure:822: checking for default include-directory" >&5
 test -n "$verbose" && echo 1>&6
 for cf_symbol in \
        $includedir \
 test -n "$verbose" && echo 1>&6
 for cf_symbol in \
        $includedir \
@@ -778,7 +848,7 @@ fi
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:782: checking for $ac_word" >&5
+echo "configure:852: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -808,7 +878,7 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:812: checking for $ac_word" >&5
+echo "configure:882: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -859,7 +929,7 @@ fi
       # Extract the first word of "cl", so it can be a program name with args.
 set dummy cl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
       # Extract the first word of "cl", so it can be a program name with args.
 set dummy cl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:863: checking for $ac_word" >&5
+echo "configure:933: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -891,7 +961,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:895: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:965: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -902,12 +972,12 @@ cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext << EOF
 
 
 cat > conftest.$ac_ext << EOF
 
-#line 906 "configure"
+#line 976 "configure"
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
-if { (eval echo configure:911: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:981: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -933,12 +1003,12 @@ if test $ac_cv_prog_cc_works = no; then
   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:937: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1007: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:942: checking whether we are using GNU C" >&5
+echo "configure:1012: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -947,7 +1017,7 @@ else
   yes;
 #endif
 EOF
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:951: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1021: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -966,7 +1036,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
 ac_save_CFLAGS="$CFLAGS"
 CFLAGS=
 echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
 ac_save_CFLAGS="$CFLAGS"
 CFLAGS=
 echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:970: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1040: checking whether ${CC-cc} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -997,18 +1067,18 @@ else
   fi
 fi
 
   fi
 fi
 
-if test -n "$GCC" ; then
-echo $ac_n "checking version of gcc""... $ac_c" 1>&6
-echo "configure:1003: checking version of gcc" >&5
-eval "$CC --version"
+if test "$GCC" = yes ; then
+       echo $ac_n "checking version of gcc""... $ac_c" 1>&6
+echo "configure:1073: checking version of gcc" >&5
+       eval "$CC --version"
 fi
 fi
-if test $host != $build; then
-  for ac_prog in $CC gcc cc
+if test "$host" != $build; then
+       for ac_prog in $CC gcc cc
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1012: checking for $ac_word" >&5
+echo "configure:1082: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_BUILD_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_BUILD_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1037,9 +1107,12 @@ fi
 test -n "$BUILD_CC" && break
 done
 
 test -n "$BUILD_CC" && break
 done
 
+else
+       BUILD_CC="$CC"
 fi
 fi
+
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1043: checking how to run the C preprocessor" >&5
+echo "configure:1116: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -1054,13 +1127,13 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 1058 "configure"
+#line 1131 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1064: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1137: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1071,13 +1144,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 1075 "configure"
+#line 1148 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1081: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1154: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1088,13 +1161,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 1092 "configure"
+#line 1165 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1098: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1171: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1120,13 +1193,13 @@ echo "$ac_t""$CPP" 1>&6
 
 if test $ac_cv_prog_gcc = yes; then
     echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
 
 if test $ac_cv_prog_gcc = yes; then
     echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
-echo "configure:1124: checking whether ${CC-cc} needs -traditional" >&5
+echo "configure:1197: checking whether ${CC-cc} needs -traditional" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
     ac_pattern="Autoconf.*'x'"
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
     ac_pattern="Autoconf.*'x'"
   cat > conftest.$ac_ext <<EOF
-#line 1130 "configure"
+#line 1203 "configure"
 #include "confdefs.h"
 #include <sgtty.h>
 Autoconf TIOCGETP
 #include "confdefs.h"
 #include <sgtty.h>
 Autoconf TIOCGETP
@@ -1144,7 +1217,7 @@ rm -f conftest*
 
   if test $ac_cv_prog_gcc_traditional = no; then
     cat > conftest.$ac_ext <<EOF
 
   if test $ac_cv_prog_gcc_traditional = no; then
     cat > conftest.$ac_ext <<EOF
-#line 1148 "configure"
+#line 1221 "configure"
 #include "confdefs.h"
 #include <termio.h>
 Autoconf TCGETA
 #include "confdefs.h"
 #include <termio.h>
 Autoconf TCGETA
@@ -1166,7 +1239,7 @@ echo "$ac_t""$ac_cv_prog_gcc_traditional" 1>&6
 fi
 
 echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
 fi
 
 echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:1170: checking for POSIXized ISC" >&5
+echo "configure:1243: checking for POSIXized ISC" >&5
 if test -d /etc/conf/kconfig.d &&
   grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
 then
 if test -d /etc/conf/kconfig.d &&
   grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
 then
@@ -1188,7 +1261,7 @@ fi
 
 
 echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6
 
 
 echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6
-echo "configure:1192: checking for ${CC-cc} option to accept ANSI C" >&5
+echo "configure:1265: checking for ${CC-cc} option to accept ANSI C" >&5
 if eval "test \"`echo '$''{'cf_cv_ansi_cc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'cf_cv_ansi_cc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1212,7 +1285,7 @@ for cf_arg in "-DCC_HAS_PROTOS" \
 do
        CFLAGS="$cf_save_CFLAGS $cf_arg"
        cat > conftest.$ac_ext <<EOF
 do
        CFLAGS="$cf_save_CFLAGS $cf_arg"
        cat > conftest.$ac_ext <<EOF
-#line 1216 "configure"
+#line 1289 "configure"
 #include "confdefs.h"
 
 #ifndef CC_HAS_PROTOS
 #include "confdefs.h"
 
 #ifndef CC_HAS_PROTOS
@@ -1228,7 +1301,7 @@ int main() {
        struct s2 {int (*f) (double a);};
 ; return 0; }
 EOF
        struct s2 {int (*f) (double a);};
 ; return 0; }
 EOF
-if { (eval echo configure:1232: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1305: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ansi_cc="$cf_arg"; break
 else
   rm -rf conftest*
   cf_cv_ansi_cc="$cf_arg"; break
 else
@@ -1289,7 +1362,7 @@ freebsd*) #(vi
   # Extract the first word of "ldconfig", so it can be a program name with args.
 set dummy ldconfig; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
   # Extract the first word of "ldconfig", so it can be a program name with args.
 set dummy ldconfig; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1293: checking for $ac_word" >&5
+echo "configure:1366: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_LDCONFIG'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_path_LDCONFIG'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1326,7 +1399,7 @@ esac
 
 
 echo $ac_n "checking if you want to ensure bool is consistent with C++""... $ac_c" 1>&6
 
 
 echo $ac_n "checking if you want to ensure bool is consistent with C++""... $ac_c" 1>&6
-echo "configure:1330: checking if you want to ensure bool is consistent with C++" >&5
+echo "configure:1403: checking if you want to ensure bool is consistent with C++" >&5
 
 # Check whether --with-cxx or --without-cxx was given.
 if test "${with_cxx+set}" = set; then
 
 # Check whether --with-cxx or --without-cxx was given.
 if test "${with_cxx+set}" = set; then
@@ -1346,7 +1419,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1350: checking for $ac_word" >&5
+echo "configure:1423: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1378,7 +1451,7 @@ test -n "$CXX" || CXX="gcc"
 
 
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
 
 
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1382: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+echo "configure:1455: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
 
 ac_ext=C
 # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
 
 ac_ext=C
 # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1389,12 +1462,12 @@ cross_compiling=$ac_cv_prog_cxx_cross
 
 cat > conftest.$ac_ext << EOF
 
 
 cat > conftest.$ac_ext << EOF
 
-#line 1393 "configure"
+#line 1466 "configure"
 #include "confdefs.h"
 
 int main(){return(0);}
 EOF
 #include "confdefs.h"
 
 int main(){return(0);}
 EOF
-if { (eval echo configure:1398: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1471: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   ac_cv_prog_cxx_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
   ac_cv_prog_cxx_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -1420,12 +1493,12 @@ if test $ac_cv_prog_cxx_works = no; then
   echo "$ac_t""You don't have any C++ compiler, too bad" 1>&6;                 cf_with_cxx=no; CXX=""; GXX="";
 fi
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
   echo "$ac_t""You don't have any C++ compiler, too bad" 1>&6;                 cf_with_cxx=no; CXX=""; GXX="";
 fi
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1424: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1497: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
 cross_compiling=$ac_cv_prog_cxx_cross
 
 echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
 echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
 cross_compiling=$ac_cv_prog_cxx_cross
 
 echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
-echo "configure:1429: checking whether we are using GNU C++" >&5
+echo "configure:1502: checking whether we are using GNU C++" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1434,7 +1507,7 @@ else
   yes;
 #endif
 EOF
   yes;
 #endif
 EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1438: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1511: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gxx=yes
 else
   ac_cv_prog_gxx=no
   ac_cv_prog_gxx=yes
 else
   ac_cv_prog_gxx=no
@@ -1453,7 +1526,7 @@ ac_test_CXXFLAGS="${CXXFLAGS+set}"
 ac_save_CXXFLAGS="$CXXFLAGS"
 CXXFLAGS=
 echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
 ac_save_CXXFLAGS="$CXXFLAGS"
 CXXFLAGS=
 echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:1457: checking whether ${CXX-g++} accepts -g" >&5
+echo "configure:1530: checking whether ${CXX-g++} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1485,10 +1558,19 @@ else
 fi
 
        fi
 fi
 
        fi
-if test -n "$GXX" ; then case "`${CXX-g++} --version`" in 1*|2.[0-6]*) GXX=""; CXX=""; ac_cv_prog_gxx=no; cf_cxx_library=no ; echo No: templates do not work;; esac; fi
+
+if test "$GXX" = yes; then
+       case "`${CXX-g++} --version`" in
+       1*|2.[0-6]*)
+               GXX=""; CXX=""; ac_cv_prog_gxx=no
+               cf_cxx_library=no
+               echo No: templates do not work
+               ;;
+       esac
+fi
 
 echo $ac_n "checking if you want to build C++ binding and demo""... $ac_c" 1>&6
 
 echo $ac_n "checking if you want to build C++ binding and demo""... $ac_c" 1>&6
-echo "configure:1492: checking if you want to build C++ binding and demo" >&5
+echo "configure:1574: checking if you want to build C++ binding and demo" >&5
 
 # Check whether --with-cxx-binding or --without-cxx-binding was given.
 if test "${with_cxx_binding+set}" = set; then
 
 # Check whether --with-cxx-binding or --without-cxx-binding was given.
 if test "${with_cxx_binding+set}" = set; then
@@ -1501,7 +1583,7 @@ fi
 echo "$ac_t""$cf_with_cxx_binding" 1>&6
 
 echo $ac_n "checking if you want to build with Ada95""... $ac_c" 1>&6
 echo "$ac_t""$cf_with_cxx_binding" 1>&6
 
 echo $ac_n "checking if you want to build with Ada95""... $ac_c" 1>&6
-echo "configure:1505: checking if you want to build with Ada95" >&5
+echo "configure:1587: checking if you want to build with Ada95" >&5
 
 # Check whether --with-ada or --without-ada was given.
 if test "${with_ada+set}" = set; then
 
 # Check whether --with-ada or --without-ada was given.
 if test "${with_ada+set}" = set; then
@@ -1514,7 +1596,7 @@ fi
 echo "$ac_t""$cf_with_ada" 1>&6
 
 echo $ac_n "checking if you want to build programs such as tic""... $ac_c" 1>&6
 echo "$ac_t""$cf_with_ada" 1>&6
 
 echo $ac_n "checking if you want to build programs such as tic""... $ac_c" 1>&6
-echo "configure:1518: checking if you want to build programs such as tic" >&5
+echo "configure:1600: checking if you want to build programs such as tic" >&5
 
 # Check whether --with-progs or --without-progs was given.
 if test "${with_progs+set}" = set; then
 
 # Check whether --with-progs or --without-progs was given.
 if test "${with_progs+set}" = set; then
@@ -1526,18 +1608,50 @@ fi
 
 echo "$ac_t""$cf_with_progs" 1>&6
 
 
 echo "$ac_t""$cf_with_progs" 1>&6
 
+echo $ac_n "checking if you wish to install curses.h""... $ac_c" 1>&6
+echo "configure:1613: checking if you wish to install curses.h" >&5
+
+# Check whether --with-curses-h or --without-curses-h was given.
+if test "${with_curses_h+set}" = set; then
+  withval="$with_curses_h"
+  with_curses_h=$withval
+else
+  with_curses_h=yes
+fi
+
+echo "$ac_t""$with_curses_h" 1>&6
+
 modules_to_build="ncurses"
 if test "X$cf_with_progs" != Xno ; then
 modules_to_build="$modules_to_build progs tack"
 fi
 modules_to_build="$modules_to_build panel menu form"
 
 modules_to_build="ncurses"
 if test "X$cf_with_progs" != Xno ; then
 modules_to_build="$modules_to_build progs tack"
 fi
 modules_to_build="$modules_to_build panel menu form"
 
+if test "$program_transform_name" = s,x,x,; then
+  program_transform_name=
+else
+  # Double any \ or $.  echo might interpret backslashes.
+  cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+  program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+  rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+  program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
 for ac_prog in mawk gawk nawk awk
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
 for ac_prog in mawk gawk nawk awk
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1541: checking for $ac_word" >&5
+echo "configure:1655: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1567,7 +1681,7 @@ test -n "$AWK" && break
 done
 
 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
 done
 
 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:1571: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:1685: checking whether ${MAKE-make} sets \${MAKE}" >&5
 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1605,7 +1719,7 @@ fi
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1609: checking for a BSD compatible install" >&5
+echo "configure:1723: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1668,7 +1782,7 @@ case $INSTALL in
 esac
 
 echo $ac_n "checking for long file names""... $ac_c" 1>&6
 esac
 
 echo $ac_n "checking for long file names""... $ac_c" 1>&6
-echo "configure:1672: checking for long file names" >&5
+echo "configure:1786: checking for long file names" >&5
 if eval "test \"`echo '$''{'ac_cv_sys_long_file_names'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_sys_long_file_names'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1711,8 +1825,32 @@ EOF
 
 fi
 
 
 fi
 
+
+echo $ac_n "checking if filesystem supports mixed-case filenames""... $ac_c" 1>&6
+echo "configure:1831: checking if filesystem supports mixed-case filenames" >&5
+if eval "test \"`echo '$''{'cf_cv_mixedcase'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+       rm -f conftest CONFTEST
+       echo test >conftest
+       if test -f CONFTEST ; then
+               cf_cv_mixedcase=no
+       else
+               cf_cv_mixedcase=yes
+       fi
+       rm -f conftest CONFTEST
+
+fi
+
+echo "$ac_t""$cf_cv_mixedcase" 1>&6
+test "$cf_cv_mixedcase" = yes && cat >> confdefs.h <<\EOF
+#define MIXEDCASE_FILENAMES 1
+EOF
+
+
 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:1716: checking whether ln -s works" >&5
+echo "configure:1854: checking whether ln -s works" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1735,7 +1873,7 @@ fi
 # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
 # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1739: checking for $ac_word" >&5
+echo "configure:1877: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1762,12 +1900,94 @@ else
   echo "$ac_t""no" 1>&6
 fi
 
   echo "$ac_t""no" 1>&6
 fi
 
+
+
+# Extract the first word of "ctags", so it can be a program name with args.
+set dummy ctags; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1909: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_MAKE_LOWER_TAGS'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$MAKE_LOWER_TAGS"; then
+  ac_cv_prog_MAKE_LOWER_TAGS="$MAKE_LOWER_TAGS" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_MAKE_LOWER_TAGS="yes"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_prog_MAKE_LOWER_TAGS" && ac_cv_prog_MAKE_LOWER_TAGS="no"
+fi
+fi
+MAKE_LOWER_TAGS="$ac_cv_prog_MAKE_LOWER_TAGS"
+if test -n "$MAKE_LOWER_TAGS"; then
+  echo "$ac_t""$MAKE_LOWER_TAGS" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+if test "$cf_cv_mixedcase" = yes ; then
+       # Extract the first word of "etags", so it can be a program name with args.
+set dummy etags; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1941: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_MAKE_UPPER_TAGS'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$MAKE_UPPER_TAGS"; then
+  ac_cv_prog_MAKE_UPPER_TAGS="$MAKE_UPPER_TAGS" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_MAKE_UPPER_TAGS="yes"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_prog_MAKE_UPPER_TAGS" && ac_cv_prog_MAKE_UPPER_TAGS="no"
+fi
+fi
+MAKE_UPPER_TAGS="$ac_cv_prog_MAKE_UPPER_TAGS"
+if test -n "$MAKE_UPPER_TAGS"; then
+  echo "$ac_t""$MAKE_UPPER_TAGS" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+else
+       MAKE_UPPER_TAGS=no
+fi
+
+if test "$MAKE_UPPER_TAGS" = yes ; then
+       MAKE_UPPER_TAGS=
+else
+       MAKE_UPPER_TAGS="#"
+fi
+
+
+if test "$MAKE_LOWER_TAGS" = yes ; then
+       MAKE_LOWER_TAGS=
+else
+       MAKE_LOWER_TAGS="#"
+fi
+
+
 for ac_prog in tdlint lint alint
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
 for ac_prog in tdlint lint alint
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1771: checking for $ac_word" >&5
+echo "configure:1991: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LINT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_LINT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1801,7 +2021,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1805: checking for $ac_word" >&5
+echo "configure:2025: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MAN'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_MAN'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1837,7 +2057,7 @@ if eval "test \"`echo '$''{'cf_cv_subst_LD'+set}'`\" = set"; then
 else
   
 echo $ac_n "checking for loader (symbol LD)""... $ac_c" 1>&6
 else
   
 echo $ac_n "checking for loader (symbol LD)""... $ac_c" 1>&6
-echo "configure:1841: checking for loader (symbol LD)" >&5
+echo "configure:2061: checking for loader (symbol LD)" >&5
 test -z "$LD" && LD=ld
 echo "$ac_t""$LD" 1>&6
 
 test -z "$LD" && LD=ld
 echo "$ac_t""$LD" 1>&6
 
@@ -1851,7 +2071,7 @@ if eval "test \"`echo '$''{'cf_cv_subst_AR'+set}'`\" = set"; then
 else
   
 echo $ac_n "checking for archiver (symbol AR)""... $ac_c" 1>&6
 else
   
 echo $ac_n "checking for archiver (symbol AR)""... $ac_c" 1>&6
-echo "configure:1855: checking for archiver (symbol AR)" >&5
+echo "configure:2075: checking for archiver (symbol AR)" >&5
 test -z "$AR" && AR=ar
 echo "$ac_t""$AR" 1>&6
 
 test -z "$AR" && AR=ar
 echo "$ac_t""$AR" 1>&6
 
@@ -1865,7 +2085,7 @@ if eval "test \"`echo '$''{'cf_cv_subst_AR_OPTS'+set}'`\" = set"; then
 else
   
 echo $ac_n "checking for archiver options (symbol AR_OPTS)""... $ac_c" 1>&6
 else
   
 echo $ac_n "checking for archiver options (symbol AR_OPTS)""... $ac_c" 1>&6
-echo "configure:1869: checking for archiver options (symbol AR_OPTS)" >&5
+echo "configure:2089: checking for archiver options (symbol AR_OPTS)" >&5
 test -z "$AR_OPTS" && AR_OPTS=rv
 echo "$ac_t""$AR_OPTS" 1>&6
 
 test -z "$AR_OPTS" && AR_OPTS=rv
 echo "$ac_t""$AR_OPTS" 1>&6
 
@@ -1877,7 +2097,7 @@ AR_OPTS=${cf_cv_subst_AR_OPTS}
 
 
 echo $ac_n "checking for makeflags variable""... $ac_c" 1>&6
 
 
 echo $ac_n "checking for makeflags variable""... $ac_c" 1>&6
-echo "configure:1881: checking for makeflags variable" >&5
+echo "configure:2101: checking for makeflags variable" >&5
 if eval "test \"`echo '$''{'cf_cv_makeflags'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'cf_cv_makeflags'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1913,7 +2133,7 @@ echo "$ac_t""$cf_cv_makeflags" 1>&6
 
 
 echo $ac_n "checking if you have specified an install-prefix""... $ac_c" 1>&6
 
 
 echo $ac_n "checking if you have specified an install-prefix""... $ac_c" 1>&6
-echo "configure:1917: checking if you have specified an install-prefix" >&5
+echo "configure:2137: checking if you have specified an install-prefix" >&5
 
 # Check whether --with-install-prefix or --without-install-prefix was given.
 if test "${with_install_prefix+set}" = set; then
 
 # Check whether --with-install-prefix or --without-install-prefix was given.
 if test "${with_install_prefix+set}" = set; then
@@ -1921,365 +2141,115 @@ if test "${with_install_prefix+set}" = set; then
   case "$withval" in #(vi
        yes|no) #(vi
                ;;
   case "$withval" in #(vi
        yes|no) #(vi
                ;;
-       *)      INSTALL_PREFIX="$withval"
+       *)      DESTDIR="$withval"
                ;;
        esac
 fi
 
                ;;
        esac
 fi
 
-echo "$ac_t""$INSTALL_PREFIX" 1>&6
+echo "$ac_t""$DESTDIR" 1>&6
 
 
 ###############################################################################
 
 
 
 
 ###############################################################################
 
 
- echo $ac_n "checking format of man-pages""... $ac_c" 1>&6
-echo "configure:1937: checking format of man-pages" >&5
+### Options to allow the user to specify the set of libraries which are used.
+### Use "--without-normal --with-shared" to allow the default model to be
+### shared, for example.
+cf_list_models=""
 
 
+echo $ac_n "checking if you want to build libraries with libtool""... $ac_c" 1>&6
+echo "configure:2162: checking if you want to build libraries with libtool" >&5
 
 
-# Check whether --with-manpage-format or --without-manpage-format was given.
-if test "${with_manpage_format+set}" = set; then
-  withval="$with_manpage_format"
-  cf_manpage_form=$withval
+# Check whether --with-libtool or --without-libtool was given.
+if test "${with_libtool+set}" = set; then
+  withval="$with_libtool"
+  with_libtool=$withval
 else
 else
-  cf_manpage_form=unknown
+  with_libtool=no
 fi
 
 fi
 
+echo "$ac_t""$with_libtool" 1>&6
+if test "$with_libtool" = "yes"; then
+       cf_list_models="$cf_list_models libtool"
+       test -z "$LIBTOOL" && LIBTOOL=libtool
+else
+       LIBTOOL=""
+fi
 
 
-case ".$cf_manpage_form" in
-.gzip|.compress|.BSDI|.normal|.formatted) # (vi
-  ;;
-.unknown|.) # (vi
-  if test -z "$MANPATH" ; then
-    MANPATH="/usr/man:/usr/share/man"
-  fi
-  # look for the 'date' man-page (it's most likely to be installed!)
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  cf_manpage_form=unknown
-  for cf_dir in $MANPATH; do
-    test -z "$cf_dir" && cf_dir=/usr/man
-    for cf_name in $cf_dir/*/date.[01]* $cf_dir/*/date
-    do
-       cf_test=`echo $cf_name | sed -e 's/*//'`
-       if test "x$cf_test" = "x$cf_name" ; then
-         case "$cf_name" in
-         *.gz) cf_manpage_form=gzip;;
-         *.Z)  cf_manpage_form=compress;;
-         *.0)  cf_manpage_form=BSDI,formatted;;
-         *)    cf_manpage_form=normal;;
-         esac
-         break
-       fi
-    done
-    if test "$cf_manpage_form" != "unknown" ; then
-       break
-    fi
-  done
-  IFS="$ac_save_ifs"
-  ;;
-.*) # (vi
-  echo "configure: warning: Unexpected manpage-format" 1>&2
-  ;;
-esac
 
 
-echo "$ac_t""$cf_manpage_form" 1>&6
+echo $ac_n "checking if you want to build shared libraries""... $ac_c" 1>&6
+echo "configure:2182: checking if you want to build shared libraries" >&5
 
 
+# Check whether --with-shared or --without-shared was given.
+if test "${with_shared+set}" = set; then
+  withval="$with_shared"
+  with_shared=$withval
+else
+  with_shared=no
+fi
 
 
-echo $ac_n "checking for manpage renaming""... $ac_c" 1>&6
-echo "configure:1989: checking for manpage renaming" >&5
+echo "$ac_t""$with_shared" 1>&6
+test "$with_shared" = "yes" && cf_list_models="$cf_list_models shared"
 
 
+echo $ac_n "checking if you want to build static libraries""... $ac_c" 1>&6
+echo "configure:2196: checking if you want to build static libraries" >&5
 
 
-# Check whether --with-manpage-renames or --without-manpage-renames was given.
-if test "${with_manpage_renames+set}" = set; then
-  withval="$with_manpage_renames"
-  cf_manpage_renames=$withval
+# Check whether --with-normal or --without-normal was given.
+if test "${with_normal+set}" = set; then
+  withval="$with_normal"
+  with_normal=$withval
 else
 else
-  cf_manpage_renames=yes
+  with_normal=yes
 fi
 
 fi
 
+echo "$ac_t""$with_normal" 1>&6
+test "$with_normal" = "yes" && cf_list_models="$cf_list_models normal"
 
 
-case ".$cf_manpage_renames" in #(vi
-.no) #(vi
-  ;;
-.|.yes)
-  # Debian 'man' program?
-  if test -f /etc/debian_version ; then
-    cf_manpage_renames=`cd $srcdir && pwd`/man/man_db.renames
-  else
-    cf_manpage_renames=no
-  fi
-  ;;
-esac
-
-if test "$cf_manpage_renames" != no ; then
-  if test ! -f $cf_manpage_renames ; then
-    { echo "configure: error: not a filename: $cf_manpage_renames" 1>&2; exit 1; }
-  fi
-
-  test ! -d man && mkdir man
+echo $ac_n "checking if you want to build debug libraries""... $ac_c" 1>&6
+echo "configure:2210: checking if you want to build debug libraries" >&5
 
 
-  # Construct a sed-script to perform renaming within man-pages
-  if test -n "$cf_manpage_renames" ; then
-    test ! -d man && mkdir man
-    $srcdir/man/make_sed.sh $cf_manpage_renames >man/edit_man.sed
-  fi
+# Check whether --with-debug or --without-debug was given.
+if test "${with_debug+set}" = set; then
+  withval="$with_debug"
+  with_debug=$withval
+else
+  with_debug=yes
 fi
 
 fi
 
-echo "$ac_t""$cf_manpage_renames" 1>&6
-
-
-echo $ac_n "checking for manpage symlinks""... $ac_c" 1>&6
-echo "configure:2032: checking for manpage symlinks" >&5
+echo "$ac_t""$with_debug" 1>&6
+test "$with_debug" = "yes" && cf_list_models="$cf_list_models debug"
 
 
+echo $ac_n "checking if you want to build profiling libraries""... $ac_c" 1>&6
+echo "configure:2224: checking if you want to build profiling libraries" >&5
 
 
-# Check whether --with-manpage-symlinks or --without-manpage-symlinks was given.
-if test "${with_manpage_symlinks+set}" = set; then
-  withval="$with_manpage_symlinks"
-  cf_manpage_symlinks=$withval
+# Check whether --with-profile or --without-profile was given.
+if test "${with_profile+set}" = set; then
+  withval="$with_profile"
+  with_profile=$withval
 else
 else
-  cf_manpage_symlinks=yes
+  with_profile=no
 fi
 
 fi
 
+echo "$ac_t""$with_profile" 1>&6
+test "$with_profile" = "yes" && cf_list_models="$cf_list_models profile"
 
 
-echo "$ac_t""$cf_manpage_symlinks" 1>&6
+###############################################################################
 
 
-
-  if test "$prefix" = "NONE" ; then
-     cf_prefix="$ac_default_prefix"
-  else
-     cf_prefix="$prefix"
-  fi
-
-  case "$cf_manpage_form" in # (vi
-  *formatted*) # (vi
-    cf_subdir='$mandir/cat'
-    cf_format=yes
-    ;;
-  *)
-    cf_subdir='$mandir/man'
-    cf_format=no
-    ;;
-  esac
-
-test ! -d man && mkdir man
-cat >man/edit_man.sh <<CF_EOF
-#! /bin/sh
-# this script is generated by the configure-script
-prefix="$cf_prefix"
-datadir="$datadir"
-MKDIRS="`cd $srcdir && pwd`/mkinstalldirs"
-INSTALL="$INSTALL"
-INSTALL_DATA="$INSTALL_DATA"
-
-TMP=\${TMPDIR-/tmp}/man\$\$
-trap "rm -f \$TMP" 0 1 2 5 15
-
-verb=\$1
-shift
-
-mandir=\$1
-shift
-
-srcdir=\$1
-shift
-
-for i in \$* ; do
-case \$i in #(vi
-*.orig|*.rej) ;; #(vi
-*.[0-9]*)
-       section=\`expr "\$i" : '.*\\.\\([0-9]\\)[xm]*'\`;
-       if test \$verb = installing ; then
-       if test ! -d $cf_subdir\${section} ; then
-               \$MKDIRS $cf_subdir\$section
-       fi
-       fi
-       aliases=
-       source=\`basename \$i\`
-CF_EOF
-if test "$cf_manpage_symlinks" = yes ; then
-cat >>man/edit_man.sh <<CF_EOF
-       aliases=\`sed -f \$srcdir/manlinks.sed \$source | sort -u\`
-CF_EOF
-fi
-if test "$cf_manpage_renames" = no ; then
-cat >>man/edit_man.sh <<CF_EOF
-       target=$cf_subdir\${section}/\$source
-       sed -e "s,@DATADIR@,\$datadir," < \$i >\$TMP
-CF_EOF
-else
-cat >>man/edit_man.sh <<CF_EOF
-       target=\`grep "^\$source" $cf_manpage_renames | $AWK '{print \$2}'\`
-       if test -z "\$target" ; then
-               echo '? missing rename for '\$source
-               target="\$source"
-       fi
-       target="$cf_subdir\$section/\$target"
-       test \$verb = installing && sed -e "s,@DATADIR@,\$datadir," < \$i | sed -f edit_man.sed >\$TMP
-CF_EOF
-fi
-if test $cf_format = yes ; then
-cat >>man/edit_man.sh <<CF_EOF
-       nroff -man \$TMP >\$TMP.out
-       mv \$TMP.out \$TMP
-CF_EOF
-fi
-case "$cf_manpage_form" in #(vi
-*compress*) #(vi
-cat >>man/edit_man.sh <<CF_EOF
-       if test \$verb = installing ; then
-       if ( compress -f \$TMP )
-       then
-               mv \$TMP.Z \$TMP
-       fi
-       fi
-       target="\$target.Z"
-CF_EOF
-  ;;
-*gzip*) #(vi
-cat >>man/edit_man.sh <<CF_EOF
-       if test \$verb = installing ; then
-       if ( gzip -f \$TMP )
-       then
-               mv \$TMP.gz \$TMP
-       fi
-       fi
-       target="\$target.gz"
-CF_EOF
-  ;;
-*BSDI*)
-cat >>man/edit_man.sh <<CF_EOF
-       # BSDI installs only .0 suffixes in the cat directories
-       target="\`echo \$target|sed -e 's/\.[1-9]\+.\?/.0/'\`"
-CF_EOF
-  ;;
-esac
-cat >>man/edit_man.sh <<CF_EOF
-       echo \$verb \$target
-       suffix=\`basename \$target | sed -e 's/^[^.]*//'\`
-       if test \$verb = installing ; then
-               \$INSTALL_DATA \$TMP \$target
-               test -n "\$aliases" && (
-                       cd $cf_subdir\${section} && (
-                               target=\`basename \$target\`
-                               for cf_alias in \$aliases
-                               do
-                                       if test -f \$cf_alias\${suffix} ; then
-                                               if ( cmp -s \$target \$cf_alias\${suffix} )
-                                               then
-                                                       :
-                                               else
-                                                       echo .. \$verb alias \$cf_alias\${suffix}
-                                                       rm -f \$cf_alias\${suffix}
-                                                       $LN_S \$target \$cf_alias\${suffix}
-                                               fi
-                                       else
-                                               echo .. \$verb alias \$cf_alias\${suffix}
-                                               rm -f \$cf_alias\${suffix}
-                                               $LN_S \$target \$cf_alias\${suffix}
-                                       fi
-                               done
-                       )
-               )
-       else
-               rm -f \$target
-               test -n "\$aliases" && (
-                       cd $cf_subdir\${section} && (
-                               for cf_alias in \$aliases
-                               do
-                                       echo .. \$verb alias \$cf_alias\${suffix}
-                                       rm -f \$cf_alias\${suffix}
-                               done
-                       )
-               )
-       fi
-       ;;
-esac
-done
-exit 0
-CF_EOF
-chmod 755 man/edit_man.sh
-
-
-
-###############################################################################
-
-
-### Options to allow the user to specify the set of libraries which are used.
-### Use "--without-normal --with-shared" to allow the default model to be
-### shared, for example.
-cf_list_models=""
-
-echo $ac_n "checking if you want to build shared libraries""... $ac_c" 1>&6
-echo "configure:2213: checking if you want to build shared libraries" >&5
-
-# Check whether --with-shared or --without-shared was given.
-if test "${with_shared+set}" = set; then
-  withval="$with_shared"
-  with_shared=$withval
-else
-  with_shared=no
-fi
-
-echo "$ac_t""$with_shared" 1>&6
-test "$with_shared" = "yes" && cf_list_models="$cf_list_models shared"
-
-echo $ac_n "checking if you want to build static libraries""... $ac_c" 1>&6
-echo "configure:2227: checking if you want to build static libraries" >&5
-
-# Check whether --with-normal or --without-normal was given.
-if test "${with_normal+set}" = set; then
-  withval="$with_normal"
-  with_normal=$withval
-else
-  with_normal=yes
-fi
-
-echo "$ac_t""$with_normal" 1>&6
-test "$with_normal" = "yes" && cf_list_models="$cf_list_models normal"
-
-echo $ac_n "checking if you want to build debug libraries""... $ac_c" 1>&6
-echo "configure:2241: checking if you want to build debug libraries" >&5
-
-# Check whether --with-debug or --without-debug was given.
-if test "${with_debug+set}" = set; then
-  withval="$with_debug"
-  with_debug=$withval
-else
-  with_debug=yes
-fi
-
-echo "$ac_t""$with_debug" 1>&6
-test "$with_debug" = "yes" && cf_list_models="$cf_list_models debug"
-
-echo $ac_n "checking if you want to build profiling libraries""... $ac_c" 1>&6
-echo "configure:2255: checking if you want to build profiling libraries" >&5
-
-# Check whether --with-profile or --without-profile was given.
-if test "${with_profile+set}" = set; then
-  withval="$with_profile"
-  with_profile=$withval
-else
-  with_profile=no
-fi
-
-echo "$ac_t""$with_profile" 1>&6
-test "$with_profile" = "yes" && cf_list_models="$cf_list_models profile"
-
-###############################################################################
-
-echo $ac_n "checking for specified models""... $ac_c" 1>&6
-echo "configure:2271: checking for specified models" >&5
-test -z "$cf_list_models" && cf_list_models=normal
-echo "$ac_t""$cf_list_models" 1>&6
+echo $ac_n "checking for specified models""... $ac_c" 1>&6
+echo "configure:2240: checking for specified models" >&5
+test -z "$cf_list_models" && cf_list_models=normal
+test "$with_libtool" = "yes" && cf_list_models=libtool
+echo "$ac_t""$cf_list_models" 1>&6
 
 ### Use the first model as the default, and save its suffix for use in building
 ### up test-applications.
 echo $ac_n "checking for default model""... $ac_c" 1>&6
 
 ### Use the first model as the default, and save its suffix for use in building
 ### up test-applications.
 echo $ac_n "checking for default model""... $ac_c" 1>&6
-echo "configure:2278: checking for default model" >&5
+echo "configure:2248: checking for default model" >&5
 DFT_LWR_MODEL=`echo $cf_list_models | $AWK '{print $1}'`
 echo "$ac_t""$DFT_LWR_MODEL" 1>&6
 
 
 DFT_LWR_MODEL=`echo $cf_list_models | $AWK '{print $1}'`
 echo "$ac_t""$DFT_LWR_MODEL" 1>&6
 
 
-DFT_UPR_MODEL=`echo $DFT_LWR_MODEL | tr '[a-z]' '[A-Z]'`
+DFT_UPR_MODEL=`echo "$DFT_LWR_MODEL" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
 
 TINFO_NAME=tinfo
 
 
 TINFO_NAME=tinfo
@@ -2306,7 +2276,7 @@ LIB_SUFFIX=
 ###############################################################################
 
 echo $ac_n "checking if you want to build a separate terminfo library""... $ac_c" 1>&6
 ###############################################################################
 
 echo $ac_n "checking if you want to build a separate terminfo library""... $ac_c" 1>&6
-echo "configure:2310: checking if you want to build a separate terminfo library" >&5
+echo "configure:2280: checking if you want to build a separate terminfo library" >&5
 
 # Check whether --with-termlib or --without-termlib was given.
 if test "${with_termlib+set}" = set; then
 
 # Check whether --with-termlib or --without-termlib was given.
 if test "${with_termlib+set}" = set; then
@@ -2320,7 +2290,7 @@ echo "$ac_t""$with_termlib" 1>&6
 
 ### Checks for special libraries, must be done up-front.
 echo $ac_n "checking if you want to link with dbmalloc for testing""... $ac_c" 1>&6
 
 ### Checks for special libraries, must be done up-front.
 echo $ac_n "checking if you want to link with dbmalloc for testing""... $ac_c" 1>&6
-echo "configure:2324: checking if you want to link with dbmalloc for testing" >&5
+echo "configure:2294: checking if you want to link with dbmalloc for testing" >&5
 
 # Check whether --with-dbmalloc or --without-dbmalloc was given.
 if test "${with_dbmalloc+set}" = set; then
 
 # Check whether --with-dbmalloc or --without-dbmalloc was given.
 if test "${with_dbmalloc+set}" = set; then
@@ -2331,9 +2301,9 @@ else
 fi
 
 echo "$ac_t""$with_dbmalloc" 1>&6
 fi
 
 echo "$ac_t""$with_dbmalloc" 1>&6
-if test $with_dbmalloc = yes ; then
+if test "$with_dbmalloc" = yes ; then
        echo $ac_n "checking for debug_malloc in -ldbmalloc""... $ac_c" 1>&6
        echo $ac_n "checking for debug_malloc in -ldbmalloc""... $ac_c" 1>&6
-echo "configure:2337: checking for debug_malloc in -ldbmalloc" >&5
+echo "configure:2307: checking for debug_malloc in -ldbmalloc" >&5
 ac_lib_var=`echo dbmalloc'_'debug_malloc | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo dbmalloc'_'debug_malloc | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2341,7 +2311,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldbmalloc  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-ldbmalloc  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2345 "configure"
+#line 2315 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2352,7 +2322,7 @@ int main() {
 debug_malloc()
 ; return 0; }
 EOF
 debug_malloc()
 ; return 0; }
 EOF
-if { (eval echo configure:2356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2326: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2382,7 +2352,7 @@ fi
 fi
 
 echo $ac_n "checking if you want to link with dmalloc for testing""... $ac_c" 1>&6
 fi
 
 echo $ac_n "checking if you want to link with dmalloc for testing""... $ac_c" 1>&6
-echo "configure:2386: checking if you want to link with dmalloc for testing" >&5
+echo "configure:2356: checking if you want to link with dmalloc for testing" >&5
 
 # Check whether --with-dmalloc or --without-dmalloc was given.
 if test "${with_dmalloc+set}" = set; then
 
 # Check whether --with-dmalloc or --without-dmalloc was given.
 if test "${with_dmalloc+set}" = set; then
@@ -2393,9 +2363,9 @@ else
 fi
 
 echo "$ac_t""$with_dmalloc" 1>&6
 fi
 
 echo "$ac_t""$with_dmalloc" 1>&6
-if test $with_dmalloc = yes ; then
+if test "$with_dmalloc" = yes ; then
        echo $ac_n "checking for dmalloc_debug in -ldmalloc""... $ac_c" 1>&6
        echo $ac_n "checking for dmalloc_debug in -ldmalloc""... $ac_c" 1>&6
-echo "configure:2399: checking for dmalloc_debug in -ldmalloc" >&5
+echo "configure:2369: checking for dmalloc_debug in -ldmalloc" >&5
 ac_lib_var=`echo dmalloc'_'dmalloc_debug | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo dmalloc'_'dmalloc_debug | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2403,7 +2373,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldmalloc  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-ldmalloc  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2407 "configure"
+#line 2377 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2414,7 +2384,7 @@ int main() {
 dmalloc_debug()
 ; return 0; }
 EOF
 dmalloc_debug()
 ; return 0; }
 EOF
-if { (eval echo configure:2418: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2388: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2445,7 +2415,7 @@ fi
 
 SHLIB_LIST=""
 echo $ac_n "checking if you want to link with the gpm mouse library""... $ac_c" 1>&6
 
 SHLIB_LIST=""
 echo $ac_n "checking if you want to link with the gpm mouse library""... $ac_c" 1>&6
-echo "configure:2449: checking if you want to link with the gpm mouse library" >&5
+echo "configure:2419: checking if you want to link with the gpm mouse library" >&5
 
 # Check whether --with-gpm or --without-gpm was given.
 if test "${with_gpm+set}" = set; then
 
 # Check whether --with-gpm or --without-gpm was given.
 if test "${with_gpm+set}" = set; then
@@ -2456,9 +2426,9 @@ else
 fi
 
 echo "$ac_t""$with_gpm" 1>&6
 fi
 
 echo "$ac_t""$with_gpm" 1>&6
-if test $with_gpm = yes ; then
+if test "$with_gpm" = yes ; then
        echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
        echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
-echo "configure:2462: checking for Gpm_Open in -lgpm" >&5
+echo "configure:2432: checking for Gpm_Open in -lgpm" >&5
 ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2466,7 +2436,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgpm  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lgpm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2470 "configure"
+#line 2440 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2477,7 +2447,7 @@ int main() {
 Gpm_Open()
 ; return 0; }
 EOF
 Gpm_Open()
 ; return 0; }
 EOF
-if { (eval echo configure:2481: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2451: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2503,17 +2473,17 @@ EOF
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2507: checking for $ac_hdr" >&5
+echo "configure:2477: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2512 "configure"
+#line 2482 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2517: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2487: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2561,8 +2531,9 @@ fi
 
 
 echo $ac_n "checking for default loader flags""... $ac_c" 1>&6
 
 
 echo $ac_n "checking for default loader flags""... $ac_c" 1>&6
-echo "configure:2565: checking for default loader flags" >&5
+echo "configure:2535: checking for default loader flags" >&5
 case $DFT_LWR_MODEL in
 case $DFT_LWR_MODEL in
+libtool) LD_MODEL=''   ;;
 normal)  LD_MODEL=''   ;;
 debug)   LD_MODEL=$CC_G_OPT ;;
 profile) LD_MODEL='-pg';;
 normal)  LD_MODEL=''   ;;
 debug)   LD_MODEL=$CC_G_OPT ;;
 profile) LD_MODEL='-pg';;
@@ -2571,7 +2542,7 @@ esac
 echo "$ac_t""$LD_MODEL" 1>&6
 
 echo $ac_n "checking if rpath option should be used""... $ac_c" 1>&6
 echo "$ac_t""$LD_MODEL" 1>&6
 
 echo $ac_n "checking if rpath option should be used""... $ac_c" 1>&6
-echo "configure:2575: checking if rpath option should be used" >&5
+echo "configure:2546: checking if rpath option should be used" >&5
 
 # Check whether --enable-rpath or --disable-rpath was given.
 if test "${enable_rpath+set}" = set; then
 
 # Check whether --enable-rpath or --disable-rpath was given.
 if test "${enable_rpath+set}" = set; then
@@ -2593,7 +2564,7 @@ echo "$ac_t""$cf_cv_ld_rpath" 1>&6
        cf_cv_do_symlinks=no
 
        echo $ac_n "checking if release/abi version should be used for shared libs""... $ac_c" 1>&6
        cf_cv_do_symlinks=no
 
        echo $ac_n "checking if release/abi version should be used for shared libs""... $ac_c" 1>&6
-echo "configure:2597: checking if release/abi version should be used for shared libs" >&5
+echo "configure:2568: checking if release/abi version should be used for shared libs" >&5
        
 # Check whether --with-shlib-version or --without-shlib-version was given.
 if test "${with_shlib_version+set}" = set; then
        
 # Check whether --with-shlib-version or --without-shlib-version was given.
 if test "${with_shlib_version+set}" = set; then
@@ -2621,23 +2592,23 @@ fi
 
        # Some less-capable ports of gcc support only -fpic
        CC_SHARED_OPTS=
 
        # Some less-capable ports of gcc support only -fpic
        CC_SHARED_OPTS=
-       if test -n "$GCC"
+       if test "$GCC" = yes
        then
                echo $ac_n "checking which $CC option to use""... $ac_c" 1>&6
        then
                echo $ac_n "checking which $CC option to use""... $ac_c" 1>&6
-echo "configure:2628: checking which $CC option to use" >&5
+echo "configure:2599: checking which $CC option to use" >&5
                cf_save_CFLAGS="$CFLAGS"
                for CC_SHARED_OPTS in -fPIC -fpic ''
                do
                        CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
                        cat > conftest.$ac_ext <<EOF
                cf_save_CFLAGS="$CFLAGS"
                for CC_SHARED_OPTS in -fPIC -fpic ''
                do
                        CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
                        cat > conftest.$ac_ext <<EOF
-#line 2634 "configure"
+#line 2605 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 int x = 1
 ; return 0; }
 EOF
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 int x = 1
 ; return 0; }
 EOF
-if { (eval echo configure:2641: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2612: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   break
 else
   rm -rf conftest*
   break
 else
@@ -2654,23 +2625,9 @@ rm -f conftest*
        beos*)
                MK_SHARED_LIB='$(CC) -o $@ -Xlinker -soname=`basename $@` -nostart -e 0'
                ;;
        beos*)
                MK_SHARED_LIB='$(CC) -o $@ -Xlinker -soname=`basename $@` -nostart -e 0'
                ;;
-       hpux10.*)
-               # (tested with gcc 2.7.2 -- I don't have c89)
-               if test -n "$GCC"; then
-                       LD_SHARED_OPTS='-Xlinker +b -Xlinker $(libdir)'
-               else
-                       CC_SHARED_OPTS='+Z'
-                       LD_SHARED_OPTS='-Wl,+b,$(libdir)'
-               fi
-               MK_SHARED_LIB='$(LD) +b $(libdir) -b +h `basename $@` -o $@'
-               # HP-UX shared libraries must be executable, and should be
-               # readonly to exploit a quirk in the memory manager.
-               INSTALL_LIB="-m 555"
-               cf_cv_do_symlinks=reverse
-               ;;
        hpux*)
                # (tested with gcc 2.7.2 -- I don't have c89)
        hpux*)
                # (tested with gcc 2.7.2 -- I don't have c89)
-               if test -n "$GCC"; then
+               if test "$GCC" = yes; then
                        LD_SHARED_OPTS='-Xlinker +b -Xlinker $(libdir)'
                else
                        CC_SHARED_OPTS='+Z'
                        LD_SHARED_OPTS='-Xlinker +b -Xlinker $(libdir)'
                else
                        CC_SHARED_OPTS='+Z'
@@ -2682,21 +2639,27 @@ rm -f conftest*
                INSTALL_LIB="-m 555"
                ;;
        irix*)
                INSTALL_LIB="-m 555"
                ;;
        irix*)
+               if test "$cf_cv_ld_rpath" = yes ; then
+                       cf_ld_rpath_opt="-Wl,-rpath,"
+                       EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS"
+               fi
                # tested with IRIX 5.2 and 'cc'.
                # tested with IRIX 5.2 and 'cc'.
-               if test -z "$GCC"; then
+               if test "$GCC" != yes; then
                        CC_SHARED_OPTS='-KPIC'
                fi
                MK_SHARED_LIB='$(LD) -shared -rdata_shared -soname `basename $@` -o $@'
                cf_cv_rm_so_locs=yes
                ;;
        linux*|gnu*)
                        CC_SHARED_OPTS='-KPIC'
                fi
                MK_SHARED_LIB='$(LD) -shared -rdata_shared -soname `basename $@` -o $@'
                cf_cv_rm_so_locs=yes
                ;;
        linux*|gnu*)
-               # tested with Linux 2.0.29 and gcc 2.7.2 (ELF)
-               test $cf_cv_ld_rpath = yes && cf_ld_rpath_opt="-Wl,-rpath,"
-               if test $DFT_LWR_MODEL = "shared" ; then
-                       LOCAL_LDFLAGS='-Wl,-rpath,../lib'
-                       LOCAL_LDFLAGS2='-Wl,-rpath,../../lib'
+               if test "$DFT_LWR_MODEL" = "shared" ; then
+                       LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
+                       LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+               fi
+               if test "$cf_cv_ld_rpath" = yes ; then
+                       cf_ld_rpath_opt="-Wl,-rpath,"
+                       EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
                fi
                fi
-               test $cf_cv_shlib_version = auto && cf_cv_shlib_version=rel
+               test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
                MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $@ .$(REL_VERSION)`.$(ABI_VERSION),-stats,-lc -o $@'
                ;;
        openbsd2*)
                MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $@ .$(REL_VERSION)`.$(ABI_VERSION),-stats,-lc -o $@'
                ;;
        openbsd2*)
@@ -2706,17 +2669,17 @@ rm -f conftest*
        openbsd*|freebsd*)
                CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
                MK_SHARED_LIB='$(LD) -Bshareable -o $@'
        openbsd*|freebsd*)
                CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
                MK_SHARED_LIB='$(LD) -Bshareable -o $@'
-               test $cf_cv_shlib_version = auto && cf_cv_shlib_version=rel
+               test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
                ;;
        netbsd*)
                CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
                ;;
        netbsd*)
                CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
-               test $cf_cv_ld_rpath = yes && cf_ld_rpath_opt="-Wl,-rpath,"
-               if test $DFT_LWR_MODEL = "shared" && test $cf_cv_ld_rpath = yes ; then
-                       LOCAL_LDFLAGS='-Wl,-rpath,../lib'
-                       LOCAL_LDFLAGS2='-Wl,-rpath,../../lib'
+               test "$cf_cv_ld_rpath" = yes && cf_ld_rpath_opt="-Wl,-rpath,"
+               if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then
+                       LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
+                       LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
                        EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS"
                        MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $@ .$(REL_VERSION)`.$(ABI_VERSION) -o $@'
                        EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS"
                        MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $@ .$(REL_VERSION)`.$(ABI_VERSION) -o $@'
-                       if test $cf_cv_shlib_version = auto; then
+                       if test "$cf_cv_shlib_version" = auto; then
                        if test ! -f /usr/libexec/ld.elf_so; then
                                cf_cv_shlib_version=rel
                        fi
                        if test ! -f /usr/libexec/ld.elf_so; then
                                cf_cv_shlib_version=rel
                        fi
@@ -2730,56 +2693,63 @@ rm -f conftest*
                # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't
                # link with shared libs).
                MK_SHARED_LIB='$(LD) -set_version $(REL_VERSION):$(ABI_VERSION) -expect_unresolved "*" -shared -soname `basename $@`'
                # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't
                # link with shared libs).
                MK_SHARED_LIB='$(LD) -set_version $(REL_VERSION):$(ABI_VERSION) -expect_unresolved "*" -shared -soname `basename $@`'
-               test $cf_cv_ld_rpath = yes && cf_ld_rpath_opt="-rpath"
                case $host_os in
                osf4*)
                        MK_SHARED_LIB="${MK_SHARED_LIB} -msym"
                        ;;
                esac
                MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $@'
                case $host_os in
                osf4*)
                        MK_SHARED_LIB="${MK_SHARED_LIB} -msym"
                        ;;
                esac
                MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $@'
-               if test $DFT_LWR_MODEL = "shared" ; then
-                       LOCAL_LDFLAGS='-Wl,-rpath,../lib'
-                       LOCAL_LDFLAGS2='-Wl,-rpath,../../lib'
+               if test "$DFT_LWR_MODEL" = "shared" ; then
+                       LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
+                       LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+               fi
+               if test "$cf_cv_ld_rpath" = yes ; then
+                       cf_ld_rpath_opt="-rpath"
+                       # EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
                fi
                cf_cv_rm_so_locs=yes
                ;;
        sco3.2v5*)  # (also uw2* and UW7) hops 13-Apr-98
                # tested with osr5.0.5
                fi
                cf_cv_rm_so_locs=yes
                ;;
        sco3.2v5*)  # (also uw2* and UW7) hops 13-Apr-98
                # tested with osr5.0.5
-               if test $ac_cv_prog_gcc != yes; then
+               if test "$ac_cv_prog_gcc" != yes; then
                        CC_SHARED_OPTS='-belf -KPIC'
                fi
                MK_SHARED_LIB='$(LD) -dy -G -h `basename $@ .$(REL_VERSION)`.$(ABI_VERSION) -o $@'
                        CC_SHARED_OPTS='-belf -KPIC'
                fi
                MK_SHARED_LIB='$(LD) -dy -G -h `basename $@ .$(REL_VERSION)`.$(ABI_VERSION) -o $@'
-               if test $cf_cv_ld_rpath = yes ; then
+               if test "$cf_cv_ld_rpath" = yes ; then
                        # only way is to set LD_RUN_PATH but no switch for it
                        RUN_PATH=$libdir
                fi
                        # only way is to set LD_RUN_PATH but no switch for it
                        RUN_PATH=$libdir
                fi
-               test $cf_cv_shlib_version = auto && cf_cv_shlib_version=rel
+               test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
                LINK_PROGS='LD_RUN_PATH=$(libdir)'
                LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib'
                ;;
        sunos4*)
                # tested with SunOS 4.1.1 and gcc 2.7.0
                LINK_PROGS='LD_RUN_PATH=$(libdir)'
                LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib'
                ;;
        sunos4*)
                # tested with SunOS 4.1.1 and gcc 2.7.0
-               if test $ac_cv_prog_gcc != yes; then
+               if test "$ac_cv_prog_gcc" != yes; then
                        CC_SHARED_OPTS='-KPIC'
                fi
                MK_SHARED_LIB='$(LD) -assert pure-text -o $@'
                        CC_SHARED_OPTS='-KPIC'
                fi
                MK_SHARED_LIB='$(LD) -assert pure-text -o $@'
-               test $cf_cv_shlib_version = auto && cf_cv_shlib_version=rel
+               test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
                ;;
        solaris2*)
                # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
                ;;
        solaris2*)
                # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
-               if test $ac_cv_prog_gcc != yes; then
+               if test "$ac_cv_prog_gcc" != yes; then
                        CC_SHARED_OPTS='-KPIC'
                fi
                MK_SHARED_LIB='$(LD) -dy -G -h `basename $@ .$(REL_VERSION)`.$(ABI_VERSION) -o $@'
                        CC_SHARED_OPTS='-KPIC'
                fi
                MK_SHARED_LIB='$(LD) -dy -G -h `basename $@ .$(REL_VERSION)`.$(ABI_VERSION) -o $@'
-               if test $cf_cv_ld_rpath = yes ; then
+               if test "$DFT_LWR_MODEL" = "shared" ; then
+                       LOCAL_LDFLAGS="-R `pwd`/lib:\$(libdir)"
+                       LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+               fi
+               if test "$cf_cv_ld_rpath" = yes ; then
                        cf_ld_rpath_opt="-R"
                        cf_ld_rpath_opt="-R"
-                       EXTRA_LDFLAGS="-R ../lib:\$(libdir) $EXTRA_LDFLAGS"
+                       EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
                fi
                fi
-               test $cf_cv_shlib_version = auto && cf_cv_shlib_version=rel
+               test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
                ;;
        sysv5uw7*|unix_sv*)
                # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
                ;;
        sysv5uw7*|unix_sv*)
                # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
-               if test $ac_cv_prog_gcc != yes; then
+               if test "$ac_cv_prog_gcc" != yes; then
                        CC_SHARED_OPTS='-KPIC'
                fi
                MK_SHARED_LIB='$(LD) -d y -G -o $@'
                        CC_SHARED_OPTS='-KPIC'
                fi
                MK_SHARED_LIB='$(LD) -d y -G -o $@'
@@ -2806,18 +2776,18 @@ rm -f conftest*
 
        if test -n "$cf_ld_rpath_opt" ; then
                echo $ac_n "checking if we need a space after rpath option""... $ac_c" 1>&6
 
        if test -n "$cf_ld_rpath_opt" ; then
                echo $ac_n "checking if we need a space after rpath option""... $ac_c" 1>&6
-echo "configure:2810: checking if we need a space after rpath option" >&5
+echo "configure:2780: checking if we need a space after rpath option" >&5
                cf_save_LIBS="$LIBS"
                cf_save_LIBS="$LIBS"
-               LIBS="$LIBS ${cf_ld_rpath_opt}/usr/lib"
+               LIBS="$LIBS ${cf_ld_rpath_opt}$libdir"
                cat > conftest.$ac_ext <<EOF
                cat > conftest.$ac_ext <<EOF
-#line 2814 "configure"
+#line 2784 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:2821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2791: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_rpath_space=no
 else
   rm -rf conftest*
   cf_rpath_space=no
 else
@@ -2829,7 +2799,7 @@ fi
 rm -f conftest*
                LIBS="$cf_save_LIBS"
                echo "$ac_t""$cf_rpath_space" 1>&6
 rm -f conftest*
                LIBS="$cf_save_LIBS"
                echo "$ac_t""$cf_rpath_space" 1>&6
-               test $cf_rpath_space = yes && cf_ld_rpath_opt="$cf_ld_rpath_opt "
+               test "$cf_rpath_space" = yes && cf_ld_rpath_opt="$cf_ld_rpath_opt "
                MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\$(libdir)"
        fi
 
                MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\$(libdir)"
        fi
 
@@ -2856,7 +2826,7 @@ fi
 
 ###    use option --disable-overwrite to leave out the link to -lcurses
 echo $ac_n "checking if you wish to install ncurses overwriting curses""... $ac_c" 1>&6
 
 ###    use option --disable-overwrite to leave out the link to -lcurses
 echo $ac_n "checking if you wish to install ncurses overwriting curses""... $ac_c" 1>&6
-echo "configure:2860: checking if you wish to install ncurses overwriting curses" >&5
+echo "configure:2830: checking if you wish to install ncurses overwriting curses" >&5
 
 # Check whether --enable-overwrite or --disable-overwrite was given.
 if test "${enable_overwrite+set}" = set; then
 
 # Check whether --enable-overwrite or --disable-overwrite was given.
 if test "${enable_overwrite+set}" = set; then
@@ -2869,24 +2839,47 @@ fi
 echo "$ac_t""$with_overwrite" 1>&6
 
 echo $ac_n "checking if external terminfo-database is used""... $ac_c" 1>&6
 echo "$ac_t""$with_overwrite" 1>&6
 
 echo $ac_n "checking if external terminfo-database is used""... $ac_c" 1>&6
-echo "configure:2873: checking if external terminfo-database is used" >&5
+echo "configure:2843: checking if external terminfo-database is used" >&5
 
 # Check whether --enable-database or --disable-database was given.
 if test "${enable_database+set}" = set; then
   enableval="$enable_database"
 
 # Check whether --enable-database or --disable-database was given.
 if test "${enable_database+set}" = set; then
   enableval="$enable_database"
-  with_database=$enableval
+  use_database=$enableval
 else
 else
-  with_database=yes
+  use_database=yes
 fi
 
 fi
 
-echo "$ac_t""$with_database" 1>&6
-test $with_database != no && cat >> confdefs.h <<\EOF
+echo "$ac_t""$use_database" 1>&6
+
+case $host_os in #(vi
+os2*) #(vi
+       TERMINFO_SRC='${top_srcdir}/misc/emx.src'
+       ;;
+*) #(vi
+       TERMINFO_SRC='${top_srcdir}/misc/terminfo.src'
+       ;;
+esac
+
+
+if test "$use_database" != no ; then
+       cat >> confdefs.h <<\EOF
 #define USE_DATABASE 1
 EOF
 
 #define USE_DATABASE 1
 EOF
 
+       echo $ac_n "checking which terminfo source-file will be installed""... $ac_c" 1>&6
+echo "configure:2871: checking which terminfo source-file will be installed" >&5
+       
+# Check whether --enable-database or --disable-database was given.
+if test "${enable_database+set}" = set; then
+  enableval="$enable_database"
+  TERMINFO_SRC=$withval
+fi
+
+       echo "$ac_t""$TERMINFO_SRC" 1>&6
+fi
 
 echo $ac_n "checking for list of fallback descriptions""... $ac_c" 1>&6
 
 echo $ac_n "checking for list of fallback descriptions""... $ac_c" 1>&6
-echo "configure:2890: checking for list of fallback descriptions" >&5
+echo "configure:2883: checking for list of fallback descriptions" >&5
 
 # Check whether --with-fallbacks or --without-fallbacks was given.
 if test "${with_fallbacks+set}" = set; then
 
 # Check whether --with-fallbacks or --without-fallbacks was given.
 if test "${with_fallbacks+set}" = set; then
@@ -2900,6 +2893,13 @@ echo "$ac_t""$with_fallback" 1>&6
 FALLBACK_LIST=`echo $with_fallback|sed -e 's/,/ /g'`
 
 
 FALLBACK_LIST=`echo $with_fallback|sed -e 's/,/ /g'`
 
 
+if test "$use_database" = no ; then
+       if test -z $with_fallback ; then
+               { echo "configure: error: You have disabled the database w/o specifying fallbacks" 1>&2; exit 1; }
+       fi
+       TERMINFO="${datadir}/terminfo"
+else
+
 echo $ac_n "checking for list of terminfo directories""... $ac_c" 1>&6
 echo "configure:2905: checking for list of terminfo directories" >&5
 
 echo $ac_n "checking for list of terminfo directories""... $ac_c" 1>&6
 echo "configure:2905: checking for list of terminfo directories" >&5
 
@@ -2951,16 +2951,54 @@ test -n "$TERMINFO_DIRS" && cat >> confdefs.h <<EOF
 EOF
 
 
 EOF
 
 
-if test $with_database = no ; then
-       if test -z $with_fallback ; then
-               { echo "configure: error: You have disabled the database w/o specifying fallbacks" 1>&2; exit 1; }
-       fi
+echo $ac_n "checking for default terminfo directory""... $ac_c" 1>&6
+echo "configure:2956: checking for default terminfo directory" >&5
+
+# Check whether --with-default-terminfo-dir or --without-default-terminfo-dir was given.
+if test "${with_default_terminfo_dir+set}" = set; then
+  withval="$with_default_terminfo_dir"
+  :
+else
+  withval="${TERMINFO-${datadir}/terminfo}"
+fi
+
+case ".$withval" in #(vi
+./*) #(vi
+  ;;
+.a-zA-Z:\\/*) #(vi OS/2 EMX
+  ;;
+.\${*prefix}*) #(vi
+  eval withval="$withval"
+  case ".$withval" in #(vi
+  .NONE/*)
+    withval=`echo $withval | sed -e s@NONE@$ac_default_prefix@`
+    ;;
+  esac
+  ;; #(vi
+.NONE/*)
+  withval=`echo $withval | sed -e s@NONE@$ac_default_prefix@`
+  ;;
+*)
+  { echo "configure: error: expected a pathname" 1>&2; exit 1; }
+  ;;
+esac
+
+eval TERMINFO="$withval"
+
+echo "$ac_t""$TERMINFO" 1>&6
+cat >> confdefs.h <<EOF
+#define TERMINFO "$TERMINFO"
+EOF
+
+
 fi
 
 fi
 
+
+
 ###    use option --disable-big-core to make tic run on small machines
 ###    We need 4Mb, check if we can allocate 50% more than that.
 echo $ac_n "checking if big-core option selected""... $ac_c" 1>&6
 ###    use option --disable-big-core to make tic run on small machines
 ###    We need 4Mb, check if we can allocate 50% more than that.
 echo $ac_n "checking if big-core option selected""... $ac_c" 1>&6
-echo "configure:2964: checking if big-core option selected" >&5
+echo "configure:3002: checking if big-core option selected" >&5
 
 # Check whether --enable-big-core or --disable-big-core was given.
 if test "${enable_big_core+set}" = set; then
 
 # Check whether --enable-big-core or --disable-big-core was given.
 if test "${enable_big_core+set}" = set; then
@@ -2971,14 +3009,20 @@ else
   with_big_core=no
 else
   cat > conftest.$ac_ext <<EOF
   with_big_core=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 2975 "configure"
+#line 3013 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
 #include <string.h>
 #include "confdefs.h"
 
 #include <stdlib.h>
 #include <string.h>
-int main() { exit(malloc(6000000L) == 0); }
+int main() {
+       unsigned long n = 6000000L;
+       char *s = malloc(n);
+       if (s != 0)
+               s[0] = s[n-1] = 0;
+       exit(s == 0);
+}
 EOF
 EOF
-if { (eval echo configure:2982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3026: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   with_big_core=yes
 else
 then
   with_big_core=yes
 else
@@ -3000,7 +3044,7 @@ EOF
 
 ###    use option --enable-termcap to compile in the termcap fallback support
 echo $ac_n "checking if you want termcap-fallback support""... $ac_c" 1>&6
 
 ###    use option --enable-termcap to compile in the termcap fallback support
 echo $ac_n "checking if you want termcap-fallback support""... $ac_c" 1>&6
-echo "configure:3004: checking if you want termcap-fallback support" >&5
+echo "configure:3048: checking if you want termcap-fallback support" >&5
 
 # Check whether --enable-termcap or --disable-termcap was given.
 if test "${enable_termcap+set}" = set; then
 
 # Check whether --enable-termcap or --disable-termcap was given.
 if test "${enable_termcap+set}" = set; then
@@ -3021,7 +3065,7 @@ else
 
 ###    use option --enable-getcap to use a hacked getcap for reading termcaps
 echo $ac_n "checking if fast termcap-loader is needed""... $ac_c" 1>&6
 
 ###    use option --enable-getcap to use a hacked getcap for reading termcaps
 echo $ac_n "checking if fast termcap-loader is needed""... $ac_c" 1>&6
-echo "configure:3025: checking if fast termcap-loader is needed" >&5
+echo "configure:3069: checking if fast termcap-loader is needed" >&5
 
 # Check whether --enable-getcap or --disable-getcap was given.
 if test "${enable_getcap+set}" = set; then
 
 # Check whether --enable-getcap or --disable-getcap was given.
 if test "${enable_getcap+set}" = set; then
@@ -3038,7 +3082,7 @@ EOF
 
 
 echo $ac_n "checking if translated termcaps will be cached in ~/.terminfo""... $ac_c" 1>&6
 
 
 echo $ac_n "checking if translated termcaps will be cached in ~/.terminfo""... $ac_c" 1>&6
-echo "configure:3042: checking if translated termcaps will be cached in ~/.terminfo" >&5
+echo "configure:3086: checking if translated termcaps will be cached in ~/.terminfo" >&5
 
 # Check whether --enable-getcap-cache or --disable-getcap-cache was given.
 if test "${enable_getcap_cache+set}" = set; then
 
 # Check whether --enable-getcap-cache or --disable-getcap-cache was given.
 if test "${enable_getcap_cache+set}" = set; then
@@ -3064,12 +3108,12 @@ for ac_func in \
        unlink 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
        unlink 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3068: checking for $ac_func" >&5
+echo "configure:3112: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3073 "configure"
+#line 3117 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3092,7 +3136,7 @@ $ac_func();
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:3096: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3140: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3123,12 +3167,12 @@ if test "$ac_cv_prog_cc_cross" = yes ; then
                symlink 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
                symlink 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3127: checking for $ac_func" >&5
+echo "configure:3171: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3132 "configure"
+#line 3176 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3151,7 +3195,7 @@ $ac_func();
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:3155: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3199: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3177,7 +3221,7 @@ done
 
 else
        echo $ac_n "checking if link/symlink functions work""... $ac_c" 1>&6
 
 else
        echo $ac_n "checking if link/symlink functions work""... $ac_c" 1>&6
-echo "configure:3181: checking if link/symlink functions work" >&5
+echo "configure:3225: checking if link/symlink functions work" >&5
 if eval "test \"`echo '$''{'cf_cv_link_funcs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'cf_cv_link_funcs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3189,7 +3233,7 @@ else
                        eval 'ac_cv_func_'$cf_func'=error'
 else
   cat > conftest.$ac_ext <<EOF
                        eval 'ac_cv_func_'$cf_func'=error'
 else
   cat > conftest.$ac_ext <<EOF
-#line 3193 "configure"
+#line 3237 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -3218,18 +3262,11 @@ int main()
 }
                        
 EOF
 }
                        
 EOF
-if { (eval echo configure:3222: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3266: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
                        cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
                        eval 'ac_cv_func_'$cf_func'=yes'
 then
   
                        cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
                        eval 'ac_cv_func_'$cf_func'=yes'
-                       
-cf_FUNC=`echo $cf_func | tr '[a-z]' '[A-Z]'`
-
-                       cat >> confdefs.h <<EOF
-#define HAVE_$cf_FUNC 1
-EOF
-
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
@@ -3246,6 +3283,14 @@ fi
 fi
 
 echo "$ac_t""$cf_cv_link_funcs" 1>&6
 fi
 
 echo "$ac_t""$cf_cv_link_funcs" 1>&6
+       test "$ac_cv_func_link"    = yes && cat >> confdefs.h <<\EOF
+#define HAVE_LINK 1
+EOF
+
+       test "$ac_cv_func_symlink" = yes && cat >> confdefs.h <<\EOF
+#define HAVE_SYMLINK 1
+EOF
+
 fi
 
 
 fi
 
 
@@ -3254,7 +3299,7 @@ with_symlinks=no
 
 if test "$ac_cv_func_link" != yes ; then
     echo $ac_n "checking if tic should use symbolic links""... $ac_c" 1>&6
 
 if test "$ac_cv_func_link" != yes ; then
     echo $ac_n "checking if tic should use symbolic links""... $ac_c" 1>&6
-echo "configure:3258: checking if tic should use symbolic links" >&5
+echo "configure:3303: checking if tic should use symbolic links" >&5
     if test "$ac_cv_func_symlink" = yes ; then
        with_symlinks=yes
     else
     if test "$ac_cv_func_symlink" = yes ; then
        with_symlinks=yes
     else
@@ -3263,7 +3308,7 @@ echo "configure:3258: checking if tic should use symbolic links" >&5
     echo "$ac_t""$with_symlinks" 1>&6
 elif test "$ac_cv_func_symlink" != yes ; then
     echo $ac_n "checking if tic should use hard links""... $ac_c" 1>&6
     echo "$ac_t""$with_symlinks" 1>&6
 elif test "$ac_cv_func_symlink" != yes ; then
     echo $ac_n "checking if tic should use hard links""... $ac_c" 1>&6
-echo "configure:3267: checking if tic should use hard links" >&5
+echo "configure:3312: checking if tic should use hard links" >&5
     if test "$ac_cv_func_link" = yes ; then
        with_links=yes
     else
     if test "$ac_cv_func_link" = yes ; then
        with_links=yes
     else
@@ -3272,7 +3317,7 @@ echo "configure:3267: checking if tic should use hard links" >&5
     echo "$ac_t""$with_links" 1>&6
 else
     echo $ac_n "checking if tic should use symbolic links""... $ac_c" 1>&6
     echo "$ac_t""$with_links" 1>&6
 else
     echo $ac_n "checking if tic should use symbolic links""... $ac_c" 1>&6
-echo "configure:3276: checking if tic should use symbolic links" >&5
+echo "configure:3321: checking if tic should use symbolic links" >&5
     
 # Check whether --enable-symlinks or --disable-symlinks was given.
 if test "${enable_symlinks+set}" = set; then
     
 # Check whether --enable-symlinks or --disable-symlinks was given.
 if test "${enable_symlinks+set}" = set; then
@@ -3296,7 +3341,7 @@ EOF
 
 ###   use option --enable-broken-linker to force on use of broken-linker support
 echo $ac_n "checking if you want broken-linker support code""... $ac_c" 1>&6
 
 ###   use option --enable-broken-linker to force on use of broken-linker support
 echo $ac_n "checking if you want broken-linker support code""... $ac_c" 1>&6
-echo "configure:3300: checking if you want broken-linker support code" >&5
+echo "configure:3345: checking if you want broken-linker support code" >&5
 
 # Check whether --enable-broken_linker or --disable-broken_linker was given.
 if test "${enable_broken_linker+set}" = set; then
 
 # Check whether --enable-broken_linker or --disable-broken_linker was given.
 if test "${enable_broken_linker+set}" = set; then
@@ -3314,38 +3359,387 @@ EOF
 
 ###   use option --enable-bsdpad to have tputs process BSD-style prefix padding
 echo $ac_n "checking if tputs should process BSD-style prefix padding""... $ac_c" 1>&6
 
 ###   use option --enable-bsdpad to have tputs process BSD-style prefix padding
 echo $ac_n "checking if tputs should process BSD-style prefix padding""... $ac_c" 1>&6
-echo "configure:3318: checking if tputs should process BSD-style prefix padding" >&5
+echo "configure:3363: checking if tputs should process BSD-style prefix padding" >&5
 
 # Check whether --enable-bsdpad or --disable-bsdpad was given.
 if test "${enable_bsdpad+set}" = set; then
   enableval="$enable_bsdpad"
   with_bsdpad=$enableval
 else
 
 # Check whether --enable-bsdpad or --disable-bsdpad was given.
 if test "${enable_bsdpad+set}" = set; then
   enableval="$enable_bsdpad"
   with_bsdpad=$enableval
 else
-  with_bsdpad=no
+  with_bsdpad=no
+fi
+
+echo "$ac_t""$with_bsdpad" 1>&6
+test "$with_bsdpad" = yes && cat >> confdefs.h <<\EOF
+#define BSD_TPUTS 1
+EOF
+
+
+### Enable compiling-in rcs id's
+echo $ac_n "checking if RCS identifiers should be compiled-in""... $ac_c" 1>&6
+echo "configure:3381: checking if RCS identifiers should be compiled-in" >&5
+
+# Check whether --with-rcs-ids or --without-rcs-ids was given.
+if test "${with_rcs_ids+set}" = set; then
+  withval="$with_rcs_ids"
+  with_rcs_ids=$withval
+else
+  with_rcs_ids=no
+fi
+
+echo "$ac_t""$with_rcs_ids" 1>&6
+test "$with_rcs_ids" = yes && cat >> confdefs.h <<\EOF
+#define USE_RCS_IDS 1
+EOF
+
+
+###############################################################################
+
+
+ echo $ac_n "checking format of man-pages""... $ac_c" 1>&6
+echo "configure:3401: checking format of man-pages" >&5
+
+
+# Check whether --with-manpage-format or --without-manpage-format was given.
+if test "${with_manpage_format+set}" = set; then
+  withval="$with_manpage_format"
+  cf_manpage_form=$withval
+else
+  cf_manpage_form=unknown
+fi
+
+
+case ".$cf_manpage_form" in
+.gzip|.compress|.BSDI|.normal|.formatted) # (vi
+  ;;
+.unknown|.) # (vi
+  if test -z "$MANPATH" ; then
+    MANPATH="/usr/man:/usr/share/man"
+  fi
+  # look for the 'date' man-page (it's most likely to be installed!)
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  cf_manpage_form=unknown
+  for cf_dir in $MANPATH; do
+    test -z "$cf_dir" && cf_dir=/usr/man
+    for cf_name in $cf_dir/*/date.[01]* $cf_dir/*/date
+    do
+       cf_test=`echo $cf_name | sed -e 's/*//'`
+       if test "x$cf_test" = "x$cf_name" ; then
+         case "$cf_name" in
+         *.gz) cf_manpage_form=gzip;;
+         *.Z)  cf_manpage_form=compress;;
+         *.0)  cf_manpage_form=BSDI,formatted;;
+         *)    cf_manpage_form=normal;;
+         esac
+         break
+       fi
+    done
+    if test "$cf_manpage_form" != "unknown" ; then
+       break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+.*) # (vi
+  echo "configure: warning: Unexpected manpage-format" 1>&2
+  ;;
+esac
+
+echo "$ac_t""$cf_manpage_form" 1>&6
+
+
+echo $ac_n "checking for manpage renaming""... $ac_c" 1>&6
+echo "configure:3453: checking for manpage renaming" >&5
+
+
+# Check whether --with-manpage-renames or --without-manpage-renames was given.
+if test "${with_manpage_renames+set}" = set; then
+  withval="$with_manpage_renames"
+  cf_manpage_renames=$withval
+else
+  cf_manpage_renames=yes
+fi
+
+
+case ".$cf_manpage_renames" in #(vi
+.no) #(vi
+  ;;
+.|.yes)
+  # Debian 'man' program?
+  if test -f /etc/debian_version ; then
+    cf_manpage_renames=`cd $srcdir && pwd`/man/man_db.renames
+  else
+    cf_manpage_renames=no
+  fi
+  ;;
+esac
+
+if test "$cf_manpage_renames" != no ; then
+  if test ! -f $cf_manpage_renames ; then
+    { echo "configure: error: not a filename: $cf_manpage_renames" 1>&2; exit 1; }
+  fi
+
+  test ! -d man && mkdir man
+
+  # Construct a sed-script to perform renaming within man-pages
+  if test -n "$cf_manpage_renames" ; then
+    test ! -d man && mkdir man
+    $srcdir/man/make_sed.sh $cf_manpage_renames >man/edit_man.sed
+  fi
+fi
+
+echo "$ac_t""$cf_manpage_renames" 1>&6
+
+
+echo $ac_n "checking for manpage symlinks""... $ac_c" 1>&6
+echo "configure:3496: checking for manpage symlinks" >&5
+
+
+# Check whether --with-manpage-symlinks or --without-manpage-symlinks was given.
+if test "${with_manpage_symlinks+set}" = set; then
+  withval="$with_manpage_symlinks"
+  cf_manpage_symlinks=$withval
+else
+  cf_manpage_symlinks=yes
+fi
+
+
+echo "$ac_t""$cf_manpage_symlinks" 1>&6
+
+
+echo $ac_n "checking for manpage tbl""... $ac_c" 1>&6
+echo "configure:3512: checking for manpage tbl" >&5
+
+
+# Check whether --with-manpage-tbl or --without-manpage-tbl was given.
+if test "${with_manpage_tbl+set}" = set; then
+  withval="$with_manpage_tbl"
+  cf_manpage_tbl=$withval
+else
+  cf_manpage_tbl=no
+fi
+
+
+echo "$ac_t""$cf_manpage_tbl" 1>&6
+
+
+  if test "$prefix" = "NONE" ; then
+     cf_prefix="$ac_default_prefix"
+  else
+     cf_prefix="$prefix"
+  fi
+
+  case "$cf_manpage_form" in # (vi
+  *formatted*) # (vi
+    cf_subdir='$mandir/cat'
+    cf_format=yes
+    ;;
+  *)
+    cf_subdir='$mandir/man'
+    cf_format=no
+    ;;
+  esac
+
+test ! -d man && mkdir man
+cat >man/edit_man.sh <<CF_EOF
+#! /bin/sh
+# this script is generated by the configure-script
+prefix="$cf_prefix"
+datadir="$datadir"
+TERMINFO="$TERMINFO"
+MKDIRS="`cd $srcdir && pwd`/mkinstalldirs"
+INSTALL="$INSTALL"
+INSTALL_DATA="$INSTALL_DATA"
+transform="$program_transform_name"
+
+TMP=\${TMPDIR-/tmp}/man\$\$
+trap "rm -f \$TMP" 0 1 2 5 15
+
+verb=\$1
+shift
+
+mandir=\$1
+shift
+
+srcdir=\$1
+shift
+
+for i in \$* ; do
+case \$i in #(vi
+*.orig|*.rej) ;; #(vi
+*.[0-9]*)
+       section=\`expr "\$i" : '.*\\.\\([0-9]\\)[xm]*'\`;
+       if test \$verb = installing ; then
+       if test ! -d $cf_subdir\${section} ; then
+               \$MKDIRS $cf_subdir\$section
+       fi
+       fi
+       aliases=
+       source=\`basename \$i\`
+       inalias=\$source
+       test ! -f \$inalias && inalias="\$srcdir/\$inalias"
+       if test ! -f \$inalias ; then
+               echo .. skipped \$source
+               continue
+       fi
+CF_EOF
+if test "$cf_manpage_symlinks" = yes ; then
+cat >>man/edit_man.sh <<CF_EOF
+       aliases=\`sed -f \$srcdir/manlinks.sed \$inalias | sort -u\`
+CF_EOF
+fi
+if test "$cf_manpage_renames" = no ; then
+cat >>man/edit_man.sh <<CF_EOF
+       # perform program transformations for section 1 man pages
+       if test \$section = 1 ; then
+               target=$cf_subdir\${section}/\`echo \$source|sed "\${transform}"\`
+       else
+               target=$cf_subdir\${section}/\$source
+       fi
+
+       # replace variables in man page
+CF_EOF
+       
+       for cf_name in  captoinfo clear infocmp infotocap tic toe tput 
+       do
+cat >>man/edit_man.sh <<CF_EOF
+       prog_$cf_name=\`echo $cf_name|sed "\${transform}"\`
+CF_EOF
+       done
+       
+cat >>man/edit_man.sh <<CF_EOF
+       sed     -e "s,@DATADIR@,\$datadir," \\
+               -e "s,@TERMINFO@,\$TERMINFO," \\
+CF_EOF
+       
+       for cf_name in  captoinfo clear infocmp infotocap tic toe tput 
+       do
+               cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+cat >>man/edit_man.sh <<CF_EOF
+               -e "s,@$cf_NAME@,\$prog_$cf_name," \\
+CF_EOF
+       done
+       
+cat >>man/edit_man.sh <<CF_EOF
+               < \$i >\$TMP
+CF_EOF
+else
+cat >>man/edit_man.sh <<CF_EOF
+       target=\`grep "^\$source" $cf_manpage_renames | $AWK '{print \$2}'\`
+       if test -z "\$target" ; then
+               echo '? missing rename for '\$source
+               target="\$source"
+       fi
+       target="$cf_subdir\$section/\$target"
+       test \$verb = installing && sed -e "s,@DATADIR@,\$datadir," < \$i | sed -f edit_man.sed >\$TMP
+CF_EOF
 fi
 fi
+if test $cf_manpage_tbl = yes ; then
+cat >>man/edit_man.sh <<CF_EOF
+       tbl \$TMP >\$TMP.out
+       mv \$TMP.out \$TMP
+CF_EOF
+fi
+if test $with_curses_h != yes ; then
+cat >>man/edit_man.sh <<CF_EOF
+       sed -e "/\#[    ]*include/s,curses.h,ncurses.h," < \$TMP >\$TMP.out
+       mv \$TMP.out \$TMP
+CF_EOF
+fi
+if test $cf_format = yes ; then
+cat >>man/edit_man.sh <<CF_EOF
+       nroff -man \$TMP >\$TMP.out
+       mv \$TMP.out \$TMP
+CF_EOF
+fi
+case "$cf_manpage_form" in #(vi
+*compress*) #(vi
+cat >>man/edit_man.sh <<CF_EOF
+       if test \$verb = installing ; then
+       if ( compress -f \$TMP )
+       then
+               mv \$TMP.Z \$TMP
+       fi
+       fi
+       target="\$target.Z"
+CF_EOF
+  ;;
+*gzip*) #(vi
+cat >>man/edit_man.sh <<CF_EOF
+       if test \$verb = installing ; then
+       if ( gzip -f \$TMP )
+       then
+               mv \$TMP.gz \$TMP
+       fi
+       fi
+       target="\$target.gz"
+CF_EOF
+  ;;
+*BSDI*)
+cat >>man/edit_man.sh <<CF_EOF
+       # BSDI installs only .0 suffixes in the cat directories
+       target="\`echo \$target|sed -e 's/\.[1-9]\+.\?/.0/'\`"
+CF_EOF
+  ;;
+esac
+cat >>man/edit_man.sh <<CF_EOF
+       suffix=\`basename \$target | sed -e 's/^[^.]*//'\`
+       if test \$verb = installing ; then
+               echo \$verb \$target
+               \$INSTALL_DATA \$TMP \$target
+               test -n "\$aliases" && (
+                       cd $cf_subdir\${section} && (
+                               target=\`basename \$target\`
+                               for cf_alias in \$aliases
+                               do
+                                       if test \$section = 1 ; then
+                                               cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
+                                       fi
 
 
-echo "$ac_t""$with_bsdpad" 1>&6
-test "$with_bsdpad" = yes && cat >> confdefs.h <<\EOF
-#define BSD_TPUTS 1
-EOF
-
-
-### Enable compiling-in rcs id's
-echo $ac_n "checking if RCS identifiers should be compiled-in""... $ac_c" 1>&6
-echo "configure:3336: checking if RCS identifiers should be compiled-in" >&5
+                                       if test -f \$cf_alias\${suffix} ; then
+                                               if ( cmp -s \$target \$cf_alias\${suffix} )
+                                               then
+                                                       :
+                                               else
+                                                       echo .. \$verb alias \$cf_alias\${suffix}
+                                                       rm -f \$cf_alias\${suffix}
+                                                       $LN_S \$target \$cf_alias\${suffix}
+                                               fi
+                                       else
+                                               echo .. \$verb alias \$cf_alias\${suffix}
+                                               rm -f \$cf_alias\${suffix}
+                                               $LN_S \$target \$cf_alias\${suffix}
+                                       fi
+                               done
+                       )
+               )
+       elif test \$verb = removing ; then
+               echo \$verb \$target
+               rm -f \$target
+               test -n "\$aliases" && (
+                       cd $cf_subdir\${section} && (
+                               for cf_alias in \$aliases
+                               do
+                                       if test \$section = 1 ; then
+                                               cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
+                                       fi
 
 
-# Check whether --with-rcs-ids or --without-rcs-ids was given.
-if test "${with_rcs_ids+set}" = set; then
-  withval="$with_rcs_ids"
-  with_rcs_ids=$withval
-else
-  with_rcs_ids=no
-fi
+                                       echo .. \$verb alias \$cf_alias\${suffix}
+                                       rm -f \$cf_alias\${suffix}
+                               done
+                       )
+               )
+       else
+#              echo ".hy 0"
+               cat \$TMP
+       fi
+       ;;
+esac
+done
+exit 0
+CF_EOF
+chmod 755 man/edit_man.sh
 
 
-echo "$ac_t""$with_rcs_ids" 1>&6
-test "$with_rcs_ids" = yes && cat >> confdefs.h <<\EOF
-#define USE_RCS_IDS 1
-EOF
 
 
 ###############################################################################
 
 
 ###############################################################################
@@ -3353,7 +3747,7 @@ EOF
 
 ### Note that some functions (such as const) are normally disabled anyway.
 echo $ac_n "checking if you want to build with function extensions""... $ac_c" 1>&6
 
 ### Note that some functions (such as const) are normally disabled anyway.
 echo $ac_n "checking if you want to build with function extensions""... $ac_c" 1>&6
-echo "configure:3357: checking if you want to build with function extensions" >&5
+echo "configure:3751: checking if you want to build with function extensions" >&5
 
 # Check whether --enable-ext-funcs or --disable-ext-funcs was given.
 if test "${enable_ext_funcs+set}" = set; then
 
 # Check whether --enable-ext-funcs or --disable-ext-funcs was given.
 if test "${enable_ext_funcs+set}" = set; then
@@ -3365,6 +3759,10 @@ fi
 
 echo "$ac_t""$with_ext_funcs" 1>&6
 if test "$with_ext_funcs" = yes ; then
 
 echo "$ac_t""$with_ext_funcs" 1>&6
 if test "$with_ext_funcs" = yes ; then
+       cat >> confdefs.h <<\EOF
+#define HAVE_CURSES_VERSION 1
+EOF
+
        cat >> confdefs.h <<\EOF
 #define HAVE_HAS_KEY 1
 EOF
        cat >> confdefs.h <<\EOF
 #define HAVE_HAS_KEY 1
 EOF
@@ -3389,7 +3787,7 @@ fi
 
 ###   use option --enable-const to turn on use of const beyond that in XSI.
 echo $ac_n "checking for extended use of const keyword""... $ac_c" 1>&6
 
 ###   use option --enable-const to turn on use of const beyond that in XSI.
 echo $ac_n "checking for extended use of const keyword""... $ac_c" 1>&6
-echo "configure:3393: checking for extended use of const keyword" >&5
+echo "configure:3791: checking for extended use of const keyword" >&5
 
 # Check whether --enable-const or --disable-const was given.
 if test "${enable_const+set}" = set; then
 
 # Check whether --enable-const or --disable-const was given.
 if test "${enable_const+set}" = set; then
@@ -3400,36 +3798,14 @@ else
 fi
 
 echo "$ac_t""$with_ext_const" 1>&6
 fi
 
 echo "$ac_t""$with_ext_const" 1>&6
-NCURSES_CONST=""
+NCURSES_CONST='/*nothing*/'
 if test "$with_ext_const" = yes ; then
 if test "$with_ext_const" = yes ; then
-       cat >> confdefs.h <<\EOF
-#define NCURSES_CONST const
-EOF
-
        NCURSES_CONST=const
 fi
 
 
        NCURSES_CONST=const
 fi
 
 
-###   use option --enable-hashmap to turn on use of hashmap scrolling logic
-echo $ac_n "checking if you want hashmap scrolling-optimization code""... $ac_c" 1>&6
-echo "configure:3416: checking if you want hashmap scrolling-optimization code" >&5
-
-# Check whether --enable-hashmap or --disable-hashmap was given.
-if test "${enable_hashmap+set}" = set; then
-  enableval="$enable_hashmap"
-  with_hashmap=$enableval
-else
-  with_hashmap=yes
-fi
-
-echo "$ac_t""$with_hashmap" 1>&6
-test "$with_hashmap" = yes && cat >> confdefs.h <<\EOF
-#define USE_HASHMAP 1
-EOF
-
-
 echo $ac_n "checking if you want \$NCURSES_NO_PADDING code""... $ac_c" 1>&6
 echo $ac_n "checking if you want \$NCURSES_NO_PADDING code""... $ac_c" 1>&6
-echo "configure:3433: checking if you want \$NCURSES_NO_PADDING code" >&5
+echo "configure:3809: checking if you want \$NCURSES_NO_PADDING code" >&5
 
 # Check whether --enable-no-padding or --disable-no-padding was given.
 if test "${enable_no_padding+set}" = set; then
 
 # Check whether --enable-no-padding or --disable-no-padding was given.
 if test "${enable_no_padding+set}" = set; then
@@ -3447,7 +3823,7 @@ EOF
 
 ###   use option --enable-sigwinch to turn on use of SIGWINCH logic
 echo $ac_n "checking if you want SIGWINCH handler""... $ac_c" 1>&6
 
 ###   use option --enable-sigwinch to turn on use of SIGWINCH logic
 echo $ac_n "checking if you want SIGWINCH handler""... $ac_c" 1>&6
-echo "configure:3451: checking if you want SIGWINCH handler" >&5
+echo "configure:3827: checking if you want SIGWINCH handler" >&5
 
 # Check whether --enable-sigwinch or --disable-sigwinch was given.
 if test "${enable_sigwinch+set}" = set; then
 
 # Check whether --enable-sigwinch or --disable-sigwinch was given.
 if test "${enable_sigwinch+set}" = set; then
@@ -3465,7 +3841,7 @@ EOF
 
 ###   use option --enable-tcap-names to allow user to define new capabilities
 echo $ac_n "checking if you want user-definable terminal capabilities like termcap""... $ac_c" 1>&6
 
 ###   use option --enable-tcap-names to allow user to define new capabilities
 echo $ac_n "checking if you want user-definable terminal capabilities like termcap""... $ac_c" 1>&6
-echo "configure:3469: checking if you want user-definable terminal capabilities like termcap" >&5
+echo "configure:3845: checking if you want user-definable terminal capabilities like termcap" >&5
 
 # Check whether --enable-tcap-names or --disable-tcap-names was given.
 if test "${enable_tcap_names+set}" = set; then
 
 # Check whether --enable-tcap-names or --disable-tcap-names was given.
 if test "${enable_tcap_names+set}" = set; then
@@ -3481,9 +3857,10 @@ test "$with_tcap_names" = yes && NCURSES_XNAMES=1
 
 
 ###############################################################################
 
 
 ###############################################################################
+# These options are relatively safe to experiment with.
 
 
-echo $ac_n "checking if you want all experimental code""... $ac_c" 1>&6
-echo "configure:3487: checking if you want all experimental code" >&5
+echo $ac_n "checking if you want all development code""... $ac_c" 1>&6
+echo "configure:3864: checking if you want all development code" >&5
 
 # Check whether --with-develop or --without-develop was given.
 if test "${with_develop+set}" = set; then
 
 # Check whether --with-develop or --without-develop was given.
 if test "${with_develop+set}" = set; then
@@ -3496,8 +3873,8 @@ fi
 echo "$ac_t""$with_develop" 1>&6
 
 ###   use option --enable-colorfgbg to turn on use of $COLORFGBG environment
 echo "$ac_t""$with_develop" 1>&6
 
 ###   use option --enable-colorfgbg to turn on use of $COLORFGBG environment
-echo $ac_n "checking if you want experimental colorfgbg code""... $ac_c" 1>&6
-echo "configure:3501: checking if you want experimental colorfgbg code" >&5
+echo $ac_n "checking if you want colorfgbg code""... $ac_c" 1>&6
+echo "configure:3878: checking if you want colorfgbg code" >&5
 
 # Check whether --enable-hard-tabs or --disable-hard-tabs was given.
 if test "${enable_hard_tabs+set}" = set; then
 
 # Check whether --enable-hard-tabs or --disable-hard-tabs was given.
 if test "${enable_hard_tabs+set}" = set; then
@@ -3514,8 +3891,8 @@ EOF
 
 
 ###   use option --enable-hard-tabs to turn on use of hard-tabs optimize
 
 
 ###   use option --enable-hard-tabs to turn on use of hard-tabs optimize
-echo $ac_n "checking if you want experimental hard-tabs code""... $ac_c" 1>&6
-echo "configure:3519: checking if you want experimental hard-tabs code" >&5
+echo $ac_n "checking if you want hard-tabs code""... $ac_c" 1>&6
+echo "configure:3896: checking if you want hard-tabs code" >&5
 
 # Check whether --enable-hard-tabs or --disable-hard-tabs was given.
 if test "${enable_hard_tabs+set}" = set; then
 
 # Check whether --enable-hard-tabs or --disable-hard-tabs was given.
 if test "${enable_hard_tabs+set}" = set; then
@@ -3531,8 +3908,82 @@ test "$with_hardtabs" = yes && cat >> confdefs.h <<\EOF
 EOF
 
 
 EOF
 
 
+echo $ac_n "checking if you want to use restrict environment when running as root""... $ac_c" 1>&6
+echo "configure:3913: checking if you want to use restrict environment when running as root" >&5
+
+# Check whether --enable-root-environ or --disable-root-environ was given.
+if test "${enable_root_environ+set}" = set; then
+  enableval="$enable_root_environ"
+  with_root_environ=$enableval
+else
+  with_root_environ=yes
+fi
+
+echo "$ac_t""$with_root_environ" 1>&6
+test "$with_root_environ" = yes && cat >> confdefs.h <<\EOF
+#define USE_ROOT_ENVIRON 1
+EOF
+
+
+###   use option --enable-xmc-glitch to turn on use of magic-cookie optimize
+echo $ac_n "checking if you want limited support for xmc""... $ac_c" 1>&6
+echo "configure:3931: checking if you want limited support for xmc" >&5
+
+# Check whether --enable-xmc-glitch or --disable-xmc-glitch was given.
+if test "${enable_xmc_glitch+set}" = set; then
+  enableval="$enable_xmc_glitch"
+  with_xmc_glitch=$enableval
+else
+  with_xmc_glitch=$with_develop
+fi
+
+echo "$ac_t""$with_xmc_glitch" 1>&6
+test "$with_xmc_glitch" = yes && cat >> confdefs.h <<\EOF
+#define USE_XMC_SUPPORT 1
+EOF
+
+
+###############################################################################
+# These are just experimental, probably should not be in a package:
+
+
+echo $ac_n "checking if you do not want to assume colors are white-on-black""... $ac_c" 1>&6
+echo "configure:3952: checking if you do not want to assume colors are white-on-black" >&5
+
+# Check whether --enable-assumed-color or --disable-assumed-color was given.
+if test "${enable_assumed_color+set}" = set; then
+  enableval="$enable_assumed_color"
+  with_assumed_color=$enableval
+else
+  with_assumed_color=yes
+fi
+
+echo "$ac_t""$with_assumed_color" 1>&6
+test "$with_assumed_color" = yes && cat >> confdefs.h <<\EOF
+#define USE_ASSUMED_COLOR 1
+EOF
+
+
+###   use option --enable-hashmap to turn on use of hashmap scrolling logic
+echo $ac_n "checking if you want hashmap scrolling-optimization code""... $ac_c" 1>&6
+echo "configure:3970: checking if you want hashmap scrolling-optimization code" >&5
+
+# Check whether --enable-hashmap or --disable-hashmap was given.
+if test "${enable_hashmap+set}" = set; then
+  enableval="$enable_hashmap"
+  with_hashmap=$enableval
+else
+  with_hashmap=yes
+fi
+
+echo "$ac_t""$with_hashmap" 1>&6
+test "$with_hashmap" = yes && cat >> confdefs.h <<\EOF
+#define USE_HASHMAP 1
+EOF
+
+
 echo $ac_n "checking if you want experimental safe-sprintf code""... $ac_c" 1>&6
 echo $ac_n "checking if you want experimental safe-sprintf code""... $ac_c" 1>&6
-echo "configure:3536: checking if you want experimental safe-sprintf code" >&5
+echo "configure:3987: checking if you want experimental safe-sprintf code" >&5
 
 # Check whether --enable-safe-sprintf or --disable-safe-sprintf was given.
 if test "${enable_safe_sprintf+set}" = set; then
 
 # Check whether --enable-safe-sprintf or --disable-safe-sprintf was given.
 if test "${enable_safe_sprintf+set}" = set; then
@@ -3552,7 +4003,7 @@ EOF
 # when hashmap is used scroll hints are useless
 if test "$with_hashmap" = no ; then
 echo $ac_n "checking if you want to experiment without scrolling-hints code""... $ac_c" 1>&6
 # when hashmap is used scroll hints are useless
 if test "$with_hashmap" = no ; then
 echo $ac_n "checking if you want to experiment without scrolling-hints code""... $ac_c" 1>&6
-echo "configure:3556: checking if you want to experiment without scrolling-hints code" >&5
+echo "configure:4007: checking if you want to experiment without scrolling-hints code" >&5
 
 # Check whether --enable-scroll-hints or --disable-scroll-hints was given.
 if test "${enable_scroll_hints+set}" = set; then
 
 # Check whether --enable-scroll-hints or --disable-scroll-hints was given.
 if test "${enable_scroll_hints+set}" = set; then
@@ -3571,7 +4022,7 @@ fi
 
 ###   use option --enable-widec to turn on use of wide-character support
 echo $ac_n "checking if you want experimental wide-character code""... $ac_c" 1>&6
 
 ###   use option --enable-widec to turn on use of wide-character support
 echo $ac_n "checking if you want experimental wide-character code""... $ac_c" 1>&6
-echo "configure:3575: checking if you want experimental wide-character code" >&5
+echo "configure:4026: checking if you want experimental wide-character code" >&5
 
 # Check whether --enable-widec or --disable-widec was given.
 if test "${enable_widec+set}" = set; then
 
 # Check whether --enable-widec or --disable-widec was given.
 if test "${enable_widec+set}" = set; then
@@ -3590,28 +4041,12 @@ EOF
 
 fi
 
 
 fi
 
-###   use option --enable-xmc-glitch to turn on use of magic-cookie optimize
-echo $ac_n "checking if you want experimental xmc code""... $ac_c" 1>&6
-echo "configure:3596: checking if you want experimental xmc code" >&5
-
-# Check whether --enable-xmc-glitch or --disable-xmc-glitch was given.
-if test "${enable_xmc_glitch+set}" = set; then
-  enableval="$enable_xmc_glitch"
-  with_xmc_glitch=$enableval
-else
-  with_xmc_glitch=$with_develop
-fi
-
-echo "$ac_t""$with_xmc_glitch" 1>&6
-test "$with_xmc_glitch" = yes && cat >> confdefs.h <<\EOF
-#define USE_XMC_SUPPORT 1
-EOF
-
-
 ###############################################################################
 
 
 ###    use option --disable-echo to suppress full display compiling commands
 ###############################################################################
 
 
 ###    use option --disable-echo to suppress full display compiling commands
+echo $ac_n "checking if you want to display full commands during build""... $ac_c" 1>&6
+echo "configure:4050: checking if you want to display full commands during build" >&5
 
 # Check whether --enable-echo or --disable-echo was given.
 if test "${enable_echo+set}" = set; then
 
 # Check whether --enable-echo or --disable-echo was given.
 if test "${enable_echo+set}" = set; then
@@ -3625,10 +4060,14 @@ if test "$with_echo" = yes; then
        ECHO_LINK=
 else
        ECHO_LINK='@ echo linking $@ ... ;'
        ECHO_LINK=
 else
        ECHO_LINK='@ echo linking $@ ... ;'
+       test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
 fi
 fi
+echo "$ac_t""$with_echo" 1>&6
 
 
 ###    use option --enable-warnings to turn on all gcc warnings
 
 
 ###    use option --enable-warnings to turn on all gcc warnings
+echo $ac_n "checking if you want to see compiler warnings""... $ac_c" 1>&6
+echo "configure:4071: checking if you want to see compiler warnings" >&5
 
 # Check whether --enable-warnings or --disable-warnings was given.
 if test "${enable_warnings+set}" = set; then
 
 # Check whether --enable-warnings or --disable-warnings was given.
 if test "${enable_warnings+set}" = set; then
@@ -3636,17 +4075,19 @@ if test "${enable_warnings+set}" = set; then
   with_warnings=$enableval
 fi
 
   with_warnings=$enableval
 fi
 
+echo "$ac_t""$with_warnings" 1>&6
+
 if test -n "$with_warnings"; then
        ADAFLAGS="$ADAFLAGS -gnatg"
        
 if test -n "$with_warnings"; then
        ADAFLAGS="$ADAFLAGS -gnatg"
        
-if test -n "$GCC"
+if test "$GCC" = yes
 then
                cat > conftest.$ac_ext <<EOF
 then
                cat > conftest.$ac_ext <<EOF
-#line 3646 "configure"
+#line 4087 "configure"
 int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; }
 EOF
                echo "checking for $CC warning options" 1>&6
 int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; }
 EOF
                echo "checking for $CC warning options" 1>&6
-echo "configure:3650: checking for $CC warning options" >&5
+echo "configure:4091: checking for $CC warning options" >&5
        cf_save_CFLAGS="$CFLAGS"
        EXTRA_CFLAGS="-W -Wall"
        cf_warn_CONST=""
        cf_save_CFLAGS="$CFLAGS"
        EXTRA_CFLAGS="-W -Wall"
        cf_warn_CONST=""
@@ -3664,7 +4105,7 @@ echo "configure:3650: checking for $CC warning options" >&5
                Wstrict-prototypes $cf_warn_CONST
        do
                CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
                Wstrict-prototypes $cf_warn_CONST
        do
                CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
-               if { (eval echo configure:3668: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+               if { (eval echo configure:4109: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
                        test -n "$verbose" && echo "$ac_t""... -$cf_opt" 1>&6
                        EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
                        test "$cf_opt" = Wcast-qual && EXTRA_CFLAGS="$EXTRA_CFLAGS -DXTSTRINGDEFINES"
                        test -n "$verbose" && echo "$ac_t""... -$cf_opt" 1>&6
                        EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
                        test "$cf_opt" = Wcast-qual && EXTRA_CFLAGS="$EXTRA_CFLAGS -DXTSTRINGDEFINES"
@@ -3677,7 +4118,7 @@ fi
 
 fi
 
 
 fi
 
-if test -n "$GCC"
+if test "$GCC" = yes
 then
 cat > conftest.i <<EOF
 #ifndef GCC_PRINTF
 then
 cat > conftest.i <<EOF
 #ifndef GCC_PRINTF
@@ -3693,12 +4134,12 @@ cat > conftest.i <<EOF
 #define GCC_UNUSED /* nothing */
 #endif
 EOF
 #define GCC_UNUSED /* nothing */
 #endif
 EOF
-if test -n "$GCC"
+if test "$GCC" = yes
 then
        echo "checking for $CC __attribute__ directives" 1>&6
 then
        echo "checking for $CC __attribute__ directives" 1>&6
-echo "configure:3700: checking for $CC __attribute__ directives" >&5
+echo "configure:4141: checking for $CC __attribute__ directives" >&5
        cat > conftest.$ac_ext <<EOF
        cat > conftest.$ac_ext <<EOF
-#line 3702 "configure"
+#line 4143 "configure"
 #include "confdefs.h"
 #include "conftest.h"
 #include "conftest.i"
 #include "confdefs.h"
 #include "conftest.h"
 #include "conftest.i"
@@ -3720,7 +4161,7 @@ EOF
                for cf_attribute in scanf printf unused noreturn
        do
                
                for cf_attribute in scanf printf unused noreturn
        do
                
-CF_ATTRIBUTE=`echo $cf_attribute | tr '[a-z]' '[A-Z]'`
+CF_ATTRIBUTE=`echo "$cf_attribute" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
                cf_directive="__attribute__(($cf_attribute))"
                echo "checking for $CC $cf_directive" 1>&5
 
                cf_directive="__attribute__(($cf_attribute))"
                echo "checking for $CC $cf_directive" 1>&5
@@ -3736,7 +4177,7 @@ EOF
 EOF
                        ;;
                esac
 EOF
                        ;;
                esac
-               if { (eval echo configure:3740: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+               if { (eval echo configure:4181: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
                        test -n "$verbose" && echo "$ac_t""... $cf_attribute" 1>&6
                        cat conftest.h >>confdefs.h
 #              else
                        test -n "$verbose" && echo "$ac_t""... $cf_attribute" 1>&6
                        cat conftest.h >>confdefs.h
 #              else
@@ -3751,6 +4192,8 @@ fi
 
 
 ###    use option --enable-assertions to turn on generation of assertion code
 
 
 ###    use option --enable-assertions to turn on generation of assertion code
+echo $ac_n "checking if you want to enable runtime assertions""... $ac_c" 1>&6
+echo "configure:4197: checking if you want to enable runtime assertions" >&5
 
 # Check whether --enable-assertions or --disable-assertions was given.
 if test "${enable_assertions+set}" = set; then
 
 # Check whether --enable-assertions or --disable-assertions was given.
 if test "${enable_assertions+set}" = set; then
@@ -3760,9 +4203,10 @@ else
   with_assertions=no
 fi
 
   with_assertions=no
 fi
 
+echo "$ac_t""$with_assertions" 1>&6
 if test -n "$GCC"
 then
 if test -n "$GCC"
 then
-       if test $with_assertions = no
+       if test "$with_assertions" = no
        then
                cat >> confdefs.h <<\EOF
 #define NDEBUG 1
        then
                cat >> confdefs.h <<\EOF
 #define NDEBUG 1
@@ -3779,7 +4223,7 @@ fi
 # Check whether --enable-leaks or --disable-leaks was given.
 if test "${enable_leaks+set}" = set; then
   enableval="$enable_leaks"
 # Check whether --enable-leaks or --disable-leaks was given.
 if test "${enable_leaks+set}" = set; then
   enableval="$enable_leaks"
-  test $enableval = no && cat >> confdefs.h <<\EOF
+  test "$enableval" = no && cat >> confdefs.h <<\EOF
 #define NO_LEAKS 1
 EOF
 
 #define NO_LEAKS 1
 EOF
 
@@ -3795,7 +4239,7 @@ EOF
 # Check whether --enable-expanded or --disable-expanded was given.
 if test "${enable_expanded+set}" = set; then
   enableval="$enable_expanded"
 # Check whether --enable-expanded or --disable-expanded was given.
 if test "${enable_expanded+set}" = set; then
   enableval="$enable_expanded"
-  test $enableval = yes && cat >> confdefs.h <<\EOF
+  test "$enableval" = yes && cat >> confdefs.h <<\EOF
 #define NCURSES_EXPANDED 1
 EOF
 
 #define NCURSES_EXPANDED 1
 EOF
 
@@ -3807,7 +4251,7 @@ fi
 # Check whether --enable-macros or --disable-macros was given.
 if test "${enable_macros+set}" = set; then
   enableval="$enable_macros"
 # Check whether --enable-macros or --disable-macros was given.
 if test "${enable_macros+set}" = set; then
   enableval="$enable_macros"
-  test $enableval = no && cat >> confdefs.h <<\EOF
+  test "$enableval" = no && cat >> confdefs.h <<\EOF
 #define NCURSES_NOMACROS 1
 EOF
 
 #define NCURSES_NOMACROS 1
 EOF
 
@@ -3816,12 +4260,12 @@ fi
 
 ###    Checks for libraries.
 echo $ac_n "checking for gettimeofday""... $ac_c" 1>&6
 
 ###    Checks for libraries.
 echo $ac_n "checking for gettimeofday""... $ac_c" 1>&6
-echo "configure:3820: checking for gettimeofday" >&5
+echo "configure:4264: checking for gettimeofday" >&5
 if eval "test \"`echo '$''{'ac_cv_func_gettimeofday'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_func_gettimeofday'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3825 "configure"
+#line 4269 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gettimeofday(); below.  */
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gettimeofday(); below.  */
@@ -3844,7 +4288,7 @@ gettimeofday();
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:3848: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4292: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_gettimeofday=yes"
 else
   rm -rf conftest*
   eval "ac_cv_func_gettimeofday=yes"
 else
@@ -3867,7 +4311,7 @@ else
 
 
 echo $ac_n "checking for gettimeofday in -lbsd""... $ac_c" 1>&6
 
 
 echo $ac_n "checking for gettimeofday in -lbsd""... $ac_c" 1>&6
-echo "configure:3871: checking for gettimeofday in -lbsd" >&5
+echo "configure:4315: checking for gettimeofday in -lbsd" >&5
 ac_lib_var=`echo bsd'_'gettimeofday | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo bsd'_'gettimeofday | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3875,7 +4319,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lbsd  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lbsd  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3879 "configure"
+#line 4323 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3886,7 +4330,7 @@ int main() {
 gettimeofday()
 ; return 0; }
 EOF
 gettimeofday()
 ; return 0; }
 EOF
-if { (eval echo configure:3890: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4334: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3914,13 +4358,13 @@ fi
 
 
 echo $ac_n "checking if -lm needed for math functions""... $ac_c" 1>&6
 
 
 echo $ac_n "checking if -lm needed for math functions""... $ac_c" 1>&6
-echo "configure:3918: checking if -lm needed for math functions" >&5
+echo "configure:4362: checking if -lm needed for math functions" >&5
 if eval "test \"`echo '$''{'cf_cv_need_libm'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
        cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'cf_cv_need_libm'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
        cat > conftest.$ac_ext <<EOF
-#line 3924 "configure"
+#line 4368 "configure"
 #include "confdefs.h"
 
        #include <stdio.h>
 #include "confdefs.h"
 
        #include <stdio.h>
@@ -3930,7 +4374,7 @@ int main() {
 double x = rand(); printf("result = %g\n", sin(x))
 ; return 0; }
 EOF
 double x = rand(); printf("result = %g\n", sin(x))
 ; return 0; }
 EOF
-if { (eval echo configure:3934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4378: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_need_libm=no
 else
   rm -rf conftest*
   cf_cv_need_libm=no
 else
@@ -3952,12 +4396,12 @@ fi
 
 ###    Checks for header files.
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
 
 ###    Checks for header files.
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:3956: checking for ANSI C header files" >&5
+echo "configure:4400: checking for ANSI C header files" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3961 "configure"
+#line 4405 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -3965,7 +4409,7 @@ else
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3969: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4413: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3982,7 +4426,7 @@ rm -f conftest*
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 3986 "configure"
+#line 4430 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -4000,7 +4444,7 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 4004 "configure"
+#line 4448 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -4021,7 +4465,7 @@ if test "$cross_compiling" = yes; then
   :
 else
   cat > conftest.$ac_ext <<EOF
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 4025 "configure"
+#line 4469 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -4032,7 +4476,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
 exit (0); }
 
 EOF
 exit (0); }
 
 EOF
-if { (eval echo configure:4036: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4480: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   :
 else
 then
   :
 else
@@ -4060,12 +4504,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
-echo "configure:4064: checking for $ac_hdr that defines DIR" >&5
+echo "configure:4508: checking for $ac_hdr that defines DIR" >&5
 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4069 "configure"
+#line 4513 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_hdr>
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_hdr>
@@ -4073,7 +4517,7 @@ int main() {
 DIR *dirp = 0;
 ; return 0; }
 EOF
 DIR *dirp = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:4077: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4521: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval "ac_cv_header_dirent_$ac_safe=yes"
 else
   rm -rf conftest*
   eval "ac_cv_header_dirent_$ac_safe=yes"
 else
@@ -4098,7 +4542,7 @@ done
 # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
 if test $ac_header_dirent = dirent.h; then
 echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
 # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
 if test $ac_header_dirent = dirent.h; then
 echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
-echo "configure:4102: checking for opendir in -ldir" >&5
+echo "configure:4546: checking for opendir in -ldir" >&5
 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4106,7 +4550,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldir  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-ldir  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4110 "configure"
+#line 4554 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4117,7 +4561,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:4121: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4565: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4139,7 +4583,7 @@ fi
 
 else
 echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
 
 else
 echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:4143: checking for opendir in -lx" >&5
+echo "configure:4587: checking for opendir in -lx" >&5
 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4147,7 +4591,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lx  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lx  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4151 "configure"
+#line 4595 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4158,7 +4602,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:4162: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4606: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4182,13 +4626,13 @@ fi
 
 
 echo $ac_n "checking for regular-expression headers""... $ac_c" 1>&6
 
 
 echo $ac_n "checking for regular-expression headers""... $ac_c" 1>&6
-echo "configure:4186: checking for regular-expression headers" >&5
+echo "configure:4630: checking for regular-expression headers" >&5
 if eval "test \"`echo '$''{'cf_cv_regex'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'cf_cv_regex'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 4192 "configure"
+#line 4636 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <regex.h>
 #include "confdefs.h"
 #include <sys/types.h>
 #include <regex.h>
@@ -4201,7 +4645,7 @@ int main() {
        
 ; return 0; }
 EOF
        
 ; return 0; }
 EOF
-if { (eval echo configure:4205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4649: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_regex="regex.h"
 else
   rm -rf conftest*
   cf_cv_regex="regex.h"
 else
@@ -4210,7 +4654,7 @@ else
   rm -rf conftest*
   
        cat > conftest.$ac_ext <<EOF
   rm -rf conftest*
   
        cat > conftest.$ac_ext <<EOF
-#line 4214 "configure"
+#line 4658 "configure"
 #include "confdefs.h"
 #include <regexp.h>
 int main() {
 #include "confdefs.h"
 #include <regexp.h>
 int main() {
@@ -4220,7 +4664,7 @@ int main() {
        
 ; return 0; }
 EOF
        
 ; return 0; }
 EOF
-if { (eval echo configure:4224: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4668: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_regex="regexp.h"
 else
   rm -rf conftest*
   cf_cv_regex="regexp.h"
 else
@@ -4231,7 +4675,7 @@ else
                cf_save_LIBS="$LIBS"
                LIBS="-lgen $LIBS"
                cat > conftest.$ac_ext <<EOF
                cf_save_LIBS="$LIBS"
                LIBS="-lgen $LIBS"
                cat > conftest.$ac_ext <<EOF
-#line 4235 "configure"
+#line 4679 "configure"
 #include "confdefs.h"
 #include <regexpr.h>
 int main() {
 #include "confdefs.h"
 #include <regexpr.h>
 int main() {
@@ -4241,7 +4685,7 @@ int main() {
                
 ; return 0; }
 EOF
                
 ; return 0; }
 EOF
-if { (eval echo configure:4245: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4689: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_regex="regexpr.h"
 else
   rm -rf conftest*
   cf_cv_regex="regexpr.h"
 else
@@ -4289,25 +4733,23 @@ sys/poll.h \
 sys/select.h \
 sys/time.h \
 sys/times.h \
 sys/select.h \
 sys/time.h \
 sys/times.h \
-termio.h \
-termios.h \
 ttyent.h \
 unistd.h \
 
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
 ttyent.h \
 unistd.h \
 
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4301: checking for $ac_hdr" >&5
+echo "configure:4743: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4306 "configure"
+#line 4748 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4311: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4753: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4338,7 +4780,7 @@ done
 # Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
 if test "$ISC" = yes ; then
        echo $ac_n "checking for main in -lcposix""... $ac_c" 1>&6
 # Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
 if test "$ISC" = yes ; then
        echo $ac_n "checking for main in -lcposix""... $ac_c" 1>&6
-echo "configure:4342: checking for main in -lcposix" >&5
+echo "configure:4784: checking for main in -lcposix" >&5
 ac_lib_var=`echo cposix'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo cposix'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4346,14 +4788,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcposix  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lcposix  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4350 "configure"
+#line 4792 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:4357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4381,102 +4823,62 @@ else
 fi
 
        echo $ac_n "checking for bzero in -linet""... $ac_c" 1>&6
 fi
 
        echo $ac_n "checking for bzero in -linet""... $ac_c" 1>&6
-echo "configure:4385: checking for bzero in -linet" >&5
+echo "configure:4827: checking for bzero in -linet" >&5
 ac_lib_var=`echo inet'_'bzero | sed 'y%./+-%__p_%'`
 ac_lib_var=`echo inet'_'bzero | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-linet  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 4393 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char bzero();
-
-int main() {
-bzero()
-; return 0; }
-EOF
-if { (eval echo configure:4404: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  LIBS="$LIBS -linet"
-else
-  echo "$ac_t""no" 1>&6
-fi
-       for ac_hdr in sys/termio.h 
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4427: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   echo $ac_n "(cached) $ac_c" 1>&6
 else
-  cat > conftest.$ac_ext <<EOF
-#line 4432 "configure"
+  ac_save_LIBS="$LIBS"
+LIBS="-linet  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 4835 "configure"
 #include "confdefs.h"
 #include "confdefs.h"
-#include <$ac_hdr>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char bzero();
+
+int main() {
+bzero()
+; return 0; }
 EOF
 EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4437: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
+if { (eval echo configure:4846: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
+  eval "ac_cv_lib_$ac_lib_var=yes"
 else
 else
-  echo "$ac_err" >&5
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
+  eval "ac_cv_lib_$ac_lib_var=no"
 fi
 rm -f conftest*
 fi
 rm -f conftest*
+LIBS="$ac_save_LIBS"
+
 fi
 fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo "$ac_t""yes" 1>&6
-    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
+  LIBS="$LIBS -linet"
 else
   echo "$ac_t""no" 1>&6
 fi
 else
   echo "$ac_t""no" 1>&6
 fi
-done
-
 fi
 
 
 echo $ac_n "checking if sys/time.h works with sys/select.h""... $ac_c" 1>&6
 fi
 
 
 echo $ac_n "checking if sys/time.h works with sys/select.h""... $ac_c" 1>&6
-echo "configure:4467: checking if sys/time.h works with sys/select.h" >&5
+echo "configure:4869: checking if sys/time.h works with sys/select.h" >&5
 if eval "test \"`echo '$''{'cf_cv_sys_time_select'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'cf_cv_sys_time_select'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 4473 "configure"
+#line 4875 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
 #include "confdefs.h"
 
 #include <sys/types.h>
-#if HAVE_SYS_TIME_H
+#ifdef HAVE_SYS_TIME_H
 #include <sys/time.h>
 #endif
 #include <sys/time.h>
 #endif
-#if HAVE_SYS_SELECT_H
+#ifdef HAVE_SYS_SELECT_H
 #include <sys/select.h>
 #endif
 
 #include <sys/select.h>
 #endif
 
@@ -4484,7 +4886,7 @@ int main() {
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:4488: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4890: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_sys_time_select=yes
 else
   rm -rf conftest*
   cf_cv_sys_time_select=yes
 else
@@ -4498,7 +4900,7 @@ rm -f conftest*
 fi
 
 echo "$ac_t""$cf_cv_sys_time_select" 1>&6
 fi
 
 echo "$ac_t""$cf_cv_sys_time_select" 1>&6
-test $cf_cv_sys_time_select = yes && cat >> confdefs.h <<\EOF
+test "$cf_cv_sys_time_select" = yes && cat >> confdefs.h <<\EOF
 #define HAVE_SYS_TIME_SELECT 1
 EOF
 
 #define HAVE_SYS_TIME_SELECT 1
 EOF
 
@@ -4513,12 +4915,12 @@ ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$a
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking for working const""... $ac_c" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:4517: checking for working const" >&5
+echo "configure:4919: checking for working const" >&5
 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4522 "configure"
+#line 4924 "configure"
 #include "confdefs.h"
 
 int main() {
 #include "confdefs.h"
 
 int main() {
@@ -4567,7 +4969,7 @@ ccp = (char const *const *) p;
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:4571: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4973: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -4588,21 +4990,21 @@ EOF
 fi
 
 echo $ac_n "checking for inline""... $ac_c" 1>&6
 fi
 
 echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:4592: checking for inline" >&5
+echo "configure:4994: checking for inline" >&5
 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
   cat > conftest.$ac_ext <<EOF
-#line 4599 "configure"
+#line 5001 "configure"
 #include "confdefs.h"
 
 int main() {
 } $ac_kw foo() {
 ; return 0; }
 EOF
 #include "confdefs.h"
 
 int main() {
 } $ac_kw foo() {
 ; return 0; }
 EOF
-if { (eval echo configure:4606: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5008: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_inline=$ac_kw; break
 else
   rm -rf conftest*
   ac_cv_c_inline=$ac_kw; break
 else
@@ -4627,27 +5029,27 @@ EOF
  ;;
 esac
 
  ;;
 esac
 
-test $ac_cv_c_inline != no && cat >> confdefs.h <<\EOF
+test "$ac_cv_c_inline" != no && cat >> confdefs.h <<\EOF
 #define CC_HAS_INLINE_FUNCS 1
 EOF
 
 
 
 echo $ac_n "checking if unsigned literals are legal""... $ac_c" 1>&6
 #define CC_HAS_INLINE_FUNCS 1
 EOF
 
 
 
 echo $ac_n "checking if unsigned literals are legal""... $ac_c" 1>&6
-echo "configure:4638: checking if unsigned literals are legal" >&5
+echo "configure:5040: checking if unsigned literals are legal" >&5
 if eval "test \"`echo '$''{'cf_cv_unsigned_literals'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
        cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'cf_cv_unsigned_literals'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
        cat > conftest.$ac_ext <<EOF
-#line 4644 "configure"
+#line 5046 "configure"
 #include "confdefs.h"
 
 int main() {
 long x = 1L + 1UL + 1U + 1
 ; return 0; }
 EOF
 #include "confdefs.h"
 
 int main() {
 long x = 1L + 1UL + 1U + 1
 ; return 0; }
 EOF
-if { (eval echo configure:4651: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5053: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_unsigned_literals=yes
 else
   rm -rf conftest*
   cf_cv_unsigned_literals=yes
 else
@@ -4665,7 +5067,7 @@ echo "$ac_t""$cf_cv_unsigned_literals" 1>&6
 
 
 echo $ac_n "checking for type of chtype""... $ac_c" 1>&6
 
 
 echo $ac_n "checking for type of chtype""... $ac_c" 1>&6
-echo "configure:4669: checking for type of chtype" >&5
+echo "configure:5071: checking for type of chtype" >&5
 if eval "test \"`echo '$''{'cf_cv_typeof_chtype'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'cf_cv_typeof_chtype'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4674,10 +5076,10 @@ else
   cf_cv_typeof_chtype=long
 else
   cat > conftest.$ac_ext <<EOF
   cf_cv_typeof_chtype=long
 else
   cat > conftest.$ac_ext <<EOF
-#line 4678 "configure"
+#line 5080 "configure"
 #include "confdefs.h"
 
 #include "confdefs.h"
 
-#if USE_WIDEC_SUPPORT
+#ifdef USE_WIDEC_SUPPORT
 #include <stddef.h>    /* we want wchar_t */
 #define WANT_BITS 39
 #else
 #include <stddef.h>    /* we want wchar_t */
 #define WANT_BITS 39
 #else
@@ -4689,7 +5091,7 @@ int main()
        FILE *fp = fopen("cf_test.out", "w");
        if (fp != 0) {
                char *result = "long";
        FILE *fp = fopen("cf_test.out", "w");
        if (fp != 0) {
                char *result = "long";
-#if USE_WIDEC_SUPPORT
+#ifdef USE_WIDEC_SUPPORT
                /*
                 * If wchar_t is smaller than a long, it must be an int or a
                 * short.  We prefer not to use a short anyway.
                /*
                 * If wchar_t is smaller than a long, it must be an int or a
                 * short.  We prefer not to use a short anyway.
@@ -4720,7 +5122,7 @@ int main()
 }
                
 EOF
 }
                
 EOF
-if { (eval echo configure:4724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5126: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   cf_cv_typeof_chtype=`cat cf_test.out`
 else
 then
   cf_cv_typeof_chtype=`cat cf_test.out`
 else
@@ -4753,7 +5155,7 @@ test "$cf_cv_typeof_chtype"    = long && cf_cv_1UL="${cf_cv_1UL}L"
 
 
 echo $ac_n "checking for number of bits in chtype""... $ac_c" 1>&6
 
 
 echo $ac_n "checking for number of bits in chtype""... $ac_c" 1>&6
-echo "configure:4757: checking for number of bits in chtype" >&5
+echo "configure:5159: checking for number of bits in chtype" >&5
 if eval "test \"`echo '$''{'cf_cv_shift_limit'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'cf_cv_shift_limit'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4762,7 +5164,7 @@ else
   cf_cv_shift_limit=32
 else
   cat > conftest.$ac_ext <<EOF
   cf_cv_shift_limit=32
 else
   cat > conftest.$ac_ext <<EOF
-#line 4766 "configure"
+#line 5168 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -4785,7 +5187,7 @@ int main()
 }
                
 EOF
 }
                
 EOF
-if { (eval echo configure:4789: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5191: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   cf_cv_shift_limit=`cat cf_test.out`
 else
 then
   cf_cv_shift_limit=`cat cf_test.out`
 else
@@ -4805,7 +5207,7 @@ echo "$ac_t""$cf_cv_shift_limit" 1>&6
 
 
 echo $ac_n "checking for width of character-index""... $ac_c" 1>&6
 
 
 echo $ac_n "checking for width of character-index""... $ac_c" 1>&6
-echo "configure:4809: checking for width of character-index" >&5
+echo "configure:5211: checking for width of character-index" >&5
 if eval "test \"`echo '$''{'cf_cv_widec_shift'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'cf_cv_widec_shift'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4832,13 +5234,13 @@ echo "$ac_t""$cf_cv_widec_shift" 1>&6
 
 
 echo $ac_n "checking if external errno is declared""... $ac_c" 1>&6
 
 
 echo $ac_n "checking if external errno is declared""... $ac_c" 1>&6
-echo "configure:4836: checking if external errno is declared" >&5
+echo "configure:5238: checking if external errno is declared" >&5
 if eval "test \"`echo '$''{'cf_cv_dcl_errno'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'cf_cv_dcl_errno'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 4842 "configure"
+#line 5244 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_STDLIB_H
 #include "confdefs.h"
 
 #ifdef HAVE_STDLIB_H
@@ -4851,7 +5253,7 @@ int main() {
 long x = (long) errno
 ; return 0; }
 EOF
 long x = (long) errno
 ; return 0; }
 EOF
-if { (eval echo configure:4855: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5257: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval 'cf_cv_dcl_'errno'=yes'
 else
   rm -rf conftest*
   eval 'cf_cv_dcl_'errno'=yes'
 else
@@ -4871,7 +5273,7 @@ echo "$ac_t""$cf_result" 1>&6
 if test "$cf_result" = no ; then
     eval 'cf_result=DECL_'errno
     
 if test "$cf_result" = no ; then
     eval 'cf_result=DECL_'errno
     
-cf_result=`echo $cf_result | tr '[a-z]' '[A-Z]'`
+cf_result=`echo "$cf_result" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
     cat >> confdefs.h <<EOF
 #define $cf_result 1
 
     cat >> confdefs.h <<EOF
 #define $cf_result 1
@@ -4882,13 +5284,13 @@ fi
 # It's possible (for near-UNIX clones) that the data doesn't exist
 
 echo $ac_n "checking if external errno exists""... $ac_c" 1>&6
 # It's possible (for near-UNIX clones) that the data doesn't exist
 
 echo $ac_n "checking if external errno exists""... $ac_c" 1>&6
-echo "configure:4886: checking if external errno exists" >&5
+echo "configure:5288: checking if external errno exists" >&5
 if eval "test \"`echo '$''{'cf_cv_have_errno'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'cf_cv_have_errno'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 4892 "configure"
+#line 5294 "configure"
 #include "confdefs.h"
 
 #undef errno
 #include "confdefs.h"
 
 #undef errno
@@ -4898,7 +5300,7 @@ int main() {
 errno = 2
 ; return 0; }
 EOF
 errno = 2
 ; return 0; }
 EOF
-if { (eval echo configure:4902: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5304: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval 'cf_cv_have_'errno'=yes'
 else
   rm -rf conftest*
   eval 'cf_cv_have_'errno'=yes'
 else
@@ -4917,7 +5319,7 @@ echo "$ac_t""$cf_result" 1>&6
 if test "$cf_result" = yes ; then
     eval 'cf_result=HAVE_'errno
     
 if test "$cf_result" = yes ; then
     eval 'cf_result=HAVE_'errno
     
-cf_result=`echo $cf_result | tr '[a-z]' '[A-Z]'`
+cf_result=`echo "$cf_result" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
     cat >> confdefs.h <<EOF
 #define $cf_result 1
 
     cat >> confdefs.h <<EOF
 #define $cf_result 1
@@ -4930,23 +5332,23 @@ fi
 
 
 echo $ac_n "checking if data-only library module links""... $ac_c" 1>&6
 
 
 echo $ac_n "checking if data-only library module links""... $ac_c" 1>&6
-echo "configure:4934: checking if data-only library module links" >&5
+echo "configure:5336: checking if data-only library module links" >&5
 if eval "test \"`echo '$''{'cf_cv_link_dataonly'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
        rm -f conftest.a
                cat >conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'cf_cv_link_dataonly'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
        rm -f conftest.a
                cat >conftest.$ac_ext <<EOF
-#line 4941 "configure"
+#line 5343 "configure"
 int    testdata[3] = { 123, 456, 789 };
 EOF
 int    testdata[3] = { 123, 456, 789 };
 EOF
-               if { (eval echo configure:4944: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } ; then
+               if { (eval echo configure:5346: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } ; then
                mv conftest.o data.o && \
                ( $AR $AR_OPTS conftest.a data.o ) 2>&5 1>/dev/null
        fi
        rm -f conftest.$ac_ext data.o
                cat >conftest.$ac_ext <<EOF
                mv conftest.o data.o && \
                ( $AR $AR_OPTS conftest.a data.o ) 2>&5 1>/dev/null
        fi
        rm -f conftest.$ac_ext data.o
                cat >conftest.$ac_ext <<EOF
-#line 4950 "configure"
+#line 5352 "configure"
 int    testfunc()
 {
 #if defined(NeXT)
 int    testfunc()
 {
 #if defined(NeXT)
@@ -4959,7 +5361,7 @@ int       testfunc()
 #endif
 }
 EOF
 #endif
 }
 EOF
-               if { (eval echo configure:4963: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+               if { (eval echo configure:5365: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
                mv conftest.o func.o && \
                ( $AR $AR_OPTS conftest.a func.o ) 2>&5 1>/dev/null
        fi
                mv conftest.o func.o && \
                ( $AR $AR_OPTS conftest.a func.o ) 2>&5 1>/dev/null
        fi
@@ -4971,7 +5373,7 @@ EOF
   cf_cv_link_dataonly=unknown
 else
   cat > conftest.$ac_ext <<EOF
   cf_cv_link_dataonly=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 4975 "configure"
+#line 5377 "configure"
 #include "confdefs.h"
 
        int main()
 #include "confdefs.h"
 
        int main()
@@ -4981,7 +5383,7 @@ else
        }
        
 EOF
        }
        
 EOF
-if { (eval echo configure:4985: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5387: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   cf_cv_link_dataonly=yes
 else
 then
   cf_cv_link_dataonly=yes
 else
@@ -4998,67 +5400,19 @@ fi
 fi
 
 echo "$ac_t""$cf_cv_link_dataonly" 1>&6
 fi
 
 echo "$ac_t""$cf_cv_link_dataonly" 1>&6
-test $cf_cv_link_dataonly = no && cat >> confdefs.h <<\EOF
+test "$cf_cv_link_dataonly" = no && cat >> confdefs.h <<\EOF
 #define BROKEN_LINKER 1
 EOF
 
 
 
 #define BROKEN_LINKER 1
 EOF
 
 
 
-echo $ac_n "checking for speed_t""... $ac_c" 1>&6
-echo "configure:5009: checking for speed_t" >&5
-OSPEED_INCLUDES=
-cat > conftest.$ac_ext <<EOF
-#line 5012 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-int main() {
-speed_t some_variable = 0
-; return 0; }
-EOF
-if { (eval echo configure:5019: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-  rm -rf conftest*
-  OSPEED_TYPE=speed_t
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  OSPEED_TYPE=unsigned
-fi
-rm -f conftest*
-cat > conftest.$ac_ext <<EOF
-#line 5030 "configure"
-#include "confdefs.h"
-#include <termios.h>
-int main() {
-speed_t some_variable = 0
-; return 0; }
-EOF
-if { (eval echo configure:5037: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-  rm -rf conftest*
-  OSPEED_TYPE=speed_t
-        OSPEED_INCLUDES="#include <termios.h>"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-fi
-rm -f conftest*
-
-
-if test "$OSPEED_TYPE" = "unsigned" ; then
-       echo "$ac_t""no" 1>&6
-       cat >> confdefs.h <<\EOF
-#define speed_t unsigned
-EOF
-
-else
-       echo "$ac_t""yes" 1>&6
-fi
-
-
 ###    Checks for library functions.
 for ac_func in \
 getcwd \
 ###    Checks for library functions.
 for ac_func in \
 getcwd \
+getegid \
+geteuid \
 getttynam \
 getttynam \
+issetugid \
 memccpy \
 mkstemp \
 nanosleep \
 memccpy \
 mkstemp \
 nanosleep \
@@ -5072,7 +5426,6 @@ sigaction \
 sigvec \
 strdup \
 strstr \
 sigvec \
 strdup \
 strstr \
-tcgetattr \
 tcgetpgrp \
 times \
 vfscanf \
 tcgetpgrp \
 times \
 vfscanf \
@@ -5081,12 +5434,12 @@ vsscanf \
 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5085: checking for $ac_func" >&5
+echo "configure:5438: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5090 "configure"
+#line 5443 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5109,7 +5462,7 @@ $ac_func();
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:5113: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5466: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -5136,13 +5489,13 @@ done
 if test "$with_getcap" = "yes" ; then
        
 echo $ac_n "checking for terminal-capability database functions""... $ac_c" 1>&6
 if test "$with_getcap" = "yes" ; then
        
 echo $ac_n "checking for terminal-capability database functions""... $ac_c" 1>&6
-echo "configure:5140: checking for terminal-capability database functions" >&5
+echo "configure:5493: checking for terminal-capability database functions" >&5
 if eval "test \"`echo '$''{'cf_cv_cgetent'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'cf_cv_cgetent'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 5146 "configure"
+#line 5499 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
 #include "confdefs.h"
 
 #include <stdlib.h>
@@ -5157,7 +5510,7 @@ int main() {
        
 ; return 0; }
 EOF
        
 ; return 0; }
 EOF
-if { (eval echo configure:5161: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5514: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_cgetent=yes
 else
   rm -rf conftest*
   cf_cv_cgetent=yes
 else
@@ -5171,7 +5524,7 @@ rm -f conftest*
 fi
 
 echo "$ac_t""$cf_cv_cgetent" 1>&6
 fi
 
 echo "$ac_t""$cf_cv_cgetent" 1>&6
-test $cf_cv_cgetent = yes && cat >> confdefs.h <<\EOF
+test "$cf_cv_cgetent" = yes && cat >> confdefs.h <<\EOF
 #define HAVE_BSD_CGETENT 1
 EOF
 
 #define HAVE_BSD_CGETENT 1
 EOF
 
@@ -5180,20 +5533,20 @@ fi
 
 
 echo $ac_n "checking for isascii""... $ac_c" 1>&6
 
 
 echo $ac_n "checking for isascii""... $ac_c" 1>&6
-echo "configure:5184: checking for isascii" >&5
+echo "configure:5537: checking for isascii" >&5
 if eval "test \"`echo '$''{'cf_cv_have_isascii'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
        cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'cf_cv_have_isascii'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
        cat > conftest.$ac_ext <<EOF
-#line 5190 "configure"
+#line 5543 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 int main() {
 int x = isascii(' ')
 ; return 0; }
 EOF
 #include "confdefs.h"
 #include <ctype.h>
 int main() {
 int x = isascii(' ')
 ; return 0; }
 EOF
-if { (eval echo configure:5197: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5550: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_have_isascii=yes
 else
   rm -rf conftest*
   cf_cv_have_isascii=yes
 else
@@ -5206,17 +5559,17 @@ rm -f conftest*
 
 fi
 echo "$ac_t""$cf_cv_have_isascii" 1>&6
 
 fi
 echo "$ac_t""$cf_cv_have_isascii" 1>&6
-test $cf_cv_have_isascii = yes && cat >> confdefs.h <<\EOF
+test "$cf_cv_have_isascii" = yes && cat >> confdefs.h <<\EOF
 #define HAVE_ISASCII 1
 EOF
 
 
 
 #define HAVE_ISASCII 1
 EOF
 
 
 
-if test $ac_cv_func_sigaction = yes; then
+if test "$ac_cv_func_sigaction" = yes; then
 echo $ac_n "checking whether sigaction needs _POSIX_SOURCE""... $ac_c" 1>&6
 echo $ac_n "checking whether sigaction needs _POSIX_SOURCE""... $ac_c" 1>&6
-echo "configure:5218: checking whether sigaction needs _POSIX_SOURCE" >&5
+echo "configure:5571: checking whether sigaction needs _POSIX_SOURCE" >&5
 cat > conftest.$ac_ext <<EOF
 cat > conftest.$ac_ext <<EOF
-#line 5220 "configure"
+#line 5573 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -5225,7 +5578,7 @@ int main() {
 struct sigaction act
 ; return 0; }
 EOF
 struct sigaction act
 ; return 0; }
 EOF
-if { (eval echo configure:5229: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5582: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   sigact_bad=no
 else
   rm -rf conftest*
   sigact_bad=no
 else
@@ -5234,7 +5587,7 @@ else
   rm -rf conftest*
   
 cat > conftest.$ac_ext <<EOF
   rm -rf conftest*
   
 cat > conftest.$ac_ext <<EOF
-#line 5238 "configure"
+#line 5591 "configure"
 #include "confdefs.h"
 
 #define _POSIX_SOURCE
 #include "confdefs.h"
 
 #define _POSIX_SOURCE
@@ -5244,7 +5597,7 @@ int main() {
 struct sigaction act
 ; return 0; }
 EOF
 struct sigaction act
 ; return 0; }
 EOF
-if { (eval echo configure:5248: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5601: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   sigact_bad=yes
         cat >> confdefs.h <<\EOF
   rm -rf conftest*
   sigact_bad=yes
         cat >> confdefs.h <<\EOF
@@ -5264,24 +5617,110 @@ echo "$ac_t""$sigact_bad" 1>&6
 fi
 
 
 fi
 
 
-if test $ac_cv_header_termios_h = yes ; then
+for ac_hdr in \
+termio.h \
+termios.h \
+unistd.h \
+
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:5629: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 5634 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:5639: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=yes"
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+  cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+else
+  echo "$ac_t""no" 1>&6
+fi
+done
+
+if test "$ISC" = yes ; then
+       for ac_hdr in sys/termio.h 
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:5670: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 5675 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:5680: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=yes"
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+  cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+else
+  echo "$ac_t""no" 1>&6
+fi
+done
+
+fi
+if test "$ac_cv_header_termios_h" = yes ; then
        case "$CFLAGS" in
        *-D_POSIX_SOURCE*)
                termios_bad=dunno ;;
        *)      termios_bad=maybe ;;
        esac
        case "$CFLAGS" in
        *-D_POSIX_SOURCE*)
                termios_bad=dunno ;;
        *)      termios_bad=maybe ;;
        esac
-       if test $termios_bad = maybe ; then
+       if test "$termios_bad" = maybe ; then
        echo $ac_n "checking whether termios.h needs _POSIX_SOURCE""... $ac_c" 1>&6
        echo $ac_n "checking whether termios.h needs _POSIX_SOURCE""... $ac_c" 1>&6
-echo "configure:5276: checking whether termios.h needs _POSIX_SOURCE" >&5
+echo "configure:5715: checking whether termios.h needs _POSIX_SOURCE" >&5
        cat > conftest.$ac_ext <<EOF
        cat > conftest.$ac_ext <<EOF
-#line 5278 "configure"
+#line 5717 "configure"
 #include "confdefs.h"
 #include <termios.h>
 int main() {
 struct termios foo; int x = foo.c_iflag
 ; return 0; }
 EOF
 #include "confdefs.h"
 #include <termios.h>
 int main() {
 struct termios foo; int x = foo.c_iflag
 ; return 0; }
 EOF
-if { (eval echo configure:5285: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5724: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   termios_bad=no
 else
   rm -rf conftest*
   termios_bad=no
 else
@@ -5290,7 +5729,7 @@ else
   rm -rf conftest*
   
                cat > conftest.$ac_ext <<EOF
   rm -rf conftest*
   
                cat > conftest.$ac_ext <<EOF
-#line 5294 "configure"
+#line 5733 "configure"
 #include "confdefs.h"
 
 #define _POSIX_SOURCE
 #include "confdefs.h"
 
 #define _POSIX_SOURCE
@@ -5299,7 +5738,7 @@ int main() {
 struct termios foo; int x = foo.c_iflag
 ; return 0; }
 EOF
 struct termios foo; int x = foo.c_iflag
 ; return 0; }
 EOF
-if { (eval echo configure:5303: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5742: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   termios_bad=unknown
 else
   rm -rf conftest*
   termios_bad=unknown
 else
@@ -5320,11 +5759,61 @@ rm -f conftest*
 fi
 
 
 fi
 
 
+
+echo $ac_n "checking for tcgetattr""... $ac_c" 1>&6
+echo "configure:5765: checking for tcgetattr" >&5
+if eval "test \"`echo '$''{'cf_cv_have_tcgetattr'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+cat > conftest.$ac_ext <<EOF
+#line 5771 "configure"
+#include "confdefs.h"
+
+#include <sys/types.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef HAVE_TERMIOS_H
+#include <termios.h>
+#define TTY struct termios
+#else
+#ifdef HAVE_TERMIO_H
+#include <termio.h>
+#define TTY struct termio
+#endif
+#endif
+
+int main() {
+
+TTY foo;
+tcgetattr(1, &foo);
+; return 0; }
+EOF
+if { (eval echo configure:5794: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  cf_cv_have_tcgetattr=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  cf_cv_have_tcgetattr=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$cf_cv_have_tcgetattr" 1>&6
+test "$cf_cv_have_tcgetattr" = yes && cat >> confdefs.h <<\EOF
+#define HAVE_TCGETATTR 1
+EOF
+
+
+
 if test "$cross_compiling" = yes ; then
        echo "configure: warning: cross compiling: assume setvbuf params not reversed" 1>&2
 else
        echo $ac_n "checking whether setvbuf arguments are reversed""... $ac_c" 1>&6
 if test "$cross_compiling" = yes ; then
        echo "configure: warning: cross compiling: assume setvbuf params not reversed" 1>&2
 else
        echo $ac_n "checking whether setvbuf arguments are reversed""... $ac_c" 1>&6
-echo "configure:5328: checking whether setvbuf arguments are reversed" >&5
+echo "configure:5817: checking whether setvbuf arguments are reversed" >&5
 if eval "test \"`echo '$''{'ac_cv_func_setvbuf_reversed'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_func_setvbuf_reversed'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5332,7 +5821,7 @@ else
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 5336 "configure"
+#line 5825 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 /* If setvbuf has the reversed format, exit 0. */
 #include "confdefs.h"
 #include <stdio.h>
 /* If setvbuf has the reversed format, exit 0. */
@@ -5346,7 +5835,7 @@ main () {
   exit(0);                     /* Non-reversed systems segv here.  */
 }
 EOF
   exit(0);                     /* Non-reversed systems segv here.  */
 }
 EOF
-if { (eval echo configure:5350: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_setvbuf_reversed=yes
 else
 then
   ac_cv_func_setvbuf_reversed=yes
 else
@@ -5371,12 +5860,12 @@ fi
 
 fi
 echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
 
 fi
 echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:5375: checking return type of signal handlers" >&5
+echo "configure:5864: checking return type of signal handlers" >&5
 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5380 "configure"
+#line 5869 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <signal.h>
 #include "confdefs.h"
 #include <sys/types.h>
 #include <signal.h>
@@ -5393,7 +5882,7 @@ int main() {
 int i;
 ; return 0; }
 EOF
 int i;
 ; return 0; }
 EOF
-if { (eval echo configure:5397: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5886: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_type_signal=void
 else
   rm -rf conftest*
   ac_cv_type_signal=void
 else
@@ -5413,13 +5902,13 @@ EOF
 
 
 echo $ac_n "checking for type sigaction_t""... $ac_c" 1>&6
 
 
 echo $ac_n "checking for type sigaction_t""... $ac_c" 1>&6
-echo "configure:5417: checking for type sigaction_t" >&5
+echo "configure:5906: checking for type sigaction_t" >&5
 if eval "test \"`echo '$''{'cf_cv_type_sigaction'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
        cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'cf_cv_type_sigaction'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
        cat > conftest.$ac_ext <<EOF
-#line 5423 "configure"
+#line 5912 "configure"
 #include "confdefs.h"
 
 #include <signal.h>
 #include "confdefs.h"
 
 #include <signal.h>
@@ -5427,7 +5916,7 @@ int main() {
 sigaction_t x
 ; return 0; }
 EOF
 sigaction_t x
 ; return 0; }
 EOF
-if { (eval echo configure:5431: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5920: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_type_sigaction=yes
 else
   rm -rf conftest*
   cf_cv_type_sigaction=yes
 else
@@ -5440,14 +5929,15 @@ rm -f conftest*
 fi
 
 echo "$ac_t""$cf_cv_type_sigaction" 1>&6
 fi
 
 echo "$ac_t""$cf_cv_type_sigaction" 1>&6
-test $cf_cv_type_sigaction = yes && cat >> confdefs.h <<\EOF
+test "$cf_cv_type_sigaction" = yes && cat >> confdefs.h <<\EOF
 #define HAVE_TYPE_SIGACTION 1
 EOF
 
 
 
 #define HAVE_TYPE_SIGACTION 1
 EOF
 
 
 
+
 echo $ac_n "checking declaration of size-change""... $ac_c" 1>&6
 echo $ac_n "checking declaration of size-change""... $ac_c" 1>&6
-echo "configure:5451: checking declaration of size-change" >&5
+echo "configure:5941: checking declaration of size-change" >&5
 if eval "test \"`echo '$''{'cf_cv_sizechange'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'cf_cv_sizechange'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5461,17 +5951,17 @@ do
     CFLAGS="$cf_save_CFLAGS"
     test -n "$cf_opts" && CFLAGS="$CFLAGS -D$cf_opts"
     cat > conftest.$ac_ext <<EOF
     CFLAGS="$cf_save_CFLAGS"
     test -n "$cf_opts" && CFLAGS="$CFLAGS -D$cf_opts"
     cat > conftest.$ac_ext <<EOF
-#line 5465 "configure"
+#line 5955 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include "confdefs.h"
 #include <sys/types.h>
-#if HAVE_TERMIOS_H
+#ifdef HAVE_TERMIOS_H
 #include <termios.h>
 #else
 #include <termios.h>
 #else
-#if HAVE_TERMIO_H
+#ifdef HAVE_TERMIO_H
 #include <termio.h>
 #endif
 #endif
 #include <termio.h>
 #endif
 #endif
-#if NEED_PTEM_H
+#ifdef NEED_PTEM_H
 /* This is a workaround for SCO:  they neglected to define struct winsize in
  * termios.h -- it's only in termio.h and ptem.h
  */
 /* This is a workaround for SCO:  they neglected to define struct winsize in
  * termios.h -- it's only in termio.h and ptem.h
  */
@@ -5500,7 +5990,7 @@ int main() {
        
 ; return 0; }
 EOF
        
 ; return 0; }
 EOF
-if { (eval echo configure:5504: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5994: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_sizechange=yes
 else
   rm -rf conftest*
   cf_cv_sizechange=yes
 else
@@ -5514,30 +6004,37 @@ rm -f conftest*
        CFLAGS="$cf_save_CFLAGS"
        if test "$cf_cv_sizechange" = yes ; then
                echo "size-change succeeded ($cf_opts)" >&5
        CFLAGS="$cf_save_CFLAGS"
        if test "$cf_cv_sizechange" = yes ; then
                echo "size-change succeeded ($cf_opts)" >&5
-               test -n "$cf_opts" && cat >> confdefs.h <<EOF
-#define $cf_opts 1
-EOF
-
+               test -n "$cf_opts" && cf_cv_sizechange="$cf_opts"
                break
        fi
 done
                break
        fi
 done
-       
+
 fi
 
 echo "$ac_t""$cf_cv_sizechange" 1>&6
 fi
 
 echo "$ac_t""$cf_cv_sizechange" 1>&6
-test $cf_cv_sizechange != no && cat >> confdefs.h <<\EOF
+if test "$cf_cv_sizechange" != no ; then
+       cat >> confdefs.h <<\EOF
 #define HAVE_SIZECHANGE 1
 EOF
 
 #define HAVE_SIZECHANGE 1
 EOF
 
+       case $cf_cv_sizechange in #(vi
+       NEED*)
+               cat >> confdefs.h <<EOF
+#define $cf_cv_sizechange  1
+EOF
+
+               ;;
+       esac
+fi
 
 
 echo $ac_n "checking for memmove""... $ac_c" 1>&6
 
 
 echo $ac_n "checking for memmove""... $ac_c" 1>&6
-echo "configure:5536: checking for memmove" >&5
+echo "configure:6033: checking for memmove" >&5
 if eval "test \"`echo '$''{'ac_cv_func_memmove'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_func_memmove'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5541 "configure"
+#line 6038 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char memmove(); below.  */
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char memmove(); below.  */
@@ -5560,7 +6057,7 @@ memmove();
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:5564: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6061: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_memmove=yes"
 else
   rm -rf conftest*
   eval "ac_cv_func_memmove=yes"
 else
@@ -5579,12 +6076,12 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for bcopy""... $ac_c" 1>&6
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for bcopy""... $ac_c" 1>&6
-echo "configure:5583: checking for bcopy" >&5
+echo "configure:6080: checking for bcopy" >&5
 if eval "test \"`echo '$''{'ac_cv_func_bcopy'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_func_bcopy'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5588 "configure"
+#line 6085 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char bcopy(); below.  */
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char bcopy(); below.  */
@@ -5607,7 +6104,7 @@ bcopy();
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:5611: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6108: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_bcopy=yes"
 else
   rm -rf conftest*
   eval "ac_cv_func_bcopy=yes"
 else
@@ -5623,7 +6120,7 @@ if eval "test \"`echo '$ac_cv_func_'bcopy`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   
        echo $ac_n "checking if bcopy does overlapping moves""... $ac_c" 1>&6
   echo "$ac_t""yes" 1>&6
   
        echo $ac_n "checking if bcopy does overlapping moves""... $ac_c" 1>&6
-echo "configure:5627: checking if bcopy does overlapping moves" >&5
+echo "configure:6124: checking if bcopy does overlapping moves" >&5
 if eval "test \"`echo '$''{'cf_cv_good_bcopy'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'cf_cv_good_bcopy'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5632,7 +6129,7 @@ else
   cf_cv_good_bcopy=unknown
 else
   cat > conftest.$ac_ext <<EOF
   cf_cv_good_bcopy=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 5636 "configure"
+#line 6133 "configure"
 #include "confdefs.h"
 
 int main() {
 #include "confdefs.h"
 
 int main() {
@@ -5645,7 +6142,7 @@ int main() {
 }
                
 EOF
 }
                
 EOF
-if { (eval echo configure:5649: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6146: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   cf_cv_good_bcopy=yes
 else
 then
   cf_cv_good_bcopy=yes
 else
@@ -5667,7 +6164,7 @@ else
 cf_cv_good_bcopy=no
 fi
 
 cf_cv_good_bcopy=no
 fi
 
-       if test $cf_cv_good_bcopy = yes ; then
+       if test "$cf_cv_good_bcopy" = yes ; then
                cat >> confdefs.h <<\EOF
 #define USE_OK_BCOPY 1
 EOF
                cat >> confdefs.h <<\EOF
 #define USE_OK_BCOPY 1
 EOF
@@ -5683,7 +6180,7 @@ fi
 
 
 echo $ac_n "checking if poll really works""... $ac_c" 1>&6
 
 
 echo $ac_n "checking if poll really works""... $ac_c" 1>&6
-echo "configure:5687: checking if poll really works" >&5
+echo "configure:6184: checking if poll really works" >&5
 if eval "test \"`echo '$''{'cf_cv_working_poll'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'cf_cv_working_poll'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5692,7 +6189,7 @@ if test "$cross_compiling" = yes; then
   cf_cv_working_poll=unknown
 else
   cat > conftest.$ac_ext <<EOF
   cf_cv_working_poll=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 5696 "configure"
+#line 6193 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -5712,7 +6209,7 @@ int main() {
        exit(ret != 0);
 }
 EOF
        exit(ret != 0);
 }
 EOF
-if { (eval echo configure:5716: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6213: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   cf_cv_working_poll=yes
 else
 then
   cf_cv_working_poll=yes
 else
@@ -5739,14 +6236,14 @@ if test -z "$cf_user_CFLAGS" ; then
 fi
 
 
 fi
 
 
-echo $ac_n "checking for builtin $CC bool type""... $ac_c" 1>&6
-echo "configure:5744: checking for builtin $CC bool type" >&5
+echo $ac_n "checking for builtin bool type""... $ac_c" 1>&6
+echo "configure:6241: checking for builtin bool type" >&5
 if eval "test \"`echo '$''{'cf_cv_cc_bool_type'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
        cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'cf_cv_cc_bool_type'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
        cat > conftest.$ac_ext <<EOF
-#line 5750 "configure"
+#line 6247 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -5756,7 +6253,7 @@ int main() {
 bool x = false
 ; return 0; }
 EOF
 bool x = false
 ; return 0; }
 EOF
-if { (eval echo configure:5760: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6257: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_cc_bool_type=1
 else
   rm -rf conftest*
   cf_cv_cc_bool_type=1
 else
@@ -5769,7 +6266,7 @@ rm -f conftest*
        
 fi
 
        
 fi
 
-if test $cf_cv_cc_bool_type = 1
+if test "$cf_cv_cc_bool_type" = 1
 then   echo "$ac_t""yes" 1>&6
 else   echo "$ac_t""no" 1>&6
 fi
 then   echo "$ac_t""yes" 1>&6
 else   echo "$ac_t""no" 1>&6
 fi
@@ -5793,7 +6290,7 @@ os2*) #(vi
        ;;
 esac
 echo $ac_n "checking for library $cf_stdcpp_libname""... $ac_c" 1>&6
        ;;
 esac
 echo $ac_n "checking for library $cf_stdcpp_libname""... $ac_c" 1>&6
-echo "configure:5797: checking for library $cf_stdcpp_libname" >&5
+echo "configure:6294: checking for library $cf_stdcpp_libname" >&5
 if eval "test \"`echo '$''{'cf_cv_libstdcpp'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'cf_cv_libstdcpp'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5801,7 +6298,7 @@ else
        cf_save="$LIBS"
        LIBS="$LIBS -l$cf_stdcpp_libname"
 cat > conftest.$ac_ext <<EOF
        cf_save="$LIBS"
        LIBS="$LIBS -l$cf_stdcpp_libname"
 cat > conftest.$ac_ext <<EOF
-#line 5805 "configure"
+#line 6302 "configure"
 #include "confdefs.h"
 
 #include <strstream.h>
 #include "confdefs.h"
 
 #include <strstream.h>
@@ -5812,7 +6309,7 @@ strstreambuf foo(buf, sizeof(buf))
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:5816: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6313: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_libstdcpp=yes
 else
   rm -rf conftest*
   cf_cv_libstdcpp=yes
 else
@@ -5827,15 +6324,16 @@ rm -f conftest*
 fi
 
 echo "$ac_t""$cf_cv_libstdcpp" 1>&6
 fi
 
 echo "$ac_t""$cf_cv_libstdcpp" 1>&6
-test $cf_cv_libstdcpp = yes && CXXLIBS="$CXXLIBS -l$cf_stdcpp_libname"
+test "$cf_cv_libstdcpp" = yes && CXXLIBS="$CXXLIBS -l$cf_stdcpp_libname"
 fi
 
 fi
 
-       case "`${CXX-g++} --version`" in
-       1*|2.0-6*)
-           cf_cxx_library=yes
-           ;;
-       2.7*)
-           
+       if test "$GXX" = yes; then
+               case "`${CXX-g++} --version`" in
+               1*|2.0-6*)
+                       cf_cxx_library=yes
+                       ;;
+               2.7*)
+                       
 cf_cxx_library=unknown
 case $cf_cv_system_name in #(vi
 os2*) #(vi
 cf_cxx_library=unknown
 case $cf_cv_system_name in #(vi
 os2*) #(vi
@@ -5845,13 +6343,13 @@ os2*) #(vi
        cf_gpp_libname=g++
        ;;
 esac
        cf_gpp_libname=g++
        ;;
 esac
-if test $ac_cv_prog_gxx = yes; then
+if test "$ac_cv_prog_gxx" = yes; then
        echo $ac_n "checking for lib$cf_gpp_libname""... $ac_c" 1>&6
        echo $ac_n "checking for lib$cf_gpp_libname""... $ac_c" 1>&6
-echo "configure:5851: checking for lib$cf_gpp_libname" >&5
+echo "configure:6349: checking for lib$cf_gpp_libname" >&5
        cf_save="$LIBS"
        LIBS="$LIBS -l$cf_gpp_libname"
        cat > conftest.$ac_ext <<EOF
        cf_save="$LIBS"
        LIBS="$LIBS -l$cf_gpp_libname"
        cat > conftest.$ac_ext <<EOF
-#line 5855 "configure"
+#line 6353 "configure"
 #include "confdefs.h"
 
 #include <$cf_gpp_libname/builtin.h>
 #include "confdefs.h"
 
 #include <$cf_gpp_libname/builtin.h>
@@ -5860,7 +6358,7 @@ int main() {
 two_arg_error_handler_t foo2 = lib_error_handler
 ; return 0; }
 EOF
 two_arg_error_handler_t foo2 = lib_error_handler
 ; return 0; }
 EOF
-if { (eval echo configure:5864: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6362: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cxx_library=yes
         CXXLIBS="$CXXLIBS -l$cf_gpp_libname"
   rm -rf conftest*
   cf_cxx_library=yes
         CXXLIBS="$CXXLIBS -l$cf_gpp_libname"
@@ -5880,7 +6378,7 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 5884 "configure"
+#line 6382 "configure"
 #include "confdefs.h"
 
 #include <builtin.h>
 #include "confdefs.h"
 
 #include <builtin.h>
@@ -5889,7 +6387,7 @@ int main() {
 two_arg_error_handler_t foo2 = lib_error_handler
 ; return 0; }
 EOF
 two_arg_error_handler_t foo2 = lib_error_handler
 ; return 0; }
 EOF
-if { (eval echo configure:5893: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6391: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cxx_library=yes
         CXXLIBS="$CXXLIBS -l$cf_gpp_libname"
   rm -rf conftest*
   cf_cxx_library=yes
         CXXLIBS="$CXXLIBS -l$cf_gpp_libname"
@@ -5910,13 +6408,16 @@ rm -f conftest*
        echo "$ac_t""$cf_cxx_library" 1>&6
 fi
 
        echo "$ac_t""$cf_cxx_library" 1>&6
 fi
 
-           ;;
-       *)
-           cf_cxx_library=no
-           ;;
-       esac
+                       ;;
+               *)
+                       cf_cxx_library=no
+                       ;;
+               esac
+       else
+               cf_cxx_library=no
+       fi
        echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
        echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
-echo "configure:5920: checking how to run the C++ preprocessor" >&5
+echo "configure:6421: checking how to run the C++ preprocessor" >&5
 if test -z "$CXXCPP"; then
 if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 if test -z "$CXXCPP"; then
 if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5929,12 +6430,12 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
   CXXCPP="${CXX-g++} -E"
   cat > conftest.$ac_ext <<EOF
 cross_compiling=$ac_cv_prog_cxx_cross
   CXXCPP="${CXX-g++} -E"
   cat > conftest.$ac_ext <<EOF
-#line 5933 "configure"
+#line 6434 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5938: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6439: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -5962,17 +6463,17 @@ for ac_hdr in typeinfo
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5966: checking for $ac_hdr" >&5
+echo "configure:6467: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5971 "configure"
+#line 6472 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5976: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6477: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5999,14 +6500,14 @@ fi
 done
 
        
 done
 
        
-echo $ac_n "checking for builtin $CXX bool type""... $ac_c" 1>&6
-echo "configure:6004: checking for builtin $CXX bool type" >&5
+echo $ac_n "checking for builtin bool type""... $ac_c" 1>&6
+echo "configure:6505: checking for builtin bool type" >&5
 if eval "test \"`echo '$''{'cf_cv_builtin_bool'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
        cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'cf_cv_builtin_bool'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
        cat > conftest.$ac_ext <<EOF
-#line 6010 "configure"
+#line 6511 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -6016,7 +6517,7 @@ int main() {
 bool x = false
 ; return 0; }
 EOF
 bool x = false
 ; return 0; }
 EOF
-if { (eval echo configure:6020: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6521: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_builtin_bool=1
 else
   rm -rf conftest*
   cf_cv_builtin_bool=1
 else
@@ -6029,14 +6530,14 @@ rm -f conftest*
        
 fi
 
        
 fi
 
-if test $cf_cv_builtin_bool = 1
+if test "$cf_cv_builtin_bool" = 1
 then   echo "$ac_t""yes" 1>&6
 else   echo "$ac_t""no" 1>&6
 fi
 
        
 then   echo "$ac_t""yes" 1>&6
 else   echo "$ac_t""no" 1>&6
 fi
 
        
-echo $ac_n "checking for size of $CXX bool""... $ac_c" 1>&6
-echo "configure:6040: checking for size of $CXX bool" >&5
+echo $ac_n "checking for size of bool""... $ac_c" 1>&6
+echo "configure:6541: checking for size of bool" >&5
 if eval "test \"`echo '$''{'cf_cv_type_of_bool'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'cf_cv_type_of_bool'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6046,7 +6547,7 @@ else
   cf_cv_type_of_bool=unknown
 else
   cat > conftest.$ac_ext <<EOF
   cf_cv_type_of_bool=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 6050 "configure"
+#line 6551 "configure"
 #include "confdefs.h"
 #ifdef __cplusplus
 extern "C" void exit(int);
 #include "confdefs.h"
 #ifdef __cplusplus
 extern "C" void exit(int);
@@ -6054,7 +6555,7 @@ extern "C" void exit(int);
 
 #include <stdlib.h>
 #include <stdio.h>
 
 #include <stdlib.h>
 #include <stdio.h>
-#if HAVE_GXX_BUILTIN_H
+#ifdef HAVE_GXX_BUILTIN_H
 #include <g++/builtin.h>
 #elif HAVE_GPP_BUILTIN_H
 #include <gpp/builtin.h>
 #include <g++/builtin.h>
 #elif HAVE_GPP_BUILTIN_H
 #include <gpp/builtin.h>
@@ -6078,7 +6579,7 @@ main()
 }
                
 EOF
 }
                
 EOF
-if { (eval echo configure:6082: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6583: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   cf_cv_type_of_bool=`cat cf_test.out`
 else
 then
   cf_cv_type_of_bool=`cat cf_test.out`
 else
@@ -6102,7 +6603,7 @@ fi
 
        
 echo $ac_n "checking for special defines needed for etip.h""... $ac_c" 1>&6
 
        
 echo $ac_n "checking for special defines needed for etip.h""... $ac_c" 1>&6
-echo "configure:6106: checking for special defines needed for etip.h" >&5
+echo "configure:6607: checking for special defines needed for etip.h" >&5
 cf_save_CXXFLAGS="$CXXFLAGS"
 cf_result="none"
 for cf_math in "" MATH_H
 cf_save_CXXFLAGS="$CXXFLAGS"
 cf_result="none"
 for cf_math in "" MATH_H
@@ -6113,7 +6614,7 @@ do
        test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
        test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
 cat > conftest.$ac_ext <<EOF
        test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
        test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
 cat > conftest.$ac_ext <<EOF
-#line 6117 "configure"
+#line 6618 "configure"
 #include "confdefs.h"
 
 #include <etip.h.in>
 #include "confdefs.h"
 
 #include <etip.h.in>
@@ -6122,7 +6623,7 @@ int main() {
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:6126: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6627: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
        test -n "$cf_math" && cat >> confdefs.h <<EOF
   rm -rf conftest*
   
        test -n "$cf_math" && cat >> confdefs.h <<EOF
@@ -6147,9 +6648,9 @@ echo "$ac_t""$cf_result" 1>&6
 CXXFLAGS="$cf_save_CXXFLAGS"
 
        
 CXXFLAGS="$cf_save_CXXFLAGS"
 
        
-if test -n "$CXX" ; then
+if test "$CXX" = yes ; then
 echo $ac_n "checking if $CXX accepts parameter initialization""... $ac_c" 1>&6
 echo $ac_n "checking if $CXX accepts parameter initialization""... $ac_c" 1>&6
-echo "configure:6153: checking if $CXX accepts parameter initialization" >&5
+echo "configure:6654: checking if $CXX accepts parameter initialization" >&5
 if eval "test \"`echo '$''{'cf_cv_cpp_param_init'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'cf_cv_cpp_param_init'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6165,7 +6666,7 @@ cross_compiling=$ac_cv_prog_cxx_cross
   cf_cv_cpp_param_init=unknown
 else
   cat > conftest.$ac_ext <<EOF
   cf_cv_cpp_param_init=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 6169 "configure"
+#line 6670 "configure"
 #include "confdefs.h"
 #ifdef __cplusplus
 extern "C" void exit(int);
 #include "confdefs.h"
 #ifdef __cplusplus
 extern "C" void exit(int);
@@ -6186,7 +6687,7 @@ TEST::TEST(int x = 1)     // some compilers do not like second initializer
 void main() { }
 
 EOF
 void main() { }
 
 EOF
-if { (eval echo configure:6190: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6691: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   cf_cv_cpp_param_init=yes
 else
 then
   cf_cv_cpp_param_init=yes
 else
@@ -6228,7 +6729,7 @@ else
        # may change.
 
        echo $ac_n "checking for fallback type of bool""... $ac_c" 1>&6
        # may change.
 
        echo $ac_n "checking for fallback type of bool""... $ac_c" 1>&6
-echo "configure:6232: checking for fallback type of bool" >&5
+echo "configure:6733: checking for fallback type of bool" >&5
        case "$host_cpu" in #(vi
        i?86)   cf_cv_type_of_bool=char ;; #(vi
        *)      cf_cv_type_of_bool=int  ;;
        case "$host_cpu" in #(vi
        i?86)   cf_cv_type_of_bool=char ;; #(vi
        *)      cf_cv_type_of_bool=int  ;;
@@ -6244,7 +6745,7 @@ cf_ada_make=gnatmake
 # Extract the first word of "$cf_ada_make", so it can be a program name with args.
 set dummy $cf_ada_make; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
 # Extract the first word of "$cf_ada_make", so it can be a program name with args.
 set dummy $cf_ada_make; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:6248: checking for $ac_word" >&5
+echo "configure:6749: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gnat_exists'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_gnat_exists'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6298,40 +6799,40 @@ esac
    # Extract the first word of "m4", so it can be a program name with args.
 set dummy m4; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    # Extract the first word of "m4", so it can be a program name with args.
 set dummy m4; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:6302: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_m4_exists'+set}'`\" = set"; then
+echo "configure:6803: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_M4_exists'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   echo $ac_n "(cached) $ac_c" 1>&6
 else
-  if test -n "$m4_exists"; then
-  ac_cv_prog_m4_exists="$m4_exists" # Let the user override the test.
+  if test -n "$M4_exists"; then
+  ac_cv_prog_M4_exists="$M4_exists" # Let the user override the test.
 else
   IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
   ac_dummy="$PATH"
   for ac_dir in $ac_dummy; do
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
 else
   IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
   ac_dummy="$PATH"
   for ac_dir in $ac_dummy; do
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_m4_exists="yes"
+      ac_cv_prog_M4_exists="yes"
       break
     fi
   done
   IFS="$ac_save_ifs"
       break
     fi
   done
   IFS="$ac_save_ifs"
-  test -z "$ac_cv_prog_m4_exists" && ac_cv_prog_m4_exists="no"
+  test -z "$ac_cv_prog_M4_exists" && ac_cv_prog_M4_exists="no"
 fi
 fi
 fi
 fi
-m4_exists="$ac_cv_prog_m4_exists"
-if test -n "$m4_exists"; then
-  echo "$ac_t""$m4_exists" 1>&6
+M4_exists="$ac_cv_prog_M4_exists"
+if test -n "$M4_exists"; then
+  echo "$ac_t""$M4_exists" 1>&6
 else
   echo "$ac_t""no" 1>&6
 fi
 
 else
   echo "$ac_t""no" 1>&6
 fi
 
-   if test "$ac_cv_prog_m4_exists" = no; then
+   if test "$ac_cv_prog_M4_exists" = no; then
       cf_cv_prog_gnat_correct=no
       echo Ada95 binding required program m4 not found. Ada95 binding disabled.
    fi
    if test "$cf_cv_prog_gnat_correct" = yes; then
       echo $ac_n "checking if GNAT works""... $ac_c" 1>&6
       cf_cv_prog_gnat_correct=no
       echo Ada95 binding required program m4 not found. Ada95 binding disabled.
    fi
    if test "$cf_cv_prog_gnat_correct" = yes; then
       echo $ac_n "checking if GNAT works""... $ac_c" 1>&6
-echo "configure:6335: checking if GNAT works" >&5
+echo "configure:6836: checking if GNAT works" >&5
       
 rm -f conftest*
 cat >>conftest.ads <<CF_EOF
       
 rm -f conftest*
 cat >>conftest.ads <<CF_EOF
@@ -6451,11 +6952,6 @@ eval ADA_OBJECTS="$withval"
 
    
 
 
    
 
-# This has been fixed!
-#   if test $with_shared = no
-#   then
-#      AC_MSG_WARN(Ada95 applications will not link properly with static libraries)
-#   fi
 fi
 fi
 
 fi
 fi
 
@@ -6463,7 +6959,7 @@ fi
 ### using a 'char' for bools.  gcc 2.7.0's conversion-warnings are broken too
 ### badly to consider using for development purposes, but 2.5.8 is okay.
 if test -n "$with_warnings"; then
 ### using a 'char' for bools.  gcc 2.7.0's conversion-warnings are broken too
 ### badly to consider using for development purposes, but 2.5.8 is okay.
 if test -n "$with_warnings"; then
-       if test -n "$GCC"; then
+       if test "$GCC" = yes; then
                case "`$CC --version`" in
                2.6.3)
                        if test "$cf_cv_type_of_bool" != "char"; then
                case "`$CC --version`" in
                2.6.3)
                        if test "$cf_cv_type_of_bool" != "char"; then
@@ -6480,7 +6976,7 @@ fi
 ### Construct the library-subsets, if any, from this set of keywords:
 ### none, base, ext_funcs, termlib.
 echo $ac_n "checking for library subsets""... $ac_c" 1>&6
 ### Construct the library-subsets, if any, from this set of keywords:
 ### none, base, ext_funcs, termlib.
 echo $ac_n "checking for library subsets""... $ac_c" 1>&6
-echo "configure:6484: checking for library subsets" >&5
+echo "configure:6980: checking for library subsets" >&5
 if test "$with_termlib" = yes ; then
        LIB_SUBSETS="termlib "
 else
 if test "$with_termlib" = yes ; then
        LIB_SUBSETS="termlib "
 else
@@ -6503,7 +6999,7 @@ CPPFLAGS="$CPPFLAGS -I. -I../include"
 if test "$srcdir" != "."; then
        CPPFLAGS="$CPPFLAGS -I\$(srcdir)/../include"
 fi
 if test "$srcdir" != "."; then
        CPPFLAGS="$CPPFLAGS -I\$(srcdir)/../include"
 fi
-if test -z "$GCC"; then
+if test "$GCC" != yes; then
        CPPFLAGS="$CPPFLAGS -I\$(includedir)"
 elif test "$includedir" != "/usr/include"; then
        if test "$includedir" = '${prefix}/include' ; then
        CPPFLAGS="$CPPFLAGS -I\$(includedir)"
 elif test "$includedir" != "/usr/include"; then
        if test "$includedir" = '${prefix}/include' ; then
@@ -6521,7 +7017,7 @@ ACPPFLAGS="$ACPPFLAGS -I. -I../../include"
 if test "$srcdir" != "."; then
        ACPPFLAGS="$ACPPFLAGS -I\$(srcdir)/../../include"
 fi
 if test "$srcdir" != "."; then
        ACPPFLAGS="$ACPPFLAGS -I\$(srcdir)/../../include"
 fi
-if test -z "$GCC"; then
+if test "$GCC" != yes; then
        ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
 elif test "$includedir" != "/usr/include"; then
        if test "$includedir" = '${prefix}/include' ; then
        ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
 elif test "$includedir" != "/usr/include"; then
        if test "$includedir" = '${prefix}/include' ; then
@@ -6537,9 +7033,10 @@ fi
 
 ### Build up pieces for makefile rules
 echo $ac_n "checking default library suffix""... $ac_c" 1>&6
 
 ### Build up pieces for makefile rules
 echo $ac_n "checking default library suffix""... $ac_c" 1>&6
-echo "configure:6541: checking default library suffix" >&5
+echo "configure:7037: checking default library suffix" >&5
 
        case $DFT_LWR_MODEL in
 
        case $DFT_LWR_MODEL in
+       libtool) DFT_ARG_SUFFIX=''   ;;
        normal)  DFT_ARG_SUFFIX=''   ;;
        debug)   DFT_ARG_SUFFIX='_g' ;;
        profile) DFT_ARG_SUFFIX='_p' ;;
        normal)  DFT_ARG_SUFFIX=''   ;;
        debug)   DFT_ARG_SUFFIX='_g' ;;
        profile) DFT_ARG_SUFFIX='_p' ;;
@@ -6549,10 +7046,11 @@ echo "configure:6541: checking default library suffix" >&5
 echo "$ac_t""$DFT_ARG_SUFFIX" 1>&6
 
 echo $ac_n "checking default library-dependency suffix""... $ac_c" 1>&6
 echo "$ac_t""$DFT_ARG_SUFFIX" 1>&6
 
 echo $ac_n "checking default library-dependency suffix""... $ac_c" 1>&6
-echo "configure:6553: checking default library-dependency suffix" >&5
+echo "configure:7050: checking default library-dependency suffix" >&5
 
        
        case $DFT_LWR_MODEL in
 
        
        case $DFT_LWR_MODEL in
+       libtool) DFT_DEP_SUFFIX='.la'  ;;
        normal)  DFT_DEP_SUFFIX='.a'   ;;
        debug)   DFT_DEP_SUFFIX='_g.a' ;;
        profile) DFT_DEP_SUFFIX='_p.a' ;;
        normal)  DFT_DEP_SUFFIX='.a'   ;;
        debug)   DFT_DEP_SUFFIX='_g.a' ;;
        profile) DFT_DEP_SUFFIX='_p.a' ;;
@@ -6566,9 +7064,10 @@ echo "configure:6553: checking default library-dependency suffix" >&5
 echo "$ac_t""$DFT_DEP_SUFFIX" 1>&6
 
 echo $ac_n "checking default object directory""... $ac_c" 1>&6
 echo "$ac_t""$DFT_DEP_SUFFIX" 1>&6
 
 echo $ac_n "checking default object directory""... $ac_c" 1>&6
-echo "configure:6570: checking default object directory" >&5
+echo "configure:7068: checking default object directory" >&5
 
        case $DFT_LWR_MODEL in
 
        case $DFT_LWR_MODEL in
+       libtool) DFT_OBJ_SUBDIR='obj_lo'  ;;
        normal)  DFT_OBJ_SUBDIR='objects' ;;
        debug)   DFT_OBJ_SUBDIR='obj_g' ;;
        profile) DFT_OBJ_SUBDIR='obj_p' ;;
        normal)  DFT_OBJ_SUBDIR='objects' ;;
        debug)   DFT_OBJ_SUBDIR='obj_g' ;;
        profile) DFT_OBJ_SUBDIR='obj_p' ;;
@@ -6576,11 +7075,35 @@ echo "configure:6570: checking default object directory" >&5
        esac
 echo "$ac_t""$DFT_OBJ_SUBDIR" 1>&6
 
        esac
 echo "$ac_t""$DFT_OBJ_SUBDIR" 1>&6
 
+# libtool thinks it can make c++ shared libraries (perhaps only g++)
+echo $ac_n "checking c++ library-dependency suffux""... $ac_c" 1>&6
+echo "configure:7081: checking c++ library-dependency suffux" >&5
+if test "$with_libtool" = "yes"; then
+       CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
+else
+       
+       
+       case normal in
+       libtool) CXX_LIB_SUFFIX='.la'  ;;
+       normal)  CXX_LIB_SUFFIX='.a'   ;;
+       debug)   CXX_LIB_SUFFIX='_g.a' ;;
+       profile) CXX_LIB_SUFFIX='_p.a' ;;
+       shared)
+               case $cf_cv_system_name in
+               hpux*)  CXX_LIB_SUFFIX='.sl'  ;;
+               *)      CXX_LIB_SUFFIX='.so'  ;;
+               esac
+       esac
+       test -n "$LIB_SUFFIX" && CXX_LIB_SUFFIX="${LIB_SUFFIX}${CXX_LIB_SUFFIX}"
+fi
+echo "$ac_t""$CXX_LIB_SUFFIX" 1>&6
+
+
 TINFO_LIST="$SHLIB_LIST"
 TINFO_LIST="$SHLIB_LIST"
-test $with_termlib = yes && SHLIB_LIST="$SHLIB_LIST -ltinfo${LIB_SUFFIX}"
+test "$with_termlib" = yes && SHLIB_LIST="$SHLIB_LIST -ltinfo${LIB_SUFFIX}"
 
 echo $ac_n "checking where we will install curses.h""... $ac_c" 1>&6
 
 echo $ac_n "checking where we will install curses.h""... $ac_c" 1>&6
-echo "configure:6584: checking where we will install curses.h" >&5
+echo "configure:7107: checking where we will install curses.h" >&5
 test "$with_overwrite" = no && \
 test "x$includedir" = 'x${prefix}/include' && \
        includedir='$(prefix)/include/ncurses'${LIB_SUFFIX}
 test "$with_overwrite" = no && \
 test "x$includedir" = 'x${prefix}/include' && \
        includedir='$(prefix)/include/ncurses'${LIB_SUFFIX}
@@ -6594,7 +7117,11 @@ echo "$ac_t""$includedir" 1>&6
 ### could override this.
 if test "$with_termlib" = yes ; then
        TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${TINFO_NAME}${DFT_DEP_SUFFIX}"
 ### could override this.
 if test "$with_termlib" = yes ; then
        TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${TINFO_NAME}${DFT_DEP_SUFFIX}"
-       TEST_ARGS="-l${TINFO_NAME}${DFT_ARG_SUFFIX}"
+       if test "$DFT_LWR_MODEL" = "libtool"; then
+               TEST_ARGS="${TEST_DEPS}"
+       else
+               TEST_ARGS="-l${TINFO_NAME}${DFT_ARG_SUFFIX}"
+       fi
 fi
 PROG_DEPS="$TEST_DEPS"
 PROG_ARGS="$TEST_ARGS"
 fi
 PROG_DEPS="$TEST_DEPS"
 PROG_ARGS="$TEST_ARGS"
@@ -6604,11 +7131,15 @@ PROG_ARGS="$TEST_ARGS"
 
 
 echo $ac_n "checking for src modules""... $ac_c" 1>&6
 
 
 echo $ac_n "checking for src modules""... $ac_c" 1>&6
-echo "configure:6608: checking for src modules" >&5
+echo "configure:7135: checking for src modules" >&5
 
 # dependencies and linker-arguments for test-programs
 TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${LIB_NAME}${DFT_DEP_SUFFIX} $TEST_DEPS"
 
 # dependencies and linker-arguments for test-programs
 TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${LIB_NAME}${DFT_DEP_SUFFIX} $TEST_DEPS"
-TEST_ARGS="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARGS"
+if test "$DFT_LWR_MODEL" = "libtool"; then
+       TEST_ARGS="${TEST_DEPS}"
+else
+       TEST_ARGS="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARGS"
+fi
 
 # dependencies and linker-arguments for utility-programs
 PROG_ARGS="$TEST_ARGS"
 
 # dependencies and linker-arguments for utility-programs
 PROG_ARGS="$TEST_ARGS"
@@ -6640,7 +7171,7 @@ do
                        continue
                elif test -f $srcdir/${cf_dir}/${cf_dir}.h; then
                        
                        continue
                elif test -f $srcdir/${cf_dir}/${cf_dir}.h; then
                        
-cf_have_include=`echo $cf_dir | tr '[a-z]' '[A-Z]'`
+cf_have_include=`echo "$cf_dir" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
                        cat >> confdefs.h <<EOF
 #define HAVE_${cf_have_include}_H 1
 
                        cat >> confdefs.h <<EOF
 #define HAVE_${cf_have_include}_H 1
@@ -6651,7 +7182,11 @@ EOF
 EOF
 
                        TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${cf_dir}${DFT_DEP_SUFFIX} $TEST_DEPS"
 EOF
 
                        TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${cf_dir}${DFT_DEP_SUFFIX} $TEST_DEPS"
-                       TEST_ARGS="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARGS"
+                       if test "$DFT_LWR_MODEL" = "libtool"; then
+                               TEST_ARGS="${TEST_DEPS}"
+                       else
+                               TEST_ARGS="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARGS"
+                       fi
                fi
        fi
 done
                fi
        fi
 done
@@ -6669,7 +7204,7 @@ do
        SRC_SUBDIRS="$SRC_SUBDIRS $cf_dir"
 done
 SRC_SUBDIRS="$SRC_SUBDIRS misc test"
        SRC_SUBDIRS="$SRC_SUBDIRS $cf_dir"
 done
 SRC_SUBDIRS="$SRC_SUBDIRS misc test"
-test $cf_with_cxx_binding != no && SRC_SUBDIRS="$SRC_SUBDIRS c++"
+test "$cf_with_cxx_binding" != no && SRC_SUBDIRS="$SRC_SUBDIRS c++"
 
 ADA_SUBDIRS=
 if test "$cf_cv_prog_gnat_correct" = yes && test -f $srcdir/Ada95/Makefile.in; then
 
 ADA_SUBDIRS=
 if test "$cf_cv_prog_gnat_correct" = yes && test -f $srcdir/Ada95/Makefile.in; then
@@ -6697,6 +7232,7 @@ for cf_item in $cf_list_models
 do
        
        case $cf_item in
 do
        
        case $cf_item in
+       libtool) cf_subdir='obj_lo'  ;;
        normal)  cf_subdir='objects' ;;
        debug)   cf_subdir='obj_g' ;;
        profile) cf_subdir='obj_p' ;;
        normal)  cf_subdir='objects' ;;
        debug)   cf_subdir='obj_g' ;;
        profile) cf_subdir='obj_p' ;;
@@ -6806,7 +7342,7 @@ do
     echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
     exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
   -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
     echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
     exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
   -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
-    echo "$CONFIG_STATUS generated by autoconf version 2.13.19990117"
+    echo "$CONFIG_STATUS generated by autoconf version 2.13.20000819"
     exit 0 ;;
   -help | --help | --hel | --he | --h)
     echo "\$ac_cs_usage"; exit 0 ;;
     exit 0 ;;
   -help | --help | --hel | --he | --h)
     echo "\$ac_cs_usage"; exit 0 ;;
@@ -6822,6 +7358,7 @@ trap 'rm -fr `echo "\
        include/curses.h \
        include/termcap.h \
        include/unctrl.h \
        include/curses.h \
        include/termcap.h \
        include/unctrl.h \
+       misc/run_tic.sh:misc/run_tic.in \
        $SUB_MAKEFILES \
        Makefile include/ncurses_cfg.h:include/ncurses_cfg.hin" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
 EOF
        $SUB_MAKEFILES \
        Makefile include/ncurses_cfg.h:include/ncurses_cfg.hin" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
 EOF
@@ -6868,6 +7405,16 @@ s%@host_alias@%$host_alias%g
 s%@host_cpu@%$host_cpu%g
 s%@host_vendor@%$host_vendor%g
 s%@host_os@%$host_os%g
 s%@host_cpu@%$host_cpu%g
 s%@host_vendor@%$host_vendor%g
 s%@host_os@%$host_os%g
+s%@target@%$target%g
+s%@target_alias@%$target_alias%g
+s%@target_cpu@%$target_cpu%g
+s%@target_vendor@%$target_vendor%g
+s%@target_os@%$target_os%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
 s%@CC@%$CC%g
 s%@BUILD_CC@%$BUILD_CC%g
 s%@CPP@%$CPP%g
 s%@CC@%$CC%g
 s%@BUILD_CC@%$BUILD_CC%g
 s%@CPP@%$CPP%g
@@ -6881,6 +7428,8 @@ s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
 s%@INSTALL_DATA@%$INSTALL_DATA%g
 s%@LN_S@%$LN_S%g
 s%@RANLIB@%$RANLIB%g
 s%@INSTALL_DATA@%$INSTALL_DATA%g
 s%@LN_S@%$LN_S%g
 s%@RANLIB@%$RANLIB%g
+s%@MAKE_LOWER_TAGS@%$MAKE_LOWER_TAGS%g
+s%@MAKE_UPPER_TAGS@%$MAKE_UPPER_TAGS%g
 s%@LINT@%$LINT%g
 s%@MAN@%$MAN%g
 s%@LINT_OPTS@%$LINT_OPTS%g
 s%@LINT@%$LINT%g
 s%@MAN@%$MAN%g
 s%@LINT_OPTS@%$LINT_OPTS%g
@@ -6888,8 +7437,9 @@ s%@LD@%$LD%g
 s%@AR@%$AR%g
 s%@AR_OPTS@%$AR_OPTS%g
 s%@cf_cv_makeflags@%$cf_cv_makeflags%g
 s%@AR@%$AR%g
 s%@AR_OPTS@%$AR_OPTS%g
 s%@cf_cv_makeflags@%$cf_cv_makeflags%g
-s%@INSTALL_PREFIX@%$INSTALL_PREFIX%g
+s%@DESTDIR@%$DESTDIR%g
 s%@cf_list_models@%$cf_list_models%g
 s%@cf_list_models@%$cf_list_models%g
+s%@LIBTOOL@%$LIBTOOL%g
 s%@DFT_LWR_MODEL@%$DFT_LWR_MODEL%g
 s%@DFT_UPR_MODEL@%$DFT_UPR_MODEL%g
 s%@TINFO_NAME@%$TINFO_NAME%g
 s%@DFT_LWR_MODEL@%$DFT_LWR_MODEL%g
 s%@DFT_UPR_MODEL@%$DFT_UPR_MODEL%g
 s%@TINFO_NAME@%$TINFO_NAME%g
@@ -6908,8 +7458,10 @@ s%@EXTRA_LDFLAGS@%$EXTRA_LDFLAGS%g
 s%@LOCAL_LDFLAGS@%$LOCAL_LDFLAGS%g
 s%@LOCAL_LDFLAGS2@%$LOCAL_LDFLAGS2%g
 s%@INSTALL_LIB@%$INSTALL_LIB%g
 s%@LOCAL_LDFLAGS@%$LOCAL_LDFLAGS%g
 s%@LOCAL_LDFLAGS2@%$LOCAL_LDFLAGS2%g
 s%@INSTALL_LIB@%$INSTALL_LIB%g
+s%@TERMINFO_SRC@%$TERMINFO_SRC%g
 s%@FALLBACK_LIST@%$FALLBACK_LIST%g
 s%@TERMINFO_DIRS@%$TERMINFO_DIRS%g
 s%@FALLBACK_LIST@%$FALLBACK_LIST%g
 s%@TERMINFO_DIRS@%$TERMINFO_DIRS%g
+s%@TERMINFO@%$TERMINFO%g
 s%@NCURSES_CONST@%$NCURSES_CONST%g
 s%@NCURSES_XNAMES@%$NCURSES_XNAMES%g
 s%@ECHO_LINK@%$ECHO_LINK%g
 s%@NCURSES_CONST@%$NCURSES_CONST%g
 s%@NCURSES_XNAMES@%$NCURSES_XNAMES%g
 s%@ECHO_LINK@%$ECHO_LINK%g
@@ -6919,13 +7471,11 @@ s%@cf_cv_typeof_chtype@%$cf_cv_typeof_chtype%g
 s%@cf_cv_1UL@%$cf_cv_1UL%g
 s%@cf_cv_shift_limit@%$cf_cv_shift_limit%g
 s%@cf_cv_widec_shift@%$cf_cv_widec_shift%g
 s%@cf_cv_1UL@%$cf_cv_1UL%g
 s%@cf_cv_shift_limit@%$cf_cv_shift_limit%g
 s%@cf_cv_widec_shift@%$cf_cv_widec_shift%g
-s%@OSPEED_TYPE@%$OSPEED_TYPE%g
-s%@OSPEED_INCLUDES@%$OSPEED_INCLUDES%g
 s%@CXXCPP@%$CXXCPP%g
 s%@CXXLDFLAGS@%$CXXLDFLAGS%g
 s%@CXXLIBS@%$CXXLIBS%g
 s%@gnat_exists@%$gnat_exists%g
 s%@CXXCPP@%$CXXCPP%g
 s%@CXXLDFLAGS@%$CXXLDFLAGS%g
 s%@CXXLIBS@%$CXXLIBS%g
 s%@gnat_exists@%$gnat_exists%g
-s%@m4_exists@%$m4_exists%g
+s%@M4_exists@%$M4_exists%g
 s%@cf_ada_make@%$cf_ada_make%g
 s%@cf_ada_compiler@%$cf_ada_compiler%g
 s%@cf_ada_package@%$cf_ada_package%g
 s%@cf_ada_make@%$cf_ada_make%g
 s%@cf_ada_compiler@%$cf_ada_compiler%g
 s%@cf_ada_package@%$cf_ada_package%g
@@ -6938,6 +7488,7 @@ s%@ACPPFLAGS@%$ACPPFLAGS%g
 s%@DFT_ARG_SUFFIX@%$DFT_ARG_SUFFIX%g
 s%@DFT_DEP_SUFFIX@%$DFT_DEP_SUFFIX%g
 s%@DFT_OBJ_SUBDIR@%$DFT_OBJ_SUBDIR%g
 s%@DFT_ARG_SUFFIX@%$DFT_ARG_SUFFIX%g
 s%@DFT_DEP_SUFFIX@%$DFT_DEP_SUFFIX%g
 s%@DFT_OBJ_SUBDIR@%$DFT_OBJ_SUBDIR%g
+s%@CXX_LIB_SUFFIX@%$CXX_LIB_SUFFIX%g
 s%@EXTRA_LIBS@%$EXTRA_LIBS%g
 s%@TINFO_LIST@%$TINFO_LIST%g
 s%@SHLIB_LIST@%$SHLIB_LIST%g
 s%@EXTRA_LIBS@%$EXTRA_LIBS%g
 s%@TINFO_LIST@%$TINFO_LIST%g
 s%@SHLIB_LIST@%$SHLIB_LIST%g
@@ -6992,6 +7543,7 @@ CONFIG_FILES=\${CONFIG_FILES-"\
        include/curses.h \
        include/termcap.h \
        include/unctrl.h \
        include/curses.h \
        include/termcap.h \
        include/unctrl.h \
+       misc/run_tic.sh:misc/run_tic.in \
        $SUB_MAKEFILES \
        Makefile"}
 EOF
        $SUB_MAKEFILES \
        Makefile"}
 EOF
@@ -7169,9 +7721,11 @@ LIB_SUFFIX="$LIB_SUFFIX"
 LIB_SUBSETS="$LIB_SUBSETS"
 LIB_TRACING="$LIB_TRACING"
 SRC_SUBDIRS="$SRC_SUBDIRS"
 LIB_SUBSETS="$LIB_SUBSETS"
 LIB_TRACING="$LIB_TRACING"
 SRC_SUBDIRS="$SRC_SUBDIRS"
+TERMINFO="$TERMINFO"
 TINFO_NAME="$TINFO_NAME"
 WITH_ECHO="$with_echo"
 WITH_OVERWRITE="$with_overwrite"
 TINFO_NAME="$TINFO_NAME"
 WITH_ECHO="$with_echo"
 WITH_OVERWRITE="$with_overwrite"
+WITH_CURSES_H="$with_curses_h"
 cf_cv_abi_version="$cf_cv_abi_version"
 cf_cv_do_symlinks="$cf_cv_do_symlinks"
 cf_cv_rel_version="$cf_cv_rel_version"
 cf_cv_abi_version="$cf_cv_abi_version"
 cf_cv_do_symlinks="$cf_cv_do_symlinks"
 cf_cv_rel_version="$cf_cv_rel_version"
@@ -7206,6 +7760,7 @@ do
                        
        
        case $cf_item in
                        
        
        case $cf_item in
+       libtool) cf_suffix='.la'  ;;
        normal)  cf_suffix='.a'   ;;
        debug)   cf_suffix='_g.a' ;;
        profile) cf_suffix='_p.a' ;;
        normal)  cf_suffix='.a'   ;;
        debug)   cf_suffix='_g.a' ;;
        profile) cf_suffix='_p.a' ;;
@@ -7218,7 +7773,7 @@ do
        test -n "$LIB_SUFFIX" && cf_suffix="${LIB_SUFFIX}${cf_suffix}"
 
                        if test $cf_item = shared ; then
        test -n "$LIB_SUFFIX" && cf_suffix="${LIB_SUFFIX}${cf_suffix}"
 
                        if test $cf_item = shared ; then
-                       if test $cf_cv_do_symlinks = yes ; then
+                       if test "$cf_cv_do_symlinks" = yes ; then
                                case "$cf_cv_shlib_version" in #(vi
                                rel) cf_suffix="$cf_suffix"'.$(REL_VERSION)' ;; #(vi
                                abi) cf_suffix="$cf_suffix"'.$(ABI_VERSION)' ;;
                                case "$cf_cv_shlib_version" in #(vi
                                rel) cf_suffix="$cf_suffix"'.$(REL_VERSION)' ;; #(vi
                                abi) cf_suffix="$cf_suffix"'.$(ABI_VERSION)' ;;
@@ -7251,11 +7806,12 @@ do
                do
                        echo 'Appending rules for '$cf_item' model ('$cf_dir')'
                        
                do
                        echo 'Appending rules for '$cf_item' model ('$cf_dir')'
                        
-CF_ITEM=`echo $cf_item | tr '[a-z]' '[A-Z]'`
+CF_ITEM=`echo "$cf_item" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
                        
        
        case $cf_item in
 
                        
        
        case $cf_item in
+       libtool) cf_suffix='.la'  ;;
        normal)  cf_suffix='.a'   ;;
        debug)   cf_suffix='_g.a' ;;
        profile) cf_suffix='_p.a' ;;
        normal)  cf_suffix='.a'   ;;
        debug)   cf_suffix='_g.a' ;;
        profile) cf_suffix='_p.a' ;;
@@ -7269,6 +7825,7 @@ CF_ITEM=`echo $cf_item | tr '[a-z]' '[A-Z]'`
 
                        
        case $cf_item in
 
                        
        case $cf_item in
+       libtool) cf_subdir='obj_lo'  ;;
        normal)  cf_subdir='objects' ;;
        debug)   cf_subdir='obj_g' ;;
        profile) cf_subdir='obj_p' ;;
        normal)  cf_subdir='objects' ;;
        debug)   cf_subdir='obj_g' ;;
        profile) cf_subdir='obj_p' ;;
@@ -7388,6 +7945,18 @@ distclean ::
        rm -rf \$(DIRS_TO_MAKE)
 CF_EOF
 
        rm -rf \$(DIRS_TO_MAKE)
 CF_EOF
 
+# Special case: tack's manpage lives in its own directory.
+if test -d tack ; then
+if test -f $srcdir/$tack.h; then
+cat >> Makefile <<CF_EOF
+
+install.man \
+uninstall.man ::
+       cd tack && \$(MAKE) \$(CF_MFLAGS) \$@
+CF_EOF
+fi
+fi
+
 
 rm -f headers.sed headers.sh
 
 
 rm -f headers.sed headers.sh
 
@@ -7406,27 +7975,62 @@ done
 DST=\$1
 REF=\$2
 SRC=\$3
 DST=\$1
 REF=\$2
 SRC=\$3
+TMPSRC=\${TMPDIR-/tmp}/\`basename \$SRC\`\$\$
+TMPSED=\${TMPDIR-/tmp}/headers.sed\$\$
 echo installing \$SRC in \$DST
 echo installing \$SRC in \$DST
+CF_EOF
+if test $WITH_CURSES_H = yes; then
+       cat >>headers.sh <<CF_EOF
+case \$DST in
+/*/include/*)
+       END=\`basename \$DST\`
+       for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
+       do
+               NAME=\`basename \$i\`
+               echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
+       done
+       ;;
+*)
+       echo "" >> \$TMPSED
+       ;;
+esac
+CF_EOF
+else
+       cat >>headers.sh <<CF_EOF
 case \$DST in
 /*/include/*)
 case \$DST in
 /*/include/*)
-       TMPSRC=\${TMPDIR-/tmp}/\`basename \$SRC\`\$\$
-       TMPSED=\${TMPDIR-/tmp}/headers.sed\$\$
        END=\`basename \$DST\`
        for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
        do
                NAME=\`basename \$i\`
        END=\`basename \$DST\`
        for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
        do
                NAME=\`basename \$i\`
+               if test "\$NAME" = "curses.h"
+               then
+                       echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
+                       NAME=ncurses.h
+               fi
                echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
        done
                echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
        done
-       rm -f \$TMPSRC
-       sed -f \$TMPSED \$SRC > \$TMPSRC
-       eval \$PRG \$TMPSRC \$DST/\$SRC
-       rm -f \$TMPSRC \$TMPSED
        ;;
 *)
        ;;
 *)
-       eval \$PRG \$SRC \$DST
+       echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
        ;;
 esac
 CF_EOF
        ;;
 esac
 CF_EOF
+fi
+cat >>headers.sh <<CF_EOF
+rm -f \$TMPSRC
+sed -f \$TMPSED \$SRC > \$TMPSRC
+NAME=\`basename \$SRC\`
+CF_EOF
+if test $WITH_CURSES_H != yes; then
+       cat >>headers.sh <<CF_EOF
+test "\$NAME" = "curses.h" && NAME=ncurses.h
+CF_EOF
+fi
+cat >>headers.sh <<CF_EOF
+eval \$PRG \$TMPSRC \$DST/\$NAME
+rm -f \$TMPSRC \$TMPSED
+CF_EOF
 
 chmod 0755 headers.sh
 
 
 chmod 0755 headers.sh
 
@@ -7434,12 +8038,12 @@ for cf_dir in $SRC_SUBDIRS
 do
        if test -f $srcdir/$cf_dir/headers; then
        cat >>$cf_dir/Makefile <<CF_EOF
 do
        if test -f $srcdir/$cf_dir/headers; then
        cat >>$cf_dir/Makefile <<CF_EOF
-\$(INSTALL_PREFIX)\$(includedir) :
+\$(DESTDIR)\$(includedir) :
        \$(srcdir)/../mkinstalldirs \$@
 
 install \\
 install.libs \\
        \$(srcdir)/../mkinstalldirs \$@
 
 install \\
 install.libs \\
-install.includes :: \$(INSTALL_PREFIX)\$(includedir) \\
+install.includes :: \$(AUTO_SRC) \$(DESTDIR)\$(includedir) \\
 CF_EOF
                j=""
                for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
 CF_EOF
                j=""
                for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
@@ -7450,8 +8054,8 @@ CF_EOF
                echo "          $j" >>$cf_dir/Makefile
                for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
                do
                echo "          $j" >>$cf_dir/Makefile
                for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
                do
-                       echo "  @ (cd \$(INSTALL_PREFIX)\$(includedir) && rm -f `basename $i`) ; ../headers.sh \$(INSTALL_DATA) \$(INSTALL_PREFIX)\$(includedir) \$(srcdir) $i" >>$cf_dir/Makefile
-                       test $i = curses.h && echo "    @ (cd \$(INSTALL_PREFIX)\$(includedir) && rm -f ncurses.h && \$(LN_S) curses.h ncurses.h)" >>$cf_dir/Makefile
+                       echo "  @ (cd \$(DESTDIR)\$(includedir) && rm -f `basename $i`) ; ../headers.sh \$(INSTALL_DATA) \$(DESTDIR)\$(includedir) \$(srcdir) $i" >>$cf_dir/Makefile
+                       test $i = curses.h && test $WITH_CURSES_H = yes && echo "       @ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h && \$(LN_S) curses.h ncurses.h)" >>$cf_dir/Makefile
                done
 
        cat >>$cf_dir/Makefile <<CF_EOF
                done
 
        cat >>$cf_dir/Makefile <<CF_EOF
@@ -7463,8 +8067,8 @@ CF_EOF
                for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
                do
                        i=`basename $i`
                for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
                do
                        i=`basename $i`
-                       echo "  -@ (cd \$(INSTALL_PREFIX)\$(includedir) && rm -f $i)" >>$cf_dir/Makefile
-                       test $i = curses.h && echo "    -@ (cd \$(INSTALL_PREFIX)\$(includedir) && rm -f ncurses.h)" >>$cf_dir/Makefile
+                       echo "  -@ (cd \$(DESTDIR)\$(includedir) && rm -f $i)" >>$cf_dir/Makefile
+                       test $i = curses.h && echo "    -@ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h)" >>$cf_dir/Makefile
                done
        fi
 done
                done
        fi
 done
index 0cd345e1ba475e6f6e62278344fd9e86a4d3cfba..a46fbf1d43ed64f08eaa9d8ad4f9a7f6daea224d 100644 (file)
@@ -1,5 +1,5 @@
 dnl***************************************************************************
 dnl***************************************************************************
-dnl Copyright (c) 1998,1999 Free Software Foundation, Inc.                   *
+dnl Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.              *
 dnl                                                                          *
 dnl Permission is hereby granted, free of charge, to any person obtaining a  *
 dnl copy of this software and associated documentation files (the            *
 dnl                                                                          *
 dnl Permission is hereby granted, free of charge, to any person obtaining a  *
 dnl copy of this software and associated documentation files (the            *
@@ -28,15 +28,19 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey <dickey@clark.net> 1996,1997
 dnl
 dnl
 dnl Author: Thomas E. Dickey <dickey@clark.net> 1996,1997
 dnl
-dnl $Id: configure.in,v 1.195 2000/07/05 22:24:29 tom Exp $
+dnl $Id: configure.in,v 1.220 2000/10/15 00:54:36 tom Exp $
 dnl Process this file with autoconf to produce a configure script.
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.12.971230)
-AC_REVISION($Revision: 1.195 $)
+dnl
+dnl See http://dickey.his.com/autoconf/ for additional information.
+dnl
+dnl ---------------------------------------------------------------------------
+AC_PREREQ(2.13.20000819)
+AC_REVISION($Revision: 1.220 $)
 AC_INIT(ncurses/base/lib_initscr.c)
 AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
 
 CF_SUBST_NCURSES_VERSION
 AC_INIT(ncurses/base/lib_initscr.c)
 AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
 
 CF_SUBST_NCURSES_VERSION
-CF_CHECK_CACHE
+CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
 AC_ARG_WITH(system-type,
 [  --with-system-type=XXX  test: override derived host system-type],
 [AC_MSG_WARN(overriding system type to $withval)
 AC_ARG_WITH(system-type,
 [  --with-system-type=XXX  test: override derived host system-type],
 [AC_MSG_WARN(overriding system type to $withval)
@@ -79,13 +83,16 @@ CF_CFG_DEFAULTS
 
 ###    Checks for programs.
 AC_PROG_CC
 
 ###    Checks for programs.
 AC_PROG_CC
-if test -n "$GCC" ; then
-AC_MSG_CHECKING(version of gcc)
-eval "$CC --version"
+if test "$GCC" = yes ; then
+       AC_MSG_CHECKING(version of gcc)
+       eval "$CC --version"
 fi
 fi
-if test $host != $build; then
-  AC_CHECK_PROGS(BUILD_CC, $CC gcc cc)
+if test "$host" != $build; then
+       AC_CHECK_PROGS(BUILD_CC, $CC gcc cc)
+else
+       BUILD_CC="$CC"
 fi
 fi
+AC_SUBST(BUILD_CC)
 AC_PROG_CPP
 AC_PROG_GCC_TRADITIONAL
 AC_ISC_POSIX
 AC_PROG_CPP
 AC_PROG_GCC_TRADITIONAL
 AC_ISC_POSIX
@@ -121,8 +128,17 @@ else
        AC_PROG_CXX
        popdef([AC_MSG_ERROR])dnl
 fi
        AC_PROG_CXX
        popdef([AC_MSG_ERROR])dnl
 fi
+
 changequote(,)dnl
 changequote(,)dnl
-if test -n "$GXX" ; then case "`${CXX-g++} --version`" in 1*|2.[0-6]*) GXX=""; CXX=""; ac_cv_prog_gxx=no; cf_cxx_library=no ; echo No: templates do not work;; esac; fi
+if test "$GXX" = yes; then
+       case "`${CXX-g++} --version`" in
+       1*|2.[0-6]*)
+               GXX=""; CXX=""; ac_cv_prog_gxx=no
+               cf_cxx_library=no
+               echo No: templates do not work
+               ;;
+       esac
+fi
 changequote([,])dnl
 
 AC_MSG_CHECKING(if you want to build C++ binding and demo)
 changequote([,])dnl
 
 AC_MSG_CHECKING(if you want to build C++ binding and demo)
@@ -146,18 +162,28 @@ AC_ARG_WITH(progs,
        [cf_with_progs=yes])
 AC_MSG_RESULT($cf_with_progs)
 
        [cf_with_progs=yes])
 AC_MSG_RESULT($cf_with_progs)
 
+AC_MSG_CHECKING(if you wish to install curses.h)
+AC_ARG_WITH(curses-h,
+       [  --without-curses-h      install curses.h as ncurses.h only],
+       [with_curses_h=$withval],
+       [with_curses_h=yes])
+AC_MSG_RESULT($with_curses_h)
+
 modules_to_build="ncurses"
 if test "X$cf_with_progs" != Xno ; then
 modules_to_build="$modules_to_build progs tack"
 fi
 modules_to_build="$modules_to_build panel menu form"
 
 modules_to_build="ncurses"
 if test "X$cf_with_progs" != Xno ; then
 modules_to_build="$modules_to_build progs tack"
 fi
 modules_to_build="$modules_to_build panel menu form"
 
+AC_ARG_PROGRAM
 AC_PROG_AWK
 AC_PROG_MAKE_SET
 CF_PROG_INSTALL
 AC_SYS_LONG_FILE_NAMES
 AC_PROG_AWK
 AC_PROG_MAKE_SET
 CF_PROG_INSTALL
 AC_SYS_LONG_FILE_NAMES
+CF_MIXEDCASE_FILENAMES
 AC_PROG_LN_S
 AC_PROG_RANLIB
 AC_PROG_LN_S
 AC_PROG_RANLIB
+CF_MAKE_TAGS
 AC_CHECK_PROGS(LINT, tdlint lint alint)
 AC_CHECK_PROGS(MAN, man man_db)
 AC_SUBST(LINT_OPTS)
 AC_CHECK_PROGS(LINT, tdlint lint alint)
 AC_CHECK_PROGS(MAN, man man_db)
 AC_SUBST(LINT_OPTS)
@@ -178,14 +204,11 @@ AC_ARG_WITH(install-prefix,
        [case "$withval" in #(vi
        yes|no) #(vi
                ;;
        [case "$withval" in #(vi
        yes|no) #(vi
                ;;
-       *)      INSTALL_PREFIX="$withval"
+       *)      DESTDIR="$withval"
                ;;
        esac])
                ;;
        esac])
-AC_MSG_RESULT($INSTALL_PREFIX)
-AC_SUBST(INSTALL_PREFIX)
-
-###############################################################################
-CF_MAN_PAGES
+AC_MSG_RESULT($DESTDIR)
+AC_SUBST(DESTDIR)
 
 ###############################################################################
 CF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:)
 
 ###############################################################################
 CF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:)
@@ -196,6 +219,20 @@ CF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:)
 cf_list_models=""
 AC_SUBST(cf_list_models)dnl    the complete list of models ("normal debug")
 
 cf_list_models=""
 AC_SUBST(cf_list_models)dnl    the complete list of models ("normal debug")
 
+AC_MSG_CHECKING(if you want to build libraries with libtool)
+AC_ARG_WITH(libtool,
+       [  --with-libtool          generate libraries with libtool],
+       [with_libtool=$withval],
+       [with_libtool=no])
+AC_MSG_RESULT($with_libtool)
+if test "$with_libtool" = "yes"; then
+       cf_list_models="$cf_list_models libtool"
+       test -z "$LIBTOOL" && LIBTOOL=libtool
+else
+       LIBTOOL=""
+fi
+AC_SUBST(LIBTOOL)
+
 AC_MSG_CHECKING(if you want to build shared libraries)
 AC_ARG_WITH(shared,
        [  --with-shared           generate shared-libraries],
 AC_MSG_CHECKING(if you want to build shared libraries)
 AC_ARG_WITH(shared,
        [  --with-shared           generate shared-libraries],
@@ -232,6 +269,9 @@ test "$with_profile" = "yes" && cf_list_models="$cf_list_models profile"
 
 AC_MSG_CHECKING(for specified models)
 test -z "$cf_list_models" && cf_list_models=normal
 
 AC_MSG_CHECKING(for specified models)
 test -z "$cf_list_models" && cf_list_models=normal
+dnl If we use libtool to generate libraries, then it must be the only
+dnl specified model.
+test "$with_libtool" = "yes" && cf_list_models=libtool
 AC_MSG_RESULT($cf_list_models)
 
 ### Use the first model as the default, and save its suffix for use in building
 AC_MSG_RESULT($cf_list_models)
 
 ### Use the first model as the default, and save its suffix for use in building
@@ -275,7 +315,7 @@ AC_ARG_WITH(dbmalloc,
        [with_dbmalloc=$withval],
        [with_dbmalloc=no])
 AC_MSG_RESULT($with_dbmalloc)
        [with_dbmalloc=$withval],
        [with_dbmalloc=no])
 AC_MSG_RESULT($with_dbmalloc)
-if test $with_dbmalloc = yes ; then
+if test "$with_dbmalloc" = yes ; then
        AC_CHECK_LIB(dbmalloc,debug_malloc)
 fi
 
        AC_CHECK_LIB(dbmalloc,debug_malloc)
 fi
 
@@ -285,7 +325,7 @@ AC_ARG_WITH(dmalloc,
        [with_dmalloc=$withval],
        [with_dmalloc=no])
 AC_MSG_RESULT($with_dmalloc)
        [with_dmalloc=$withval],
        [with_dmalloc=no])
 AC_MSG_RESULT($with_dmalloc)
-if test $with_dmalloc = yes ; then
+if test "$with_dmalloc" = yes ; then
        AC_CHECK_LIB(dmalloc,dmalloc_debug)
 fi
 
        AC_CHECK_LIB(dmalloc,dmalloc_debug)
 fi
 
@@ -296,7 +336,7 @@ AC_ARG_WITH(gpm,
        [with_gpm=$withval],
        [with_gpm=no])
 AC_MSG_RESULT($with_gpm)
        [with_gpm=$withval],
        [with_gpm=no])
 AC_MSG_RESULT($with_gpm)
-if test $with_gpm = yes ; then
+if test "$with_gpm" = yes ; then
        AC_CHECK_LIB(gpm,Gpm_Open,[
                EXTRA_LIBS="-lgpm -lncurses $EXTRA_LIBS"
                SHLIB_LIST="-lgpm $SHLIB_LIST"
        AC_CHECK_LIB(gpm,Gpm_Open,[
                EXTRA_LIBS="-lgpm -lncurses $EXTRA_LIBS"
                SHLIB_LIST="-lgpm $SHLIB_LIST"
@@ -321,6 +361,7 @@ AC_SUBST(CXX_G_OPT)
 
 AC_MSG_CHECKING(for default loader flags)
 case $DFT_LWR_MODEL in
 
 AC_MSG_CHECKING(for default loader flags)
 case $DFT_LWR_MODEL in
+libtool) LD_MODEL=''   ;;
 normal)  LD_MODEL=''   ;;
 debug)   LD_MODEL=$CC_G_OPT ;;
 profile) LD_MODEL='-pg';;
 normal)  LD_MODEL=''   ;;
 debug)   LD_MODEL=$CC_G_OPT ;;
 profile) LD_MODEL='-pg';;
@@ -359,10 +400,28 @@ AC_MSG_RESULT($with_overwrite)
 AC_MSG_CHECKING(if external terminfo-database is used)
 AC_ARG_ENABLE(database,
        [  --disable-database      use only built-in data],
 AC_MSG_CHECKING(if external terminfo-database is used)
 AC_ARG_ENABLE(database,
        [  --disable-database      use only built-in data],
-       [with_database=$enableval],
-       [with_database=yes])
-AC_MSG_RESULT($with_database)
-test $with_database != no && AC_DEFINE(USE_DATABASE)
+       [use_database=$enableval],
+       [use_database=yes])
+AC_MSG_RESULT($use_database)
+
+case $host_os in #(vi
+os2*) #(vi
+       TERMINFO_SRC='${top_srcdir}/misc/emx.src'
+       ;;
+*) #(vi
+       TERMINFO_SRC='${top_srcdir}/misc/terminfo.src'
+       ;;
+esac
+AC_SUBST(TERMINFO_SRC)
+
+if test "$use_database" != no ; then
+       AC_DEFINE(USE_DATABASE)
+       AC_MSG_CHECKING(which terminfo source-file will be installed)
+       AC_ARG_ENABLE(database,
+               [  --with-database=XXX     specify terminfo source to install],
+               [TERMINFO_SRC=$withval])
+       AC_MSG_RESULT($TERMINFO_SRC)
+fi
 
 AC_MSG_CHECKING(for list of fallback descriptions)
 AC_ARG_WITH(fallbacks,
 
 AC_MSG_CHECKING(for list of fallback descriptions)
 AC_ARG_WITH(fallbacks,
@@ -373,6 +432,13 @@ AC_MSG_RESULT($with_fallback)
 FALLBACK_LIST=`echo $with_fallback|sed -e 's/,/ /g'`
 AC_SUBST(FALLBACK_LIST)
 
 FALLBACK_LIST=`echo $with_fallback|sed -e 's/,/ /g'`
 AC_SUBST(FALLBACK_LIST)
 
+if test "$use_database" = no ; then
+       if test -z $with_fallback ; then
+               AC_ERROR(You have disabled the database w/o specifying fallbacks)
+       fi
+       TERMINFO="${datadir}/terminfo"
+else
+
 AC_MSG_CHECKING(for list of terminfo directories)
 CF_WITH_PATHLIST(terminfo-dirs,
        [  --with-terminfo-dirs=XXX specify list of terminfo directories],
 AC_MSG_CHECKING(for list of terminfo directories)
 CF_WITH_PATHLIST(terminfo-dirs,
        [  --with-terminfo-dirs=XXX specify list of terminfo directories],
@@ -382,12 +448,19 @@ CF_WITH_PATHLIST(terminfo-dirs,
 AC_MSG_RESULT($TERMINFO_DIRS)
 test -n "$TERMINFO_DIRS" && AC_DEFINE_UNQUOTED(TERMINFO_DIRS,"$TERMINFO_DIRS")
 
 AC_MSG_RESULT($TERMINFO_DIRS)
 test -n "$TERMINFO_DIRS" && AC_DEFINE_UNQUOTED(TERMINFO_DIRS,"$TERMINFO_DIRS")
 
-if test $with_database = no ; then
-       if test -z $with_fallback ; then
-               AC_ERROR(You have disabled the database w/o specifying fallbacks)
-       fi
+AC_MSG_CHECKING(for default terminfo directory)
+CF_WITH_PATH(default-terminfo-dir,
+       [  --with-default-terminfo-dir=DIR default terminfo directory],
+       TERMINFO,
+       DATADIR/terminfo,
+       ${datadir}/terminfo)
+AC_MSG_RESULT($TERMINFO)
+AC_DEFINE_UNQUOTED(TERMINFO,"$TERMINFO")
+
 fi
 
 fi
 
+AC_SUBST(TERMINFO)
+
 ###    use option --disable-big-core to make tic run on small machines
 ###    We need 4Mb, check if we can allocate 50% more than that.
 AC_MSG_CHECKING(if big-core option selected)
 ###    use option --disable-big-core to make tic run on small machines
 ###    We need 4Mb, check if we can allocate 50% more than that.
 AC_MSG_CHECKING(if big-core option selected)
@@ -397,7 +470,13 @@ AC_ARG_ENABLE(big-core,
        [AC_TRY_RUN([
 #include <stdlib.h>
 #include <string.h>
        [AC_TRY_RUN([
 #include <stdlib.h>
 #include <string.h>
-int main() { exit(malloc(6000000L) == 0); }],
+int main() {
+       unsigned long n = 6000000L;
+       char *s = malloc(n);
+       if (s != 0)
+               s[0] = s[n-1] = 0;
+       exit(s == 0);
+}],
        [with_big_core=yes],
        [with_big_core=no],
        [with_big_core=no])])
        [with_big_core=yes],
        [with_big_core=no],
        [with_big_core=no])])
@@ -497,6 +576,9 @@ AC_ARG_WITH(rcs-ids,
 AC_MSG_RESULT($with_rcs_ids)
 test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
 
 AC_MSG_RESULT($with_rcs_ids)
 test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
 
+###############################################################################
+CF_MAN_PAGES([ captoinfo clear infocmp infotocap tic toe tput ])
+
 ###############################################################################
 CF_HELP_MESSAGE(Extensions:)
 
 ###############################################################################
 CF_HELP_MESSAGE(Extensions:)
 
@@ -508,6 +590,7 @@ AC_ARG_ENABLE(ext-funcs,
        [with_ext_funcs=yes])
 AC_MSG_RESULT($with_ext_funcs)
 if test "$with_ext_funcs" = yes ; then
        [with_ext_funcs=yes])
 AC_MSG_RESULT($with_ext_funcs)
 if test "$with_ext_funcs" = yes ; then
+       AC_DEFINE(HAVE_CURSES_VERSION)
        AC_DEFINE(HAVE_HAS_KEY)
        AC_DEFINE(HAVE_RESIZETERM)
        AC_DEFINE(HAVE_USE_DEFAULT_COLORS)
        AC_DEFINE(HAVE_HAS_KEY)
        AC_DEFINE(HAVE_RESIZETERM)
        AC_DEFINE(HAVE_USE_DEFAULT_COLORS)
@@ -522,22 +605,12 @@ AC_ARG_ENABLE(const,
        [with_ext_const=$enableval],
        [with_ext_const=no])
 AC_MSG_RESULT($with_ext_const)
        [with_ext_const=$enableval],
        [with_ext_const=no])
 AC_MSG_RESULT($with_ext_const)
-NCURSES_CONST=""
+NCURSES_CONST='/*nothing*/'
 if test "$with_ext_const" = yes ; then
 if test "$with_ext_const" = yes ; then
-       AC_DEFINE(NCURSES_CONST,const)
        NCURSES_CONST=const
 fi
 AC_SUBST(NCURSES_CONST)
 
        NCURSES_CONST=const
 fi
 AC_SUBST(NCURSES_CONST)
 
-###   use option --enable-hashmap to turn on use of hashmap scrolling logic
-AC_MSG_CHECKING(if you want hashmap scrolling-optimization code)
-AC_ARG_ENABLE(hashmap,
-       [  --enable-hashmap        compile with hashmap scrolling-optimization code],
-       [with_hashmap=$enableval],
-       [with_hashmap=yes])
-AC_MSG_RESULT($with_hashmap)
-test "$with_hashmap" = yes && AC_DEFINE(USE_HASHMAP)
-
 AC_MSG_CHECKING(if you want \$NCURSES_NO_PADDING code)
 AC_ARG_ENABLE(no-padding,
        [  --enable-no-padding     compile with \$NCURSES_NO_PADDING code],
 AC_MSG_CHECKING(if you want \$NCURSES_NO_PADDING code)
 AC_ARG_ENABLE(no-padding,
        [  --enable-no-padding     compile with \$NCURSES_NO_PADDING code],
@@ -567,32 +640,71 @@ test "$with_tcap_names" = yes && NCURSES_XNAMES=1
 AC_SUBST(NCURSES_XNAMES)
 
 ###############################################################################
 AC_SUBST(NCURSES_XNAMES)
 
 ###############################################################################
-CF_HELP_MESSAGE(Experimental Code:)
-AC_MSG_CHECKING(if you want all experimental code)
+# These options are relatively safe to experiment with.
+CF_HELP_MESSAGE(Development Code:)
+AC_MSG_CHECKING(if you want all development code)
 AC_ARG_WITH(develop,
 AC_ARG_WITH(develop,
-       [  --with-develop          enable all experimental options for testing],
+       [  --with-develop          enable all development options],
        [with_develop=$withval],
        [with_develop=no])
 AC_MSG_RESULT($with_develop)
 
 ###   use option --enable-colorfgbg to turn on use of $COLORFGBG environment
        [with_develop=$withval],
        [with_develop=no])
 AC_MSG_RESULT($with_develop)
 
 ###   use option --enable-colorfgbg to turn on use of $COLORFGBG environment
-AC_MSG_CHECKING(if you want experimental colorfgbg code)
+AC_MSG_CHECKING(if you want colorfgbg code)
 AC_ARG_ENABLE(hard-tabs,
 AC_ARG_ENABLE(hard-tabs,
-       [  --enable-colorfgbg      compile with experimental \$COLORFGBG code],
+       [  --enable-colorfgbg      compile with \$COLORFGBG code],
        [with_colorfgbg=$enableval],
        [with_colorfgbg=$with_develop])
 AC_MSG_RESULT($with_colorfgbg)
 test "$with_colorfgbg" = yes && AC_DEFINE(USE_COLORFGBG)
 
 ###   use option --enable-hard-tabs to turn on use of hard-tabs optimize
        [with_colorfgbg=$enableval],
        [with_colorfgbg=$with_develop])
 AC_MSG_RESULT($with_colorfgbg)
 test "$with_colorfgbg" = yes && AC_DEFINE(USE_COLORFGBG)
 
 ###   use option --enable-hard-tabs to turn on use of hard-tabs optimize
-AC_MSG_CHECKING(if you want experimental hard-tabs code)
+AC_MSG_CHECKING(if you want hard-tabs code)
 AC_ARG_ENABLE(hard-tabs,
 AC_ARG_ENABLE(hard-tabs,
-       [  --enable-hard-tabs      compile with experimental hard-tabs code],
+       [  --enable-hard-tabs      compile with hard-tabs code],
        [with_hardtabs=$enableval],
        [with_hardtabs=$with_develop])
 AC_MSG_RESULT($with_hardtabs)
 test "$with_hardtabs" = yes && AC_DEFINE(USE_HARD_TABS)
 
        [with_hardtabs=$enableval],
        [with_hardtabs=$with_develop])
 AC_MSG_RESULT($with_hardtabs)
 test "$with_hardtabs" = yes && AC_DEFINE(USE_HARD_TABS)
 
+AC_MSG_CHECKING(if you want to use restrict environment when running as root)
+AC_ARG_ENABLE(root-environ,
+       [  --disable-root-environ  limit environment when running as root],
+       [with_root_environ=$enableval],
+       [with_root_environ=yes])
+AC_MSG_RESULT($with_root_environ)
+test "$with_root_environ" = yes && AC_DEFINE(USE_ROOT_ENVIRON)
+
+###   use option --enable-xmc-glitch to turn on use of magic-cookie optimize
+AC_MSG_CHECKING(if you want limited support for xmc)
+AC_ARG_ENABLE(xmc-glitch,
+       [  --enable-xmc-glitch     compile with limited support for xmc],
+       [with_xmc_glitch=$enableval],
+       [with_xmc_glitch=$with_develop])
+AC_MSG_RESULT($with_xmc_glitch)
+test "$with_xmc_glitch" = yes && AC_DEFINE(USE_XMC_SUPPORT)
+
+###############################################################################
+# These are just experimental, probably should not be in a package:
+CF_HELP_MESSAGE(Experimental Code:)
+
+AC_MSG_CHECKING(if you do not want to assume colors are white-on-black)
+AC_ARG_ENABLE(assumed-color,
+       [  --disable-assumed-color do not assume anything about default-colors],
+       [with_assumed_color=$enableval],
+       [with_assumed_color=yes])
+AC_MSG_RESULT($with_assumed_color)
+test "$with_assumed_color" = yes && AC_DEFINE(USE_ASSUMED_COLOR)
+
+###   use option --enable-hashmap to turn on use of hashmap scrolling logic
+AC_MSG_CHECKING(if you want hashmap scrolling-optimization code)
+AC_ARG_ENABLE(hashmap,
+       [  --disable-hashmap       compile without hashmap scrolling-optimization],
+       [with_hashmap=$enableval],
+       [with_hashmap=yes])
+AC_MSG_RESULT($with_hashmap)
+test "$with_hashmap" = yes && AC_DEFINE(USE_HASHMAP)
+
 AC_MSG_CHECKING(if you want experimental safe-sprintf code)
 AC_ARG_ENABLE(safe-sprintf,
        [  --enable-safe-sprintf   compile with experimental safe-sprintf code],
 AC_MSG_CHECKING(if you want experimental safe-sprintf code)
 AC_ARG_ENABLE(safe-sprintf,
        [  --enable-safe-sprintf   compile with experimental safe-sprintf code],
@@ -616,7 +728,7 @@ fi
 ###   use option --enable-widec to turn on use of wide-character support
 AC_MSG_CHECKING(if you want experimental wide-character code)
 AC_ARG_ENABLE(widec,
 ###   use option --enable-widec to turn on use of wide-character support
 AC_MSG_CHECKING(if you want experimental wide-character code)
 AC_ARG_ENABLE(widec,
-       [  --enable-widec          compile with experimental wide-char code],
+       [  --enable-widec          compile with experimental wide-char/UTF-8 code],
        [with_widec=$enableval],
        [with_widec=no])
 AC_MSG_RESULT($with_widec)
        [with_widec=$enableval],
        [with_widec=no])
 AC_MSG_RESULT($with_widec)
@@ -625,19 +737,11 @@ if test "$with_widec" = yes ; then
        AC_DEFINE(USE_WIDEC_SUPPORT)
 fi
 
        AC_DEFINE(USE_WIDEC_SUPPORT)
 fi
 
-###   use option --enable-xmc-glitch to turn on use of magic-cookie optimize
-AC_MSG_CHECKING(if you want experimental xmc code)
-AC_ARG_ENABLE(xmc-glitch,
-       [  --enable-xmc-glitch     compile with experimental xmc code],
-       [with_xmc_glitch=$enableval],
-       [with_xmc_glitch=$with_develop])
-AC_MSG_RESULT($with_xmc_glitch)
-test "$with_xmc_glitch" = yes && AC_DEFINE(USE_XMC_SUPPORT)
-
 ###############################################################################
 CF_HELP_MESSAGE(Testing/development Options:)
 
 ###    use option --disable-echo to suppress full display compiling commands
 ###############################################################################
 CF_HELP_MESSAGE(Testing/development Options:)
 
 ###    use option --disable-echo to suppress full display compiling commands
+AC_MSG_CHECKING(if you want to display full commands during build)
 AC_ARG_ENABLE(echo,
        [  --enable-echo           build: display "compiling" commands (default)],
        [with_echo=$enableval],
 AC_ARG_ENABLE(echo,
        [  --enable-echo           build: display "compiling" commands (default)],
        [with_echo=$enableval],
@@ -646,13 +750,18 @@ if test "$with_echo" = yes; then
        ECHO_LINK=
 else
        ECHO_LINK='@ echo linking $@ ... ;'
        ECHO_LINK=
 else
        ECHO_LINK='@ echo linking $@ ... ;'
+       test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
 fi
 fi
+AC_MSG_RESULT($with_echo)
 AC_SUBST(ECHO_LINK)
 
 ###    use option --enable-warnings to turn on all gcc warnings
 AC_SUBST(ECHO_LINK)
 
 ###    use option --enable-warnings to turn on all gcc warnings
+AC_MSG_CHECKING(if you want to see compiler warnings)
 AC_ARG_ENABLE(warnings,
        [  --enable-warnings       build: turn on GCC compiler warnings],
        [with_warnings=$enableval])
 AC_ARG_ENABLE(warnings,
        [  --enable-warnings       build: turn on GCC compiler warnings],
        [with_warnings=$enableval])
+AC_MSG_RESULT($with_warnings)
+
 if test -n "$with_warnings"; then
        ADAFLAGS="$ADAFLAGS -gnatg"
        CF_GCC_WARNINGS
 if test -n "$with_warnings"; then
        ADAFLAGS="$ADAFLAGS -gnatg"
        CF_GCC_WARNINGS
@@ -660,13 +769,15 @@ fi
 CF_GCC_ATTRIBUTES
 
 ###    use option --enable-assertions to turn on generation of assertion code
 CF_GCC_ATTRIBUTES
 
 ###    use option --enable-assertions to turn on generation of assertion code
+AC_MSG_CHECKING(if you want to enable runtime assertions)
 AC_ARG_ENABLE(assertions,
        [  --enable-assertions     test: turn on generation of assertion code],
        [with_assertions=$enableval],
        [with_assertions=no])
 AC_ARG_ENABLE(assertions,
        [  --enable-assertions     test: turn on generation of assertion code],
        [with_assertions=$enableval],
        [with_assertions=no])
+AC_MSG_RESULT($with_assertions)
 if test -n "$GCC"
 then
 if test -n "$GCC"
 then
-       if test $with_assertions = no
+       if test "$with_assertions" = no
        then
                AC_DEFINE(NDEBUG)
                CPPFLAGS="$CPPFLAGS -DNDEBUG"
        then
                AC_DEFINE(NDEBUG)
                CPPFLAGS="$CPPFLAGS -DNDEBUG"
@@ -678,18 +789,18 @@ fi
 ###    use option --disable-leaks to suppress "permanent" leaks, for testing
 AC_ARG_ENABLE(leaks,
        [  --disable-leaks         test: suppress permanent memory-leaks],
 ###    use option --disable-leaks to suppress "permanent" leaks, for testing
 AC_ARG_ENABLE(leaks,
        [  --disable-leaks         test: suppress permanent memory-leaks],
-       [test $enableval = no && AC_DEFINE(NO_LEAKS)])
+       [test "$enableval" = no && AC_DEFINE(NO_LEAKS)])
 AC_DEFINE(HAVE_NC_ALLOC_H)
 
 ###    use option --enable-expanded to generate certain macros as functions
 AC_ARG_ENABLE(expanded,
        [  --enable-expanded       test: generate functions for certain macros],
 AC_DEFINE(HAVE_NC_ALLOC_H)
 
 ###    use option --enable-expanded to generate certain macros as functions
 AC_ARG_ENABLE(expanded,
        [  --enable-expanded       test: generate functions for certain macros],
-       [test $enableval = yes && AC_DEFINE(NCURSES_EXPANDED)])
+       [test "$enableval" = yes && AC_DEFINE(NCURSES_EXPANDED)])
 
 ###    use option --disable-macros to suppress macros in favor of functions
 AC_ARG_ENABLE(macros,
        [  --disable-macros        test: use functions rather than macros],
 
 ###    use option --disable-macros to suppress macros in favor of functions
 AC_ARG_ENABLE(macros,
        [  --disable-macros        test: use functions rather than macros],
-       [test $enableval = no && AC_DEFINE(NCURSES_NOMACROS)])
+       [test "$enableval" = no && AC_DEFINE(NCURSES_NOMACROS)])
 
 ###    Checks for libraries.
 AC_CHECK_FUNC(gettimeofday,
 
 ###    Checks for libraries.
 AC_CHECK_FUNC(gettimeofday,
@@ -722,8 +833,6 @@ sys/poll.h \
 sys/select.h \
 sys/time.h \
 sys/times.h \
 sys/select.h \
 sys/time.h \
 sys/times.h \
-termio.h \
-termios.h \
 ttyent.h \
 unistd.h \
 )
 ttyent.h \
 unistd.h \
 )
@@ -733,7 +842,6 @@ unistd.h \
 if test "$ISC" = yes ; then
        AC_CHECK_LIB(cposix,main)
        AC_CHECK_LIB(inet,bzero,LIBS="$LIBS -linet")dnl also 'select()'
 if test "$ISC" = yes ; then
        AC_CHECK_LIB(cposix,main)
        AC_CHECK_LIB(inet,bzero,LIBS="$LIBS -linet")dnl also 'select()'
-       AC_CHECK_HEADERS( sys/termio.h )
 fi
 
 CF_SYS_TIME_SELECT
 fi
 
 CF_SYS_TIME_SELECT
@@ -742,7 +850,7 @@ CF_SYS_TIME_SELECT
 AC_LANG_C
 AC_C_CONST
 AC_C_INLINE
 AC_LANG_C
 AC_C_CONST
 AC_C_INLINE
-test $ac_cv_c_inline != no && AC_DEFINE(CC_HAS_INLINE_FUNCS)
+test "$ac_cv_c_inline" != no && AC_DEFINE(CC_HAS_INLINE_FUNCS)
 
 CF_TYPEOF_CHTYPE
 CF_WIDEC_SHIFT
 
 CF_TYPEOF_CHTYPE
 CF_WIDEC_SHIFT
@@ -750,12 +858,14 @@ CF_WIDEC_SHIFT
 ###    Checks for external-data
 CF_ERRNO
 CF_LINK_DATAONLY
 ###    Checks for external-data
 CF_ERRNO
 CF_LINK_DATAONLY
-CF_SPEED_TYPE
 
 ###    Checks for library functions.
 AC_CHECK_FUNCS( \
 getcwd \
 
 ###    Checks for library functions.
 AC_CHECK_FUNCS( \
 getcwd \
+getegid \
+geteuid \
 getttynam \
 getttynam \
+issetugid \
 memccpy \
 mkstemp \
 nanosleep \
 memccpy \
 mkstemp \
 nanosleep \
@@ -769,7 +879,6 @@ sigaction \
 sigvec \
 strdup \
 strstr \
 sigvec \
 strdup \
 strstr \
-tcgetattr \
 tcgetpgrp \
 times \
 vfscanf \
 tcgetpgrp \
 times \
 vfscanf \
@@ -782,7 +891,7 @@ fi
 
 CF_ISASCII
 CF_STRUCT_SIGACTION
 
 CF_ISASCII
 CF_STRUCT_SIGACTION
-CF_STRUCT_TERMIOS
+CF_FUNC_TERMIOS
 
 dnl FIXME (may need this) AC_SYS_RESTARTABLE_SYSCALLS
 if test "$cross_compiling" = yes ; then
 
 dnl FIXME (may need this) AC_SYS_RESTARTABLE_SYSCALLS
 if test "$cross_compiling" = yes ; then
@@ -807,17 +916,21 @@ CF_BOOL_DECL(cf_cv_cc_bool_type)
 if test -n "$CXX" ; then
        AC_LANG_CPLUSPLUS
        CF_STDCPP_LIBRARY
 if test -n "$CXX" ; then
        AC_LANG_CPLUSPLUS
        CF_STDCPP_LIBRARY
-       case "`${CXX-g++} --version`" in
-       1*|2.[0-6]*)
-           cf_cxx_library=yes
-           ;;
-       2.7*)
-           CF_GPP_LIBRARY
-           ;;
-       *)
-           cf_cxx_library=no
-           ;;
-       esac
+       if test "$GXX" = yes; then
+               case "`${CXX-g++} --version`" in
+               1*|2.[0-6]*)
+                       cf_cxx_library=yes
+                       ;;
+               2.7*)
+                       CF_GPP_LIBRARY
+                       ;;
+               *)
+                       cf_cxx_library=no
+                       ;;
+               esac
+       else
+               cf_cxx_library=no
+       fi
        AC_CHECK_HEADERS(typeinfo)
        CF_BOOL_DECL
        CF_BOOL_SIZE
        AC_CHECK_HEADERS(typeinfo)
        CF_BOOL_DECL
        CF_BOOL_SIZE
@@ -862,8 +975,8 @@ if test "$ac_cv_prog_gnat_exists" = no; then
    cf_ada_make=
 else
    CF_GNAT_VERSION
    cf_ada_make=
 else
    CF_GNAT_VERSION
-   AC_CHECK_PROG(m4_exists, m4, yes, no)
-   if test "$ac_cv_prog_m4_exists" = no; then
+   AC_CHECK_PROG(M4_exists, m4, yes, no)
+   if test "$ac_cv_prog_M4_exists" = no; then
       cf_cv_prog_gnat_correct=no
       echo Ada95 binding required program m4 not found. Ada95 binding disabled.
    fi
       cf_cv_prog_gnat_correct=no
       echo Ada95 binding required program m4 not found. Ada95 binding disabled.
    fi
@@ -885,7 +998,7 @@ if test     "$cf_cv_prog_gnat_correct" = yes; then
    ADAFLAGS="-O3 -gnatpn $ADAFLAGS"
 
    AC_ARG_WITH(ada-compiler,
    ADAFLAGS="-O3 -gnatpn $ADAFLAGS"
 
    AC_ARG_WITH(ada-compiler,
-       [  --with-ada-compiler=CMD Specify Ada95 compiler command (default gnatmake)],
+       [  --with-ada-compiler=CMD specify Ada95 compiler command (default gnatmake)],
        [cf_ada_compiler=$withval],
        [cf_ada_compiler=gnatmake])
 
        [cf_ada_compiler=$withval],
        [cf_ada_compiler=gnatmake])
 
@@ -912,11 +1025,6 @@ if test   "$cf_cv_prog_gnat_correct" = yes; then
        [$]prefix/lib/ada/adalib)
    AC_SUBST(ADA_OBJECTS)
 
        [$]prefix/lib/ada/adalib)
    AC_SUBST(ADA_OBJECTS)
 
-# This has been fixed!
-#   if test $with_shared = no
-#   then
-#      AC_MSG_WARN(Ada95 applications will not link properly with static libraries)
-#   fi
 fi
 fi
 
 fi
 fi
 
@@ -924,7 +1032,7 @@ fi
 ### using a 'char' for bools.  gcc 2.7.0's conversion-warnings are broken too
 ### badly to consider using for development purposes, but 2.5.8 is okay.
 if test -n "$with_warnings"; then
 ### using a 'char' for bools.  gcc 2.7.0's conversion-warnings are broken too
 ### badly to consider using for development purposes, but 2.5.8 is okay.
 if test -n "$with_warnings"; then
-       if test -n "$GCC"; then
+       if test "$GCC" = yes; then
                case "`$CC --version`" in
                2.6.3)
                        if test "$cf_cv_type_of_bool" != "char"; then
                case "`$CC --version`" in
                2.6.3)
                        if test "$cf_cv_type_of_bool" != "char"; then
@@ -977,8 +1085,18 @@ CF_OBJ_SUBDIR($DFT_LWR_MODEL,DFT_OBJ_SUBDIR)dnl
 AC_SUBST(DFT_OBJ_SUBDIR)dnl the default object-directory ("obj")
 AC_MSG_RESULT($DFT_OBJ_SUBDIR)
 
 AC_SUBST(DFT_OBJ_SUBDIR)dnl the default object-directory ("obj")
 AC_MSG_RESULT($DFT_OBJ_SUBDIR)
 
+# libtool thinks it can make c++ shared libraries (perhaps only g++)
+AC_MSG_CHECKING(c++ library-dependency suffux)
+if test "$with_libtool" = "yes"; then
+       CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
+else
+       CF_LIB_SUFFIX(normal,CXX_LIB_SUFFIX)dnl we normally make a static library
+fi
+AC_MSG_RESULT($CXX_LIB_SUFFIX)
+AC_SUBST(CXX_LIB_SUFFIX)
+
 TINFO_LIST="$SHLIB_LIST"
 TINFO_LIST="$SHLIB_LIST"
-test $with_termlib = yes && SHLIB_LIST="$SHLIB_LIST -ltinfo${LIB_SUFFIX}"
+test "$with_termlib" = yes && SHLIB_LIST="$SHLIB_LIST -ltinfo${LIB_SUFFIX}"
 
 AC_MSG_CHECKING(where we will install curses.h)
 test "$with_overwrite" = no && \
 
 AC_MSG_CHECKING(where we will install curses.h)
 test "$with_overwrite" = no && \
@@ -994,7 +1112,11 @@ AC_SUBST(SHLIB_LIST)
 ### could override this.
 if test "$with_termlib" = yes ; then
        TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${TINFO_NAME}${DFT_DEP_SUFFIX}"
 ### could override this.
 if test "$with_termlib" = yes ; then
        TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${TINFO_NAME}${DFT_DEP_SUFFIX}"
-       TEST_ARGS="-l${TINFO_NAME}${DFT_ARG_SUFFIX}"
+       if test "$DFT_LWR_MODEL" = "libtool"; then
+               TEST_ARGS="${TEST_DEPS}"
+       else
+               TEST_ARGS="-l${TINFO_NAME}${DFT_ARG_SUFFIX}"
+       fi
 fi
 PROG_DEPS="$TEST_DEPS"
 PROG_ARGS="$TEST_ARGS"
 fi
 PROG_DEPS="$TEST_DEPS"
 PROG_ARGS="$TEST_ARGS"
@@ -1014,6 +1136,7 @@ AC_OUTPUT( \
        include/curses.h \
        include/termcap.h \
        include/unctrl.h \
        include/curses.h \
        include/termcap.h \
        include/unctrl.h \
+       misc/run_tic.sh:misc/run_tic.in \
        $SUB_MAKEFILES \
        Makefile,[
 CF_LIB_RULES
        $SUB_MAKEFILES \
        Makefile,[
 CF_LIB_RULES
@@ -1030,9 +1153,11 @@ LIB_SUFFIX="$LIB_SUFFIX"
 LIB_SUBSETS="$LIB_SUBSETS"
 LIB_TRACING="$LIB_TRACING"
 SRC_SUBDIRS="$SRC_SUBDIRS"
 LIB_SUBSETS="$LIB_SUBSETS"
 LIB_TRACING="$LIB_TRACING"
 SRC_SUBDIRS="$SRC_SUBDIRS"
+TERMINFO="$TERMINFO"
 TINFO_NAME="$TINFO_NAME"
 WITH_ECHO="$with_echo"
 WITH_OVERWRITE="$with_overwrite"
 TINFO_NAME="$TINFO_NAME"
 WITH_ECHO="$with_echo"
 WITH_OVERWRITE="$with_overwrite"
+WITH_CURSES_H="$with_curses_h"
 cf_cv_abi_version="$cf_cv_abi_version"
 cf_cv_do_symlinks="$cf_cv_do_symlinks"
 cf_cv_rel_version="$cf_cv_rel_version"
 cf_cv_abi_version="$cf_cv_abi_version"
 cf_cv_do_symlinks="$cf_cv_do_symlinks"
 cf_cv_rel_version="$cf_cv_rel_version"
index 9d1026d16878ce3a8e4ecbe02376b852391d5b18..dea92ca5d8cc96961e5ff38709d4e448755ebb80 100644 (file)
@@ -8,47 +8,83 @@ extproc perl -S -w
 #
 # run the result like this:
 #    .\configure
 #
 # run the result like this:
 #    .\configure
-;
+
+# Some frequent manual intervention:
+# a) Some makefiles hardwire SHELL = /bin/sh ==> change to: sh
+# b) Some makefiles recognize that exe files terminate on .exe
+#    You need to give this script -no-zexe option...
+
+shift, $no_zexe = 1 if @ARGV and $ARGV[0] eq '-no-zexe';
 
 mkdir '/tmp', 0777 unless -d '/tmp';
 
 print <<EOF;
 extproc sh
 
 
 mkdir '/tmp', 0777 unless -d '/tmp';
 
 print <<EOF;
 extproc sh
 
+EOF
+
+print <<EOF unless $no_zexe;
 # Make sensible defaults:
 # Make sensible defaults:
-CC="gcc -Zexe"
+CC="gcc -Zexe -Zmt"
 export CC
 export CC
+CXX="gcc -Zexe -Zmt"
+export CXX
 #GCCOPT="$GCCOPT -Zexe"
 #export GCCOPT
 #GCCOPT="$GCCOPT -Zexe"
 #export GCCOPT
+EOF
+
+print <<EOF;
 CONFIG_SHELL=sh
 CONFIG_SHELL=sh
+export CONFIG_SHELL
+
+# Optimization (GNU make 3.74 cannot be loaded :-():
+emxload -m 30 sh.exe ls.exe tr.exe id.exe sed.exe # make.exe 
+emxload -m 30 grep.exe egrep.exe fgrep.exe cat.exe rm.exe mv.exe cp.exe
+emxload -m 30 uniq.exe basename.exe sort.exe awk.exe echo.exe
+
 
 EOF
 
 $checking_path = 0;
 
 while (<>) {
 
 EOF
 
 $checking_path = 0;
 
 while (<>) {
-  if (/for\s+(\w+)\s+in\s*\$PATH\s*;/) {
+  if (/for\s+(\w+)\s+in\s*\$(PATH|ac_dummy)\s*;/) {
     $checking_path = 1;
     $varname = $1;
     $subst= <<EOS
 $varname="`echo -E \\"\$$varname\\" | tr \\\\\\\\\\\\\\\\ / `"
 EOS
   } 
     $checking_path = 1;
     $varname = $1;
     $subst= <<EOS
 $varname="`echo -E \\"\$$varname\\" | tr \\\\\\\\\\\\\\\\ / `"
 EOS
   } 
-  $checking_path = 0 if /^\s*done\s*$/;
+  if (/if\s+test\s+-z\s+\"\$INSTALL\"/) {
+    $checking_install = 1;
+  } 
+  $checking_install = $checking_path = 0 if /^\s*done\s*$/;
   # We want to create an extra line like this one:
 #   ac_dir="`echo -E \"$ac_dir\" | tr \\\\\\\\ / `"
   s{^((\s*)if\s+test)\s*-f\s*(\$$varname/\S+)\s*;}
   # We want to create an extra line like this one:
 #   ac_dir="`echo -E \"$ac_dir\" | tr \\\\\\\\ / `"
   s{^((\s*)if\s+test)\s*-f\s*(\$$varname/\S+)\s*;}
-    {$2$subst$1 -f $3 -o -f $3.exe ;}
+   {$2$subst$1 -f $3 -o -f $3.exe ;}
       if $checking_path;       # Checking for executables
       if $checking_path;       # Checking for executables
-  s/^host=NONE$/host=os2/;     # Make default host
+  # change |/usr/sbin/*| to |/usr/sbin/*|?:[\\/]os2[\\/]install[\\/]*|
+  # in the list of things to skip (with both cases)
+  s{\Q|/usr/sbin/*|}
+   {|/usr/sbin/*|?:[\\\\/]os2[\\\\/]install[\\\\/]*|?:[\\\\/]OS2[\\\\/]INSTALL[\\\\/]*|}
+      if $checking_install;    # Do not accept d:/os2/install/install.exe
+  s/^(host|build)=NONE$/$1=x86-emx-os2/;       # Make default host/build
   s/"\$\{IFS}:"$/"\${IFS};"/;  # Fix IFS line
   s/"\$\{IFS}:"$/"\${IFS};"/;  # Fix IFS line
+  s/\bIFS=\":\"$/IFS=";"/;     # Fix another IFS line
   s/\btest\s+-s\s+conftest\b/test -f conftest/g; # Fix exe test
   # This one is needed for curses:
   s/\btest\s+-s\s+conftest\b/test -f conftest/g; # Fix exe test
   # This one is needed for curses:
-  s/host=`\$ac_config_sub \$host_alias`/$&\nif test -z "$host"; then host=\$host_alias; fi/;
+  s/^\s*host=`.*\$ac_config_sub \$host_alias`/$&\nif test -z "\$host"; then host=\$host_alias; fi/;
   s,/bin/sh(?![/\w]),sh,g;
   s,/bin/sh(?![/\w]),sh,g;
+  s,^(\s*/usr/sbin/sendmail\s*)\\$,$1 "`whence sendmail | tr '\\\\\\\\' / `" \\,;
   print;
 }
 
 __END__
 
   print;
 }
 
 __END__
 
-Changes: 98/11 : support check for executables in ncurses.
+Changes:       98/11 : support check for executables in ncurses.
+               99/2  : support INSTALL, 
+                       new IFS=':' style
+               99/11 : find sendmail
+               00/01 : export CONFIG_SHELL
+               00/10 : new syntax for host=`...` line
diff --git a/dist.mk b/dist.mk
index 5564594972d023940d17d8df1e2099b7b5bc1380..b6a515dd54b110a617ca8c18e2d3796730b686d3 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -1,4 +1,4 @@
-# $Id: dist.mk,v 1.209 2000/07/08 19:43:10 tom Exp $
+# $Id: dist.mk,v 1.227 2000/10/20 22:28:06 tom Exp $
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
@@ -9,8 +9,8 @@ SHELL = /bin/sh
 
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 5
 
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 5
-NCURSES_MINOR = 1
-NCURSES_PATCH = 20000708
+NCURSES_MINOR = 2
+NCURSES_PATCH = 20001021
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
@@ -49,8 +49,8 @@ doc/ncurses-intro.doc: doc/html/ncurses-intro.html
 doc/hackguide.doc: doc/html/hackguide.html
        $(DUMP2) doc/html/hackguide.html > $@
 
 doc/hackguide.doc: doc/html/hackguide.html
        $(DUMP2) doc/html/hackguide.html > $@
 
-# Note that this rule assumes the manpages were installed - it does not use
-# the copies in the build tree except to get the list of names.
+MANPROG        = tbl | nroff -man
+
 manhtml: MANIFEST
        @rm -f doc/html/man/*.html
        @mkdir -p doc/html/man
 manhtml: MANIFEST
        @rm -f doc/html/man/*.html
        @mkdir -p doc/html/man
@@ -70,7 +70,7 @@ manhtml: MANIFEST
           g=$${m}.html ;\
           if [ -f doc/html/$$g ]; then chmod +w doc/html/$$g; fi;\
           echo "Converting $$m to HTML" ;\
           g=$${m}.html ;\
           if [ -f doc/html/$$g ]; then chmod +w doc/html/$$g; fi;\
           echo "Converting $$m to HTML" ;\
-          man $$f | tr '\255' '-' | $(MAN2HTML) | \
+          man/edit_man.sh editing /usr/man man $$f | $(MANPROG) | tr '\255' '-' | $(MAN2HTML) | \
           sed -f subst.sed |\
           sed -e 's/"curses.3x.html"/"ncurses.3x.html"/g' \
           > doc/html/man/$$g ;\
           sed -f subst.sed |\
           sed -e 's/"curses.3x.html"/"ncurses.3x.html"/g' \
           > doc/html/man/$$g ;\
index 3296a66e4983165737c07e850c2e8fd222bc10ed..74d986bf12fd94e78d00695e605a148bdac817d2 100644 (file)
 
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
 
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#49_14">Set_Field_Type</A><FONT COLOR=red><A NAME="48_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#49_30">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#49_14">Set_Field_Type</A><FONT COLOR=red><A NAME="48_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#49_30">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                              <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#50_30">Typ</A> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#44_9">Alpha_Field</A>)
    <b>is</b>
       C_Alpha_Field_Type : C_Field_Type;
       <b>pragma</b> Import (C, C_Alpha_Field_Type, "TYPE_ALPHA");
 
                              <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#50_30">Typ</A> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#44_9">Alpha_Field</A>)
    <b>is</b>
       C_Alpha_Field_Type : C_Field_Type;
       <b>pragma</b> Import (C, C_Alpha_Field_Type, "TYPE_ALPHA");
 
-      <b>function</b> <FONT COLOR=red><A NAME="54_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="54_30">F</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#49_30">Fld</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="54_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="54_30">F</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#49_30">Fld</A>;
                              Cft  : C_Field_Type := C_Alpha_Field_Type;
                              <FONT COLOR=red><A NAME="56_30">Arg1</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#54_16">Set_Fld_Type</A>, "set_field_type");
                              Cft  : C_Field_Type := C_Alpha_Field_Type;
                              <FONT COLOR=red><A NAME="56_30">Arg1</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#54_16">Set_Fld_Type</A>, "set_field_type");
index a16a211b2f2df64ea4d96b123240741c1745d9b2..87c2ce0654c60b74dd02e0daa6bf0660a4ead918 100644 (file)
 <FONT COLOR=green><EM>--  @Revision: 1.9 @</EM></FONT>
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <FONT COLOR=green><EM>--  @Revision: 1.9 @</EM></FONT>
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
-<b>package</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#44_58">Alpha</A><FONT COLOR=red><A NAME="41_53"></A></FONT> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#41_53">Alpha</A>);
+<b>package</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#44_58">Alpha</A><FONT COLOR=red><A NAME="41_53"></A></FONT> <b>is</b>
+   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#41_53">Alpha</A>);
 
    <b>type</b> <FONT COLOR=red><A NAME="44_9">Alpha_Field</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#52_9">Field_Type</A>
      <b>with</b> <b>record</b>
         <FONT COLOR=red><A NAME="46_9">Minimum_Field_Width</A></FONT> : Natural := 0;
      <b>end</b> <b>record</b>;
 
 
    <b>type</b> <FONT COLOR=red><A NAME="44_9">Alpha_Field</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#52_9">Field_Type</A>
      <b>with</b> <b>record</b>
         <FONT COLOR=red><A NAME="46_9">Minimum_Field_Width</A></FONT> : Natural := 0;
      <b>end</b> <b>record</b>;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#48_14">Set_Field_Type</A><FONT COLOR=red><A NAME="49_14"></A></FONT> (<FONT COLOR=red><A NAME="49_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#48_14">Set_Field_Type</A><FONT COLOR=red><A NAME="49_14"></A></FONT> (<FONT COLOR=red><A NAME="49_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                              <FONT COLOR=red><A NAME="50_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#44_9">Alpha_Field</A>);
    <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#49_14">Set_Field_Type</A>);
 
                              <FONT COLOR=red><A NAME="50_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#44_9">Alpha_Field</A>);
    <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#49_14">Set_Field_Type</A>);
 
index c7aaa2d1ae6883e650505b4c5da181fadf284a22..ffe72eb64623deb23857e4bbb9987fa4f9a46a2c 100644 (file)
 
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
 
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#50_14">Set_Field_Type</A><FONT COLOR=red><A NAME="48_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#50_30">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#50_14">Set_Field_Type</A><FONT COLOR=red><A NAME="48_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#50_30">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                              <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#51_30">Typ</A> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#45_9">AlphaNumeric_Field</A>)
    <b>is</b>
       C_AlphaNumeric_Field_Type : C_Field_Type;
       <b>pragma</b> Import (C, C_AlphaNumeric_Field_Type, "TYPE_ALNUM");
 
                              <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#51_30">Typ</A> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#45_9">AlphaNumeric_Field</A>)
    <b>is</b>
       C_AlphaNumeric_Field_Type : C_Field_Type;
       <b>pragma</b> Import (C, C_AlphaNumeric_Field_Type, "TYPE_ALNUM");
 
-      <b>function</b> <FONT COLOR=red><A NAME="54_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="54_30">F</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#50_30">Fld</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="54_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="54_30">F</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#50_30">Fld</A>;
                              Cft  : C_Field_Type := C_AlphaNumeric_Field_Type;
                              <FONT COLOR=red><A NAME="56_30">Arg1</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#54_16">Set_Fld_Type</A>, "set_field_type");
                              Cft  : C_Field_Type := C_AlphaNumeric_Field_Type;
                              <FONT COLOR=red><A NAME="56_30">Arg1</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#54_16">Set_Fld_Type</A>, "set_field_type");
index d1302308e2d0350cbdbb45bf9010e7b414f29c3b..9b3c527ebb20990c97903129be30362cb1e47143 100644 (file)
 <FONT COLOR=green><EM>--  @Revision: 1.9 @</EM></FONT>
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <FONT COLOR=green><EM>--  @Revision: 1.9 @</EM></FONT>
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
-<b>package</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#44_58">AlphaNumeric</A><FONT COLOR=red><A NAME="41_53"></A></FONT> <b>is</b>
+<b>package</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#44_58">AlphaNumeric</A><FONT COLOR=red><A NAME="41_53"></A></FONT> <b>is</b>
    <b>pragma</b> Preelaborate
    <b>pragma</b> Preelaborate
-     (<A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#41_53">AlphaNumeric</A>);
+     (<A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#41_53">AlphaNumeric</A>);
 
    <b>type</b> <FONT COLOR=red><A NAME="45_9">AlphaNumeric_Field</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#52_9">Field_Type</A>
      <b>with</b> <b>record</b>
         <FONT COLOR=red><A NAME="47_9">Minimum_Field_Width</A></FONT> : Natural := 0;
      <b>end</b> <b>record</b>;
 
 
    <b>type</b> <FONT COLOR=red><A NAME="45_9">AlphaNumeric_Field</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#52_9">Field_Type</A>
      <b>with</b> <b>record</b>
         <FONT COLOR=red><A NAME="47_9">Minimum_Field_Width</A></FONT> : Natural := 0;
      <b>end</b> <b>record</b>;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#48_14">Set_Field_Type</A><FONT COLOR=red><A NAME="50_14"></A></FONT> (<FONT COLOR=red><A NAME="50_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#48_14">Set_Field_Type</A><FONT COLOR=red><A NAME="50_14"></A></FONT> (<FONT COLOR=red><A NAME="50_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                              <FONT COLOR=red><A NAME="51_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#45_9">AlphaNumeric_Field</A>);
    <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#50_14">Set_Field_Type</A>);
 
                              <FONT COLOR=red><A NAME="51_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#45_9">AlphaNumeric_Field</A>);
    <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#50_14">Set_Field_Type</A>);
 
index a4307d561ce75241acbbeb00f7c65b501650f5e6..b5b9b02acf81bb1d59f27e5f48e077cc93ae9072 100644 (file)
       <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#48_13">Create</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#50_7">I</A>, True);
    <b>end</b> Create;
 
       <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#48_13">Create</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#50_7">I</A>, True);
    <b>end</b> Create;
 
-   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#53_13">Value</A><FONT COLOR=red><A NAME="73_13"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#53_20">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-                   <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#54_20">Buf</A> : <A HREF="terminal_interface-curses-forms__ads.htm#131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#131_9">Buffer_Number</A>'First) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#42_9">T</A>
+   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#53_13">Value</A><FONT COLOR=red><A NAME="73_13"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#53_20">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+                   <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#54_20">Buf</A> : <A HREF="terminal_interface-curses-forms__ads.htm#130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#130_9">Buffer_Number</A>'First) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#42_9">T</A>
    <b>is</b>
    <b>begin</b>
    <b>is</b>
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#42_9">T</A>'Value (<A HREF="terminal_interface-curses-forms__ads.htm#371_13">Get_Buffer</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#53_20">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#54_20">Buf</A>));
+      <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#42_9">T</A>'Value (<A HREF="terminal_interface-curses-forms__ads.htm#370_13">Get_Buffer</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#53_20">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#54_20">Buf</A>));
    <b>end</b> Value;
 
 <b>end</b> Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada;
    <b>end</b> Value;
 
 <b>end</b> Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada;
index d853ce407694a0dc8cac2f705193f58c5605a944..8a667b7c32152270d8f560effaff3cab6e7c5413 100644 (file)
 <b>generic</b>
    <b>type</b> <FONT COLOR=red><A NAME="42_9">T</A></FONT> <b>is</b> (&lt;&gt;);
 
 <b>generic</b>
    <b>type</b> <FONT COLOR=red><A NAME="42_9">T</A></FONT> <b>is</b> (&lt;&gt;);
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#43_53">Enumeration</A>.<FONT COLOR=red><A NAME="44_65">Ada</A></FONT> <b>is</b>
+<b>package</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#43_53">Enumeration</A>.<FONT COLOR=red><A NAME="44_65">Ada</A></FONT> <b>is</b>
    <b>pragma</b> Preelaborate
    <b>pragma</b> Preelaborate
-     (<A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#43_53">Enumeration</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#44_65">Ada</A>);
+     (<A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#43_53">Enumeration</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#44_65">Ada</A>);
 
    <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#45_13">Create</A><FONT COLOR=red><A NAME="48_13"></A></FONT> (<FONT COLOR=red><A NAME="48_21">Set</A></FONT>            : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#50_9">Type_Set</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#50_46">Mixed_Case</A>;
                     <FONT COLOR=red><A NAME="49_21">Case_Sensitive</A></FONT> : Boolean  := False;
                     <FONT COLOR=red><A NAME="50_21">Must_Be_Unique</A></FONT> : Boolean  := False)
                     <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#62_9">Enumeration_Field</A>;
 
 
    <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#45_13">Create</A><FONT COLOR=red><A NAME="48_13"></A></FONT> (<FONT COLOR=red><A NAME="48_21">Set</A></FONT>            : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#50_9">Type_Set</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#50_46">Mixed_Case</A>;
                     <FONT COLOR=red><A NAME="49_21">Case_Sensitive</A></FONT> : Boolean  := False;
                     <FONT COLOR=red><A NAME="50_21">Must_Be_Unique</A></FONT> : Boolean  := False)
                     <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#62_9">Enumeration_Field</A>;
 
-   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#73_13">Value</A><FONT COLOR=red><A NAME="53_13"></A></FONT> (<FONT COLOR=red><A NAME="53_20">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-                   <FONT COLOR=red><A NAME="54_20">Buf</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#131_9">Buffer_Number</A>'First) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#42_9">T</A>;
+   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#73_13">Value</A><FONT COLOR=red><A NAME="53_13"></A></FONT> (<FONT COLOR=red><A NAME="53_20">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+                   <FONT COLOR=red><A NAME="54_20">Buf</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#130_9">Buffer_Number</A>'First) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#42_9">T</A>;
    <FONT COLOR=green><EM>--  Translate the content of the fields buffer - indicated by the</EM></FONT>
    <FONT COLOR=green><EM>--  buffer number - into an enumeration value. If the buffer is empty</EM></FONT>
    <FONT COLOR=green><EM>--  or the content is invalid, a Constraint_Error is raises.</EM></FONT>
    <FONT COLOR=green><EM>--  Translate the content of the fields buffer - indicated by the</EM></FONT>
    <FONT COLOR=green><EM>--  buffer number - into an enumeration value. If the buffer is empty</EM></FONT>
    <FONT COLOR=green><EM>--  or the content is invalid, a Constraint_Error is raises.</EM></FONT>
index 5096357bd428411ef882e8a365414fff8ea7bd0f..6e4ce4306cf50234de11d7efa07f2f565fcd0898 100644 (file)
@@ -65,7 +65,7 @@
       <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#55_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#55_7">Arr</A> := <b>new</b> chars_ptr_array (size_t (1) .. <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#56_7">L</A>);
       <b>for</b> <FONT COLOR=red><A NAME="62_11">I</A></FONT> <b>in</b> 1 .. Positive (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#56_7">L</A> - 1) <b>loop</b>
          <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#62_11">I</A>) = <b>null</b> <b>then</b>
       <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#55_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#55_7">Arr</A> := <b>new</b> chars_ptr_array (size_t (1) .. <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#56_7">L</A>);
       <b>for</b> <FONT COLOR=red><A NAME="62_11">I</A></FONT> <b>in</b> 1 .. Positive (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#56_7">L</A> - 1) <b>loop</b>
          <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#62_11">I</A>) = <b>null</b> <b>then</b>
-            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#289_4">Form_Exception</A>;
+            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#288_4">Form_Exception</A>;
          <b>end</b> <b>if</b>;
          <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#55_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#95_10">Arr</A> (size_t (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#62_11">I</A>)) := New_String (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#62_11">I</A>).<b>all</b>);
          <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#65_21">Auto_Release_Names</A> <b>then</b>
          <b>end</b> <b>if</b>;
          <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#55_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#95_10">Arr</A> (size_t (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#62_11">I</A>)) := New_String (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#62_11">I</A>).<b>all</b>);
          <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#65_21">Auto_Release_Names</A> <b>then</b>
       <b>loop</b>
          <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#79_7">P</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#77_23">Enum</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#95_10">Arr</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#78_7">I</A>);
          <b>exit</b> <b>when</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#79_7">P</A> = Null_Ptr;
       <b>loop</b>
          <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#79_7">P</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#77_23">Enum</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#95_10">Arr</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#78_7">I</A>);
          <b>exit</b> <b>when</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#79_7">P</A> = Null_Ptr;
-         <A HREF="terminal_interface-curses-forms__ads.htm#138_14">Free</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#79_7">P</A>);
+         <A HREF="terminal_interface-curses-forms__ads.htm#137_14">Free</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#79_7">P</A>);
          <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#77_23">Enum</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#95_10">Arr</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#78_7">I</A>) := Null_Ptr;
          <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#78_7">I</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#78_7">I</A> + 1;
       <b>end</b> <b>loop</b>;
       <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#77_23">Enum</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#95_10">Arr</A> := <b>null</b>;
    <b>end</b> Release;
 
          <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#77_23">Enum</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#95_10">Arr</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#78_7">I</A>) := Null_Ptr;
          <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#78_7">I</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#78_7">I</A> + 1;
       <b>end</b> <b>loop</b>;
       <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#77_23">Enum</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#95_10">Arr</A> := <b>null</b>;
    <b>end</b> Release;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#84_14">Set_Field_Type</A><FONT COLOR=red><A NAME="91_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#84_30">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#84_14">Set_Field_Type</A><FONT COLOR=red><A NAME="91_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#84_30">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                              <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#85_30">Typ</A> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#62_9">Enumeration_Field</A>)
    <b>is</b>
       C_Enum_Type : C_Field_Type;
       <b>pragma</b> Import (C, C_Enum_Type, "TYPE_ENUM");
 
                              <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#85_30">Typ</A> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#62_9">Enumeration_Field</A>)
    <b>is</b>
       C_Enum_Type : C_Field_Type;
       <b>pragma</b> Import (C, C_Enum_Type, "TYPE_ENUM");
 
-      <b>function</b> <FONT COLOR=red><A NAME="97_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="97_30">F</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#84_30">Fld</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="97_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="97_30">F</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#84_30">Fld</A>;
                              Cft  : C_Field_Type := C_Enum_Type;
                              <FONT COLOR=red><A NAME="99_30">Arg1</A></FONT> : chars_ptr_array;
                              <FONT COLOR=red><A NAME="100_30">Arg2</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>;
                              Cft  : C_Field_Type := C_Enum_Type;
                              <FONT COLOR=red><A NAME="99_30">Arg1</A></FONT> : chars_ptr_array;
                              <FONT COLOR=red><A NAME="100_30">Arg2</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>;
       <FONT COLOR=red><A NAME="104_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#85_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#95_10">Arr</A> = <b>null</b> <b>then</b>
       <FONT COLOR=red><A NAME="104_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#85_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#95_10">Arr</A> = <b>null</b> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#289_4">Form_Exception</A>;
+         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#288_4">Form_Exception</A>;
       <b>end</b> <b>if</b>;
       <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#104_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#97_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#99_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#85_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#95_10">Arr</A>.<b>all</b>,
                            <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#100_30">Arg2</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#85_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#93_10">Case_Sensitive</A>)),
       <b>end</b> <b>if</b>;
       <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#104_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#97_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#99_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#85_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#95_10">Arr</A>.<b>all</b>,
                            <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#100_30">Arg2</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#85_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#93_10">Case_Sensitive</A>)),
index 0cda472c77ed8b6d35ff5c47aff5f3429e449b34..0aff774583e0a2b82275be4b17f78f148bd2844b 100644 (file)
@@ -44,9 +44,9 @@
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <b>with</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Strings;
 
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <b>with</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Strings;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#46_58">Enumeration</A><FONT COLOR=red><A NAME="43_53"></A></FONT> <b>is</b>
+<b>package</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#46_58">Enumeration</A><FONT COLOR=red><A NAME="43_53"></A></FONT> <b>is</b>
    <b>pragma</b> Preelaborate
    <b>pragma</b> Preelaborate
-     (<A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#43_53">Enumeration</A>);
+     (<A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#43_53">Enumeration</A>);
 
    <b>type</b> <FONT COLOR=red><A NAME="47_9">String_Access</A></FONT> <b>is</b> <b>access</b> String;
 
 
    <b>type</b> <FONT COLOR=red><A NAME="47_9">String_Access</A></FONT> <b>is</b> <b>access</b> String;
 
@@ -85,7 +85,7 @@
    <FONT COLOR=green><EM>--  The next type defintions are all ncurses extensions. They are typically</EM></FONT>
    <FONT COLOR=green><EM>--  not available in other curses implementations.</EM></FONT>
 
    <FONT COLOR=green><EM>--  The next type defintions are all ncurses extensions. They are typically</EM></FONT>
    <FONT COLOR=green><EM>--  not available in other curses implementations.</EM></FONT>
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#91_14">Set_Field_Type</A><FONT COLOR=red><A NAME="84_14"></A></FONT> (<FONT COLOR=red><A NAME="84_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#91_14">Set_Field_Type</A><FONT COLOR=red><A NAME="84_14"></A></FONT> (<FONT COLOR=red><A NAME="84_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                              <FONT COLOR=red><A NAME="85_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#62_9">Enumeration_Field</A>);
    <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#84_14">Set_Field_Type</A>);
 
                              <FONT COLOR=red><A NAME="85_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#62_9">Enumeration_Field</A>);
    <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#84_14">Set_Field_Type</A>);
 
index fadb9370b80497a407c070ee73f14317eb594371..1f98bd71c9ed8b3ac091e52225b7897b98b639ea 100644 (file)
 
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
 
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#51_14">Set_Field_Type</A><FONT COLOR=red><A NAME="48_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#51_30">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#51_14">Set_Field_Type</A><FONT COLOR=red><A NAME="48_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#51_30">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                              <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#52_30">Typ</A> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#44_9">Integer_Field</A>)
    <b>is</b>
       C_Integer_Field_Type : C_Field_Type;
       <b>pragma</b> Import (C, C_Integer_Field_Type, "TYPE_INTEGER");
 
                              <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#52_30">Typ</A> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#44_9">Integer_Field</A>)
    <b>is</b>
       C_Integer_Field_Type : C_Field_Type;
       <b>pragma</b> Import (C, C_Integer_Field_Type, "TYPE_INTEGER");
 
-      <b>function</b> <FONT COLOR=red><A NAME="54_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="54_30">F</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#51_30">Fld</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="54_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="54_30">F</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#51_30">Fld</A>;
                              Cft  : C_Field_Type := C_Integer_Field_Type;
                              <FONT COLOR=red><A NAME="56_30">Arg1</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>;
                              <FONT COLOR=red><A NAME="57_30">Arg2</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Long_Int</A>;
                              Cft  : C_Field_Type := C_Integer_Field_Type;
                              <FONT COLOR=red><A NAME="56_30">Arg1</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>;
                              <FONT COLOR=red><A NAME="57_30">Arg2</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Long_Int</A>;
index a227bc7b2045fe6e088325e94c0284f5a4217be7..d72b8b80658ec0a8915f7aa924bda2cb24bf1b48 100644 (file)
@@ -42,8 +42,8 @@
 <FONT COLOR=green><EM>--  @Revision: 1.9 @</EM></FONT>
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <FONT COLOR=green><EM>--  @Revision: 1.9 @</EM></FONT>
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
-<b>package</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#44_58">IntField</A><FONT COLOR=red><A NAME="41_53"></A></FONT> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#41_53">IntField</A>);
+<b>package</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#44_58">IntField</A><FONT COLOR=red><A NAME="41_53"></A></FONT> <b>is</b>
+   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#41_53">IntField</A>);
 
    <b>type</b> <FONT COLOR=red><A NAME="44_9">Integer_Field</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#52_9">Field_Type</A> <b>with</b>
       <b>record</b>
 
    <b>type</b> <FONT COLOR=red><A NAME="44_9">Integer_Field</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#52_9">Field_Type</A> <b>with</b>
       <b>record</b>
@@ -52,7 +52,7 @@
          <FONT COLOR=red><A NAME="48_10">Upper_Limit</A></FONT> : Integer;
       <b>end</b> <b>record</b>;
 
          <FONT COLOR=red><A NAME="48_10">Upper_Limit</A></FONT> : Integer;
       <b>end</b> <b>record</b>;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#48_14">Set_Field_Type</A><FONT COLOR=red><A NAME="51_14"></A></FONT> (<FONT COLOR=red><A NAME="51_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#48_14">Set_Field_Type</A><FONT COLOR=red><A NAME="51_14"></A></FONT> (<FONT COLOR=red><A NAME="51_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                              <FONT COLOR=red><A NAME="52_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#44_9">Integer_Field</A>);
    <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#51_14">Set_Field_Type</A>);
 
                              <FONT COLOR=red><A NAME="52_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#44_9">Integer_Field</A>);
    <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#51_14">Set_Field_Type</A>);
 
index 58e84d3a1742ee7047cda66367211a038d488ee8..dc79cc7192ec1d1260e5dcd84327b4c91f368804 100644 (file)
 
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
 
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#47_14">Set_Field_Type</A><FONT COLOR=red><A NAME="48_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#47_30">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#47_14">Set_Field_Type</A><FONT COLOR=red><A NAME="48_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#47_30">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                              <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#48_30">Typ</A> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#45_9">Internet_V4_Address_Field</A>)
    <b>is</b>
       C_IPV4_Field_Type : C_Field_Type;
       <b>pragma</b> Import (C, C_IPV4_Field_Type, "TYPE_IPV4");
 
                              <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#48_30">Typ</A> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#45_9">Internet_V4_Address_Field</A>)
    <b>is</b>
       C_IPV4_Field_Type : C_Field_Type;
       <b>pragma</b> Import (C, C_IPV4_Field_Type, "TYPE_IPV4");
 
-      <b>function</b> <FONT COLOR=red><A NAME="54_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="54_30">F</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#47_30">Fld</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="54_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="54_30">F</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#47_30">Fld</A>;
                              Cft  : C_Field_Type := C_IPV4_Field_Type)
                              <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#54_16">Set_Fld_Type</A>, "set_field_type");
                              Cft  : C_Field_Type := C_IPV4_Field_Type)
                              <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#54_16">Set_Fld_Type</A>, "set_field_type");
index 1954baaef22db1011188be1cd5fa462608c92961..f270ad6eb86e7b795d4959ff90e0cde6cb5a5971 100644 (file)
 <FONT COLOR=green><EM>--  @Revision: 1.9 @</EM></FONT>
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <FONT COLOR=green><EM>--  @Revision: 1.9 @</EM></FONT>
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
-<b>package</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#44_58">IPV4_Address</A><FONT COLOR=red><A NAME="41_53"></A></FONT> <b>is</b>
+<b>package</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#44_58">IPV4_Address</A><FONT COLOR=red><A NAME="41_53"></A></FONT> <b>is</b>
    <b>pragma</b> Preelaborate
    <b>pragma</b> Preelaborate
-     (<A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#41_53">IPV4_Address</A>);
+     (<A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#41_53">IPV4_Address</A>);
 
    <b>type</b> <FONT COLOR=red><A NAME="45_9">Internet_V4_Address_Field</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#52_9">Field_Type</A> <b>with</b> <b>null</b> <b>record</b>;
 
 
    <b>type</b> <FONT COLOR=red><A NAME="45_9">Internet_V4_Address_Field</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#52_9">Field_Type</A> <b>with</b> <b>null</b> <b>record</b>;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#48_14">Set_Field_Type</A><FONT COLOR=red><A NAME="47_14"></A></FONT> (<FONT COLOR=red><A NAME="47_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#48_14">Set_Field_Type</A><FONT COLOR=red><A NAME="47_14"></A></FONT> (<FONT COLOR=red><A NAME="47_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                              <FONT COLOR=red><A NAME="48_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#45_9">Internet_V4_Address_Field</A>);
    <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#47_14">Set_Field_Type</A>);
 
                              <FONT COLOR=red><A NAME="48_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#45_9">Internet_V4_Address_Field</A>);
    <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#47_14">Set_Field_Type</A>);
 
index 914c70da3a8bfa8fe701418dee2135ae69141891..e6d074243b4ab468db0f5caa6b0355947ce6e8bb 100644 (file)
@@ -49,7 +49,7 @@
 
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
 
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#51_14">Set_Field_Type</A><FONT COLOR=red><A NAME="48_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#51_30">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#51_14">Set_Field_Type</A><FONT COLOR=red><A NAME="48_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#51_30">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                              <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#52_30">Typ</A> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#44_9">Numeric_Field</A>)
    <b>is</b>
       <b>type</b> <FONT COLOR=red><A NAME="51_12">Double</A></FONT> <b>is</b> <b>new</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.double;
                              <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#52_30">Typ</A> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#44_9">Numeric_Field</A>)
    <b>is</b>
       <b>type</b> <FONT COLOR=red><A NAME="51_12">Double</A></FONT> <b>is</b> <b>new</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.double;
@@ -57,7 +57,7 @@
       C_Numeric_Field_Type : C_Field_Type;
       <b>pragma</b> Import (C, C_Numeric_Field_Type, "TYPE_NUMERIC");
 
       C_Numeric_Field_Type : C_Field_Type;
       <b>pragma</b> Import (C, C_Numeric_Field_Type, "TYPE_NUMERIC");
 
-      <b>function</b> <FONT COLOR=red><A NAME="56_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="56_30">F</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#51_30">Fld</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="56_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="56_30">F</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#51_30">Fld</A>;
                              Cft  : C_Field_Type := C_Numeric_Field_Type;
                              <FONT COLOR=red><A NAME="58_30">Arg1</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>;
                              <FONT COLOR=red><A NAME="59_30">Arg2</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#51_12">Double</A>;
                              Cft  : C_Field_Type := C_Numeric_Field_Type;
                              <FONT COLOR=red><A NAME="58_30">Arg1</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>;
                              <FONT COLOR=red><A NAME="59_30">Arg2</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#51_12">Double</A>;
index 401fedf5084aa9de1b294419b597ee5ecea46a74..2f1edfd9116443370c302b46464b6d136a5ff62a 100644 (file)
@@ -42,8 +42,8 @@
 <FONT COLOR=green><EM>--  @Revision: 1.9 @</EM></FONT>
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <FONT COLOR=green><EM>--  @Revision: 1.9 @</EM></FONT>
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
-<b>package</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#44_58">Numeric</A><FONT COLOR=red><A NAME="41_53"></A></FONT> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#41_53">Numeric</A>);
+<b>package</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#44_58">Numeric</A><FONT COLOR=red><A NAME="41_53"></A></FONT> <b>is</b>
+   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#41_53">Numeric</A>);
 
    <b>type</b> <FONT COLOR=red><A NAME="44_9">Numeric_Field</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#52_9">Field_Type</A> <b>with</b>
       <b>record</b>
 
    <b>type</b> <FONT COLOR=red><A NAME="44_9">Numeric_Field</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#52_9">Field_Type</A> <b>with</b>
       <b>record</b>
@@ -52,7 +52,7 @@
          <FONT COLOR=red><A NAME="48_10">Upper_Limit</A></FONT> : Float;
       <b>end</b> <b>record</b>;
 
          <FONT COLOR=red><A NAME="48_10">Upper_Limit</A></FONT> : Float;
       <b>end</b> <b>record</b>;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#48_14">Set_Field_Type</A><FONT COLOR=red><A NAME="51_14"></A></FONT> (<FONT COLOR=red><A NAME="51_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#48_14">Set_Field_Type</A><FONT COLOR=red><A NAME="51_14"></A></FONT> (<FONT COLOR=red><A NAME="51_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                              <FONT COLOR=red><A NAME="52_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#44_9">Numeric_Field</A>);
    <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#51_14">Set_Field_Type</A>);
 
                              <FONT COLOR=red><A NAME="52_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#44_9">Numeric_Field</A>);
    <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#51_14">Set_Field_Type</A>);
 
index 9c082551feefd9530ae25fdde79ba80dd792c37c..44d8860251ad0f42b34bd5719cba944dc262013b 100644 (file)
@@ -47,7 +47,7 @@
 
 <b>package</b> <b>body</b> Terminal_Interface.Curses.Forms.Field_Types.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#41_53">RegExp</A><FONT COLOR=red><A NAME="44_58"></A></FONT> <b>is</b>
 
 
 <b>package</b> <b>body</b> Terminal_Interface.Curses.Forms.Field_Types.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#41_53">RegExp</A><FONT COLOR=red><A NAME="44_58"></A></FONT> <b>is</b>
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#51_14">Set_Field_Type</A><FONT COLOR=red><A NAME="46_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#51_30">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#51_14">Set_Field_Type</A><FONT COLOR=red><A NAME="46_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#51_30">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                              <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#52_30">Typ</A> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#46_9">Regular_Expression_Field</A>)
    <b>is</b>
       <b>type</b> Char_Ptr <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.char;
                              <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#52_30">Typ</A> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#46_9">Regular_Expression_Field</A>)
    <b>is</b>
       <b>type</b> Char_Ptr <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.char;
@@ -55,7 +55,7 @@
       C_Regexp_Field_Type : C_Field_Type;
       <b>pragma</b> Import (C, C_Regexp_Field_Type, "TYPE_REGEXP");
 
       C_Regexp_Field_Type : C_Field_Type;
       <b>pragma</b> Import (C, C_Regexp_Field_Type, "TYPE_REGEXP");
 
-      <b>function</b> <FONT COLOR=red><A NAME="54_16">Set_Ftyp</A></FONT> (<FONT COLOR=red><A NAME="54_26">F</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#51_30">Fld</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="54_16">Set_Ftyp</A></FONT> (<FONT COLOR=red><A NAME="54_26">F</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#51_30">Fld</A>;
                          Cft  : C_Field_Type := C_Regexp_Field_Type;
                          Arg1 : Char_Ptr) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#54_16">Set_Ftyp</A>, "set_field_type");
                          Cft  : C_Field_Type := C_Regexp_Field_Type;
                          Arg1 : Char_Ptr) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#54_16">Set_Ftyp</A>, "set_field_type");
index b3bcf716703f55967871dd87ea5c3ded9bc8e833..e716502f743fe35d1d2ec44d1b0589945e0b1794 100644 (file)
@@ -42,8 +42,8 @@
 <FONT COLOR=green><EM>--  @Revision: 1.9 @</EM></FONT>
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <FONT COLOR=green><EM>--  @Revision: 1.9 @</EM></FONT>
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
-<b>package</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#44_58">RegExp</A><FONT COLOR=red><A NAME="41_53"></A></FONT> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#41_53">RegExp</A>);
+<b>package</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#44_58">RegExp</A><FONT COLOR=red><A NAME="41_53"></A></FONT> <b>is</b>
+   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#41_53">RegExp</A>);
 
    <b>type</b> <FONT COLOR=red><A NAME="44_9">String_Access</A></FONT> <b>is</b> <b>access</b> String;
 
 
    <b>type</b> <FONT COLOR=red><A NAME="44_9">String_Access</A></FONT> <b>is</b> <b>access</b> String;
 
@@ -52,7 +52,7 @@
          <FONT COLOR=red><A NAME="48_10">Regular_Expression</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#44_9">String_Access</A>;
       <b>end</b> <b>record</b>;
 
          <FONT COLOR=red><A NAME="48_10">Regular_Expression</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#44_9">String_Access</A>;
       <b>end</b> <b>record</b>;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#46_14">Set_Field_Type</A><FONT COLOR=red><A NAME="51_14"></A></FONT> (<FONT COLOR=red><A NAME="51_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#46_14">Set_Field_Type</A><FONT COLOR=red><A NAME="51_14"></A></FONT> (<FONT COLOR=red><A NAME="51_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                              <FONT COLOR=red><A NAME="52_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#46_9">Regular_Expression_Field</A>);
    <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#51_14">Set_Field_Type</A>);
 
                              <FONT COLOR=red><A NAME="52_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#46_9">Regular_Expression_Field</A>);
    <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#51_14">Set_Field_Type</A>);
 
index da6dca45ffb546257a3d6a4618b638246611934a..d9a59b24de6c8b684e82f6fc2dd6fa6052ead949 100644 (file)
@@ -53,7 +53,7 @@
    <b>function</b> <FONT COLOR=red><A NAME="49_13">To_Argument_Access</A></FONT> <b>is</b> <b>new</b> Ada.Unchecked_Conversion
      (System.Address, Argument_Access);
 
    <b>function</b> <FONT COLOR=red><A NAME="49_13">To_Argument_Access</A></FONT> <b>is</b> <b>new</b> Ada.Unchecked_Conversion
      (System.Address, Argument_Access);
 
-   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#82_13">Generic_Next</A><FONT COLOR=red><A NAME="52_13"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#82_27">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#82_13">Generic_Next</A><FONT COLOR=red><A NAME="52_13"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#82_27">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                           <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#83_27">Usr</A> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#48_12">C_Int</A>
    <b>is</b>
       <FONT COLOR=red><A NAME="55_7">Result</A></FONT> : Boolean;
                           <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#83_27">Usr</A> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#48_12">C_Int</A>
    <b>is</b>
       <FONT COLOR=red><A NAME="55_7">Result</A></FONT> : Boolean;
@@ -65,7 +65,7 @@
       <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#48_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#55_7">Result</A>));
    <b>end</b> Generic_Next;
 
       <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#48_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#55_7">Result</A>));
    <b>end</b> Generic_Next;
 
-   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#89_13">Generic_Prev</A><FONT COLOR=red><A NAME="64_13"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#89_27">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#89_13">Generic_Prev</A><FONT COLOR=red><A NAME="64_13"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#89_27">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                           <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#90_27">Usr</A> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#48_12">C_Int</A>
    <b>is</b>
       <FONT COLOR=red><A NAME="67_7">Result</A></FONT> : Boolean;
                           <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#90_27">Usr</A> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#48_12">C_Int</A>
    <b>is</b>
       <FONT COLOR=red><A NAME="67_7">Result</A></FONT> : Boolean;
@@ -88,7 +88,7 @@
          T := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#222_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#83_13">Generic_Field_Check</A>'<b>Access</b>,
                              <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#90_13">Generic_Char_Check</A>'<b>Access</b>);
          <b>if</b> T = Null_Field_Type <b>then</b>
          T := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#222_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#83_13">Generic_Field_Check</A>'<b>Access</b>,
                              <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#90_13">Generic_Char_Check</A>'<b>Access</b>);
          <b>if</b> T = Null_Field_Type <b>then</b>
-            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#289_4">Form_Exception</A>;
+            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#288_4">Form_Exception</A>;
          <b>else</b>
             <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#80_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#227_13">Set_Fieldtype_Arg</A> (T,
                                       <A HREF="terminal_interface-curses-forms-field_types__ads.htm#162_13">Make_Arg</A>'<b>Access</b>,
          <b>else</b>
             <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#80_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#227_13">Set_Fieldtype_Arg</A> (T,
                                       <A HREF="terminal_interface-curses-forms-field_types__ads.htm#162_13">Make_Arg</A>'<b>Access</b>,
index 497eee308d021c0b470cd4007ea5c607b62ec931..dde056ec2ac8bbe47f0f139702e16538e03bfe5b 100644 (file)
@@ -44,9 +44,9 @@
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <b>with</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C;
 
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <b>with</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#43_53">User</A>.<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#45_63">Choice</A><FONT COLOR=red><A NAME="43_58"></A></FONT> <b>is</b>
+<b>package</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#43_53">User</A>.<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#45_63">Choice</A><FONT COLOR=red><A NAME="43_58"></A></FONT> <b>is</b>
    <b>pragma</b> Preelaborate
    <b>pragma</b> Preelaborate
-     (<A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#43_53">User</A>.<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#43_58">Choice</A>);
+     (<A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#43_53">User</A>.<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#43_58">Choice</A>);
 
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
    <b>subtype</b> <FONT COLOR=red><A NAME="48_12">C_Int</A></FONT> <b>is</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
    <b>subtype</b> <FONT COLOR=red><A NAME="48_12">C_Int</A></FONT> <b>is</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
      <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#50_9">User_Defined_Field_Type_With_Choice</A>'Class;
 
    <b>function</b> <FONT COLOR=red><A NAME="60_13">Next</A></FONT>
      <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#50_9">User_Defined_Field_Type_With_Choice</A>'Class;
 
    <b>function</b> <FONT COLOR=red><A NAME="60_13">Next</A></FONT>
-     (<FONT COLOR=red><A NAME="61_7">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+     (<FONT COLOR=red><A NAME="61_7">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
       <FONT COLOR=red><A NAME="62_7">Typ</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#50_9">User_Defined_Field_Type_With_Choice</A>) <b>return</b> Boolean
       <b>is</b> <b>abstract</b>;
    <FONT COLOR=green><EM>--  If True is returned, the function successfully generated a next</EM></FONT>
    <FONT COLOR=green><EM>--  value into the fields buffer.</EM></FONT>
 
    <b>function</b> <FONT COLOR=red><A NAME="67_13">Previous</A></FONT>
       <FONT COLOR=red><A NAME="62_7">Typ</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#50_9">User_Defined_Field_Type_With_Choice</A>) <b>return</b> Boolean
       <b>is</b> <b>abstract</b>;
    <FONT COLOR=green><EM>--  If True is returned, the function successfully generated a next</EM></FONT>
    <FONT COLOR=green><EM>--  value into the fields buffer.</EM></FONT>
 
    <b>function</b> <FONT COLOR=red><A NAME="67_13">Previous</A></FONT>
-     (<FONT COLOR=red><A NAME="68_7">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+     (<FONT COLOR=red><A NAME="68_7">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
       <FONT COLOR=red><A NAME="69_7">Typ</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#50_9">User_Defined_Field_Type_With_Choice</A>) <b>return</b> Boolean
       <b>is</b> <b>abstract</b>;
    <FONT COLOR=green><EM>--  If True is returned, the function successfully generated a previous</EM></FONT>
       <FONT COLOR=red><A NAME="69_7">Typ</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#50_9">User_Defined_Field_Type_With_Choice</A>) <b>return</b> Boolean
       <b>is</b> <b>abstract</b>;
    <FONT COLOR=green><EM>--  If True is returned, the function successfully generated a previous</EM></FONT>
 
    <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#78_13">C_Generic_Choice</A><FONT COLOR=red><A NAME="80_13"></A></FONT> <b>return</b> C_Field_Type;
 
 
    <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#78_13">C_Generic_Choice</A><FONT COLOR=red><A NAME="80_13"></A></FONT> <b>return</b> C_Field_Type;
 
-   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#52_13">Generic_Next</A><FONT COLOR=red><A NAME="82_13"></A></FONT> (<FONT COLOR=red><A NAME="82_27">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#52_13">Generic_Next</A><FONT COLOR=red><A NAME="82_13"></A></FONT> (<FONT COLOR=red><A NAME="82_27">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                           <FONT COLOR=red><A NAME="83_27">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#48_12">C_Int</A>;
    <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#82_13">Generic_Next</A>);
    <FONT COLOR=green><EM>--  This is the generic next Choice_Function for the low-level fieldtype</EM></FONT>
    <FONT COLOR=green><EM>--  representing all the User_Defined_Field_Type derivates. It routes</EM></FONT>
    <FONT COLOR=green><EM>--  the call to the Next implementation for the type.</EM></FONT>
 
                           <FONT COLOR=red><A NAME="83_27">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#48_12">C_Int</A>;
    <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#82_13">Generic_Next</A>);
    <FONT COLOR=green><EM>--  This is the generic next Choice_Function for the low-level fieldtype</EM></FONT>
    <FONT COLOR=green><EM>--  representing all the User_Defined_Field_Type derivates. It routes</EM></FONT>
    <FONT COLOR=green><EM>--  the call to the Next implementation for the type.</EM></FONT>
 
-   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#64_13">Generic_Prev</A><FONT COLOR=red><A NAME="89_13"></A></FONT> (<FONT COLOR=red><A NAME="89_27">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#64_13">Generic_Prev</A><FONT COLOR=red><A NAME="89_13"></A></FONT> (<FONT COLOR=red><A NAME="89_27">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                           <FONT COLOR=red><A NAME="90_27">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#48_12">C_Int</A>;
    <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#89_13">Generic_Prev</A>);
    <FONT COLOR=green><EM>--  This is the generic prev Choice_Function for the low-level fieldtype</EM></FONT>
                           <FONT COLOR=red><A NAME="90_27">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#48_12">C_Int</A>;
    <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#89_13">Generic_Prev</A>);
    <FONT COLOR=green><EM>--  This is the generic prev Choice_Function for the low-level fieldtype</EM></FONT>
index 4e54495c5f8d0204d6a96acbad1904cbec457305..95dfeda820a5d21dc3de571440bb76d1d5e77516 100644 (file)
 
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
 
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#70_14">Set_Field_Type</A><FONT COLOR=red><A NAME="49_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#70_30">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#70_14">Set_Field_Type</A><FONT COLOR=red><A NAME="49_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#70_30">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                              <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#71_30">Typ</A> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#48_9">User_Defined_Field_Type</A>)
    <b>is</b>
       <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#63_16">Allocate_Arg</A><FONT COLOR=red><A NAME="52_16"></A></FONT> (<FONT COLOR=red><A NAME="52_30">T</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#48_9">User_Defined_Field_Type</A>'Class)
                              <b>return</b> Argument_Access;
 
                              <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#71_30">Typ</A> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#48_9">User_Defined_Field_Type</A>)
    <b>is</b>
       <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#63_16">Allocate_Arg</A><FONT COLOR=red><A NAME="52_16"></A></FONT> (<FONT COLOR=red><A NAME="52_30">T</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#48_9">User_Defined_Field_Type</A>'Class)
                              <b>return</b> Argument_Access;
 
-      <b>function</b> <FONT COLOR=red><A NAME="55_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="55_30">F</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#70_30">Fld</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="55_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="55_30">F</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#70_30">Fld</A>;
                              Cft  : C_Field_Type := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#81_13">C_Generic_Type</A>;
                              Arg1 : Argument_Access)
                              <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#46_12">C_Int</A>;
                              Cft  : C_Field_Type := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#81_13">C_Generic_Type</A>;
                              Arg1 : Argument_Access)
                              <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#46_12">C_Int</A>;
@@ -84,7 +84,7 @@
    <b>function</b> <FONT COLOR=red><A NAME="80_13">To_Argument_Access</A></FONT> <b>is</b> <b>new</b> Ada.Unchecked_Conversion
      (System.Address, Argument_Access);
 
    <b>function</b> <FONT COLOR=red><A NAME="80_13">To_Argument_Access</A></FONT> <b>is</b> <b>new</b> Ada.Unchecked_Conversion
      (System.Address, Argument_Access);
 
-   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#83_13">Generic_Field_Check</A><FONT COLOR=red><A NAME="83_13"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#83_34">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#83_13">Generic_Field_Check</A><FONT COLOR=red><A NAME="83_13"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#83_34">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                                  <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#84_34">Usr</A> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#46_12">C_Int</A>
    <b>is</b>
       <FONT COLOR=red><A NAME="86_7">Result</A></FONT> : Boolean;
                                  <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#84_34">Usr</A> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#46_12">C_Int</A>
    <b>is</b>
       <FONT COLOR=red><A NAME="86_7">Result</A></FONT> : Boolean;
          T := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#222_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#83_13">Generic_Field_Check</A>'<b>Access</b>,
                              <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#90_13">Generic_Char_Check</A>'<b>Access</b>);
          <b>if</b> T = Null_Field_Type <b>then</b>
          T := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#222_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#83_13">Generic_Field_Check</A>'<b>Access</b>,
                              <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#90_13">Generic_Char_Check</A>'<b>Access</b>);
          <b>if</b> T = Null_Field_Type <b>then</b>
-            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#289_4">Form_Exception</A>;
+            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#288_4">Form_Exception</A>;
          <b>else</b>
             <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#109_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#227_13">Set_Fieldtype_Arg</A> (T,
                                       <A HREF="terminal_interface-curses-forms-field_types__ads.htm#162_13">Make_Arg</A>'<b>Access</b>,
          <b>else</b>
             <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#109_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#227_13">Set_Fieldtype_Arg</A> (T,
                                       <A HREF="terminal_interface-curses-forms-field_types__ads.htm#162_13">Make_Arg</A>'<b>Access</b>,
index 77f09bdb071612d9426d2f15d48213a2e2e4eedd..9be4226a63ffd606c66fa57d97096d25cd7929da 100644 (file)
@@ -44,8 +44,8 @@
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <b>with</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C;
 
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <b>with</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#45_58">User</A><FONT COLOR=red><A NAME="43_53"></A></FONT> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#43_53">User</A>);
+<b>package</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#45_58">User</A><FONT COLOR=red><A NAME="43_53"></A></FONT> <b>is</b>
+   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#43_53">User</A>);
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
    <b>subtype</b> <FONT COLOR=red><A NAME="46_12">C_Int</A></FONT> <b>is</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
    <b>subtype</b> <FONT COLOR=red><A NAME="46_12">C_Int</A></FONT> <b>is</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
@@ -58,7 +58,7 @@
      <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#48_9">User_Defined_Field_Type</A>'Class;
 
    <b>function</b> <FONT COLOR=red><A NAME="56_13">Field_Check</A></FONT>
      <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#48_9">User_Defined_Field_Type</A>'Class;
 
    <b>function</b> <FONT COLOR=red><A NAME="56_13">Field_Check</A></FONT>
-     (<FONT COLOR=red><A NAME="57_7">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+     (<FONT COLOR=red><A NAME="57_7">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
       <FONT COLOR=red><A NAME="58_7">Typ</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#48_9">User_Defined_Field_Type</A>) <b>return</b> Boolean
       <b>is</b> <b>abstract</b>;
    <FONT COLOR=green><EM>--  If True is returned, the field is considered valid, otherwise it is</EM></FONT>
       <FONT COLOR=red><A NAME="58_7">Typ</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#48_9">User_Defined_Field_Type</A>) <b>return</b> Boolean
       <b>is</b> <b>abstract</b>;
    <FONT COLOR=green><EM>--  If True is returned, the field is considered valid, otherwise it is</EM></FONT>
@@ -71,7 +71,7 @@
    <FONT COLOR=green><EM>--  If True is returned, the character is considered as valid for the</EM></FONT>
    <FONT COLOR=green><EM>--  field, otherwise as invalid.</EM></FONT>
 
    <FONT COLOR=green><EM>--  If True is returned, the character is considered as valid for the</EM></FONT>
    <FONT COLOR=green><EM>--  field, otherwise as invalid.</EM></FONT>
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#49_14">Set_Field_Type</A><FONT COLOR=red><A NAME="70_14"></A></FONT> (<FONT COLOR=red><A NAME="70_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#49_14">Set_Field_Type</A><FONT COLOR=red><A NAME="70_14"></A></FONT> (<FONT COLOR=red><A NAME="70_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                              <FONT COLOR=red><A NAME="71_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#48_9">User_Defined_Field_Type</A>);
    <FONT COLOR=green><EM>--  This should work for all types derived from User_Defined_Field_Type.</EM></FONT>
    <FONT COLOR=green><EM>--  No need to reimplement it for your derived type.</EM></FONT>
                              <FONT COLOR=red><A NAME="71_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#48_9">User_Defined_Field_Type</A>);
    <FONT COLOR=green><EM>--  This should work for all types derived from User_Defined_Field_Type.</EM></FONT>
    <FONT COLOR=green><EM>--  No need to reimplement it for your derived type.</EM></FONT>
@@ -84,7 +84,7 @@
 
    <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#107_13">C_Generic_Type</A><FONT COLOR=red><A NAME="81_13"></A></FONT>   <b>return</b> C_Field_Type;
 
 
    <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#107_13">C_Generic_Type</A><FONT COLOR=red><A NAME="81_13"></A></FONT>   <b>return</b> C_Field_Type;
 
-   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#83_13">Generic_Field_Check</A><FONT COLOR=red><A NAME="83_13"></A></FONT> (<FONT COLOR=red><A NAME="83_34">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#83_13">Generic_Field_Check</A><FONT COLOR=red><A NAME="83_13"></A></FONT> (<FONT COLOR=red><A NAME="83_34">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                                  <FONT COLOR=red><A NAME="84_34">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#46_12">C_Int</A>;
    <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#83_13">Generic_Field_Check</A>);
    <FONT COLOR=green><EM>--  This is the generic Field_Check_Function for the low-level fieldtype</EM></FONT>
                                  <FONT COLOR=red><A NAME="84_34">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#46_12">C_Int</A>;
    <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#83_13">Generic_Field_Check</A>);
    <FONT COLOR=green><EM>--  This is the generic Field_Check_Function for the low-level fieldtype</EM></FONT>
index b721bc1122da2dd8222e6e88a5bb9a29b3a682eb..48c7ee4dac1c382ff7b1f82af571a000b9cb6c2c 100644 (file)
    <b>function</b> <FONT COLOR=red><A NAME="55_13">To_Argument_Access</A></FONT> <b>is</b> <b>new</b> Ada.Unchecked_Conversion
      (System.Address, Argument_Access);
 
    <b>function</b> <FONT COLOR=red><A NAME="55_13">To_Argument_Access</A></FONT> <b>is</b> <b>new</b> Ada.Unchecked_Conversion
      (System.Address, Argument_Access);
 
-   <b>function</b> <FONT COLOR=red><A NAME="58_13">Get_Fieldtype</A></FONT> (<FONT COLOR=red><A NAME="58_28">F</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> C_Field_Type;
+   <b>function</b> <FONT COLOR=red><A NAME="58_13">Get_Fieldtype</A></FONT> (<FONT COLOR=red><A NAME="58_28">F</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> C_Field_Type;
    <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#58_13">Get_Fieldtype</A>, "field_type");
 
    <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#58_13">Get_Fieldtype</A>, "field_type");
 
-   <b>function</b> <FONT COLOR=red><A NAME="61_13">Get_Arg</A></FONT> (<FONT COLOR=red><A NAME="61_22">F</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> System.Address;
+   <b>function</b> <FONT COLOR=red><A NAME="61_13">Get_Arg</A></FONT> (<FONT COLOR=red><A NAME="61_22">F</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> System.Address;
    <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#61_13">Get_Arg</A>, "field_arg");
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
    <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#61_13">Get_Arg</A>, "field_arg");
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
@@ -71,7 +71,7 @@
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#79_13">Get_Type</A><FONT COLOR=red><A NAME="70_13"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#79_23">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> Field_Type_Access
+   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#79_13">Get_Type</A><FONT COLOR=red><A NAME="70_13"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#79_23">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> Field_Type_Access
    <b>is</b>
       Low_Level : <b>constant</b> C_Field_Type := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#58_13">Get_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#79_23">Fld</A>);
       Arg : Argument_Access;
    <b>is</b>
       Low_Level : <b>constant</b> C_Field_Type := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#58_13">Get_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#79_23">Fld</A>);
       Arg : Argument_Access;
            Low_Level = M_Generic_Choice <b>then</b>
             Arg := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#55_13">To_Argument_Access</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#61_13">Get_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#79_23">Fld</A>));
             <b>if</b> Arg = <b>null</b> <b>then</b>
            Low_Level = M_Generic_Choice <b>then</b>
             Arg := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#55_13">To_Argument_Access</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#61_13">Get_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#79_23">Fld</A>));
             <b>if</b> Arg = <b>null</b> <b>then</b>
-               <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#289_4">Form_Exception</A>;
+               <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#288_4">Form_Exception</A>;
             <b>else</b>
                <b>return</b> Arg.Typ;
             <b>end</b> <b>if</b>;
          <b>else</b>
             <b>else</b>
                <b>return</b> Arg.Typ;
             <b>end</b> <b>if</b>;
          <b>else</b>
-            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#289_4">Form_Exception</A>;
+            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#288_4">Form_Exception</A>;
          <b>end</b> <b>if</b>;
       <b>end</b> <b>if</b>;
    <b>end</b> Get_Type;
          <b>end</b> <b>if</b>;
       <b>end</b> <b>if</b>;
    <b>end</b> Get_Type;
    <b>end</b> Free_Arg;
 
 
    <b>end</b> Free_Arg;
 
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#151_14">Wrap_Builtin</A><FONT COLOR=red><A NAME="143_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#151_28">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#151_14">Wrap_Builtin</A><FONT COLOR=red><A NAME="143_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#151_28">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                            <A HREF="terminal_interface-curses-forms-field_types__ads.htm#152_28">Typ</A> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#52_9">Field_Type</A>'Class;
                            Cft : C_Field_Type := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#148_13">C_Builtin_Router</A>)
    <b>is</b>
                            <A HREF="terminal_interface-curses-forms-field_types__ads.htm#152_28">Typ</A> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#52_9">Field_Type</A>'Class;
                            Cft : C_Field_Type := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#148_13">C_Builtin_Router</A>)
    <b>is</b>
       Low_Level : <b>constant</b> C_Field_Type := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#58_13">Get_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#151_28">Fld</A>);
       Arg : Argument_Access;
       <FONT COLOR=red><A NAME="150_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
       Low_Level : <b>constant</b> C_Field_Type := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#58_13">Get_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#151_28">Fld</A>);
       Arg : Argument_Access;
       <FONT COLOR=red><A NAME="150_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
-      <b>function</b> <FONT COLOR=red><A NAME="151_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="151_30">F</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#151_28">Fld</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="151_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="151_30">F</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#151_28">Fld</A>;
                              Cf   : C_Field_Type := Cft;
                              Arg1 : Argument_Access) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#151_16">Set_Fld_Type</A>, "set_field_type");
                              Cf   : C_Field_Type := Cft;
                              Arg1 : Argument_Access) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#151_16">Set_Fld_Type</A>, "set_field_type");
    <b>begin</b>
       <b>pragma</b> Assert (Low_Level /= Null_Field_Type);
       <b>if</b> Cft /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#148_13">C_Builtin_Router</A> <b>and</b> <b>then</b> Cft /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#149_13">C_Choice_Router</A> <b>then</b>
    <b>begin</b>
       <b>pragma</b> Assert (Low_Level /= Null_Field_Type);
       <b>if</b> Cft /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#148_13">C_Builtin_Router</A> <b>and</b> <b>then</b> Cft /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#149_13">C_Choice_Router</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#289_4">Form_Exception</A>;
+         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#288_4">Form_Exception</A>;
       <b>else</b>
          Arg := <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#211_9">Argument</A>'(Usr =&gt; System.Null_Address,
                               Typ =&gt; <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#52_9">Field_Type</A>'Class'(<A HREF="terminal_interface-curses-forms-field_types__ads.htm#152_28">Typ</A>),
       <b>else</b>
          Arg := <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#211_9">Argument</A>'(Usr =&gt; System.Null_Address,
                               Typ =&gt; <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#52_9">Field_Type</A>'Class'(<A HREF="terminal_interface-curses-forms-field_types__ads.htm#152_28">Typ</A>),
       <b>end</b> <b>if</b>;
    <b>end</b> Wrap_Builtin;
 
       <b>end</b> <b>if</b>;
    <b>end</b> Wrap_Builtin;
 
-   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#177_13">Field_Check_Router</A><FONT COLOR=red><A NAME="179_13"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#177_33">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#177_13">Field_Check_Router</A><FONT COLOR=red><A NAME="179_13"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#177_33">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                                 <A HREF="terminal_interface-curses-forms-field_types__ads.htm#178_33">Usr</A> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>
    <b>is</b>
       Arg  : <b>constant</b> Argument_Access := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#55_13">To_Argument_Access</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#178_33">Usr</A>);
                                 <A HREF="terminal_interface-curses-forms-field_types__ads.htm#178_33">Usr</A> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>
    <b>is</b>
       Arg  : <b>constant</b> Argument_Access := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#55_13">To_Argument_Access</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#178_33">Usr</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Char_Check_Router;
 
       <b>end</b> <b>if</b>;
    <b>end</b> Char_Check_Router;
 
-   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#193_13">Next_Router</A><FONT COLOR=red><A NAME="207_13"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#193_26">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#193_13">Next_Router</A><FONT COLOR=red><A NAME="207_13"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#193_26">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                          <A HREF="terminal_interface-curses-forms-field_types__ads.htm#194_26">Usr</A> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>
    <b>is</b>
       Arg  : <b>constant</b> Argument_Access := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#55_13">To_Argument_Access</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#194_26">Usr</A>);
                          <A HREF="terminal_interface-curses-forms-field_types__ads.htm#194_26">Usr</A> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>
    <b>is</b>
       Arg  : <b>constant</b> Argument_Access := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#55_13">To_Argument_Access</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#194_26">Usr</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Next_Router;
 
       <b>end</b> <b>if</b>;
    <b>end</b> Next_Router;
 
-   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#201_13">Prev_Router</A><FONT COLOR=red><A NAME="221_13"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#201_26">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>function</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#201_13">Prev_Router</A><FONT COLOR=red><A NAME="221_13"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#201_26">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                          <A HREF="terminal_interface-curses-forms-field_types__ads.htm#202_26">Usr</A> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>
    <b>is</b>
       Arg  : <b>constant</b> Argument_Access := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#55_13">To_Argument_Access</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#202_26">Usr</A>);
                          <A HREF="terminal_interface-curses-forms-field_types__ads.htm#202_26">Usr</A> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#46_12">C_Int</A>
    <b>is</b>
       Arg  : <b>constant</b> Argument_Access := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#55_13">To_Argument_Access</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#202_26">Usr</A>);
          T := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#222_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#177_13">Field_Check_Router</A>'<b>Access</b>,
                              <A HREF="terminal_interface-curses-forms-field_types__ads.htm#185_13">Char_Check_Router</A>'<b>Access</b>);
          <b>if</b> T = Null_Field_Type <b>then</b>
          T := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#222_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#177_13">Field_Check_Router</A>'<b>Access</b>,
                              <A HREF="terminal_interface-curses-forms-field_types__ads.htm#185_13">Char_Check_Router</A>'<b>Access</b>);
          <b>if</b> T = Null_Field_Type <b>then</b>
-            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#289_4">Form_Exception</A>;
+            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#288_4">Form_Exception</A>;
          <b>else</b>
             <A HREF="terminal_interface-curses-forms-field_types__adb.htm#239_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#227_13">Set_Fieldtype_Arg</A> (T,
                                       <A HREF="terminal_interface-curses-forms-field_types__ads.htm#162_13">Make_Arg</A>'<b>Access</b>,
          <b>else</b>
             <A HREF="terminal_interface-curses-forms-field_types__adb.htm#239_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#227_13">Set_Fieldtype_Arg</A> (T,
                                       <A HREF="terminal_interface-curses-forms-field_types__ads.htm#162_13">Make_Arg</A>'<b>Access</b>,
          T := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#222_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#177_13">Field_Check_Router</A>'<b>Access</b>,
                              <A HREF="terminal_interface-curses-forms-field_types__ads.htm#185_13">Char_Check_Router</A>'<b>Access</b>);
          <b>if</b> T = Null_Field_Type <b>then</b>
          T := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#222_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#177_13">Field_Check_Router</A>'<b>Access</b>,
                              <A HREF="terminal_interface-curses-forms-field_types__ads.htm#185_13">Char_Check_Router</A>'<b>Access</b>);
          <b>if</b> T = Null_Field_Type <b>then</b>
-            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#289_4">Form_Exception</A>;
+            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#288_4">Form_Exception</A>;
          <b>else</b>
             <A HREF="terminal_interface-curses-forms-field_types__adb.htm#266_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#227_13">Set_Fieldtype_Arg</A> (T,
                                       <A HREF="terminal_interface-curses-forms-field_types__ads.htm#162_13">Make_Arg</A>'<b>Access</b>,
          <b>else</b>
             <A HREF="terminal_interface-curses-forms-field_types__adb.htm#266_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#227_13">Set_Fieldtype_Arg</A> (T,
                                       <A HREF="terminal_interface-curses-forms-field_types__ads.htm#162_13">Make_Arg</A>'<b>Access</b>,
index 5f35c1beab9a181c2ccabcdcd08bec8c14a075df..c5fd816a185a6b2b0ae6bb460e3990a8e87be598 100644 (file)
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#53_14">Set_User_Data</A><FONT COLOR=red><A NAME="54_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#53_29">Fld</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#53_14">Set_User_Data</A><FONT COLOR=red><A NAME="54_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#53_29">Fld</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                             <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#54_29">Data</A> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#44_9">User_Access</A>)
    <b>is</b>
                             <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#54_29">Data</A> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#44_9">User_Access</A>)
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="57_16">Set_Field_Userptr</A></FONT> (<FONT COLOR=red><A NAME="57_35">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="57_16">Set_Field_Userptr</A></FONT> (<FONT COLOR=red><A NAME="57_35">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                                   <FONT COLOR=red><A NAME="58_35">Usr</A></FONT> : <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#44_9">User_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_user_data__adb.htm#57_16">Set_Field_Userptr</A>, "set_field_userptr");
 
                                   <FONT COLOR=red><A NAME="58_35">Usr</A></FONT> : <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#44_9">User_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_user_data__adb.htm#57_16">Set_Field_Userptr</A>, "set_field_userptr");
 
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#64_13">Get_User_Data</A><FONT COLOR=red><A NAME="70_13"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#64_28">Fld</A>  : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#44_9">User_Access</A>
+   <b>function</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#64_13">Get_User_Data</A><FONT COLOR=red><A NAME="70_13"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#64_28">Fld</A>  : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#44_9">User_Access</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="72_16">Field_Userptr</A></FONT> (<FONT COLOR=red><A NAME="72_31">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#44_9">User_Access</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="72_16">Field_Userptr</A></FONT> (<FONT COLOR=red><A NAME="72_31">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#44_9">User_Access</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_user_data__adb.htm#72_16">Field_Userptr</A>, "field_userptr");
    <b>begin</b>
       <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__adb.htm#72_16">Field_Userptr</A> (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#64_28">Fld</A>);
    <b>end</b> Get_User_Data;
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_user_data__adb.htm#72_16">Field_Userptr</A>, "field_userptr");
    <b>begin</b>
       <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__adb.htm#72_16">Field_Userptr</A> (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#64_28">Fld</A>);
    <b>end</b> Get_User_Data;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#59_14">Get_User_Data</A><FONT COLOR=red><A NAME="78_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#59_29">Fld</A>  : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#59_14">Get_User_Data</A><FONT COLOR=red><A NAME="78_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#59_29">Fld</A>  : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                             <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#60_29">Data</A> : <b>out</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#44_9">User_Access</A>)
    <b>is</b>
    <b>begin</b>
                             <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#60_29">Data</A> : <b>out</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#44_9">User_Access</A>)
    <b>is</b>
    <b>begin</b>
index d5ae92d5c21a39104bd37b750d29840c25e40c33..07e564362472a85a268c397e509b3118043e79a5 100644 (file)
@@ -46,7 +46,7 @@
 
 <b>generic</b>
    <b>type</b> <FONT COLOR=red><A NAME="44_9">User</A></FONT> <b>is</b> <b>limited</b> <b>private</b>;
 
 <b>generic</b>
    <b>type</b> <FONT COLOR=red><A NAME="44_9">User</A></FONT> <b>is</b> <b>limited</b> <b>private</b>;
-   <b>type</b> <A HREF="terminal_interface__ads.htm#41_9">User_Access</A> <b>is</b> <b>access</b> User<A HREF="terminal_interface-curses-forms__ads.htm#49_35">;</A>
+   <b>type</b> <A HREF="terminal_interface__ads.htm#41_9">User_Access</A> <b>is</b> <b>access</b> User<A HREF="terminal_interface-curses-forms__ads.htm#48_35">;</A>
 <b>package</b> Terminal_Interface.Curses.Forms.Field_User_Data <b>is</b>
    <b>pragma</b> Preelaborate (Terminal_Interface.Curses.Forms.Field_User_Data);
 
 <b>package</b> Terminal_Interface.Curses.Forms.Field_User_Data <b>is</b>
    <b>pragma</b> Preelaborate (Terminal_Interface.Curses.Forms.Field_User_Data);
 
index c9c148cefc9ea3b40efa301afbac8a953e75aa0d..46d298a5dfdac65378e16029f50b7bab634f0d7c 100644 (file)
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#53_14">Set_User_Data</A><FONT COLOR=red><A NAME="55_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#53_29">Frm</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#53_14">Set_User_Data</A><FONT COLOR=red><A NAME="55_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#53_29">Frm</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
                             <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#54_29">Data</A> : <b>in</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#44_9">User_Access</A>)
    <b>is</b>
                             <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#54_29">Data</A> : <b>in</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#44_9">User_Access</A>)
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="58_16">Set_Form_Userptr</A></FONT> (<FONT COLOR=red><A NAME="58_34">Frm</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="58_16">Set_Form_Userptr</A></FONT> (<FONT COLOR=red><A NAME="58_34">Frm</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
                                  <FONT COLOR=red><A NAME="59_34">Data</A></FONT> : <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#44_9">User_Access</A>)  <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-form_user_data__adb.htm#58_16">Set_Form_Userptr</A>, "set_form_userptr");
 
                                  <FONT COLOR=red><A NAME="59_34">Data</A></FONT> : <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#44_9">User_Access</A>)  <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-form_user_data__adb.htm#58_16">Set_Form_Userptr</A>, "set_form_userptr");
 
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#64_13">Get_User_Data</A><FONT COLOR=red><A NAME="71_13"></A></FONT> (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#64_28">Frm</A>  : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#44_9">User_Access</A>
+   <b>function</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#64_13">Get_User_Data</A><FONT COLOR=red><A NAME="71_13"></A></FONT> (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#64_28">Frm</A>  : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#44_9">User_Access</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="73_16">Form_Userptr</A></FONT> (<FONT COLOR=red><A NAME="73_30">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#44_9">User_Access</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="73_16">Form_Userptr</A></FONT> (<FONT COLOR=red><A NAME="73_30">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#44_9">User_Access</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-form_user_data__adb.htm#73_16">Form_Userptr</A>, "form_userptr");
    <b>begin</b>
       <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__adb.htm#73_16">Form_Userptr</A> (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#64_28">Frm</A>);
    <b>end</b> Get_User_Data;
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-form_user_data__adb.htm#73_16">Form_Userptr</A>, "form_userptr");
    <b>begin</b>
       <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__adb.htm#73_16">Form_Userptr</A> (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#64_28">Frm</A>);
    <b>end</b> Get_User_Data;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#59_14">Get_User_Data</A><FONT COLOR=red><A NAME="79_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#59_29">Frm</A>  : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#59_14">Get_User_Data</A><FONT COLOR=red><A NAME="79_14"></A></FONT> (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#59_29">Frm</A>  : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
                             <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#60_29">Data</A> : <b>out</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#44_9">User_Access</A>)
    <b>is</b>
    <b>begin</b>
                             <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#60_29">Data</A> : <b>out</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#44_9">User_Access</A>)
    <b>is</b>
    <b>begin</b>
index 566496226dd33c18cc814bcded26cf99efc45c20..3f03f43cd9188c5fd8fd733e0e8436d0f1a98513 100644 (file)
@@ -46,7 +46,7 @@
 
 <b>generic</b>
    <b>type</b> <FONT COLOR=red><A NAME="44_9">User</A></FONT> <b>is</b> <b>limited</b> <b>private</b>;
 
 <b>generic</b>
    <b>type</b> <FONT COLOR=red><A NAME="44_9">User</A></FONT> <b>is</b> <b>limited</b> <b>private</b>;
-   <b>type</b> <A HREF="terminal_interface__ads.htm#41_9">User_Access</A> <b>is</b> <b>access</b> User<A HREF="terminal_interface-curses-forms__ads.htm#49_35">;</A>
+   <b>type</b> <A HREF="terminal_interface__ads.htm#41_9">User_Access</A> <b>is</b> <b>access</b> User<A HREF="terminal_interface-curses-forms__ads.htm#48_35">;</A>
 <b>package</b> Terminal_Interface.Curses.Forms.Form_User_Data <b>is</b>
    <b>pragma</b> Preelaborate (Terminal_Interface.Curses.Forms.Form_User_Data);
 
 <b>package</b> Terminal_Interface.Curses.Forms.Form_User_Data <b>is</b>
    <b>pragma</b> Preelaborate (Terminal_Interface.Curses.Forms.Form_User_Data);
 
index d8848eced9d886c042665c7ca4cd2994231cabc6..087bf5597ad14edf467ed4cea358f1b85135d908 100644 (file)
 
 <b>with</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#50_35">Aux</A>;
 
 
 <b>with</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#50_35">Aux</A>;
 
-<b>package</b> <b>body</b> Terminal_Interface.Curses.<A HREF="terminal_interface-curses-forms__ads.htm#49_35">Forms</A><FONT COLOR=red><A NAME="50_40"></A></FONT> <b>is</b>
+<b>package</b> <b>body</b> Terminal_Interface.Curses.<A HREF="terminal_interface-curses-forms__ads.htm#48_35">Forms</A><FONT COLOR=red><A NAME="50_40"></A></FONT> <b>is</b>
 
    <b>use</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#50_35">Aux</A>;
 
 
    <b>use</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#50_35">Aux</A>;
 
-   <b>type</b> <FONT COLOR=red><A NAME="54_9">C_Field_Array</A></FONT> <b>is</b> <b>array</b> (Natural <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+   <b>type</b> <FONT COLOR=red><A NAME="54_9">C_Field_Array</A></FONT> <b>is</b> <b>array</b> (Natural <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
    <b>package</b> <FONT COLOR=red><A NAME="55_12">F_Array</A></FONT> <b>is</b> <b>new</b>
    <b>package</b> <FONT COLOR=red><A NAME="55_12">F_Array</A></FONT> <b>is</b> <b>new</b>
-     <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Pointers (Natural, <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>, <A HREF="terminal_interface-curses-forms__adb.htm#54_9">C_Field_Array</A>, <A HREF="terminal_interface-curses-forms__ads.htm#59_4">Null_Field</A>);
+     <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Pointers (Natural, <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>, <A HREF="terminal_interface-curses-forms__adb.htm#54_9">C_Field_Array</A>, <A HREF="terminal_interface-curses-forms__ads.htm#58_4">Null_Field</A>);
 
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
 
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  subtype chars_ptr is Interfaces.C.Strings.chars_ptr;</EM></FONT>
 
    <b>function</b> <FONT COLOR=red><A NAME="64_13">FOS_2_CInt</A></FONT> <b>is</b> <b>new</b>
    <FONT COLOR=green><EM>--  subtype chars_ptr is Interfaces.C.Strings.chars_ptr;</EM></FONT>
 
    <b>function</b> <FONT COLOR=red><A NAME="64_13">FOS_2_CInt</A></FONT> <b>is</b> <b>new</b>
-     Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-forms__ads.htm#68_9">Field_Option_Set</A>,
+     Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-forms__ads.htm#67_9">Field_Option_Set</A>,
                                <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>);
 
    <b>function</b> <FONT COLOR=red><A NAME="68_13">CInt_2_FOS</A></FONT> <b>is</b> <b>new</b>
      Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>,
                                <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>);
 
    <b>function</b> <FONT COLOR=red><A NAME="68_13">CInt_2_FOS</A></FONT> <b>is</b> <b>new</b>
      Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>,
-                               <A HREF="terminal_interface-curses-forms__ads.htm#68_9">Field_Option_Set</A>);
+                               <A HREF="terminal_interface-curses-forms__ads.htm#67_9">Field_Option_Set</A>);
 
    <b>function</b> <FONT COLOR=red><A NAME="72_13">FrmOS_2_CInt</A></FONT> <b>is</b> <b>new</b>
 
    <b>function</b> <FONT COLOR=red><A NAME="72_13">FrmOS_2_CInt</A></FONT> <b>is</b> <b>new</b>
-     Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-forms__ads.htm#108_9">Form_Option_Set</A>,
+     Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-forms__ads.htm#107_9">Form_Option_Set</A>,
                                <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>);
 
    <b>function</b> <FONT COLOR=red><A NAME="76_13">CInt_2_FrmOS</A></FONT> <b>is</b> <b>new</b>
      Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>,
                                <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>);
 
    <b>function</b> <FONT COLOR=red><A NAME="76_13">CInt_2_FrmOS</A></FONT> <b>is</b> <b>new</b>
      Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>,
-                               <A HREF="terminal_interface-curses-forms__ads.htm#108_9">Form_Option_Set</A>);
+                               <A HREF="terminal_interface-curses-forms__ads.htm#107_9">Form_Option_Set</A>);
 
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#279_14">Request_Name</A><FONT COLOR=red><A NAME="80_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#279_28">Key</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A>;
-                                <A HREF="terminal_interface-curses-forms__ads.htm#280_28">Name</A> : <b>out</b> String)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#278_14">Request_Name</A><FONT COLOR=red><A NAME="80_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#278_28">Key</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A>;
+                                <A HREF="terminal_interface-curses-forms__ads.htm#279_28">Name</A> : <b>out</b> String)
    <b>is</b>
       <b>function</b> <FONT COLOR=red><A NAME="83_16">Form_Request_Name</A></FONT> (<FONT COLOR=red><A NAME="83_35">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#83_16">Form_Request_Name</A>, "form_request_name");
    <b>begin</b>
    <b>is</b>
       <b>function</b> <FONT COLOR=red><A NAME="83_16">Form_Request_Name</A></FONT> (<FONT COLOR=red><A NAME="83_35">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#83_16">Form_Request_Name</A>, "form_request_name");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#83_16">Form_Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#279_28">Key</A>)), <A HREF="terminal_interface-curses-forms__ads.htm#280_28">Name</A>);
+      <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#83_16">Form_Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#278_28">Key</A>)), <A HREF="terminal_interface-curses-forms__ads.htm#279_28">Name</A>);
    <b>end</b> Request_Name;
 
    <b>end</b> Request_Name;
 
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#282_14">Request_Name</A><FONT COLOR=red><A NAME="89_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#282_28">Key</A> : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A>) <b>return</b> String
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#281_14">Request_Name</A><FONT COLOR=red><A NAME="89_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#281_28">Key</A> : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A>) <b>return</b> String
    <b>is</b>
       <b>function</b> <FONT COLOR=red><A NAME="91_16">Form_Request_Name</A></FONT> (<FONT COLOR=red><A NAME="91_35">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#91_16">Form_Request_Name</A>, "form_request_name");
    <b>begin</b>
    <b>is</b>
       <b>function</b> <FONT COLOR=red><A NAME="91_16">Form_Request_Name</A></FONT> (<FONT COLOR=red><A NAME="91_35">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#91_16">Form_Request_Name</A>, "form_request_name");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#91_16">Form_Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#282_28">Key</A>)));
+      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#91_16">Form_Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#281_28">Key</A>)));
    <b>end</b> Request_Name;
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <b>end</b> Request_Name;
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#296_13">Create</A><FONT COLOR=red><A NAME="107_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#296_21">Height</A>       : <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>;
-                    <A HREF="terminal_interface-curses-forms__ads.htm#297_21">Width</A>        : <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>;
-                    <A HREF="terminal_interface-curses-forms__ads.htm#298_21">Top</A>          : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
-                    <A HREF="terminal_interface-curses-forms__ads.htm#299_21">Left</A>         : <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
-                    <A HREF="terminal_interface-curses-forms__ads.htm#300_21">Off_Screen</A>   : Natural := 0;
-                    <A HREF="terminal_interface-curses-forms__ads.htm#301_21">More_Buffers</A> : <A HREF="terminal_interface-curses-forms__ads.htm#131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#131_9">Buffer_Number</A>'First)
-                    <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#295_13">Create</A><FONT COLOR=red><A NAME="107_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#295_21">Height</A>       : <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>;
+                    <A HREF="terminal_interface-curses-forms__ads.htm#296_21">Width</A>        : <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>;
+                    <A HREF="terminal_interface-curses-forms__ads.htm#297_21">Top</A>          : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
+                    <A HREF="terminal_interface-curses-forms__ads.htm#298_21">Left</A>         : <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
+                    <A HREF="terminal_interface-curses-forms__ads.htm#299_21">Off_Screen</A>   : Natural := 0;
+                    <A HREF="terminal_interface-curses-forms__ads.htm#300_21">More_Buffers</A> : <A HREF="terminal_interface-curses-forms__ads.htm#130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#130_9">Buffer_Number</A>'First)
+                    <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="115_16">Newfield</A></FONT> (<FONT COLOR=red><A NAME="115_26">H</A></FONT>, <FONT COLOR=red><A NAME="115_29">W</A></FONT>, <FONT COLOR=red><A NAME="115_32">T</A></FONT>, <FONT COLOR=red><A NAME="115_35">L</A></FONT>, <FONT COLOR=red><A NAME="115_38">O</A></FONT>, <FONT COLOR=red><A NAME="115_41">M</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="115_16">Newfield</A></FONT> (<FONT COLOR=red><A NAME="115_26">H</A></FONT>, <FONT COLOR=red><A NAME="115_29">W</A></FONT>, <FONT COLOR=red><A NAME="115_32">T</A></FONT>, <FONT COLOR=red><A NAME="115_35">L</A></FONT>, <FONT COLOR=red><A NAME="115_38">O</A></FONT>, <FONT COLOR=red><A NAME="115_41">M</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#115_16">Newfield</A>, "new_field");
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#115_16">Newfield</A>, "new_field");
-      <FONT COLOR=red><A NAME="117_7">Fld</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#115_16">Newfield</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#296_21">Height</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#297_21">Width</A>),
-                                        <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#298_21">Top</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#299_21">Left</A>),
-                                        <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#300_21">Off_Screen</A>),
-                                        <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#301_21">More_Buffers</A>));
+      <FONT COLOR=red><A NAME="117_7">Fld</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#115_16">Newfield</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#295_21">Height</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#296_21">Width</A>),
+                                        <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#297_21">Top</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#298_21">Left</A>),
+                                        <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#299_21">Off_Screen</A>),
+                                        <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#300_21">More_Buffers</A>));
    <b>begin</b>
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#117_7">Fld</A> = <A HREF="terminal_interface-curses-forms__ads.htm#59_4">Null_Field</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#289_4">Form_Exception</A>;
+      <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#117_7">Fld</A> = <A HREF="terminal_interface-curses-forms__ads.htm#58_4">Null_Field</A> <b>then</b>
+         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#288_4">Form_Exception</A>;
       <b>end</b> <b>if</b>;
       <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#117_7">Fld</A>;
    <b>end</b> Create;
 <FONT COLOR=green><EM>--  |</EM></FONT>
 <FONT COLOR=green><EM>--  |</EM></FONT>
 <FONT COLOR=green><EM>--  |</EM></FONT>
       <b>end</b> <b>if</b>;
       <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#117_7">Fld</A>;
    <b>end</b> Create;
 <FONT COLOR=green><EM>--  |</EM></FONT>
 <FONT COLOR=green><EM>--  |</EM></FONT>
 <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#318_14">Delete</A><FONT COLOR=red><A NAME="130_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#318_22">Fld</A> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#317_14">Delete</A><FONT COLOR=red><A NAME="130_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#317_22">Fld</A> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="132_16">Free_Field</A></FONT> (<FONT COLOR=red><A NAME="132_28">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="132_16">Free_Field</A></FONT> (<FONT COLOR=red><A NAME="132_28">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#132_16">Free_Field</A>, "free_field");
 
       <FONT COLOR=red><A NAME="135_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#132_16">Free_Field</A>, "free_field");
 
       <FONT COLOR=red><A NAME="135_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__adb.htm#135_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#132_16">Free_Field</A> (<A HREF="terminal_interface-curses-forms__ads.htm#318_22">Fld</A>);
+      <A HREF="terminal_interface-curses-forms__adb.htm#135_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#132_16">Free_Field</A> (<A HREF="terminal_interface-curses-forms__ads.htm#317_22">Fld</A>);
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#135_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#135_7">Res</A>);
       <b>end</b> <b>if</b>;
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#135_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#135_7">Res</A>);
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses-forms__ads.htm#318_22">Fld</A> := <A HREF="terminal_interface-curses-forms__ads.htm#59_4">Null_Field</A>;
+      <A HREF="terminal_interface-curses-forms__ads.htm#317_22">Fld</A> := <A HREF="terminal_interface-curses-forms__ads.htm#58_4">Null_Field</A>;
    <b>end</b> Delete;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <b>end</b> Delete;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#324_13">Duplicate</A><FONT COLOR=red><A NAME="146_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#324_24">Fld</A>  : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-                       <A HREF="terminal_interface-curses-forms__ads.htm#325_24">Top</A>  : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
-                       <A HREF="terminal_interface-curses-forms__ads.htm#326_24">Left</A> : <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#323_13">Duplicate</A><FONT COLOR=red><A NAME="146_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#323_24">Fld</A>  : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+                       <A HREF="terminal_interface-curses-forms__ads.htm#324_24">Top</A>  : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
+                       <A HREF="terminal_interface-curses-forms__ads.htm#325_24">Left</A> : <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="150_16">Dup_Field</A></FONT> (<FONT COLOR=red><A NAME="150_27">Fld</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="150_16">Dup_Field</A></FONT> (<FONT COLOR=red><A NAME="150_27">Fld</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                           <FONT COLOR=red><A NAME="151_27">Top</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
                           <FONT COLOR=red><A NAME="151_27">Top</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
-                          <FONT COLOR=red><A NAME="152_27">Left</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+                          <FONT COLOR=red><A NAME="152_27">Left</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#150_16">Dup_Field</A>, "dup_field");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#150_16">Dup_Field</A>, "dup_field");
 
-      <FONT COLOR=red><A NAME="155_7">F</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#150_16">Dup_Field</A> (<A HREF="terminal_interface-curses-forms__ads.htm#324_24">Fld</A>,
-                                       <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#325_24">Top</A>),
-                                       <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#326_24">Left</A>));
+      <FONT COLOR=red><A NAME="155_7">F</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#150_16">Dup_Field</A> (<A HREF="terminal_interface-curses-forms__ads.htm#323_24">Fld</A>,
+                                       <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#324_24">Top</A>),
+                                       <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#325_24">Left</A>));
    <b>begin</b>
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#155_7">F</A> = <A HREF="terminal_interface-curses-forms__ads.htm#59_4">Null_Field</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#289_4">Form_Exception</A>;
+      <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#155_7">F</A> = <A HREF="terminal_interface-curses-forms__ads.htm#58_4">Null_Field</A> <b>then</b>
+         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#288_4">Form_Exception</A>;
       <b>end</b> <b>if</b>;
       <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#155_7">F</A>;
    <b>end</b> Duplicate;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
       <b>end</b> <b>if</b>;
       <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#155_7">F</A>;
    <b>end</b> Duplicate;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#331_13">Link</A><FONT COLOR=red><A NAME="167_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#331_19">Fld</A>  : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-                  <A HREF="terminal_interface-curses-forms__ads.htm#332_19">Top</A>  : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
-                  <A HREF="terminal_interface-curses-forms__ads.htm#333_19">Left</A> : <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#330_13">Link</A><FONT COLOR=red><A NAME="167_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#330_19">Fld</A>  : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+                  <A HREF="terminal_interface-curses-forms__ads.htm#331_19">Top</A>  : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
+                  <A HREF="terminal_interface-curses-forms__ads.htm#332_19">Left</A> : <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="171_16">Lnk_Field</A></FONT> (<FONT COLOR=red><A NAME="171_27">Fld</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="171_16">Lnk_Field</A></FONT> (<FONT COLOR=red><A NAME="171_27">Fld</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                           <FONT COLOR=red><A NAME="172_27">Top</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
                           <FONT COLOR=red><A NAME="172_27">Top</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
-                          <FONT COLOR=red><A NAME="173_27">Left</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+                          <FONT COLOR=red><A NAME="173_27">Left</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#171_16">Lnk_Field</A>, "link_field");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#171_16">Lnk_Field</A>, "link_field");
 
-      <FONT COLOR=red><A NAME="176_7">F</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#171_16">Lnk_Field</A> (<A HREF="terminal_interface-curses-forms__ads.htm#331_19">Fld</A>,
-                                       <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#332_19">Top</A>),
-                                       <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#333_19">Left</A>));
+      <FONT COLOR=red><A NAME="176_7">F</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#171_16">Lnk_Field</A> (<A HREF="terminal_interface-curses-forms__ads.htm#330_19">Fld</A>,
+                                       <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#331_19">Top</A>),
+                                       <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#332_19">Left</A>));
    <b>begin</b>
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#176_7">F</A> = <A HREF="terminal_interface-curses-forms__ads.htm#59_4">Null_Field</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#289_4">Form_Exception</A>;
+      <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#176_7">F</A> = <A HREF="terminal_interface-curses-forms__ads.htm#58_4">Null_Field</A> <b>then</b>
+         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#288_4">Form_Exception</A>;
       <b>end</b> <b>if</b>;
       <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#176_7">F</A>;
    <b>end</b> Link;
       <b>end</b> <b>if</b>;
       <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#176_7">F</A>;
    <b>end</b> Link;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#342_14">Set_Justification</A><FONT COLOR=red><A NAME="192_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#342_33">Fld</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-                                <A HREF="terminal_interface-curses-forms__ads.htm#343_33">Just</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#62_9">Field_Justification</A> := <A HREF="terminal_interface-curses-forms__ads.htm#62_33">None</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#341_14">Set_Justification</A><FONT COLOR=red><A NAME="192_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#341_33">Fld</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+                                <A HREF="terminal_interface-curses-forms__ads.htm#342_33">Just</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#61_9">Field_Justification</A> := <A HREF="terminal_interface-curses-forms__ads.htm#61_33">None</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="195_16">Set_Field_Just</A></FONT> (<FONT COLOR=red><A NAME="195_32">Fld</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="195_16">Set_Field_Just</A></FONT> (<FONT COLOR=red><A NAME="195_32">Fld</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                                <FONT COLOR=red><A NAME="196_32">Just</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#195_16">Set_Field_Just</A>, "set_field_just");
 
       <FONT COLOR=red><A NAME="199_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> :=
                                <FONT COLOR=red><A NAME="196_32">Just</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#195_16">Set_Field_Just</A>, "set_field_just");
 
       <FONT COLOR=red><A NAME="199_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> :=
-        <A HREF="terminal_interface-curses-forms__adb.htm#195_16">Set_Field_Just</A> (<A HREF="terminal_interface-curses-forms__ads.htm#342_33">Fld</A>,
-                        <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#62_9">Field_Justification</A>'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#343_33">Just</A>)));
+        <A HREF="terminal_interface-curses-forms__adb.htm#195_16">Set_Field_Just</A> (<A HREF="terminal_interface-curses-forms__ads.htm#341_33">Fld</A>,
+                        <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#61_9">Field_Justification</A>'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#342_33">Just</A>)));
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#199_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#199_7">Res</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#199_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#199_7">Res</A>);
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#348_13">Get_Justification</A><FONT COLOR=red><A NAME="210_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#348_32">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#62_9">Field_Justification</A>
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#347_13">Get_Justification</A><FONT COLOR=red><A NAME="210_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#347_32">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#61_9">Field_Justification</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="212_16">Field_Just</A></FONT> (<FONT COLOR=red><A NAME="212_28">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="212_16">Field_Just</A></FONT> (<FONT COLOR=red><A NAME="212_28">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#212_16">Field_Just</A>, "field_just");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#212_16">Field_Just</A>, "field_just");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#62_9">Field_Justification</A>'Val (<A HREF="terminal_interface-curses-forms__adb.htm#212_16">Field_Just</A> (<A HREF="terminal_interface-curses-forms__ads.htm#348_32">Fld</A>));
+      <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#61_9">Field_Justification</A>'Val (<A HREF="terminal_interface-curses-forms__adb.htm#212_16">Field_Just</A> (<A HREF="terminal_interface-curses-forms__ads.htm#347_32">Fld</A>));
    <b>end</b> Get_Justification;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
    <b>end</b> Get_Justification;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#357_14">Set_Buffer</A><FONT COLOR=red><A NAME="224_14"></A></FONT>
-     (<A HREF="terminal_interface-curses-forms__ads.htm#358_7">Fld</A>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-      <A HREF="terminal_interface-curses-forms__ads.htm#359_7">Buffer</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#131_9">Buffer_Number</A>'First;
-      <A HREF="terminal_interface-curses-forms__ads.htm#360_7">Str</A>    : <b>in</b> String)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#356_14">Set_Buffer</A><FONT COLOR=red><A NAME="224_14"></A></FONT>
+     (<A HREF="terminal_interface-curses-forms__ads.htm#357_7">Fld</A>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+      <A HREF="terminal_interface-curses-forms__ads.htm#358_7">Buffer</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#130_9">Buffer_Number</A>'First;
+      <A HREF="terminal_interface-curses-forms__ads.htm#359_7">Str</A>    : <b>in</b> String)
    <b>is</b>
       <b>type</b> Char_Ptr <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.char;
    <b>is</b>
       <b>type</b> Char_Ptr <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.char;
-      <b>function</b> <FONT COLOR=red><A NAME="230_16">Set_Fld_Buffer</A></FONT> (<FONT COLOR=red><A NAME="230_32">Fld</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="230_16">Set_Fld_Buffer</A></FONT> (<FONT COLOR=red><A NAME="230_32">Fld</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                                  <FONT COLOR=red><A NAME="231_34">Bufnum</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
                                  S      : Char_Ptr)
         <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#230_16">Set_Fld_Buffer</A>, "set_field_buffer");
 
                                  <FONT COLOR=red><A NAME="231_34">Bufnum</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
                                  S      : Char_Ptr)
         <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#230_16">Set_Fld_Buffer</A>, "set_field_buffer");
 
-      <FONT COLOR=red><A NAME="236_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses-forms__ads.htm#360_7">Str</A>'Length);
+      <FONT COLOR=red><A NAME="236_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses-forms__ads.htm#359_7">Str</A>'Length);
       <FONT COLOR=red><A NAME="237_7">Len</A></FONT> : size_t;
       <FONT COLOR=red><A NAME="238_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
       <FONT COLOR=red><A NAME="237_7">Len</A></FONT> : size_t;
       <FONT COLOR=red><A NAME="238_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses-forms__ads.htm#360_7">Str</A>, <A HREF="terminal_interface-curses-forms__adb.htm#236_7">Txt</A>, <A HREF="terminal_interface-curses-forms__adb.htm#237_7">Len</A>);
-      <A HREF="terminal_interface-curses-forms__adb.htm#238_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#230_16">Set_Fld_Buffer</A> (<A HREF="terminal_interface-curses-forms__ads.htm#358_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#359_7">Buffer</A>), <A HREF="terminal_interface-curses-forms__adb.htm#236_7">Txt</A> (<A HREF="terminal_interface-curses-forms__adb.htm#236_7">Txt</A>'First)'<b>Access</b>);
+      To_C (<A HREF="terminal_interface-curses-forms__ads.htm#359_7">Str</A>, <A HREF="terminal_interface-curses-forms__adb.htm#236_7">Txt</A>, <A HREF="terminal_interface-curses-forms__adb.htm#237_7">Len</A>);
+      <A HREF="terminal_interface-curses-forms__adb.htm#238_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#230_16">Set_Fld_Buffer</A> (<A HREF="terminal_interface-curses-forms__ads.htm#357_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#358_7">Buffer</A>), <A HREF="terminal_interface-curses-forms__adb.htm#236_7">Txt</A> (<A HREF="terminal_interface-curses-forms__adb.htm#236_7">Txt</A>'First)'<b>Access</b>);
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#238_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#238_7">Res</A>);
       <b>end</b> <b>if</b>;
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#238_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#238_7">Res</A>);
       <b>end</b> <b>if</b>;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#365_14">Get_Buffer</A><FONT COLOR=red><A NAME="249_14"></A></FONT>
-     (<A HREF="terminal_interface-curses-forms__ads.htm#366_7">Fld</A>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-      <A HREF="terminal_interface-curses-forms__ads.htm#367_7">Buffer</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#131_9">Buffer_Number</A>'First;
-      <A HREF="terminal_interface-curses-forms__ads.htm#368_7">Str</A>    : <b>out</b> String)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#364_14">Get_Buffer</A><FONT COLOR=red><A NAME="249_14"></A></FONT>
+     (<A HREF="terminal_interface-curses-forms__ads.htm#365_7">Fld</A>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+      <A HREF="terminal_interface-curses-forms__ads.htm#366_7">Buffer</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#130_9">Buffer_Number</A>'First;
+      <A HREF="terminal_interface-curses-forms__ads.htm#367_7">Str</A>    : <b>out</b> String)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="254_16">Field_Buffer</A></FONT> (<FONT COLOR=red><A NAME="254_30">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="254_16">Field_Buffer</A></FONT> (<FONT COLOR=red><A NAME="254_30">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                              <FONT COLOR=red><A NAME="255_30">B</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#254_16">Field_Buffer</A>, "field_buffer");
    <b>begin</b>
                              <FONT COLOR=red><A NAME="255_30">B</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#254_16">Field_Buffer</A>, "field_buffer");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#254_16">Field_Buffer</A> (<A HREF="terminal_interface-curses-forms__ads.htm#366_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#367_7">Buffer</A>)), <A HREF="terminal_interface-curses-forms__ads.htm#368_7">Str</A>);
+      <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#254_16">Field_Buffer</A> (<A HREF="terminal_interface-curses-forms__ads.htm#365_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#366_7">Buffer</A>)), <A HREF="terminal_interface-curses-forms__ads.htm#367_7">Str</A>);
    <b>end</b> Get_Buffer;
 
    <b>end</b> Get_Buffer;
 
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#371_13">Get_Buffer</A><FONT COLOR=red><A NAME="261_13"></A></FONT>
-     (<A HREF="terminal_interface-curses-forms__ads.htm#372_7">Fld</A>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-      <A HREF="terminal_interface-curses-forms__ads.htm#373_7">Buffer</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#131_9">Buffer_Number</A>'First) <b>return</b> String
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#370_13">Get_Buffer</A><FONT COLOR=red><A NAME="261_13"></A></FONT>
+     (<A HREF="terminal_interface-curses-forms__ads.htm#371_7">Fld</A>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+      <A HREF="terminal_interface-curses-forms__ads.htm#372_7">Buffer</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#130_9">Buffer_Number</A>'First) <b>return</b> String
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="265_16">Field_Buffer</A></FONT> (<FONT COLOR=red><A NAME="265_30">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="265_16">Field_Buffer</A></FONT> (<FONT COLOR=red><A NAME="265_30">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                              <FONT COLOR=red><A NAME="266_30">B</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#265_16">Field_Buffer</A>, "field_buffer");
    <b>begin</b>
                              <FONT COLOR=red><A NAME="266_30">B</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#265_16">Field_Buffer</A>, "field_buffer");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#265_16">Field_Buffer</A> (<A HREF="terminal_interface-curses-forms__ads.htm#372_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#373_7">Buffer</A>)));
+      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#265_16">Field_Buffer</A> (<A HREF="terminal_interface-curses-forms__ads.htm#371_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#372_7">Buffer</A>)));
    <b>end</b> Get_Buffer;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <b>end</b> Get_Buffer;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#379_14">Set_Status</A><FONT COLOR=red><A NAME="274_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#379_26">Fld</A>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-                         <A HREF="terminal_interface-curses-forms__ads.htm#380_26">Status</A> : <b>in</b> Boolean := True)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#378_14">Set_Status</A><FONT COLOR=red><A NAME="274_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#378_26">Fld</A>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+                         <A HREF="terminal_interface-curses-forms__ads.htm#379_26">Status</A> : <b>in</b> Boolean := True)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="277_16">Set_Fld_Status</A></FONT> (<FONT COLOR=red><A NAME="277_32">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="277_16">Set_Fld_Status</A></FONT> (<FONT COLOR=red><A NAME="277_32">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                                <FONT COLOR=red><A NAME="278_32">St</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#277_16">Set_Fld_Status</A>, "set_field_status");
 
                                <FONT COLOR=red><A NAME="278_32">St</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#277_16">Set_Fld_Status</A>, "set_field_status");
 
-      <FONT COLOR=red><A NAME="281_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#277_16">Set_Fld_Status</A> (<A HREF="terminal_interface-curses-forms__ads.htm#379_26">Fld</A>, Boolean'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#380_26">Status</A>));
+      <FONT COLOR=red><A NAME="281_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#277_16">Set_Fld_Status</A> (<A HREF="terminal_interface-curses-forms__ads.htm#378_26">Fld</A>, Boolean'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#379_26">Status</A>));
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#281_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#281_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#289_4">Form_Exception</A>;
+         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#288_4">Form_Exception</A>;
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Status;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Status;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#385_13">Changed</A><FONT COLOR=red><A NAME="290_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#385_22">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> Boolean
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#384_13">Changed</A><FONT COLOR=red><A NAME="290_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#384_22">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> Boolean
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="292_16">Field_Status</A></FONT> (<FONT COLOR=red><A NAME="292_30">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="292_16">Field_Status</A></FONT> (<FONT COLOR=red><A NAME="292_30">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#292_16">Field_Status</A>, "field_status");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#292_16">Field_Status</A>, "field_status");
 
-      <FONT COLOR=red><A NAME="295_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#292_16">Field_Status</A> (<A HREF="terminal_interface-curses-forms__ads.htm#385_22">Fld</A>);
+      <FONT COLOR=red><A NAME="295_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#292_16">Field_Status</A> (<A HREF="terminal_interface-curses-forms__ads.htm#384_22">Fld</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#295_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#75_4">Curses_False</A> <b>then</b>
          <b>return</b> False;
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#295_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#75_4">Curses_False</A> <b>then</b>
          <b>return</b> False;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#390_14">Set_Maximum_Size</A><FONT COLOR=red><A NAME="306_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#390_32">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-                               <A HREF="terminal_interface-curses-forms__ads.htm#391_32">Max</A> : <b>in</b> Natural := 0)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#389_14">Set_Maximum_Size</A><FONT COLOR=red><A NAME="306_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#389_32">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+                               <A HREF="terminal_interface-curses-forms__ads.htm#390_32">Max</A> : <b>in</b> Natural := 0)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="309_16">Set_Field_Max</A></FONT> (<FONT COLOR=red><A NAME="309_31">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="309_16">Set_Field_Max</A></FONT> (<FONT COLOR=red><A NAME="309_31">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                               <FONT COLOR=red><A NAME="310_31">M</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#309_16">Set_Field_Max</A>, "set_max_field");
 
                               <FONT COLOR=red><A NAME="310_31">M</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#309_16">Set_Field_Max</A>, "set_max_field");
 
-      <FONT COLOR=red><A NAME="313_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#309_16">Set_Field_Max</A> (<A HREF="terminal_interface-curses-forms__ads.htm#390_32">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#391_32">Max</A>));
+      <FONT COLOR=red><A NAME="313_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#309_16">Set_Field_Max</A> (<A HREF="terminal_interface-curses-forms__ads.htm#389_32">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#390_32">Max</A>));
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#313_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#313_7">Res</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#313_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#313_7">Res</A>);
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#400_14">Set_Options</A><FONT COLOR=red><A NAME="326_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#400_27">Fld</A>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-                          <A HREF="terminal_interface-curses-forms__ads.htm#401_27">Options</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#68_9">Field_Option_Set</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#399_14">Set_Options</A><FONT COLOR=red><A NAME="326_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#399_27">Fld</A>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+                          <A HREF="terminal_interface-curses-forms__ads.htm#400_27">Options</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#67_9">Field_Option_Set</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="329_16">Set_Field_Opts</A></FONT> (<FONT COLOR=red><A NAME="329_32">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="329_16">Set_Field_Opts</A></FONT> (<FONT COLOR=red><A NAME="329_32">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                                <FONT COLOR=red><A NAME="330_32">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#329_16">Set_Field_Opts</A>, "set_field_opts");
 
                                <FONT COLOR=red><A NAME="330_32">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#329_16">Set_Field_Opts</A>, "set_field_opts");
 
-      <FONT COLOR=red><A NAME="333_7">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#64_13">FOS_2_CInt</A> (<A HREF="terminal_interface-curses-forms__ads.htm#401_27">Options</A>);
+      <FONT COLOR=red><A NAME="333_7">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#64_13">FOS_2_CInt</A> (<A HREF="terminal_interface-curses-forms__ads.htm#400_27">Options</A>);
       <FONT COLOR=red><A NAME="334_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
       <FONT COLOR=red><A NAME="334_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__adb.htm#334_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#329_16">Set_Field_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#400_27">Fld</A>, <A HREF="terminal_interface-curses-forms__adb.htm#333_7">Opt</A>);
+      <A HREF="terminal_interface-curses-forms__adb.htm#334_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#329_16">Set_Field_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#399_27">Fld</A>, <A HREF="terminal_interface-curses-forms__adb.htm#333_7">Opt</A>);
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#334_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#334_7">Res</A>);
       <b>end</b> <b>if</b>;
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#334_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#334_7">Res</A>);
       <b>end</b> <b>if</b>;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#406_14">Switch_Options</A><FONT COLOR=red><A NAME="344_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#406_30">Fld</A>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-                             <A HREF="terminal_interface-curses-forms__ads.htm#407_30">Options</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#68_9">Field_Option_Set</A>;
-                             <A HREF="terminal_interface-curses-forms__ads.htm#408_30">On</A>      : Boolean := True)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#405_14">Switch_Options</A><FONT COLOR=red><A NAME="344_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#405_30">Fld</A>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+                             <A HREF="terminal_interface-curses-forms__ads.htm#406_30">Options</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#67_9">Field_Option_Set</A>;
+                             <A HREF="terminal_interface-curses-forms__ads.htm#407_30">On</A>      : Boolean := True)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="348_16">Field_Opts_On</A></FONT> (<FONT COLOR=red><A NAME="348_31">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="348_16">Field_Opts_On</A></FONT> (<FONT COLOR=red><A NAME="348_31">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                               <FONT COLOR=red><A NAME="349_31">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#348_16">Field_Opts_On</A>, "field_opts_on");
                               <FONT COLOR=red><A NAME="349_31">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#348_16">Field_Opts_On</A>, "field_opts_on");
-      <b>function</b> <FONT COLOR=red><A NAME="351_16">Field_Opts_Off</A></FONT> (<FONT COLOR=red><A NAME="351_32">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="351_16">Field_Opts_Off</A></FONT> (<FONT COLOR=red><A NAME="351_32">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                                <FONT COLOR=red><A NAME="352_32">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#351_16">Field_Opts_Off</A>, "field_opts_off");
 
       <FONT COLOR=red><A NAME="355_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
                                <FONT COLOR=red><A NAME="352_32">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#351_16">Field_Opts_Off</A>, "field_opts_off");
 
       <FONT COLOR=red><A NAME="355_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
-      <FONT COLOR=red><A NAME="356_7">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#64_13">FOS_2_CInt</A> (<A HREF="terminal_interface-curses-forms__ads.htm#407_30">Options</A>);
+      <FONT COLOR=red><A NAME="356_7">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#64_13">FOS_2_CInt</A> (<A HREF="terminal_interface-curses-forms__ads.htm#406_30">Options</A>);
    <b>begin</b>
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#408_30">On</A> <b>then</b>
-         <A HREF="terminal_interface-curses-forms__adb.htm#355_7">Err</A> := <A HREF="terminal_interface-curses-forms__adb.htm#348_16">Field_Opts_On</A> (<A HREF="terminal_interface-curses-forms__ads.htm#406_30">Fld</A>, <A HREF="terminal_interface-curses-forms__adb.htm#356_7">Opt</A>);
+      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#407_30">On</A> <b>then</b>
+         <A HREF="terminal_interface-curses-forms__adb.htm#355_7">Err</A> := <A HREF="terminal_interface-curses-forms__adb.htm#348_16">Field_Opts_On</A> (<A HREF="terminal_interface-curses-forms__ads.htm#405_30">Fld</A>, <A HREF="terminal_interface-curses-forms__adb.htm#356_7">Opt</A>);
       <b>else</b>
       <b>else</b>
-         <A HREF="terminal_interface-curses-forms__adb.htm#355_7">Err</A> := <A HREF="terminal_interface-curses-forms__adb.htm#351_16">Field_Opts_Off</A> (<A HREF="terminal_interface-curses-forms__ads.htm#406_30">Fld</A>, <A HREF="terminal_interface-curses-forms__adb.htm#356_7">Opt</A>);
+         <A HREF="terminal_interface-curses-forms__adb.htm#355_7">Err</A> := <A HREF="terminal_interface-curses-forms__adb.htm#351_16">Field_Opts_Off</A> (<A HREF="terminal_interface-curses-forms__ads.htm#405_30">Fld</A>, <A HREF="terminal_interface-curses-forms__adb.htm#356_7">Opt</A>);
       <b>end</b> <b>if</b>;
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#355_7">Err</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#355_7">Err</A>);
       <b>end</b> <b>if</b>;
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#355_7">Err</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#355_7">Err</A>);
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#414_14">Get_Options</A><FONT COLOR=red><A NAME="370_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#414_27">Fld</A>     : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-                          <A HREF="terminal_interface-curses-forms__ads.htm#415_27">Options</A> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#68_9">Field_Option_Set</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#413_14">Get_Options</A><FONT COLOR=red><A NAME="370_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#413_27">Fld</A>     : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+                          <A HREF="terminal_interface-curses-forms__ads.htm#414_27">Options</A> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#67_9">Field_Option_Set</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="373_16">Field_Opts</A></FONT> (<FONT COLOR=red><A NAME="373_28">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="373_16">Field_Opts</A></FONT> (<FONT COLOR=red><A NAME="373_28">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#373_16">Field_Opts</A>, "field_opts");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#373_16">Field_Opts</A>, "field_opts");
 
-      <FONT COLOR=red><A NAME="376_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#373_16">Field_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#414_27">Fld</A>);
+      <FONT COLOR=red><A NAME="376_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#373_16">Field_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#413_27">Fld</A>);
    <b>begin</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__ads.htm#415_27">Options</A> := <A HREF="terminal_interface-curses-forms__adb.htm#68_13">CInt_2_FOS</A> (<A HREF="terminal_interface-curses-forms__adb.htm#376_7">Res</A>);
+      <A HREF="terminal_interface-curses-forms__ads.htm#414_27">Options</A> := <A HREF="terminal_interface-curses-forms__adb.htm#68_13">CInt_2_FOS</A> (<A HREF="terminal_interface-curses-forms__adb.htm#376_7">Res</A>);
    <b>end</b> Get_Options;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <b>end</b> Get_Options;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#419_13">Get_Options</A><FONT COLOR=red><A NAME="383_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#419_26">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A> := <A HREF="terminal_interface-curses-forms__ads.htm#59_4">Null_Field</A>)
-                         <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#68_9">Field_Option_Set</A>
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#418_13">Get_Options</A><FONT COLOR=red><A NAME="383_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#418_26">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A> := <A HREF="terminal_interface-curses-forms__ads.htm#58_4">Null_Field</A>)
+                         <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#67_9">Field_Option_Set</A>
    <b>is</b>
    <b>is</b>
-      <FONT COLOR=red><A NAME="386_7">Fos</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#68_9">Field_Option_Set</A>;
+      <FONT COLOR=red><A NAME="386_7">Fos</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#67_9">Field_Option_Set</A>;
    <b>begin</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__ads.htm#419_13">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#419_26">Fld</A>, <A HREF="terminal_interface-curses-forms__adb.htm#386_7">Fos</A>);
+      <A HREF="terminal_interface-curses-forms__ads.htm#418_13">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#418_26">Fld</A>, <A HREF="terminal_interface-curses-forms__adb.htm#386_7">Fos</A>);
       <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#386_7">Fos</A>;
    <b>end</b> Get_Options;
    <FONT COLOR=green><EM>--  |</EM></FONT>
       <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#386_7">Fos</A>;
    <b>end</b> Get_Options;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#429_14">Set_Foreground</A><FONT COLOR=red><A NAME="398_14"></A></FONT>
-     (<A HREF="terminal_interface-curses-forms__ads.htm#430_7">Fld</A>   : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-      <A HREF="terminal_interface-curses-forms__ads.htm#431_7">Fore</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#348_4">Normal_Video</A>;
-      <A HREF="terminal_interface-curses-forms__ads.htm#432_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A>'First)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#428_14">Set_Foreground</A><FONT COLOR=red><A NAME="398_14"></A></FONT>
+     (<A HREF="terminal_interface-curses-forms__ads.htm#429_7">Fld</A>   : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+      <A HREF="terminal_interface-curses-forms__ads.htm#430_7">Fore</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#348_4">Normal_Video</A>;
+      <A HREF="terminal_interface-curses-forms__ads.htm#431_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A>'First)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="403_16">Set_Field_Fore</A></FONT> (<FONT COLOR=red><A NAME="403_32">Fld</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="403_16">Set_Field_Fore</A></FONT> (<FONT COLOR=red><A NAME="403_32">Fld</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                                <FONT COLOR=red><A NAME="404_32">Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#403_16">Set_Field_Fore</A>, "set_field_fore");
 
       <FONT COLOR=red><A NAME="407_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#350_9">Attributed_Character</A> := (Ch    =&gt; Character'First,
                                <FONT COLOR=red><A NAME="404_32">Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#403_16">Set_Field_Fore</A>, "set_field_fore");
 
       <FONT COLOR=red><A NAME="407_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#350_9">Attributed_Character</A> := (Ch    =&gt; Character'First,
-                                             Color =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#432_7">Color</A>,
-                                             Attr  =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#431_7">Fore</A>);
+                                             Color =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#431_7">Color</A>,
+                                             Attr  =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#430_7">Fore</A>);
       <FONT COLOR=red><A NAME="410_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> :=
       <FONT COLOR=red><A NAME="410_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> :=
-        <A HREF="terminal_interface-curses-forms__adb.htm#403_16">Set_Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#430_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses-forms__adb.htm#407_7">Ch</A>));
+        <A HREF="terminal_interface-curses-forms__adb.htm#403_16">Set_Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#429_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses-forms__adb.htm#407_7">Ch</A>));
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-forms__adb.htm#410_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#410_7">Res</A>);
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-forms__adb.htm#410_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#410_7">Res</A>);
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#437_14">Foreground</A><FONT COLOR=red><A NAME="420_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#437_26">Fld</A>  : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-                         <A HREF="terminal_interface-curses-forms__ads.htm#438_26">Fore</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#436_14">Foreground</A><FONT COLOR=red><A NAME="420_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#436_26">Fld</A>  : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+                         <A HREF="terminal_interface-curses-forms__ads.htm#437_26">Fore</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="423_16">Field_Fore</A></FONT> (<FONT COLOR=red><A NAME="423_28">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="423_16">Field_Fore</A></FONT> (<FONT COLOR=red><A NAME="423_28">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#423_16">Field_Fore</A>, "field_fore");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#423_16">Field_Fore</A>, "field_fore");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__ads.htm#438_26">Fore</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-forms__adb.htm#423_16">Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#437_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#352_10">Attr</A>;
+      <A HREF="terminal_interface-curses-forms__ads.htm#437_26">Fore</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-forms__adb.htm#423_16">Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#436_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#352_10">Attr</A>;
    <b>end</b> Foreground;
 
    <b>end</b> Foreground;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#442_14">Foreground</A><FONT COLOR=red><A NAME="429_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#442_26">Fld</A>   : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-                         <A HREF="terminal_interface-curses-forms__ads.htm#443_26">Fore</A>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A>;
-                         <A HREF="terminal_interface-curses-forms__ads.htm#444_26">Color</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#441_14">Foreground</A><FONT COLOR=red><A NAME="429_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#441_26">Fld</A>   : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+                         <A HREF="terminal_interface-curses-forms__ads.htm#442_26">Fore</A>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A>;
+                         <A HREF="terminal_interface-curses-forms__ads.htm#443_26">Color</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="433_16">Field_Fore</A></FONT> (<FONT COLOR=red><A NAME="433_28">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="433_16">Field_Fore</A></FONT> (<FONT COLOR=red><A NAME="433_28">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#433_16">Field_Fore</A>, "field_fore");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#433_16">Field_Fore</A>, "field_fore");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__ads.htm#443_26">Fore</A>  := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-forms__adb.htm#433_16">Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#442_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#352_10">Attr</A>;
-      <A HREF="terminal_interface-curses-forms__ads.htm#444_26">Color</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-forms__adb.htm#433_16">Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#442_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#353_10">Color</A>;
+      <A HREF="terminal_interface-curses-forms__ads.htm#442_26">Fore</A>  := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-forms__adb.htm#433_16">Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#441_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#352_10">Attr</A>;
+      <A HREF="terminal_interface-curses-forms__ads.htm#443_26">Color</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-forms__adb.htm#433_16">Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#441_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#353_10">Color</A>;
    <b>end</b> Foreground;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <b>end</b> Foreground;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#449_14">Set_Background</A><FONT COLOR=red><A NAME="442_14"></A></FONT>
-     (<A HREF="terminal_interface-curses-forms__ads.htm#450_7">Fld</A>   : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-      <A HREF="terminal_interface-curses-forms__ads.htm#451_7">Back</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#348_4">Normal_Video</A>;
-      <A HREF="terminal_interface-curses-forms__ads.htm#452_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A>'First)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#448_14">Set_Background</A><FONT COLOR=red><A NAME="442_14"></A></FONT>
+     (<A HREF="terminal_interface-curses-forms__ads.htm#449_7">Fld</A>   : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+      <A HREF="terminal_interface-curses-forms__ads.htm#450_7">Back</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#348_4">Normal_Video</A>;
+      <A HREF="terminal_interface-curses-forms__ads.htm#451_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A>'First)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="447_16">Set_Field_Back</A></FONT> (<FONT COLOR=red><A NAME="447_32">Fld</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="447_16">Set_Field_Back</A></FONT> (<FONT COLOR=red><A NAME="447_32">Fld</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                                <FONT COLOR=red><A NAME="448_32">Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#447_16">Set_Field_Back</A>, "set_field_back");
 
       <FONT COLOR=red><A NAME="451_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#350_9">Attributed_Character</A> := (Ch    =&gt; Character'First,
                                <FONT COLOR=red><A NAME="448_32">Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#447_16">Set_Field_Back</A>, "set_field_back");
 
       <FONT COLOR=red><A NAME="451_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#350_9">Attributed_Character</A> := (Ch    =&gt; Character'First,
-                                             Color =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#452_7">Color</A>,
-                                             Attr  =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#451_7">Back</A>);
+                                             Color =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#451_7">Color</A>,
+                                             Attr  =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#450_7">Back</A>);
       <FONT COLOR=red><A NAME="454_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> :=
       <FONT COLOR=red><A NAME="454_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> :=
-        <A HREF="terminal_interface-curses-forms__adb.htm#447_16">Set_Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#450_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses-forms__adb.htm#451_7">Ch</A>));
+        <A HREF="terminal_interface-curses-forms__adb.htm#447_16">Set_Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#449_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses-forms__adb.htm#451_7">Ch</A>));
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-forms__adb.htm#454_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#454_7">Res</A>);
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-forms__adb.htm#454_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#454_7">Res</A>);
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#457_14">Background</A><FONT COLOR=red><A NAME="464_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#457_26">Fld</A>  : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-                         <A HREF="terminal_interface-curses-forms__ads.htm#458_26">Back</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#456_14">Background</A><FONT COLOR=red><A NAME="464_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#456_26">Fld</A>  : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+                         <A HREF="terminal_interface-curses-forms__ads.htm#457_26">Back</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="467_16">Field_Back</A></FONT> (<FONT COLOR=red><A NAME="467_28">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="467_16">Field_Back</A></FONT> (<FONT COLOR=red><A NAME="467_28">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#467_16">Field_Back</A>, "field_back");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#467_16">Field_Back</A>, "field_back");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__ads.htm#458_26">Back</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-forms__adb.htm#467_16">Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#457_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#352_10">Attr</A>;
+      <A HREF="terminal_interface-curses-forms__ads.htm#457_26">Back</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-forms__adb.htm#467_16">Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#456_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#352_10">Attr</A>;
    <b>end</b> Background;
 
    <b>end</b> Background;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#462_14">Background</A><FONT COLOR=red><A NAME="473_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#462_26">Fld</A>   : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-                         <A HREF="terminal_interface-curses-forms__ads.htm#463_26">Back</A>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A>;
-                         <A HREF="terminal_interface-curses-forms__ads.htm#464_26">Color</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#461_14">Background</A><FONT COLOR=red><A NAME="473_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#461_26">Fld</A>   : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+                         <A HREF="terminal_interface-curses-forms__ads.htm#462_26">Back</A>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A>;
+                         <A HREF="terminal_interface-curses-forms__ads.htm#463_26">Color</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="477_16">Field_Back</A></FONT> (<FONT COLOR=red><A NAME="477_28">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="477_16">Field_Back</A></FONT> (<FONT COLOR=red><A NAME="477_28">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#477_16">Field_Back</A>, "field_back");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#477_16">Field_Back</A>, "field_back");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__ads.htm#463_26">Back</A>  := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-forms__adb.htm#477_16">Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#462_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#352_10">Attr</A>;
-      <A HREF="terminal_interface-curses-forms__ads.htm#464_26">Color</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-forms__adb.htm#477_16">Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#462_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#353_10">Color</A>;
+      <A HREF="terminal_interface-curses-forms__ads.htm#462_26">Back</A>  := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-forms__adb.htm#477_16">Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#461_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#352_10">Attr</A>;
+      <A HREF="terminal_interface-curses-forms__ads.htm#463_26">Color</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-forms__adb.htm#477_16">Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#461_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#353_10">Color</A>;
    <b>end</b> Background;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <b>end</b> Background;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#469_14">Set_Pad_Character</A><FONT COLOR=red><A NAME="486_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#469_33">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-                                <A HREF="terminal_interface-curses-forms__ads.htm#470_33">Pad</A> : <b>in</b> Character := <A HREF="terminal_interface-curses-forms__ads.htm#54_4">Space</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#468_14">Set_Pad_Character</A><FONT COLOR=red><A NAME="486_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#468_33">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+                                <A HREF="terminal_interface-curses-forms__ads.htm#469_33">Pad</A> : <b>in</b> Character := <A HREF="terminal_interface-curses-forms__ads.htm#53_4">Space</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="489_16">Set_Field_Pad</A></FONT> (<FONT COLOR=red><A NAME="489_31">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="489_16">Set_Field_Pad</A></FONT> (<FONT COLOR=red><A NAME="489_31">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                               <FONT COLOR=red><A NAME="490_31">Ch</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#489_16">Set_Field_Pad</A>, "set_field_pad");
 
                               <FONT COLOR=red><A NAME="490_31">Ch</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#489_16">Set_Field_Pad</A>, "set_field_pad");
 
-      <FONT COLOR=red><A NAME="493_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#489_16">Set_Field_Pad</A> (<A HREF="terminal_interface-curses-forms__ads.htm#469_33">Fld</A>,
-                                                 <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (Character'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#470_33">Pad</A>)));
+      <FONT COLOR=red><A NAME="493_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#489_16">Set_Field_Pad</A> (<A HREF="terminal_interface-curses-forms__ads.htm#468_33">Fld</A>,
+                                                 <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (Character'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#469_33">Pad</A>)));
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#493_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#493_7">Res</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#493_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#493_7">Res</A>);
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#475_14">Pad_Character</A><FONT COLOR=red><A NAME="503_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#475_29">Fld</A> : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-                            <A HREF="terminal_interface-curses-forms__ads.htm#476_29">Pad</A> : <b>out</b> Character)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#474_14">Pad_Character</A><FONT COLOR=red><A NAME="503_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#474_29">Fld</A> : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+                            <A HREF="terminal_interface-curses-forms__ads.htm#475_29">Pad</A> : <b>out</b> Character)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="506_16">Field_Pad</A></FONT> (<FONT COLOR=red><A NAME="506_27">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="506_16">Field_Pad</A></FONT> (<FONT COLOR=red><A NAME="506_27">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#506_16">Field_Pad</A>, "field_pad");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#506_16">Field_Pad</A>, "field_pad");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__ads.htm#476_29">Pad</A> := Character'Val (<A HREF="terminal_interface-curses-forms__adb.htm#506_16">Field_Pad</A> (<A HREF="terminal_interface-curses-forms__ads.htm#475_29">Fld</A>));
+      <A HREF="terminal_interface-curses-forms__ads.htm#475_29">Pad</A> := Character'Val (<A HREF="terminal_interface-curses-forms__adb.htm#506_16">Field_Pad</A> (<A HREF="terminal_interface-curses-forms__ads.htm#474_29">Fld</A>));
    <b>end</b> Pad_Character;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
    <b>end</b> Pad_Character;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#485_14">Info</A><FONT COLOR=red><A NAME="518_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#485_20">Fld</A>                : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-                   <A HREF="terminal_interface-curses-forms__ads.htm#486_20">Lines</A>              : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>;
-                   <A HREF="terminal_interface-curses-forms__ads.htm#487_20">Columns</A>            : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>;
-                   <A HREF="terminal_interface-curses-forms__ads.htm#488_20">First_Row</A>          : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
-                   <A HREF="terminal_interface-curses-forms__ads.htm#489_20">First_Column</A>       : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
-                   <A HREF="terminal_interface-curses-forms__ads.htm#490_20">Off_Screen</A>         : <b>out</b> Natural;
-                   <A HREF="terminal_interface-curses-forms__ads.htm#491_20">Additional_Buffers</A> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#131_9">Buffer_Number</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#484_14">Info</A><FONT COLOR=red><A NAME="518_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#484_20">Fld</A>                : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+                   <A HREF="terminal_interface-curses-forms__ads.htm#485_20">Lines</A>              : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>;
+                   <A HREF="terminal_interface-curses-forms__ads.htm#486_20">Columns</A>            : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>;
+                   <A HREF="terminal_interface-curses-forms__ads.htm#487_20">First_Row</A>          : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
+                   <A HREF="terminal_interface-curses-forms__ads.htm#488_20">First_Column</A>       : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
+                   <A HREF="terminal_interface-curses-forms__ads.htm#489_20">Off_Screen</A>         : <b>out</b> Natural;
+                   <A HREF="terminal_interface-curses-forms__ads.htm#490_20">Additional_Buffers</A> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#130_9">Buffer_Number</A>)
    <b>is</b>
       <b>type</b> C_Int_Access <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
    <b>is</b>
       <b>type</b> C_Int_Access <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
-      <b>function</b> <FONT COLOR=red><A NAME="527_16">Fld_Info</A></FONT> (<FONT COLOR=red><A NAME="527_26">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="527_16">Fld_Info</A></FONT> (<FONT COLOR=red><A NAME="527_26">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
                          L, C, Fr, Fc, Os, Ab : C_Int_Access)
                          <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#527_16">Fld_Info</A>, "field_info");
 
       <FONT COLOR=red><A NAME="532_7">L</A></FONT>, <FONT COLOR=red><A NAME="532_10">C</A></FONT>, <FONT COLOR=red><A NAME="532_13">Fr</A></FONT>, <FONT COLOR=red><A NAME="532_17">Fc</A></FONT>, <FONT COLOR=red><A NAME="532_21">Os</A></FONT>, <FONT COLOR=red><A NAME="532_25">Ab</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
                          L, C, Fr, Fc, Os, Ab : C_Int_Access)
                          <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#527_16">Fld_Info</A>, "field_info");
 
       <FONT COLOR=red><A NAME="532_7">L</A></FONT>, <FONT COLOR=red><A NAME="532_10">C</A></FONT>, <FONT COLOR=red><A NAME="532_13">Fr</A></FONT>, <FONT COLOR=red><A NAME="532_17">Fc</A></FONT>, <FONT COLOR=red><A NAME="532_21">Os</A></FONT>, <FONT COLOR=red><A NAME="532_25">Ab</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
-      <FONT COLOR=red><A NAME="533_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#527_16">Fld_Info</A> (<A HREF="terminal_interface-curses-forms__ads.htm#485_20">Fld</A>,
+      <FONT COLOR=red><A NAME="533_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#527_16">Fld_Info</A> (<A HREF="terminal_interface-curses-forms__ads.htm#484_20">Fld</A>,
                                             <A HREF="terminal_interface-curses-forms__adb.htm#532_7">L</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#532_10">C</A>'<b>Access</b>,
                                             <A HREF="terminal_interface-curses-forms__adb.htm#532_13">Fr</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#532_17">Fc</A>'<b>Access</b>,
                                             <A HREF="terminal_interface-curses-forms__adb.htm#532_21">Os</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#532_25">Ab</A>'<b>Access</b>);
                                             <A HREF="terminal_interface-curses-forms__adb.htm#532_7">L</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#532_10">C</A>'<b>Access</b>,
                                             <A HREF="terminal_interface-curses-forms__adb.htm#532_13">Fr</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#532_17">Fc</A>'<b>Access</b>,
                                             <A HREF="terminal_interface-curses-forms__adb.htm#532_21">Os</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#532_25">Ab</A>'<b>Access</b>);
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#533_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#533_7">Res</A>);
       <b>else</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#533_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#533_7">Res</A>);
       <b>else</b>
-         <A HREF="terminal_interface-curses-forms__ads.htm#486_20">Lines</A>              := <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#532_7">L</A>);
-         <A HREF="terminal_interface-curses-forms__ads.htm#487_20">Columns</A>            := <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#532_10">C</A>);
-         <A HREF="terminal_interface-curses-forms__ads.htm#488_20">First_Row</A>          := <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A> (<A HREF="terminal_interface-curses-forms__adb.htm#532_13">Fr</A>);
-         <A HREF="terminal_interface-curses-forms__ads.htm#489_20">First_Column</A>       := <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A> (<A HREF="terminal_interface-curses-forms__adb.htm#532_17">Fc</A>);
-         <A HREF="terminal_interface-curses-forms__ads.htm#490_20">Off_Screen</A>         := Natural (<A HREF="terminal_interface-curses-forms__adb.htm#532_21">Os</A>);
-         <A HREF="terminal_interface-curses-forms__ads.htm#491_20">Additional_Buffers</A> := <A HREF="terminal_interface-curses-forms__ads.htm#131_9">Buffer_Number</A> (<A HREF="terminal_interface-curses-forms__adb.htm#532_25">Ab</A>);
+         <A HREF="terminal_interface-curses-forms__ads.htm#485_20">Lines</A>              := <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#532_7">L</A>);
+         <A HREF="terminal_interface-curses-forms__ads.htm#486_20">Columns</A>            := <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#532_10">C</A>);
+         <A HREF="terminal_interface-curses-forms__ads.htm#487_20">First_Row</A>          := <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A> (<A HREF="terminal_interface-curses-forms__adb.htm#532_13">Fr</A>);
+         <A HREF="terminal_interface-curses-forms__ads.htm#488_20">First_Column</A>       := <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A> (<A HREF="terminal_interface-curses-forms__adb.htm#532_17">Fc</A>);
+         <A HREF="terminal_interface-curses-forms__ads.htm#489_20">Off_Screen</A>         := Natural (<A HREF="terminal_interface-curses-forms__adb.htm#532_21">Os</A>);
+         <A HREF="terminal_interface-curses-forms__ads.htm#490_20">Additional_Buffers</A> := <A HREF="terminal_interface-curses-forms__ads.htm#130_9">Buffer_Number</A> (<A HREF="terminal_interface-curses-forms__adb.htm#532_25">Ab</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Info;
 <FONT COLOR=green><EM>--  |</EM></FONT>
 <FONT COLOR=green><EM>--  |</EM></FONT>
 <FONT COLOR=green><EM>--  |</EM></FONT>
       <b>end</b> <b>if</b>;
    <b>end</b> Info;
 <FONT COLOR=green><EM>--  |</EM></FONT>
 <FONT COLOR=green><EM>--  |</EM></FONT>
 <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#496_14">Dynamic_Info</A><FONT COLOR=red><A NAME="552_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#496_28">Fld</A>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-                           <A HREF="terminal_interface-curses-forms__ads.htm#497_28">Lines</A>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>;
-                           <A HREF="terminal_interface-curses-forms__ads.htm#498_28">Columns</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>;
-                           <A HREF="terminal_interface-curses-forms__ads.htm#499_28">Max</A>     : <b>out</b> Natural)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#495_14">Dynamic_Info</A><FONT COLOR=red><A NAME="552_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#495_28">Fld</A>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+                           <A HREF="terminal_interface-curses-forms__ads.htm#496_28">Lines</A>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>;
+                           <A HREF="terminal_interface-curses-forms__ads.htm#497_28">Columns</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>;
+                           <A HREF="terminal_interface-curses-forms__ads.htm#498_28">Max</A>     : <b>out</b> Natural)
    <b>is</b>
       <b>type</b> C_Int_Access <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
    <b>is</b>
       <b>type</b> C_Int_Access <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
-      <b>function</b> <FONT COLOR=red><A NAME="558_16">Dyn_Info</A></FONT> (<FONT COLOR=red><A NAME="558_26">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>; L, C, M : C_Int_Access) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="558_16">Dyn_Info</A></FONT> (<FONT COLOR=red><A NAME="558_26">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>; L, C, M : C_Int_Access) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#558_16">Dyn_Info</A>, "dynamic_field_info");
 
       <FONT COLOR=red><A NAME="561_7">L</A></FONT>, <FONT COLOR=red><A NAME="561_10">C</A></FONT>, <FONT COLOR=red><A NAME="561_13">M</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#558_16">Dyn_Info</A>, "dynamic_field_info");
 
       <FONT COLOR=red><A NAME="561_7">L</A></FONT>, <FONT COLOR=red><A NAME="561_10">C</A></FONT>, <FONT COLOR=red><A NAME="561_13">M</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
-      <FONT COLOR=red><A NAME="562_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#558_16">Dyn_Info</A> (<A HREF="terminal_interface-curses-forms__ads.htm#496_28">Fld</A>,
+      <FONT COLOR=red><A NAME="562_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#558_16">Dyn_Info</A> (<A HREF="terminal_interface-curses-forms__ads.htm#495_28">Fld</A>,
                                             <A HREF="terminal_interface-curses-forms__adb.htm#561_7">L</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#561_10">C</A>'<b>Access</b>,
                                             <A HREF="terminal_interface-curses-forms__adb.htm#561_13">M</A>'<b>Access</b>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#562_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#562_7">Res</A>);
       <b>else</b>
                                             <A HREF="terminal_interface-curses-forms__adb.htm#561_7">L</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#561_10">C</A>'<b>Access</b>,
                                             <A HREF="terminal_interface-curses-forms__adb.htm#561_13">M</A>'<b>Access</b>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#562_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#562_7">Res</A>);
       <b>else</b>
-         <A HREF="terminal_interface-curses-forms__ads.htm#497_28">Lines</A>   := <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#561_7">L</A>);
-         <A HREF="terminal_interface-curses-forms__ads.htm#498_28">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#561_10">C</A>);
-         <A HREF="terminal_interface-curses-forms__ads.htm#499_28">Max</A>     := Natural (<A HREF="terminal_interface-curses-forms__adb.htm#561_13">M</A>);
+         <A HREF="terminal_interface-curses-forms__ads.htm#496_28">Lines</A>   := <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#561_7">L</A>);
+         <A HREF="terminal_interface-curses-forms__ads.htm#497_28">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#561_10">C</A>);
+         <A HREF="terminal_interface-curses-forms__ads.htm#498_28">Max</A>     := Natural (<A HREF="terminal_interface-curses-forms__adb.htm#561_13">M</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Dynamic_Info;
    <FONT COLOR=green><EM>--  |</EM></FONT>
       <b>end</b> <b>if</b>;
    <b>end</b> Dynamic_Info;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#508_14">Set_Window</A><FONT COLOR=red><A NAME="581_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#508_26">Frm</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
-                         <A HREF="terminal_interface-curses-forms__ads.htm#509_26">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#507_14">Set_Window</A><FONT COLOR=red><A NAME="581_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#507_26">Frm</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+                         <A HREF="terminal_interface-curses-forms__ads.htm#508_26">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="584_16">Set_Form_Win</A></FONT> (<FONT COLOR=red><A NAME="584_30">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="584_16">Set_Form_Win</A></FONT> (<FONT COLOR=red><A NAME="584_30">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
                              <FONT COLOR=red><A NAME="585_30">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#584_16">Set_Form_Win</A>, "set_form_win");
 
                              <FONT COLOR=red><A NAME="585_30">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#584_16">Set_Form_Win</A>, "set_form_win");
 
-      <FONT COLOR=red><A NAME="588_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#584_16">Set_Form_Win</A> (<A HREF="terminal_interface-curses-forms__ads.htm#508_26">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#509_26">Win</A>);
+      <FONT COLOR=red><A NAME="588_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#584_16">Set_Form_Win</A> (<A HREF="terminal_interface-curses-forms__ads.htm#507_26">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#508_26">Win</A>);
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-forms__adb.htm#588_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#588_7">Res</A>);
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-forms__adb.htm#588_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#588_7">Res</A>);
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#514_13">Get_Window</A><FONT COLOR=red><A NAME="597_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#514_25">Frm</A> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#513_13">Get_Window</A><FONT COLOR=red><A NAME="597_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#513_25">Frm</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="599_16">Form_Win</A></FONT> (<FONT COLOR=red><A NAME="599_26">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="599_16">Form_Win</A></FONT> (<FONT COLOR=red><A NAME="599_26">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#599_16">Form_Win</A>, "form_win");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#599_16">Form_Win</A>, "form_win");
 
-      <FONT COLOR=red><A NAME="602_7">W</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses-forms__adb.htm#599_16">Form_Win</A> (<A HREF="terminal_interface-curses-forms__ads.htm#514_25">Frm</A>);
+      <FONT COLOR=red><A NAME="602_7">W</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses-forms__adb.htm#599_16">Form_Win</A> (<A HREF="terminal_interface-curses-forms__ads.htm#513_25">Frm</A>);
    <b>begin</b>
       <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#602_7">W</A>;
    <b>end</b> Get_Window;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <b>begin</b>
       <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#602_7">W</A>;
    <b>end</b> Get_Window;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#519_14">Set_Sub_Window</A><FONT COLOR=red><A NAME="609_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#519_30">Frm</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
-                             <A HREF="terminal_interface-curses-forms__ads.htm#520_30">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#518_14">Set_Sub_Window</A><FONT COLOR=red><A NAME="609_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#518_30">Frm</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+                             <A HREF="terminal_interface-curses-forms__ads.htm#519_30">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="612_16">Set_Form_Sub</A></FONT> (<FONT COLOR=red><A NAME="612_30">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="612_16">Set_Form_Sub</A></FONT> (<FONT COLOR=red><A NAME="612_30">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
                              <FONT COLOR=red><A NAME="613_30">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#612_16">Set_Form_Sub</A>, "set_form_sub");
 
                              <FONT COLOR=red><A NAME="613_30">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#612_16">Set_Form_Sub</A>, "set_form_sub");
 
-      <FONT COLOR=red><A NAME="616_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#612_16">Set_Form_Sub</A> (<A HREF="terminal_interface-curses-forms__ads.htm#519_30">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#520_30">Win</A>);
+      <FONT COLOR=red><A NAME="616_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#612_16">Set_Form_Sub</A> (<A HREF="terminal_interface-curses-forms__ads.htm#518_30">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#519_30">Win</A>);
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-forms__adb.htm#616_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#616_7">Res</A>);
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-forms__adb.htm#616_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#616_7">Res</A>);
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#525_13">Get_Sub_Window</A><FONT COLOR=red><A NAME="625_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#525_29">Frm</A> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#524_13">Get_Sub_Window</A><FONT COLOR=red><A NAME="625_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#524_29">Frm</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="627_16">Form_Sub</A></FONT> (<FONT COLOR=red><A NAME="627_26">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="627_16">Form_Sub</A></FONT> (<FONT COLOR=red><A NAME="627_26">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#627_16">Form_Sub</A>, "form_sub");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#627_16">Form_Sub</A>, "form_sub");
 
-      <FONT COLOR=red><A NAME="630_7">W</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses-forms__adb.htm#627_16">Form_Sub</A> (<A HREF="terminal_interface-curses-forms__ads.htm#525_29">Frm</A>);
+      <FONT COLOR=red><A NAME="630_7">W</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses-forms__adb.htm#627_16">Form_Sub</A> (<A HREF="terminal_interface-curses-forms__ads.htm#524_29">Frm</A>);
    <b>begin</b>
       <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#630_7">W</A>;
    <b>end</b> Get_Sub_Window;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <b>begin</b>
       <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#630_7">W</A>;
    <b>end</b> Get_Sub_Window;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#530_14">Scale</A><FONT COLOR=red><A NAME="637_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#530_21">Frm</A>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
-                    <A HREF="terminal_interface-curses-forms__ads.htm#531_21">Lines</A>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>;
-                    <A HREF="terminal_interface-curses-forms__ads.htm#532_21">Columns</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#529_14">Scale</A><FONT COLOR=red><A NAME="637_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#529_21">Frm</A>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+                    <A HREF="terminal_interface-curses-forms__ads.htm#530_21">Lines</A>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>;
+                    <A HREF="terminal_interface-curses-forms__ads.htm#531_21">Columns</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>)
    <b>is</b>
       <b>type</b> C_Int_Access <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
    <b>is</b>
       <b>type</b> C_Int_Access <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
-      <b>function</b> <FONT COLOR=red><A NAME="642_16">M_Scale</A></FONT> (<FONT COLOR=red><A NAME="642_25">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>; Yp, Xp : C_Int_Access) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="642_16">M_Scale</A></FONT> (<FONT COLOR=red><A NAME="642_25">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>; Yp, Xp : C_Int_Access) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#642_16">M_Scale</A>, "scale_form");
 
       <FONT COLOR=red><A NAME="645_7">X</A></FONT>, <FONT COLOR=red><A NAME="645_10">Y</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#642_16">M_Scale</A>, "scale_form");
 
       <FONT COLOR=red><A NAME="645_7">X</A></FONT>, <FONT COLOR=red><A NAME="645_10">Y</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
-      <FONT COLOR=red><A NAME="646_7">Res</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#642_16">M_Scale</A> (<A HREF="terminal_interface-curses-forms__ads.htm#530_21">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#645_10">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#645_7">X</A>'<b>Access</b>);
+      <FONT COLOR=red><A NAME="646_7">Res</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#642_16">M_Scale</A> (<A HREF="terminal_interface-curses-forms__ads.htm#529_21">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#645_10">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#645_7">X</A>'<b>Access</b>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#646_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#646_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#646_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#646_7">Res</A>);
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses-forms__ads.htm#531_21">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#645_10">Y</A>);
-      <A HREF="terminal_interface-curses-forms__ads.htm#532_21">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#645_7">X</A>);
+      <A HREF="terminal_interface-curses-forms__ads.htm#530_21">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#645_10">Y</A>);
+      <A HREF="terminal_interface-curses-forms__ads.htm#531_21">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#645_7">X</A>);
    <b>end</b> Scale;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
    <b>end</b> Scale;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#544_14">Set_Field_Init_Hook</A><FONT COLOR=red><A NAME="661_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#544_35">Frm</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
-                                  <A HREF="terminal_interface-curses-forms__ads.htm#545_35">Proc</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#540_9">Form_Hook_Function</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#543_14">Set_Field_Init_Hook</A><FONT COLOR=red><A NAME="661_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#543_35">Frm</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+                                  <A HREF="terminal_interface-curses-forms__ads.htm#544_35">Proc</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#539_9">Form_Hook_Function</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="664_16">Set_Field_Init</A></FONT> (<FONT COLOR=red><A NAME="664_32">Frm</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
-                               <FONT COLOR=red><A NAME="665_32">Proc</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#540_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="664_16">Set_Field_Init</A></FONT> (<FONT COLOR=red><A NAME="664_32">Frm</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+                               <FONT COLOR=red><A NAME="665_32">Proc</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#539_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#664_16">Set_Field_Init</A>, "set_field_init");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#664_16">Set_Field_Init</A>, "set_field_init");
 
-      <FONT COLOR=red><A NAME="668_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#664_16">Set_Field_Init</A> (<A HREF="terminal_interface-curses-forms__ads.htm#544_35">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#545_35">Proc</A>);
+      <FONT COLOR=red><A NAME="668_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#664_16">Set_Field_Init</A> (<A HREF="terminal_interface-curses-forms__ads.htm#543_35">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#544_35">Proc</A>);
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-forms__adb.htm#668_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#668_7">Res</A>);
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-forms__adb.htm#668_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#668_7">Res</A>);
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#550_14">Set_Field_Term_Hook</A><FONT COLOR=red><A NAME="677_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#550_35">Frm</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
-                                  <A HREF="terminal_interface-curses-forms__ads.htm#551_35">Proc</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#540_9">Form_Hook_Function</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#549_14">Set_Field_Term_Hook</A><FONT COLOR=red><A NAME="677_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#549_35">Frm</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+                                  <A HREF="terminal_interface-curses-forms__ads.htm#550_35">Proc</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#539_9">Form_Hook_Function</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="680_16">Set_Field_Term</A></FONT> (<FONT COLOR=red><A NAME="680_32">Frm</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
-                               <FONT COLOR=red><A NAME="681_32">Proc</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#540_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="680_16">Set_Field_Term</A></FONT> (<FONT COLOR=red><A NAME="680_32">Frm</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+                               <FONT COLOR=red><A NAME="681_32">Proc</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#539_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#680_16">Set_Field_Term</A>, "set_field_term");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#680_16">Set_Field_Term</A>, "set_field_term");
 
-      <FONT COLOR=red><A NAME="684_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#680_16">Set_Field_Term</A> (<A HREF="terminal_interface-curses-forms__ads.htm#550_35">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#551_35">Proc</A>);
+      <FONT COLOR=red><A NAME="684_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#680_16">Set_Field_Term</A> (<A HREF="terminal_interface-curses-forms__ads.htm#549_35">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#550_35">Proc</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#684_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#684_7">Res</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#684_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#684_7">Res</A>);
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#556_14">Set_Form_Init_Hook</A><FONT COLOR=red><A NAME="693_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#556_34">Frm</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
-                                 <A HREF="terminal_interface-curses-forms__ads.htm#557_34">Proc</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#540_9">Form_Hook_Function</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#555_14">Set_Form_Init_Hook</A><FONT COLOR=red><A NAME="693_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#555_34">Frm</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+                                 <A HREF="terminal_interface-curses-forms__ads.htm#556_34">Proc</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#539_9">Form_Hook_Function</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="696_16">Set_Form_Init</A></FONT> (<FONT COLOR=red><A NAME="696_31">Frm</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
-                              <FONT COLOR=red><A NAME="697_31">Proc</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#540_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="696_16">Set_Form_Init</A></FONT> (<FONT COLOR=red><A NAME="696_31">Frm</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+                              <FONT COLOR=red><A NAME="697_31">Proc</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#539_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#696_16">Set_Form_Init</A>, "set_form_init");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#696_16">Set_Form_Init</A>, "set_form_init");
 
-      <FONT COLOR=red><A NAME="700_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#696_16">Set_Form_Init</A> (<A HREF="terminal_interface-curses-forms__ads.htm#556_34">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#557_34">Proc</A>);
+      <FONT COLOR=red><A NAME="700_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#696_16">Set_Form_Init</A> (<A HREF="terminal_interface-curses-forms__ads.htm#555_34">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#556_34">Proc</A>);
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-forms__adb.htm#700_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#700_7">Res</A>);
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-forms__adb.htm#700_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#700_7">Res</A>);
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#562_14">Set_Form_Term_Hook</A><FONT COLOR=red><A NAME="709_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#562_34">Frm</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
-                                 <A HREF="terminal_interface-curses-forms__ads.htm#563_34">Proc</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#540_9">Form_Hook_Function</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#561_14">Set_Form_Term_Hook</A><FONT COLOR=red><A NAME="709_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#561_34">Frm</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+                                 <A HREF="terminal_interface-curses-forms__ads.htm#562_34">Proc</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#539_9">Form_Hook_Function</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="712_16">Set_Form_Term</A></FONT> (<FONT COLOR=red><A NAME="712_31">Frm</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
-                              <FONT COLOR=red><A NAME="713_31">Proc</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#540_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="712_16">Set_Form_Term</A></FONT> (<FONT COLOR=red><A NAME="712_31">Frm</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+                              <FONT COLOR=red><A NAME="713_31">Proc</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#539_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#712_16">Set_Form_Term</A>, "set_form_term");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#712_16">Set_Form_Term</A>, "set_form_term");
 
-      <FONT COLOR=red><A NAME="716_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#712_16">Set_Form_Term</A> (<A HREF="terminal_interface-curses-forms__ads.htm#562_34">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#563_34">Proc</A>);
+      <FONT COLOR=red><A NAME="716_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#712_16">Set_Form_Term</A> (<A HREF="terminal_interface-curses-forms__ads.htm#561_34">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#562_34">Proc</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#716_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#716_7">Res</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#716_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#716_7">Res</A>);
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#592_14">Redefine</A><FONT COLOR=red><A NAME="729_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#592_24">Frm</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
-                       <A HREF="terminal_interface-curses-forms__ads.htm#593_24">Flds</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#136_9">Field_Array_Access</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#591_14">Redefine</A><FONT COLOR=red><A NAME="729_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#591_24">Frm</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+                       <A HREF="terminal_interface-curses-forms__ads.htm#592_24">Flds</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#135_9">Field_Array_Access</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="732_16">Set_Frm_Fields</A></FONT> (<FONT COLOR=red><A NAME="732_32">Frm</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="732_16">Set_Frm_Fields</A></FONT> (<FONT COLOR=red><A NAME="732_32">Frm</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
                                <FONT COLOR=red><A NAME="733_32">Items</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#732_16">Set_Frm_Fields</A>, "set_form_fields");
 
       <FONT COLOR=red><A NAME="736_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
       <b>pragma</b> Assert (Flds (Flds'Last) = Null_Field);
                                <FONT COLOR=red><A NAME="733_32">Items</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#732_16">Set_Frm_Fields</A>, "set_form_fields");
 
       <FONT COLOR=red><A NAME="736_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
       <b>pragma</b> Assert (Flds (Flds'Last) = Null_Field);
-      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#593_24">Flds</A> (<A HREF="terminal_interface-curses-forms__ads.htm#593_24">Flds</A>'Last) /= <A HREF="terminal_interface-curses-forms__ads.htm#59_4">Null_Field</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#289_4">Form_Exception</A>;
+      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#592_24">Flds</A> (<A HREF="terminal_interface-curses-forms__ads.htm#592_24">Flds</A>'Last) /= <A HREF="terminal_interface-curses-forms__ads.htm#58_4">Null_Field</A> <b>then</b>
+         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#288_4">Form_Exception</A>;
       <b>else</b>
       <b>else</b>
-         <A HREF="terminal_interface-curses-forms__adb.htm#736_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#732_16">Set_Frm_Fields</A> (<A HREF="terminal_interface-curses-forms__ads.htm#592_24">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#593_24">Flds</A> (<A HREF="terminal_interface-curses-forms__ads.htm#593_24">Flds</A>'First)'Address);
+         <A HREF="terminal_interface-curses-forms__adb.htm#736_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#732_16">Set_Frm_Fields</A> (<A HREF="terminal_interface-curses-forms__ads.htm#591_24">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#592_24">Flds</A> (<A HREF="terminal_interface-curses-forms__ads.htm#592_24">Flds</A>'First)'Address);
          <b>if</b>  <A HREF="terminal_interface-curses-forms__adb.htm#736_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
             <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#736_7">Res</A>);
          <b>end</b> <b>if</b>;
          <b>if</b>  <A HREF="terminal_interface-curses-forms__adb.htm#736_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
             <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#736_7">Res</A>);
          <b>end</b> <b>if</b>;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#604_13">Fields</A><FONT COLOR=red><A NAME="751_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#604_21">Frm</A>   : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
-                    <A HREF="terminal_interface-curses-forms__ads.htm#605_21">Index</A> : Positive) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#603_13">Fields</A><FONT COLOR=red><A NAME="751_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#603_21">Frm</A>   : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+                    <A HREF="terminal_interface-curses-forms__ads.htm#604_21">Index</A> : Positive) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>
    <b>is</b>
       <b>use</b> <A HREF="terminal_interface-curses-forms__adb.htm#55_12">F_Array</A>;
 
    <b>is</b>
       <b>use</b> <A HREF="terminal_interface-curses-forms__adb.htm#55_12">F_Array</A>;
 
-      <b>function</b> <FONT COLOR=red><A NAME="756_16">C_Fields</A></FONT> (<FONT COLOR=red><A NAME="756_26">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> Pointer;
+      <b>function</b> <FONT COLOR=red><A NAME="756_16">C_Fields</A></FONT> (<FONT COLOR=red><A NAME="756_26">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> Pointer;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#756_16">C_Fields</A>, "form_fields");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#756_16">C_Fields</A>, "form_fields");
 
-      P : Pointer := <A HREF="terminal_interface-curses-forms__adb.htm#756_16">C_Fields</A> (<A HREF="terminal_interface-curses-forms__ads.htm#604_21">Frm</A>);
+      P : Pointer := <A HREF="terminal_interface-curses-forms__adb.htm#756_16">C_Fields</A> (<A HREF="terminal_interface-curses-forms__ads.htm#603_21">Frm</A>);
    <b>begin</b>
    <b>begin</b>
-      <b>if</b> P = <b>null</b> <b>or</b> <b>else</b> <A HREF="terminal_interface-curses-forms__ads.htm#605_21">Index</A> <b>not</b> <b>in</b> 1 .. <A HREF="terminal_interface-curses-forms__ads.htm#610_13">Field_Count</A> (<A HREF="terminal_interface-curses-forms__ads.htm#604_21">Frm</A>) <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#289_4">Form_Exception</A>;
+      <b>if</b> P = <b>null</b> <b>or</b> <b>else</b> <A HREF="terminal_interface-curses-forms__ads.htm#604_21">Index</A> <b>not</b> <b>in</b> 1 .. <A HREF="terminal_interface-curses-forms__ads.htm#609_13">Field_Count</A> (<A HREF="terminal_interface-curses-forms__ads.htm#603_21">Frm</A>) <b>then</b>
+         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#288_4">Form_Exception</A>;
       <b>else</b>
       <b>else</b>
-         P := P + ptrdiff_t (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#605_21">Index</A>) - 1);
+         P := P + ptrdiff_t (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#604_21">Index</A>) - 1);
          <b>return</b> P.<b>all</b>;
       <b>end</b> <b>if</b>;
    <b>end</b> Fields;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
          <b>return</b> P.<b>all</b>;
       <b>end</b> <b>if</b>;
    <b>end</b> Fields;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#610_13">Field_Count</A><FONT COLOR=red><A NAME="771_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#610_26">Frm</A> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> Natural
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#609_13">Field_Count</A><FONT COLOR=red><A NAME="771_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#609_26">Frm</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> Natural
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="773_16">Count</A></FONT> (<FONT COLOR=red><A NAME="773_23">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="773_16">Count</A></FONT> (<FONT COLOR=red><A NAME="773_23">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#773_16">Count</A>, "field_count");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#773_16">Count</A>, "field_count");
    <b>begin</b>
-      <b>return</b> Natural (<A HREF="terminal_interface-curses-forms__adb.htm#773_16">Count</A> (<A HREF="terminal_interface-curses-forms__ads.htm#610_26">Frm</A>));
+      <b>return</b> Natural (<A HREF="terminal_interface-curses-forms__adb.htm#773_16">Count</A> (<A HREF="terminal_interface-curses-forms__ads.htm#609_26">Frm</A>));
    <b>end</b> Field_Count;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <b>end</b> Field_Count;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#615_14">Move</A><FONT COLOR=red><A NAME="781_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#615_20">Fld</A>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-                   <A HREF="terminal_interface-curses-forms__ads.htm#616_20">Line</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
-                   <A HREF="terminal_interface-curses-forms__ads.htm#617_20">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#614_14">Move</A><FONT COLOR=red><A NAME="781_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#614_20">Fld</A>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+                   <A HREF="terminal_interface-curses-forms__ads.htm#615_20">Line</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
+                   <A HREF="terminal_interface-curses-forms__ads.htm#616_20">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="785_16">Move</A></FONT> (<FONT COLOR=red><A NAME="785_22">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>; <FONT COLOR=red><A NAME="785_35">L</A></FONT>, <FONT COLOR=red><A NAME="785_38">C</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="785_16">Move</A></FONT> (<FONT COLOR=red><A NAME="785_22">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>; <FONT COLOR=red><A NAME="785_35">L</A></FONT>, <FONT COLOR=red><A NAME="785_38">C</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#785_16">Move</A>, "move_field");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#785_16">Move</A>, "move_field");
 
-      <FONT COLOR=red><A NAME="788_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#785_16">Move</A> (<A HREF="terminal_interface-curses-forms__ads.htm#615_20">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#616_20">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#617_20">Column</A>));
+      <FONT COLOR=red><A NAME="788_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#785_16">Move</A> (<A HREF="terminal_interface-curses-forms__ads.htm#614_20">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#615_20">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#616_20">Column</A>));
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#788_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#788_7">Res</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#788_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#788_7">Res</A>);
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#626_13">Create</A><FONT COLOR=red><A NAME="801_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#626_21">Fields</A> : <A HREF="terminal_interface-curses-forms__ads.htm#136_9">Field_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#625_13">Create</A><FONT COLOR=red><A NAME="801_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#625_21">Fields</A> : <A HREF="terminal_interface-curses-forms__ads.htm#135_9">Field_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="803_16">NewForm</A></FONT> (<FONT COLOR=red><A NAME="803_25">Fields</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="803_16">NewForm</A></FONT> (<FONT COLOR=red><A NAME="803_25">Fields</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#803_16">NewForm</A>, "new_form");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#803_16">NewForm</A>, "new_form");
 
-      <FONT COLOR=red><A NAME="806_7">M</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
+      <FONT COLOR=red><A NAME="806_7">M</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
    <b>begin</b>
       <b>pragma</b> Assert (Fields (Fields'Last) = Null_Field);
    <b>begin</b>
       <b>pragma</b> Assert (Fields (Fields'Last) = Null_Field);
-      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#626_21">Fields</A> (<A HREF="terminal_interface-curses-forms__ads.htm#626_21">Fields</A>'Last) /= <A HREF="terminal_interface-curses-forms__ads.htm#59_4">Null_Field</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#289_4">Form_Exception</A>;
+      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#625_21">Fields</A> (<A HREF="terminal_interface-curses-forms__ads.htm#625_21">Fields</A>'Last) /= <A HREF="terminal_interface-curses-forms__ads.htm#58_4">Null_Field</A> <b>then</b>
+         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#288_4">Form_Exception</A>;
       <b>else</b>
       <b>else</b>
-         <A HREF="terminal_interface-curses-forms__adb.htm#806_7">M</A> := <A HREF="terminal_interface-curses-forms__adb.htm#803_16">NewForm</A> (<A HREF="terminal_interface-curses-forms__ads.htm#626_21">Fields</A> (<A HREF="terminal_interface-curses-forms__ads.htm#626_21">Fields</A>'First)'Address);
-         <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#806_7">M</A> = <A HREF="terminal_interface-curses-forms__ads.htm#60_4">Null_Form</A> <b>then</b>
-            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#289_4">Form_Exception</A>;
+         <A HREF="terminal_interface-curses-forms__adb.htm#806_7">M</A> := <A HREF="terminal_interface-curses-forms__adb.htm#803_16">NewForm</A> (<A HREF="terminal_interface-curses-forms__ads.htm#625_21">Fields</A> (<A HREF="terminal_interface-curses-forms__ads.htm#625_21">Fields</A>'First)'Address);
+         <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#806_7">M</A> = <A HREF="terminal_interface-curses-forms__ads.htm#59_4">Null_Form</A> <b>then</b>
+            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#288_4">Form_Exception</A>;
          <b>end</b> <b>if</b>;
          <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#806_7">M</A>;
       <b>end</b> <b>if</b>;
          <b>end</b> <b>if</b>;
          <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#806_7">M</A>;
       <b>end</b> <b>if</b>;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#637_14">Delete</A><FONT COLOR=red><A NAME="822_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#637_22">Frm</A> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#636_14">Delete</A><FONT COLOR=red><A NAME="822_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#636_22">Frm</A> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="824_16">Free</A></FONT> (<FONT COLOR=red><A NAME="824_22">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="824_16">Free</A></FONT> (<FONT COLOR=red><A NAME="824_22">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#824_16">Free</A>, "free_form");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#824_16">Free</A>, "free_form");
 
-      <FONT COLOR=red><A NAME="827_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#824_16">Free</A> (<A HREF="terminal_interface-curses-forms__ads.htm#637_22">Frm</A>);
+      <FONT COLOR=red><A NAME="827_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#824_16">Free</A> (<A HREF="terminal_interface-curses-forms__ads.htm#636_22">Frm</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#827_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#827_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#827_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#827_7">Res</A>);
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses-forms__ads.htm#637_22">Frm</A> := <A HREF="terminal_interface-curses-forms__ads.htm#60_4">Null_Form</A>;
+      <A HREF="terminal_interface-curses-forms__ads.htm#636_22">Frm</A> := <A HREF="terminal_interface-curses-forms__ads.htm#59_4">Null_Form</A>;
    <b>end</b> Delete;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
    <b>end</b> Delete;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#647_14">Set_Options</A><FONT COLOR=red><A NAME="841_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#647_27">Frm</A>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
-                          <A HREF="terminal_interface-curses-forms__ads.htm#648_27">Options</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#108_9">Form_Option_Set</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#646_14">Set_Options</A><FONT COLOR=red><A NAME="841_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#646_27">Frm</A>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+                          <A HREF="terminal_interface-curses-forms__ads.htm#647_27">Options</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#107_9">Form_Option_Set</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="844_16">Set_Form_Opts</A></FONT> (<FONT COLOR=red><A NAME="844_31">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="844_16">Set_Form_Opts</A></FONT> (<FONT COLOR=red><A NAME="844_31">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
                               <FONT COLOR=red><A NAME="845_31">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#844_16">Set_Form_Opts</A>, "set_form_opts");
 
                               <FONT COLOR=red><A NAME="845_31">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#844_16">Set_Form_Opts</A>, "set_form_opts");
 
-      <FONT COLOR=red><A NAME="848_7">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#72_13">FrmOS_2_CInt</A> (<A HREF="terminal_interface-curses-forms__ads.htm#648_27">Options</A>);
+      <FONT COLOR=red><A NAME="848_7">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#72_13">FrmOS_2_CInt</A> (<A HREF="terminal_interface-curses-forms__ads.htm#647_27">Options</A>);
       <FONT COLOR=red><A NAME="849_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
       <FONT COLOR=red><A NAME="849_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__adb.htm#849_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#844_16">Set_Form_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#647_27">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#848_7">Opt</A>);
+      <A HREF="terminal_interface-curses-forms__adb.htm#849_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#844_16">Set_Form_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#646_27">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#848_7">Opt</A>);
       <b>if</b>  <A HREF="terminal_interface-curses-forms__adb.htm#849_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#849_7">Res</A>);
       <b>end</b> <b>if</b>;
       <b>if</b>  <A HREF="terminal_interface-curses-forms__adb.htm#849_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#849_7">Res</A>);
       <b>end</b> <b>if</b>;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#653_14">Switch_Options</A><FONT COLOR=red><A NAME="859_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#653_30">Frm</A>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
-                             <A HREF="terminal_interface-curses-forms__ads.htm#654_30">Options</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#108_9">Form_Option_Set</A>;
-                             <A HREF="terminal_interface-curses-forms__ads.htm#655_30">On</A>      : Boolean := True)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#652_14">Switch_Options</A><FONT COLOR=red><A NAME="859_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#652_30">Frm</A>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+                             <A HREF="terminal_interface-curses-forms__ads.htm#653_30">Options</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#107_9">Form_Option_Set</A>;
+                             <A HREF="terminal_interface-curses-forms__ads.htm#654_30">On</A>      : Boolean := True)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="863_16">Form_Opts_On</A></FONT> (<FONT COLOR=red><A NAME="863_30">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="863_16">Form_Opts_On</A></FONT> (<FONT COLOR=red><A NAME="863_30">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
                              <FONT COLOR=red><A NAME="864_30">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#863_16">Form_Opts_On</A>, "form_opts_on");
                              <FONT COLOR=red><A NAME="864_30">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#863_16">Form_Opts_On</A>, "form_opts_on");
-      <b>function</b> <FONT COLOR=red><A NAME="866_16">Form_Opts_Off</A></FONT> (<FONT COLOR=red><A NAME="866_31">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="866_16">Form_Opts_Off</A></FONT> (<FONT COLOR=red><A NAME="866_31">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
                               <FONT COLOR=red><A NAME="867_31">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#866_16">Form_Opts_Off</A>, "form_opts_off");
 
       <FONT COLOR=red><A NAME="870_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
                               <FONT COLOR=red><A NAME="867_31">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#866_16">Form_Opts_Off</A>, "form_opts_off");
 
       <FONT COLOR=red><A NAME="870_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
-      <FONT COLOR=red><A NAME="871_7">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#72_13">FrmOS_2_CInt</A> (<A HREF="terminal_interface-curses-forms__ads.htm#654_30">Options</A>);
+      <FONT COLOR=red><A NAME="871_7">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#72_13">FrmOS_2_CInt</A> (<A HREF="terminal_interface-curses-forms__ads.htm#653_30">Options</A>);
    <b>begin</b>
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#655_30">On</A> <b>then</b>
-         <A HREF="terminal_interface-curses-forms__adb.htm#870_7">Err</A> := <A HREF="terminal_interface-curses-forms__adb.htm#863_16">Form_Opts_On</A> (<A HREF="terminal_interface-curses-forms__ads.htm#653_30">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#871_7">Opt</A>);
+      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#654_30">On</A> <b>then</b>
+         <A HREF="terminal_interface-curses-forms__adb.htm#870_7">Err</A> := <A HREF="terminal_interface-curses-forms__adb.htm#863_16">Form_Opts_On</A> (<A HREF="terminal_interface-curses-forms__ads.htm#652_30">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#871_7">Opt</A>);
       <b>else</b>
       <b>else</b>
-         <A HREF="terminal_interface-curses-forms__adb.htm#870_7">Err</A> := <A HREF="terminal_interface-curses-forms__adb.htm#866_16">Form_Opts_Off</A> (<A HREF="terminal_interface-curses-forms__ads.htm#653_30">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#871_7">Opt</A>);
+         <A HREF="terminal_interface-curses-forms__adb.htm#870_7">Err</A> := <A HREF="terminal_interface-curses-forms__adb.htm#866_16">Form_Opts_Off</A> (<A HREF="terminal_interface-curses-forms__ads.htm#652_30">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#871_7">Opt</A>);
       <b>end</b> <b>if</b>;
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#870_7">Err</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#870_7">Err</A>);
       <b>end</b> <b>if</b>;
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#870_7">Err</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#870_7">Err</A>);
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#661_14">Get_Options</A><FONT COLOR=red><A NAME="885_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#661_27">Frm</A>     : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
-                          <A HREF="terminal_interface-curses-forms__ads.htm#662_27">Options</A> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#108_9">Form_Option_Set</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#660_14">Get_Options</A><FONT COLOR=red><A NAME="885_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#660_27">Frm</A>     : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+                          <A HREF="terminal_interface-curses-forms__ads.htm#661_27">Options</A> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#107_9">Form_Option_Set</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="888_16">Form_Opts</A></FONT> (<FONT COLOR=red><A NAME="888_27">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="888_16">Form_Opts</A></FONT> (<FONT COLOR=red><A NAME="888_27">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#888_16">Form_Opts</A>, "form_opts");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#888_16">Form_Opts</A>, "form_opts");
 
-      <FONT COLOR=red><A NAME="891_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#888_16">Form_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#661_27">Frm</A>);
+      <FONT COLOR=red><A NAME="891_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#888_16">Form_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#660_27">Frm</A>);
    <b>begin</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__ads.htm#662_27">Options</A> := <A HREF="terminal_interface-curses-forms__adb.htm#76_13">CInt_2_FrmOS</A> (<A HREF="terminal_interface-curses-forms__adb.htm#891_7">Res</A>);
+      <A HREF="terminal_interface-curses-forms__ads.htm#661_27">Options</A> := <A HREF="terminal_interface-curses-forms__adb.htm#76_13">CInt_2_FrmOS</A> (<A HREF="terminal_interface-curses-forms__adb.htm#891_7">Res</A>);
    <b>end</b> Get_Options;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <b>end</b> Get_Options;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#666_13">Get_Options</A><FONT COLOR=red><A NAME="898_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#666_26">Frm</A> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A> := <A HREF="terminal_interface-curses-forms__ads.htm#60_4">Null_Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#108_9">Form_Option_Set</A>
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#665_13">Get_Options</A><FONT COLOR=red><A NAME="898_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#665_26">Frm</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A> := <A HREF="terminal_interface-curses-forms__ads.htm#59_4">Null_Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#107_9">Form_Option_Set</A>
    <b>is</b>
    <b>is</b>
-      <FONT COLOR=red><A NAME="900_7">Fos</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#108_9">Form_Option_Set</A>;
+      <FONT COLOR=red><A NAME="900_7">Fos</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#107_9">Form_Option_Set</A>;
    <b>begin</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__ads.htm#666_13">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#666_26">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#900_7">Fos</A>);
+      <A HREF="terminal_interface-curses-forms__ads.htm#665_13">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#665_26">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#900_7">Fos</A>);
       <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#900_7">Fos</A>;
    <b>end</b> Get_Options;
    <FONT COLOR=green><EM>--  |</EM></FONT>
       <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#900_7">Fos</A>;
    <b>end</b> Get_Options;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#675_14">Post</A><FONT COLOR=red><A NAME="912_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#675_20">Frm</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
-                   <A HREF="terminal_interface-curses-forms__ads.htm#676_20">Post</A> : <b>in</b> Boolean := True)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#674_14">Post</A><FONT COLOR=red><A NAME="912_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#674_20">Frm</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+                   <A HREF="terminal_interface-curses-forms__ads.htm#675_20">Post</A> : <b>in</b> Boolean := True)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="915_16">M_Post</A></FONT> (<FONT COLOR=red><A NAME="915_24">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="915_16">M_Post</A></FONT> (<FONT COLOR=red><A NAME="915_24">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#915_16">M_Post</A>, "post_form");
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#915_16">M_Post</A>, "post_form");
-      <b>function</b> <FONT COLOR=red><A NAME="917_16">M_Unpost</A></FONT> (<FONT COLOR=red><A NAME="917_26">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="917_16">M_Unpost</A></FONT> (<FONT COLOR=red><A NAME="917_26">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#917_16">M_Unpost</A>, "unpost_form");
 
       <FONT COLOR=red><A NAME="920_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#917_16">M_Unpost</A>, "unpost_form");
 
       <FONT COLOR=red><A NAME="920_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#676_20">Post</A> <b>then</b>
-         <A HREF="terminal_interface-curses-forms__adb.htm#920_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#915_16">M_Post</A> (<A HREF="terminal_interface-curses-forms__ads.htm#675_20">Frm</A>);
+      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#675_20">Post</A> <b>then</b>
+         <A HREF="terminal_interface-curses-forms__adb.htm#920_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#915_16">M_Post</A> (<A HREF="terminal_interface-curses-forms__ads.htm#674_20">Frm</A>);
       <b>else</b>
       <b>else</b>
-         <A HREF="terminal_interface-curses-forms__adb.htm#920_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#917_16">M_Unpost</A> (<A HREF="terminal_interface-curses-forms__ads.htm#675_20">Frm</A>);
+         <A HREF="terminal_interface-curses-forms__adb.htm#920_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#917_16">M_Unpost</A> (<A HREF="terminal_interface-curses-forms__ads.htm#674_20">Frm</A>);
       <b>end</b> <b>if</b>;
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#920_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#920_7">Res</A>);
       <b>end</b> <b>if</b>;
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#920_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#920_7">Res</A>);
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#686_14">Position_Cursor</A><FONT COLOR=red><A NAME="938_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#686_31">Frm</A> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#685_14">Position_Cursor</A><FONT COLOR=red><A NAME="938_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#685_31">Frm</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="940_16">Pos_Form_Cursor</A></FONT> (<FONT COLOR=red><A NAME="940_33">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="940_16">Pos_Form_Cursor</A></FONT> (<FONT COLOR=red><A NAME="940_33">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#940_16">Pos_Form_Cursor</A>, "pos_form_cursor");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#940_16">Pos_Form_Cursor</A>, "pos_form_cursor");
 
-      <FONT COLOR=red><A NAME="943_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#940_16">Pos_Form_Cursor</A> (<A HREF="terminal_interface-curses-forms__ads.htm#686_31">Frm</A>);
+      <FONT COLOR=red><A NAME="943_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#940_16">Pos_Form_Cursor</A> (<A HREF="terminal_interface-curses-forms__ads.htm#685_31">Frm</A>);
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-forms__adb.htm#943_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#943_7">Res</A>);
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-forms__adb.htm#943_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#943_7">Res</A>);
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#695_13">Data_Ahead</A><FONT COLOR=red><A NAME="956_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#695_25">Frm</A> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> Boolean
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#694_13">Data_Ahead</A><FONT COLOR=red><A NAME="956_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#694_25">Frm</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> Boolean
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="958_16">Ahead</A></FONT> (<FONT COLOR=red><A NAME="958_23">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="958_16">Ahead</A></FONT> (<FONT COLOR=red><A NAME="958_23">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#958_16">Ahead</A>, "data_ahead");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#958_16">Ahead</A>, "data_ahead");
 
-      <FONT COLOR=red><A NAME="961_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#958_16">Ahead</A> (<A HREF="terminal_interface-curses-forms__ads.htm#695_25">Frm</A>);
+      <FONT COLOR=red><A NAME="961_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#958_16">Ahead</A> (<A HREF="terminal_interface-curses-forms__ads.htm#694_25">Frm</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#961_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#75_4">Curses_False</A> <b>then</b>
          <b>return</b> False;
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#961_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#75_4">Curses_False</A> <b>then</b>
          <b>return</b> False;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#700_13">Data_Behind</A><FONT COLOR=red><A NAME="972_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#700_26">Frm</A> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> Boolean
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#699_13">Data_Behind</A><FONT COLOR=red><A NAME="972_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#699_26">Frm</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> Boolean
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="974_16">Behind</A></FONT> (<FONT COLOR=red><A NAME="974_24">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="974_16">Behind</A></FONT> (<FONT COLOR=red><A NAME="974_24">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#974_16">Behind</A>, "data_behind");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#974_16">Behind</A>, "data_behind");
 
-      <FONT COLOR=red><A NAME="977_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#974_16">Behind</A> (<A HREF="terminal_interface-curses-forms__ads.htm#700_26">Frm</A>);
+      <FONT COLOR=red><A NAME="977_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#974_16">Behind</A> (<A HREF="terminal_interface-curses-forms__ads.htm#699_26">Frm</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#977_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#75_4">Curses_False</A> <b>then</b>
          <b>return</b> False;
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#977_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#75_4">Curses_False</A> <b>then</b>
          <b>return</b> False;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#714_13">Driver</A><FONT COLOR=red><A NAME="992_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#714_21">Frm</A> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
-                    <A HREF="terminal_interface-curses-forms__ads.htm#715_21">Key</A> : <A HREF="terminal_interface-curses__ads.htm#67_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#708_9">Driver_Result</A>
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#713_13">Driver</A><FONT COLOR=red><A NAME="992_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#713_21">Frm</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+                    <A HREF="terminal_interface-curses-forms__ads.htm#714_21">Key</A> : <A HREF="terminal_interface-curses__ads.htm#67_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#707_9">Driver_Result</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="995_16">Frm_Driver</A></FONT> (<FONT COLOR=red><A NAME="995_28">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>; <FONT COLOR=red><A NAME="995_40">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="995_16">Frm_Driver</A></FONT> (<FONT COLOR=red><A NAME="995_28">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>; <FONT COLOR=red><A NAME="995_40">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#995_16">Frm_Driver</A>, "form_driver");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#995_16">Frm_Driver</A>, "form_driver");
 
-      <FONT COLOR=red><A NAME="998_7">R</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#995_16">Frm_Driver</A> (<A HREF="terminal_interface-curses-forms__ads.htm#714_21">Frm</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#715_21">Key</A>));
+      <FONT COLOR=red><A NAME="998_7">R</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#995_16">Frm_Driver</A> (<A HREF="terminal_interface-curses-forms__ads.htm#713_21">Frm</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#714_21">Key</A>));
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#998_7">R</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#998_7">R</A> = <A HREF="terminal_interface-curses-aux__ads.htm#88_4">E_Unknown_Command</A> <b>then</b>
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#998_7">R</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#998_7">R</A> = <A HREF="terminal_interface-curses-aux__ads.htm#88_4">E_Unknown_Command</A> <b>then</b>
-            <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#710_27">Unknown_Request</A>;
+            <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#709_27">Unknown_Request</A>;
          <b>elsif</b> <A HREF="terminal_interface-curses-forms__adb.htm#998_7">R</A> = <A HREF="terminal_interface-curses-aux__ads.htm#93_4">E_Invalid_Field</A> <b>then</b>
          <b>elsif</b> <A HREF="terminal_interface-curses-forms__adb.htm#998_7">R</A> = <A HREF="terminal_interface-curses-aux__ads.htm#93_4">E_Invalid_Field</A> <b>then</b>
-            <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#711_27">Invalid_Field</A>;
+            <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#710_27">Invalid_Field</A>;
          <b>elsif</b> <A HREF="terminal_interface-curses-forms__adb.htm#998_7">R</A> = <A HREF="terminal_interface-curses-aux__ads.htm#92_4">E_Request_Denied</A> <b>then</b>
          <b>elsif</b> <A HREF="terminal_interface-curses-forms__adb.htm#998_7">R</A> = <A HREF="terminal_interface-curses-aux__ads.htm#92_4">E_Request_Denied</A> <b>then</b>
-            <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#709_27">Request_Denied</A>;
+            <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#708_27">Request_Denied</A>;
          <b>else</b>
             <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#998_7">R</A>);
          <b>else</b>
             <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#998_7">R</A>);
-            <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#708_27">Form_Ok</A>;
+            <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#707_27">Form_Ok</A>;
          <b>end</b> <b>if</b>;
       <b>else</b>
          <b>end</b> <b>if</b>;
       <b>else</b>
-         <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#708_27">Form_Ok</A>;
+         <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#707_27">Form_Ok</A>;
       <b>end</b> <b>if</b>;
    <b>end</b> Driver;
    <FONT COLOR=green><EM>--  |</EM></FONT>
       <b>end</b> <b>if</b>;
    <b>end</b> Driver;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#726_14">Set_Current</A><FONT COLOR=red><A NAME="1022_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#726_27">Frm</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
-                          <A HREF="terminal_interface-curses-forms__ads.htm#727_27">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#725_14">Set_Current</A><FONT COLOR=red><A NAME="1022_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#725_27">Frm</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+                          <A HREF="terminal_interface-curses-forms__ads.htm#726_27">Fld</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="1025_16">Set_Current_Fld</A></FONT> (<FONT COLOR=red><A NAME="1025_33">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>; <FONT COLOR=red><A NAME="1025_45">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="1025_16">Set_Current_Fld</A></FONT> (<FONT COLOR=red><A NAME="1025_33">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>; <FONT COLOR=red><A NAME="1025_45">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#1025_16">Set_Current_Fld</A>, "set_current_field");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#1025_16">Set_Current_Fld</A>, "set_current_field");
 
-      <FONT COLOR=red><A NAME="1028_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#1025_16">Set_Current_Fld</A> (<A HREF="terminal_interface-curses-forms__ads.htm#726_27">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#727_27">Fld</A>);
+      <FONT COLOR=red><A NAME="1028_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#1025_16">Set_Current_Fld</A> (<A HREF="terminal_interface-curses-forms__ads.htm#725_27">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#726_27">Fld</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#1028_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#1028_7">Res</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#1028_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#1028_7">Res</A>);
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#732_13">Current</A><FONT COLOR=red><A NAME="1037_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#732_22">Frm</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#731_13">Current</A><FONT COLOR=red><A NAME="1037_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#731_22">Frm</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="1039_16">Current_Fld</A></FONT> (<FONT COLOR=red><A NAME="1039_29">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="1039_16">Current_Fld</A></FONT> (<FONT COLOR=red><A NAME="1039_29">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#1039_16">Current_Fld</A>, "current_field");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#1039_16">Current_Fld</A>, "current_field");
 
-      <FONT COLOR=red><A NAME="1042_7">Fld</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#1039_16">Current_Fld</A> (<A HREF="terminal_interface-curses-forms__ads.htm#732_22">Frm</A>);
+      <FONT COLOR=red><A NAME="1042_7">Fld</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#1039_16">Current_Fld</A> (<A HREF="terminal_interface-curses-forms__ads.htm#731_22">Frm</A>);
    <b>begin</b>
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#1042_7">Fld</A> = <A HREF="terminal_interface-curses-forms__ads.htm#59_4">Null_Field</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#289_4">Form_Exception</A>;
+      <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#1042_7">Fld</A> = <A HREF="terminal_interface-curses-forms__ads.htm#58_4">Null_Field</A> <b>then</b>
+         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#288_4">Form_Exception</A>;
       <b>end</b> <b>if</b>;
       <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#1042_7">Fld</A>;
    <b>end</b> Current;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
       <b>end</b> <b>if</b>;
       <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#1042_7">Fld</A>;
    <b>end</b> Current;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#737_14">Set_Page</A><FONT COLOR=red><A NAME="1052_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#737_24">Frm</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>;
-                       <A HREF="terminal_interface-curses-forms__ads.htm#738_24">Page</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#723_9">Page_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#723_9">Page_Number</A>'First)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#736_14">Set_Page</A><FONT COLOR=red><A NAME="1052_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#736_24">Frm</A>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+                       <A HREF="terminal_interface-curses-forms__ads.htm#737_24">Page</A> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#722_9">Page_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#722_9">Page_Number</A>'First)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="1055_16">Set_Frm_Page</A></FONT> (<FONT COLOR=red><A NAME="1055_30">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>; <FONT COLOR=red><A NAME="1055_42">Pg</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="1055_16">Set_Frm_Page</A></FONT> (<FONT COLOR=red><A NAME="1055_30">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>; <FONT COLOR=red><A NAME="1055_42">Pg</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#1055_16">Set_Frm_Page</A>, "set_form_page");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#1055_16">Set_Frm_Page</A>, "set_form_page");
 
-      <FONT COLOR=red><A NAME="1058_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#1055_16">Set_Frm_Page</A> (<A HREF="terminal_interface-curses-forms__ads.htm#737_24">Frm</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#738_24">Page</A>));
+      <FONT COLOR=red><A NAME="1058_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#1055_16">Set_Frm_Page</A> (<A HREF="terminal_interface-curses-forms__ads.htm#736_24">Frm</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#737_24">Page</A>));
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#1058_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#1058_7">Res</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#1058_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#1058_7">Res</A>);
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#743_13">Page</A><FONT COLOR=red><A NAME="1067_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#743_19">Frm</A> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#723_9">Page_Number</A>
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#742_13">Page</A><FONT COLOR=red><A NAME="1067_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#742_19">Frm</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#722_9">Page_Number</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="1069_16">Get_Page</A></FONT> (<FONT COLOR=red><A NAME="1069_26">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="1069_16">Get_Page</A></FONT> (<FONT COLOR=red><A NAME="1069_26">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#1069_16">Get_Page</A>, "form_page");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#1069_16">Get_Page</A>, "form_page");
 
-      <FONT COLOR=red><A NAME="1072_7">P</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#1069_16">Get_Page</A> (<A HREF="terminal_interface-curses-forms__ads.htm#743_19">Frm</A>);
+      <FONT COLOR=red><A NAME="1072_7">P</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#1069_16">Get_Page</A> (<A HREF="terminal_interface-curses-forms__ads.htm#742_19">Frm</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#1072_7">P</A> &lt; 0 <b>then</b>
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#1072_7">P</A> &lt; 0 <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#289_4">Form_Exception</A>;
+         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#288_4">Form_Exception</A>;
       <b>else</b>
       <b>else</b>
-         <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#723_9">Page_Number</A> (<A HREF="terminal_interface-curses-forms__adb.htm#1072_7">P</A>);
+         <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#722_9">Page_Number</A> (<A HREF="terminal_interface-curses-forms__adb.htm#1072_7">P</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Page;
 
       <b>end</b> <b>if</b>;
    <b>end</b> Page;
 
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#748_13">Get_Index</A><FONT COLOR=red><A NAME="1081_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#748_24">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> Positive
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#747_13">Get_Index</A><FONT COLOR=red><A NAME="1081_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#747_24">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> Positive
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="1083_16">Get_Fieldindex</A></FONT> (<FONT COLOR=red><A NAME="1083_32">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="1083_16">Get_Fieldindex</A></FONT> (<FONT COLOR=red><A NAME="1083_32">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#1083_16">Get_Fieldindex</A>, "field_index");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#1083_16">Get_Fieldindex</A>, "field_index");
 
-      <FONT COLOR=red><A NAME="1086_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#1083_16">Get_Fieldindex</A> (<A HREF="terminal_interface-curses-forms__ads.htm#748_24">Fld</A>);
+      <FONT COLOR=red><A NAME="1086_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#1083_16">Get_Fieldindex</A> (<A HREF="terminal_interface-curses-forms__ads.htm#747_24">Fld</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#1086_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#1086_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#289_4">Form_Exception</A>;
+         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#288_4">Form_Exception</A>;
       <b>end</b> <b>if</b>;
       <b>return</b> Positive (Natural (<A HREF="terminal_interface-curses-forms__adb.htm#1086_7">Res</A>) + Positive'First);
    <b>end</b> Get_Index;
       <b>end</b> <b>if</b>;
       <b>return</b> Positive (Natural (<A HREF="terminal_interface-curses-forms__adb.htm#1086_7">Res</A>) + Positive'First);
    <b>end</b> Get_Index;
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#760_14">Set_New_Page</A><FONT COLOR=red><A NAME="1101_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#760_28">Fld</A>      : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
-                           <A HREF="terminal_interface-curses-forms__ads.htm#761_28">New_Page</A> : <b>in</b> Boolean := True)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#759_14">Set_New_Page</A><FONT COLOR=red><A NAME="1101_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#759_28">Fld</A>      : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>;
+                           <A HREF="terminal_interface-curses-forms__ads.htm#760_28">New_Page</A> : <b>in</b> Boolean := True)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="1104_16">Set_Page</A></FONT> (<FONT COLOR=red><A NAME="1104_26">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>; <FONT COLOR=red><A NAME="1104_39">Flg</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="1104_16">Set_Page</A></FONT> (<FONT COLOR=red><A NAME="1104_26">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>; <FONT COLOR=red><A NAME="1104_39">Flg</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#1104_16">Set_Page</A>, "set_new_page");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#1104_16">Set_Page</A>, "set_new_page");
 
-      <FONT COLOR=red><A NAME="1107_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#1104_16">Set_Page</A> (<A HREF="terminal_interface-curses-forms__ads.htm#760_28">Fld</A>, Boolean'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#761_28">New_Page</A>));
+      <FONT COLOR=red><A NAME="1107_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#1104_16">Set_Page</A> (<A HREF="terminal_interface-curses-forms__ads.htm#759_28">Fld</A>, Boolean'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#760_28">New_Page</A>));
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#1107_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#1107_7">Res</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#1107_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#1107_7">Res</A>);
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
    <FONT COLOR=green><EM>--  |</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#766_13">Is_New_Page</A><FONT COLOR=red><A NAME="1116_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#766_26">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> Boolean
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#765_13">Is_New_Page</A><FONT COLOR=red><A NAME="1116_13"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#765_26">Fld</A> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> Boolean
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="1118_16">Is_New</A></FONT> (<FONT COLOR=red><A NAME="1118_24">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="1118_16">Is_New</A></FONT> (<FONT COLOR=red><A NAME="1118_24">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#1118_16">Is_New</A>, "new_page");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms__adb.htm#1118_16">Is_New</A>, "new_page");
 
-      <FONT COLOR=red><A NAME="1121_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#1118_16">Is_New</A> (<A HREF="terminal_interface-curses-forms__ads.htm#766_26">Fld</A>);
+      <FONT COLOR=red><A NAME="1121_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#1118_16">Is_New</A> (<A HREF="terminal_interface-curses-forms__ads.htm#765_26">Fld</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#1121_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#75_4">Curses_False</A> <b>then</b>
          <b>return</b> False;
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#1121_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#75_4">Curses_False</A> <b>then</b>
          <b>return</b> False;
       <b>end</b> <b>if</b>;
    <b>end</b> Is_New_Page;
 
       <b>end</b> <b>if</b>;
    <b>end</b> Is_New_Page;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#138_14">Free</A><FONT COLOR=red><A NAME="1130_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#138_20">FA</A>          : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#136_9">Field_Array_Access</A>;
-                   <A HREF="terminal_interface-curses-forms__ads.htm#139_20">Free_Fields</A> : <b>in</b> Boolean := False)
+   <b>procedure</b> <A HREF="terminal_interface-curses-forms__ads.htm#137_14">Free</A><FONT COLOR=red><A NAME="1130_14"></A></FONT> (<A HREF="terminal_interface-curses-forms__ads.htm#137_20">FA</A>          : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#135_9">Field_Array_Access</A>;
+                   <A HREF="terminal_interface-curses-forms__ads.htm#138_20">Free_Fields</A> : <b>in</b> Boolean := False)
    <b>is</b>
       <b>procedure</b> <FONT COLOR=red><A NAME="1133_17">Release</A></FONT> <b>is</b> <b>new</b> Ada.Unchecked_Deallocation
    <b>is</b>
       <b>procedure</b> <FONT COLOR=red><A NAME="1133_17">Release</A></FONT> <b>is</b> <b>new</b> Ada.Unchecked_Deallocation
-        (<A HREF="terminal_interface-curses-forms__ads.htm#133_9">Field_Array</A>, <A HREF="terminal_interface-curses-forms__ads.htm#136_9">Field_Array_Access</A>);
+        (<A HREF="terminal_interface-curses-forms__ads.htm#132_9">Field_Array</A>, <A HREF="terminal_interface-curses-forms__ads.htm#135_9">Field_Array_Access</A>);
    <b>begin</b>
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#138_20">FA</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms__ads.htm#139_20">Free_Fields</A> <b>then</b>
-         <b>for</b> <FONT COLOR=red><A NAME="1137_14">I</A></FONT> <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#138_20">FA</A>'First .. (<A HREF="terminal_interface-curses-forms__ads.htm#138_20">FA</A>'Last - 1) <b>loop</b>
-            <b>if</b> (<A HREF="terminal_interface-curses-forms__ads.htm#138_20">FA</A> (<A HREF="terminal_interface-curses-forms__adb.htm#1137_14">I</A>) /= <A HREF="terminal_interface-curses-forms__ads.htm#59_4">Null_Field</A>) <b>then</b>
-               <A HREF="terminal_interface-curses-forms__ads.htm#637_14">Delete</A> (<A HREF="terminal_interface-curses-forms__ads.htm#138_20">FA</A> (<A HREF="terminal_interface-curses-forms__adb.htm#1137_14">I</A>));
+      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#137_20">FA</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms__ads.htm#138_20">Free_Fields</A> <b>then</b>
+         <b>for</b> <FONT COLOR=red><A NAME="1137_14">I</A></FONT> <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#137_20">FA</A>'First .. (<A HREF="terminal_interface-curses-forms__ads.htm#137_20">FA</A>'Last - 1) <b>loop</b>
+            <b>if</b> (<A HREF="terminal_interface-curses-forms__ads.htm#137_20">FA</A> (<A HREF="terminal_interface-curses-forms__adb.htm#1137_14">I</A>) /= <A HREF="terminal_interface-curses-forms__ads.htm#58_4">Null_Field</A>) <b>then</b>
+               <A HREF="terminal_interface-curses-forms__ads.htm#636_14">Delete</A> (<A HREF="terminal_interface-curses-forms__ads.htm#137_20">FA</A> (<A HREF="terminal_interface-curses-forms__adb.htm#1137_14">I</A>));
             <b>end</b> <b>if</b>;
          <b>end</b> <b>loop</b>;
       <b>end</b> <b>if</b>;
             <b>end</b> <b>if</b>;
          <b>end</b> <b>loop</b>;
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses-forms__adb.htm#1133_17">Release</A> (<A HREF="terminal_interface-curses-forms__ads.htm#138_20">FA</A>);
+      <A HREF="terminal_interface-curses-forms__adb.htm#1133_17">Release</A> (<A HREF="terminal_interface-curses-forms__ads.htm#137_20">FA</A>);
    <b>end</b> Free;
 
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <b>end</b> Free;
 
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#103_13">Default_Field_Options</A><FONT COLOR=red><A NAME="1148_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#68_9">Field_Option_Set</A>
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#102_13">Default_Field_Options</A><FONT COLOR=red><A NAME="1148_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#67_9">Field_Option_Set</A>
    <b>is</b>
    <b>begin</b>
    <b>is</b>
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#666_13">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#59_4">Null_Field</A>);
+      <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#665_13">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#58_4">Null_Field</A>);
    <b>end</b> Default_Field_Options;
 
    <b>end</b> Default_Field_Options;
 
-   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#127_13">Default_Form_Options</A><FONT COLOR=red><A NAME="1154_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#108_9">Form_Option_Set</A>
+   <b>function</b> <A HREF="terminal_interface-curses-forms__ads.htm#126_13">Default_Form_Options</A><FONT COLOR=red><A NAME="1154_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#107_9">Form_Option_Set</A>
    <b>is</b>
    <b>begin</b>
    <b>is</b>
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#666_13">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#60_4">Null_Form</A>);
+      <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#665_13">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#59_4">Null_Form</A>);
    <b>end</b> Default_Form_Options;
 
 <b>end</b> Terminal_Interface.Curses.Forms;
    <b>end</b> Default_Form_Options;
 
 <b>end</b> Terminal_Interface.Curses.Forms;
index 7ce679c77e7596ef4223bc105e4608dc208f549b..a28c4ece7f85309cbbfbaecefaf5545e1b21756d 100644 (file)
@@ -40,7 +40,7 @@
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <FONT COLOR=green><EM>--  Author: <A HREF="http://home.t-online.de/home/Juergen.Pfeifer">J&uuml;rgen Pfeifer</A> &lt;<A HREF="mailto:juergen.pfeifer@gmx.net">&lt;juergen.pfeifer@gmx.net&gt;</A>&gt; 1996</EM></FONT>
 <FONT COLOR=green><EM>--  Version Control:</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <FONT COLOR=green><EM>--  Author: <A HREF="http://home.t-online.de/home/Juergen.Pfeifer">J&uuml;rgen Pfeifer</A> &lt;<A HREF="mailto:juergen.pfeifer@gmx.net">&lt;juergen.pfeifer@gmx.net&gt;</A>&gt; 1996</EM></FONT>
 <FONT COLOR=green><EM>--  Version Control:</EM></FONT>
-<FONT COLOR=green><EM>--  @Revision: 1.23 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.24 @</EM></FONT>
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <FONT COLOR=green><EM>--  form binding.</EM></FONT>
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <FONT COLOR=green><EM>--  form binding.</EM></FONT>
@@ -48,8 +48,7 @@
 <FONT COLOR=green><EM>--  Run the generator instead.</EM></FONT>
 <FONT COLOR=green><EM>--  |</EM></FONT>
 <b>with</b> System;
 <FONT COLOR=green><EM>--  Run the generator instead.</EM></FONT>
 <FONT COLOR=green><EM>--  |</EM></FONT>
 <b>with</b> System;
-<b>with</b> <A HREF="interfac__ads.htm#23_9">Ada</A>.Characters.Latin_1;
-<b>with</b> Interfaces.C;
+<b>with</b> Ada.Characters.Latin_1;
 
 <b>package</b> Terminal_Interface.Curses.Forms <b>is</b>
    <b>pragma</b> Preelaborate (Terminal_Interface.Curses.Forms);
 
 <b>package</b> Terminal_Interface.Curses.Forms <b>is</b>
    <b>pragma</b> Preelaborate (Terminal_Interface.Curses.Forms);
 
    Space : Character <b>renames</b> Ada.Characters.Latin_1.Space;
 
 
    Space : Character <b>renames</b> Ada.Characters.Latin_1.Space;
 
-   <b>type</b> <FONT COLOR=red><A NAME="57_9">Field</A></FONT>        <b>is</b> <b>private</b>;
+   <b>type</b> <FONT COLOR=red><A NAME="56_9">Field</A></FONT>        <b>is</b> <b>private</b>;
    <b>type</b> Form         <b>is</b> <b>private</b>;
 
    <b>type</b> Form         <b>is</b> <b>private</b>;
 
-   <FONT COLOR=red><A NAME="60_4">Null_Field</A></FONT>        : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Field</A>;
+   <FONT COLOR=red><A NAME="59_4">Null_Field</A></FONT>        : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A>;
    Null_Form         : <b>constant</b> Form;
 
    <b>type</b> Field_Justification <b>is</b> (None,
    Null_Form         : <b>constant</b> Form;
 
    <b>type</b> Field_Justification <b>is</b> (None,
    <b>pragma</b> Warnings (Off);
    <b>type</b> Field_Option_Set <b>is</b>
       <b>record</b>
    <b>pragma</b> Warnings (Off);
    <b>type</b> Field_Option_Set <b>is</b>
       <b>record</b>
-         <FONT COLOR=red><A NAME="71_10">Visible</A></FONT>     : Boolean;
-         <FONT COLOR=red><A NAME="72_10">Active</A></FONT>      : Boolean;
-         <FONT COLOR=red><A NAME="73_10">Public</A></FONT>      : Boolean;
-         <FONT COLOR=red><A NAME="74_10">Edit</A></FONT>        : Boolean;
-         <FONT COLOR=red><A NAME="75_10">Wrap</A></FONT>        : Boolean;
-         <FONT COLOR=red><A NAME="76_10">Blank</A></FONT>       : Boolean;
-         <FONT COLOR=red><A NAME="77_10">Auto_Skip</A></FONT>   : Boolean;
-         <FONT COLOR=red><A NAME="78_10">Null_Ok</A></FONT>     : Boolean;
-         <FONT COLOR=red><A NAME="79_10">Pass_Ok</A></FONT>     : Boolean;
+         <FONT COLOR=red><A NAME="70_10">Visible</A></FONT>     : Boolean;
+         <FONT COLOR=red><A NAME="71_10">Active</A></FONT>      : Boolean;
+         <FONT COLOR=red><A NAME="72_10">Public</A></FONT>      : Boolean;
+         <FONT COLOR=red><A NAME="73_10">Edit</A></FONT>        : Boolean;
+         <FONT COLOR=red><A NAME="74_10">Wrap</A></FONT>        : Boolean;
+         <FONT COLOR=red><A NAME="75_10">Blank</A></FONT>       : Boolean;
+         <FONT COLOR=red><A NAME="76_10">Auto_Skip</A></FONT>   : Boolean;
+         <FONT COLOR=red><A NAME="77_10">Null_Ok</A></FONT>     : Boolean;
+         <FONT COLOR=red><A NAME="78_10">Pass_Ok</A></FONT>     : Boolean;
          Static      : Boolean;
          Static      : Boolean;
-      <b>end</b> <b>record</b><A HREF="terminal_interface-curses-forms__ads.htm#68_9">;</A>
+      <b>end</b> <b>record</b><A HREF="terminal_interface-curses-forms__ads.htm#67_9">;</A>
    <b>pragma</b> Pack (Field_Option_Set);
    <b>pragma</b> Convention (C, Field_Option_Set);
 
    <b>pragma</b> Pack (Field_Option_Set);
    <b>pragma</b> Convention (C, Field_Option_Set);
 
    <b>pragma</b> Warnings (Off);
    <b>type</b> Form_Option_Set <b>is</b>
       <b>record</b>
    <b>pragma</b> Warnings (Off);
    <b>type</b> Form_Option_Set <b>is</b>
       <b>record</b>
-         <FONT COLOR=red><A NAME="111_10">NL_Overload</A></FONT> : Boolean;
+         <FONT COLOR=red><A NAME="110_10">NL_Overload</A></FONT> : Boolean;
          BS_Overload : Boolean;
          BS_Overload : Boolean;
-      <b>end</b> <b>record</b><A HREF="terminal_interface-curses-forms__ads.htm#108_9">;</A>
+      <b>end</b> <b>record</b><A HREF="terminal_interface-curses-forms__ads.htm#107_9">;</A>
    <b>pragma</b> Pack (Form_Option_Set);
    <b>pragma</b> Convention (C, Form_Option_Set);
 
    <b>pragma</b> Pack (Form_Option_Set);
    <b>pragma</b> Convention (C, Form_Option_Set);
 
 
    <b>type</b> Field_Array_Access <b>is</b> <b>access</b> Field_Array;
 
 
    <b>type</b> Field_Array_Access <b>is</b> <b>access</b> Field_Array;
 
-   <b>procedure</b> Free (<FONT COLOR=red><A NAME="139_20">FA</A></FONT>          : <b>in</b> <b>out</b> Field_Array_Access;
+   <b>procedure</b> Free (<FONT COLOR=red><A NAME="138_20">FA</A></FONT>          : <b>in</b> <b>out</b> Field_Array_Access;
                    Free_Fields : <b>in</b> Boolean := False);
    <FONT COLOR=green><EM>--  Release the memory for an allocated field array</EM></FONT>
    <FONT COLOR=green><EM>--  If Free_Fields is True, call Delete() for all the fields in</EM></FONT>
                    Free_Fields : <b>in</b> Boolean := False);
    <FONT COLOR=green><EM>--  Release the memory for an allocated field array</EM></FONT>
    <FONT COLOR=green><EM>--  If Free_Fields is True, call Delete() for all the fields in</EM></FONT>
    <b>subtype</b> Form_Request_Code <b>is</b> Key_Code <b>range</b> (Key_Max + 1) .. (Key_Max + 57);
 
    <FONT COLOR=green><EM>--  The prefix F_ stands for "Form Request"</EM></FONT>
    <b>subtype</b> Form_Request_Code <b>is</b> Key_Code <b>range</b> (Key_Max + 1) .. (Key_Max + 57);
 
    <FONT COLOR=green><EM>--  The prefix F_ stands for "Form Request"</EM></FONT>
-   <FONT COLOR=red><A NAME="148_4">F_Next_Page</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 1;
-   <FONT COLOR=red><A NAME="149_4">F_Previous_Page</A></FONT>            : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 2;
-   <FONT COLOR=red><A NAME="150_4">F_First_Page</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 3;
+   <FONT COLOR=red><A NAME="147_4">F_Next_Page</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 1;
+   <FONT COLOR=red><A NAME="148_4">F_Previous_Page</A></FONT>            : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 2;
+   <FONT COLOR=red><A NAME="149_4">F_First_Page</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 3;
    F_Last_Page                : <b>constant</b> Form_Request_Code := Key_Max + 4;
 
    F_Last_Page                : <b>constant</b> Form_Request_Code := Key_Max + 4;
 
-   <FONT COLOR=red><A NAME="153_4">F_Next_Field</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 5;
-   <FONT COLOR=red><A NAME="154_4">F_Previous_Field</A></FONT>           : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 6;
-   <FONT COLOR=red><A NAME="155_4">F_First_Field</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 7;
-   <FONT COLOR=red><A NAME="156_4">F_Last_Field</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 8;
-   <FONT COLOR=red><A NAME="157_4">F_Sorted_Next_Field</A></FONT>        : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 9;
-   <FONT COLOR=red><A NAME="158_4">F_Sorted_Previous_Field</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 10;
-   <FONT COLOR=red><A NAME="159_4">F_Sorted_First_Field</A></FONT>       : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 11;
-   <FONT COLOR=red><A NAME="160_4">F_Sorted_Last_Field</A></FONT>        : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 12;
-   <FONT COLOR=red><A NAME="161_4">F_Left_Field</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 13;
-   <FONT COLOR=red><A NAME="162_4">F_Right_Field</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 14;
-   <FONT COLOR=red><A NAME="163_4">F_Up_Field</A></FONT>                 : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 15;
+   <FONT COLOR=red><A NAME="152_4">F_Next_Field</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 5;
+   <FONT COLOR=red><A NAME="153_4">F_Previous_Field</A></FONT>           : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 6;
+   <FONT COLOR=red><A NAME="154_4">F_First_Field</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 7;
+   <FONT COLOR=red><A NAME="155_4">F_Last_Field</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 8;
+   <FONT COLOR=red><A NAME="156_4">F_Sorted_Next_Field</A></FONT>        : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 9;
+   <FONT COLOR=red><A NAME="157_4">F_Sorted_Previous_Field</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 10;
+   <FONT COLOR=red><A NAME="158_4">F_Sorted_First_Field</A></FONT>       : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 11;
+   <FONT COLOR=red><A NAME="159_4">F_Sorted_Last_Field</A></FONT>        : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 12;
+   <FONT COLOR=red><A NAME="160_4">F_Left_Field</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 13;
+   <FONT COLOR=red><A NAME="161_4">F_Right_Field</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 14;
+   <FONT COLOR=red><A NAME="162_4">F_Up_Field</A></FONT>                 : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 15;
    F_Down_Field               : <b>constant</b> Form_Request_Code := Key_Max + 16;
 
    F_Down_Field               : <b>constant</b> Form_Request_Code := Key_Max + 16;
 
-   <FONT COLOR=red><A NAME="166_4">F_Next_Char</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 17;
-   <FONT COLOR=red><A NAME="167_4">F_Previous_Char</A></FONT>            : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 18;
-   <FONT COLOR=red><A NAME="168_4">F_Next_Line</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 19;
-   <FONT COLOR=red><A NAME="169_4">F_Previous_Line</A></FONT>            : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 20;
-   <FONT COLOR=red><A NAME="170_4">F_Next_Word</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 21;
-   <FONT COLOR=red><A NAME="171_4">F_Previous_Word</A></FONT>            : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 22;
-   <FONT COLOR=red><A NAME="172_4">F_Begin_Field</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 23;
-   <FONT COLOR=red><A NAME="173_4">F_End_Field</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 24;
-   <FONT COLOR=red><A NAME="174_4">F_Begin_Line</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 25;
-   <FONT COLOR=red><A NAME="175_4">F_End_Line</A></FONT>                 : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 26;
-   <FONT COLOR=red><A NAME="176_4">F_Left_Char</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 27;
-   <FONT COLOR=red><A NAME="177_4">F_Right_Char</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 28;
-   <FONT COLOR=red><A NAME="178_4">F_Up_Char</A></FONT>                  : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 29;
+   <FONT COLOR=red><A NAME="165_4">F_Next_Char</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 17;
+   <FONT COLOR=red><A NAME="166_4">F_Previous_Char</A></FONT>            : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 18;
+   <FONT COLOR=red><A NAME="167_4">F_Next_Line</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 19;
+   <FONT COLOR=red><A NAME="168_4">F_Previous_Line</A></FONT>            : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 20;
+   <FONT COLOR=red><A NAME="169_4">F_Next_Word</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 21;
+   <FONT COLOR=red><A NAME="170_4">F_Previous_Word</A></FONT>            : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 22;
+   <FONT COLOR=red><A NAME="171_4">F_Begin_Field</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 23;
+   <FONT COLOR=red><A NAME="172_4">F_End_Field</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 24;
+   <FONT COLOR=red><A NAME="173_4">F_Begin_Line</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 25;
+   <FONT COLOR=red><A NAME="174_4">F_End_Line</A></FONT>                 : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 26;
+   <FONT COLOR=red><A NAME="175_4">F_Left_Char</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 27;
+   <FONT COLOR=red><A NAME="176_4">F_Right_Char</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 28;
+   <FONT COLOR=red><A NAME="177_4">F_Up_Char</A></FONT>                  : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 29;
    F_Down_Char                : <b>constant</b> Form_Request_Code := Key_Max + 30;
 
    F_Down_Char                : <b>constant</b> Form_Request_Code := Key_Max + 30;
 
-   <FONT COLOR=red><A NAME="181_4">F_New_Line</A></FONT>                 : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 31;
-   <FONT COLOR=red><A NAME="182_4">F_Insert_Char</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 32;
-   <FONT COLOR=red><A NAME="183_4">F_Insert_Line</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 33;
-   <FONT COLOR=red><A NAME="184_4">F_Delete_Char</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 34;
-   <FONT COLOR=red><A NAME="185_4">F_Delete_Previous</A></FONT>          : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 35;
-   <FONT COLOR=red><A NAME="186_4">F_Delete_Line</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 36;
-   <FONT COLOR=red><A NAME="187_4">F_Delete_Word</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 37;
-   <FONT COLOR=red><A NAME="188_4">F_Clear_EOL</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 38;
-   <FONT COLOR=red><A NAME="189_4">F_Clear_EOF</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 39;
-   <FONT COLOR=red><A NAME="190_4">F_Clear_Field</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 40;
-   <FONT COLOR=red><A NAME="191_4">F_Overlay_Mode</A></FONT>             : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 41;
+   <FONT COLOR=red><A NAME="180_4">F_New_Line</A></FONT>                 : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 31;
+   <FONT COLOR=red><A NAME="181_4">F_Insert_Char</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 32;
+   <FONT COLOR=red><A NAME="182_4">F_Insert_Line</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 33;
+   <FONT COLOR=red><A NAME="183_4">F_Delete_Char</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 34;
+   <FONT COLOR=red><A NAME="184_4">F_Delete_Previous</A></FONT>          : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 35;
+   <FONT COLOR=red><A NAME="185_4">F_Delete_Line</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 36;
+   <FONT COLOR=red><A NAME="186_4">F_Delete_Word</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 37;
+   <FONT COLOR=red><A NAME="187_4">F_Clear_EOL</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 38;
+   <FONT COLOR=red><A NAME="188_4">F_Clear_EOF</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 39;
+   <FONT COLOR=red><A NAME="189_4">F_Clear_Field</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 40;
+   <FONT COLOR=red><A NAME="190_4">F_Overlay_Mode</A></FONT>             : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 41;
    F_Insert_Mode              : <b>constant</b> Form_Request_Code := Key_Max + 42;
 
    <FONT COLOR=green><EM>--  Vertical Scrolling</EM></FONT>
    F_Insert_Mode              : <b>constant</b> Form_Request_Code := Key_Max + 42;
 
    <FONT COLOR=green><EM>--  Vertical Scrolling</EM></FONT>
-   <FONT COLOR=red><A NAME="195_4">F_ScrollForward_Line</A></FONT>       : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 43;
-   <FONT COLOR=red><A NAME="196_4">F_ScrollBackward_Line</A></FONT>      : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 44;
-   <FONT COLOR=red><A NAME="197_4">F_ScrollForward_Page</A></FONT>       : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 45;
-   <FONT COLOR=red><A NAME="198_4">F_ScrollBackward_Page</A></FONT>      : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 46;
-   <FONT COLOR=red><A NAME="199_4">F_ScrollForward_HalfPage</A></FONT>   : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 47;
+   <FONT COLOR=red><A NAME="194_4">F_ScrollForward_Line</A></FONT>       : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 43;
+   <FONT COLOR=red><A NAME="195_4">F_ScrollBackward_Line</A></FONT>      : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 44;
+   <FONT COLOR=red><A NAME="196_4">F_ScrollForward_Page</A></FONT>       : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 45;
+   <FONT COLOR=red><A NAME="197_4">F_ScrollBackward_Page</A></FONT>      : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 46;
+   <FONT COLOR=red><A NAME="198_4">F_ScrollForward_HalfPage</A></FONT>   : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 47;
    F_ScrollBackward_HalfPage  : <b>constant</b> Form_Request_Code := Key_Max + 48;
 
    <FONT COLOR=green><EM>--  Horizontal Scrolling</EM></FONT>
    F_ScrollBackward_HalfPage  : <b>constant</b> Form_Request_Code := Key_Max + 48;
 
    <FONT COLOR=green><EM>--  Horizontal Scrolling</EM></FONT>
-   <FONT COLOR=red><A NAME="203_4">F_HScrollForward_Char</A></FONT>      : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 49;
-   <FONT COLOR=red><A NAME="204_4">F_HScrollBackward_Char</A></FONT>     : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 50;
-   <FONT COLOR=red><A NAME="205_4">F_HScrollForward_Line</A></FONT>      : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 51;
-   <FONT COLOR=red><A NAME="206_4">F_HScrollBackward_Line</A></FONT>     : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 52;
-   <FONT COLOR=red><A NAME="207_4">F_HScrollForward_HalfLine</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 53;
+   <FONT COLOR=red><A NAME="202_4">F_HScrollForward_Char</A></FONT>      : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 49;
+   <FONT COLOR=red><A NAME="203_4">F_HScrollBackward_Char</A></FONT>     : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 50;
+   <FONT COLOR=red><A NAME="204_4">F_HScrollForward_Line</A></FONT>      : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 51;
+   <FONT COLOR=red><A NAME="205_4">F_HScrollBackward_Line</A></FONT>     : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 52;
+   <FONT COLOR=red><A NAME="206_4">F_HScrollForward_HalfLine</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 53;
    F_HScrollBackward_HalfLine : <b>constant</b> Form_Request_Code := Key_Max + 54;
 
    F_HScrollBackward_HalfLine : <b>constant</b> Form_Request_Code := Key_Max + 54;
 
-   <FONT COLOR=red><A NAME="210_4">F_Validate_Field</A></FONT>           : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 55;
-   <FONT COLOR=red><A NAME="211_4">F_Next_Choice</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 56;
+   <FONT COLOR=red><A NAME="209_4">F_Validate_Field</A></FONT>           : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 55;
+   <FONT COLOR=red><A NAME="210_4">F_Next_Choice</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 56;
    F_Previous_Choice          : <b>constant</b> Form_Request_Code := Key_Max + 57;
 
    <FONT COLOR=green><EM>--  For those who like the old 'C' style request names</EM></FONT>
    F_Previous_Choice          : <b>constant</b> Form_Request_Code := Key_Max + 57;
 
    <FONT COLOR=green><EM>--  For those who like the old 'C' style request names</EM></FONT>
-   <FONT COLOR=red><A NAME="215_4">REQ_NEXT_PAGE</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#148_4">F_Next_Page</A>;
-   <FONT COLOR=red><A NAME="216_4">REQ_PREV_PAGE</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#149_4">F_Previous_Page</A>;
-   <FONT COLOR=red><A NAME="217_4">REQ_FIRST_PAGE</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#150_4">F_First_Page</A>;
+   <FONT COLOR=red><A NAME="214_4">REQ_NEXT_PAGE</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#147_4">F_Next_Page</A>;
+   <FONT COLOR=red><A NAME="215_4">REQ_PREV_PAGE</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#148_4">F_Previous_Page</A>;
+   <FONT COLOR=red><A NAME="216_4">REQ_FIRST_PAGE</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#149_4">F_First_Page</A>;
    REQ_LAST_PAGE    : Form_Request_Code <b>renames</b> F_Last_Page;
 
    REQ_LAST_PAGE    : Form_Request_Code <b>renames</b> F_Last_Page;
 
-   <FONT COLOR=red><A NAME="220_4">REQ_NEXT_FIELD</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#153_4">F_Next_Field</A>;
-   <FONT COLOR=red><A NAME="221_4">REQ_PREV_FIELD</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#154_4">F_Previous_Field</A>;
-   <FONT COLOR=red><A NAME="222_4">REQ_FIRST_FIELD</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#155_4">F_First_Field</A>;
-   <FONT COLOR=red><A NAME="223_4">REQ_LAST_FIELD</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#156_4">F_Last_Field</A>;
-   <FONT COLOR=red><A NAME="224_4">REQ_SNEXT_FIELD</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#157_4">F_Sorted_Next_Field</A>;
-   <FONT COLOR=red><A NAME="225_4">REQ_SPREV_FIELD</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#158_4">F_Sorted_Previous_Field</A>;
-   <FONT COLOR=red><A NAME="226_4">REQ_SFIRST_FIELD</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#159_4">F_Sorted_First_Field</A>;
-   <FONT COLOR=red><A NAME="227_4">REQ_SLAST_FIELD</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#160_4">F_Sorted_Last_Field</A>;
-   <FONT COLOR=red><A NAME="228_4">REQ_LEFT_FIELD</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#161_4">F_Left_Field</A>;
-   <FONT COLOR=red><A NAME="229_4">REQ_RIGHT_FIELD</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#162_4">F_Right_Field</A>;
-   <FONT COLOR=red><A NAME="230_4">REQ_UP_FIELD</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#163_4">F_Up_Field</A>;
+   <FONT COLOR=red><A NAME="219_4">REQ_NEXT_FIELD</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#152_4">F_Next_Field</A>;
+   <FONT COLOR=red><A NAME="220_4">REQ_PREV_FIELD</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#153_4">F_Previous_Field</A>;
+   <FONT COLOR=red><A NAME="221_4">REQ_FIRST_FIELD</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#154_4">F_First_Field</A>;
+   <FONT COLOR=red><A NAME="222_4">REQ_LAST_FIELD</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#155_4">F_Last_Field</A>;
+   <FONT COLOR=red><A NAME="223_4">REQ_SNEXT_FIELD</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#156_4">F_Sorted_Next_Field</A>;
+   <FONT COLOR=red><A NAME="224_4">REQ_SPREV_FIELD</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#157_4">F_Sorted_Previous_Field</A>;
+   <FONT COLOR=red><A NAME="225_4">REQ_SFIRST_FIELD</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#158_4">F_Sorted_First_Field</A>;
+   <FONT COLOR=red><A NAME="226_4">REQ_SLAST_FIELD</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#159_4">F_Sorted_Last_Field</A>;
+   <FONT COLOR=red><A NAME="227_4">REQ_LEFT_FIELD</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#160_4">F_Left_Field</A>;
+   <FONT COLOR=red><A NAME="228_4">REQ_RIGHT_FIELD</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#161_4">F_Right_Field</A>;
+   <FONT COLOR=red><A NAME="229_4">REQ_UP_FIELD</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#162_4">F_Up_Field</A>;
    REQ_DOWN_FIELD   : Form_Request_Code <b>renames</b> F_Down_Field;
 
    REQ_DOWN_FIELD   : Form_Request_Code <b>renames</b> F_Down_Field;
 
-   <FONT COLOR=red><A NAME="233_4">REQ_NEXT_CHAR</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#166_4">F_Next_Char</A>;
-   <FONT COLOR=red><A NAME="234_4">REQ_PREV_CHAR</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#167_4">F_Previous_Char</A>;
-   <FONT COLOR=red><A NAME="235_4">REQ_NEXT_LINE</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#168_4">F_Next_Line</A>;
-   <FONT COLOR=red><A NAME="236_4">REQ_PREV_LINE</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#169_4">F_Previous_Line</A>;
-   <FONT COLOR=red><A NAME="237_4">REQ_NEXT_WORD</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#170_4">F_Next_Word</A>;
-   <FONT COLOR=red><A NAME="238_4">REQ_PREV_WORD</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#171_4">F_Previous_Word</A>;
-   <FONT COLOR=red><A NAME="239_4">REQ_BEG_FIELD</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#172_4">F_Begin_Field</A>;
-   <FONT COLOR=red><A NAME="240_4">REQ_END_FIELD</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#173_4">F_End_Field</A>;
-   <FONT COLOR=red><A NAME="241_4">REQ_BEG_LINE</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#174_4">F_Begin_Line</A>;
-   <FONT COLOR=red><A NAME="242_4">REQ_END_LINE</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#175_4">F_End_Line</A>;
-   <FONT COLOR=red><A NAME="243_4">REQ_LEFT_CHAR</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#176_4">F_Left_Char</A>;
-   <FONT COLOR=red><A NAME="244_4">REQ_RIGHT_CHAR</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#177_4">F_Right_Char</A>;
-   <FONT COLOR=red><A NAME="245_4">REQ_UP_CHAR</A></FONT>      : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#178_4">F_Up_Char</A>;
+   <FONT COLOR=red><A NAME="232_4">REQ_NEXT_CHAR</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#165_4">F_Next_Char</A>;
+   <FONT COLOR=red><A NAME="233_4">REQ_PREV_CHAR</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#166_4">F_Previous_Char</A>;
+   <FONT COLOR=red><A NAME="234_4">REQ_NEXT_LINE</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#167_4">F_Next_Line</A>;
+   <FONT COLOR=red><A NAME="235_4">REQ_PREV_LINE</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#168_4">F_Previous_Line</A>;
+   <FONT COLOR=red><A NAME="236_4">REQ_NEXT_WORD</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#169_4">F_Next_Word</A>;
+   <FONT COLOR=red><A NAME="237_4">REQ_PREV_WORD</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#170_4">F_Previous_Word</A>;
+   <FONT COLOR=red><A NAME="238_4">REQ_BEG_FIELD</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#171_4">F_Begin_Field</A>;
+   <FONT COLOR=red><A NAME="239_4">REQ_END_FIELD</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#172_4">F_End_Field</A>;
+   <FONT COLOR=red><A NAME="240_4">REQ_BEG_LINE</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#173_4">F_Begin_Line</A>;
+   <FONT COLOR=red><A NAME="241_4">REQ_END_LINE</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#174_4">F_End_Line</A>;
+   <FONT COLOR=red><A NAME="242_4">REQ_LEFT_CHAR</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#175_4">F_Left_Char</A>;
+   <FONT COLOR=red><A NAME="243_4">REQ_RIGHT_CHAR</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#176_4">F_Right_Char</A>;
+   <FONT COLOR=red><A NAME="244_4">REQ_UP_CHAR</A></FONT>      : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#177_4">F_Up_Char</A>;
    REQ_DOWN_CHAR    : Form_Request_Code <b>renames</b> F_Down_Char;
 
    REQ_DOWN_CHAR    : Form_Request_Code <b>renames</b> F_Down_Char;
 
-   <FONT COLOR=red><A NAME="248_4">REQ_NEW_LINE</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#181_4">F_New_Line</A>;
-   <FONT COLOR=red><A NAME="249_4">REQ_INS_CHAR</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#182_4">F_Insert_Char</A>;
-   <FONT COLOR=red><A NAME="250_4">REQ_INS_LINE</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#183_4">F_Insert_Line</A>;
-   <FONT COLOR=red><A NAME="251_4">REQ_DEL_CHAR</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#184_4">F_Delete_Char</A>;
-   <FONT COLOR=red><A NAME="252_4">REQ_DEL_PREV</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#185_4">F_Delete_Previous</A>;
-   <FONT COLOR=red><A NAME="253_4">REQ_DEL_LINE</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#186_4">F_Delete_Line</A>;
-   <FONT COLOR=red><A NAME="254_4">REQ_DEL_WORD</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#187_4">F_Delete_Word</A>;
-   <FONT COLOR=red><A NAME="255_4">REQ_CLR_EOL</A></FONT>      : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#188_4">F_Clear_EOL</A>;
-   <FONT COLOR=red><A NAME="256_4">REQ_CLR_EOF</A></FONT>      : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#189_4">F_Clear_EOF</A>;
-   <FONT COLOR=red><A NAME="257_4">REQ_CLR_FIELD</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#190_4">F_Clear_Field</A>;
-   <FONT COLOR=red><A NAME="258_4">REQ_OVL_MODE</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#191_4">F_Overlay_Mode</A>;
+   <FONT COLOR=red><A NAME="247_4">REQ_NEW_LINE</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#180_4">F_New_Line</A>;
+   <FONT COLOR=red><A NAME="248_4">REQ_INS_CHAR</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#181_4">F_Insert_Char</A>;
+   <FONT COLOR=red><A NAME="249_4">REQ_INS_LINE</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#182_4">F_Insert_Line</A>;
+   <FONT COLOR=red><A NAME="250_4">REQ_DEL_CHAR</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#183_4">F_Delete_Char</A>;
+   <FONT COLOR=red><A NAME="251_4">REQ_DEL_PREV</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#184_4">F_Delete_Previous</A>;
+   <FONT COLOR=red><A NAME="252_4">REQ_DEL_LINE</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#185_4">F_Delete_Line</A>;
+   <FONT COLOR=red><A NAME="253_4">REQ_DEL_WORD</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#186_4">F_Delete_Word</A>;
+   <FONT COLOR=red><A NAME="254_4">REQ_CLR_EOL</A></FONT>      : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#187_4">F_Clear_EOL</A>;
+   <FONT COLOR=red><A NAME="255_4">REQ_CLR_EOF</A></FONT>      : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#188_4">F_Clear_EOF</A>;
+   <FONT COLOR=red><A NAME="256_4">REQ_CLR_FIELD</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#189_4">F_Clear_Field</A>;
+   <FONT COLOR=red><A NAME="257_4">REQ_OVL_MODE</A></FONT>     : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#190_4">F_Overlay_Mode</A>;
    REQ_INS_MODE     : Form_Request_Code <b>renames</b> F_Insert_Mode;
 
    REQ_INS_MODE     : Form_Request_Code <b>renames</b> F_Insert_Mode;
 
-   <FONT COLOR=red><A NAME="261_4">REQ_SCR_FLINE</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#195_4">F_ScrollForward_Line</A>;
-   <FONT COLOR=red><A NAME="262_4">REQ_SCR_BLINE</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#196_4">F_ScrollBackward_Line</A>;
-   <FONT COLOR=red><A NAME="263_4">REQ_SCR_FPAGE</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#197_4">F_ScrollForward_Page</A>;
-   <FONT COLOR=red><A NAME="264_4">REQ_SCR_BPAGE</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#198_4">F_ScrollBackward_Page</A>;
-   <FONT COLOR=red><A NAME="265_4">REQ_SCR_FHPAGE</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#199_4">F_ScrollForward_HalfPage</A>;
+   <FONT COLOR=red><A NAME="260_4">REQ_SCR_FLINE</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#194_4">F_ScrollForward_Line</A>;
+   <FONT COLOR=red><A NAME="261_4">REQ_SCR_BLINE</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#195_4">F_ScrollBackward_Line</A>;
+   <FONT COLOR=red><A NAME="262_4">REQ_SCR_FPAGE</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#196_4">F_ScrollForward_Page</A>;
+   <FONT COLOR=red><A NAME="263_4">REQ_SCR_BPAGE</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#197_4">F_ScrollBackward_Page</A>;
+   <FONT COLOR=red><A NAME="264_4">REQ_SCR_FHPAGE</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#198_4">F_ScrollForward_HalfPage</A>;
    REQ_SCR_BHPAGE   : Form_Request_Code <b>renames</b> F_ScrollBackward_HalfPage;
 
    REQ_SCR_BHPAGE   : Form_Request_Code <b>renames</b> F_ScrollBackward_HalfPage;
 
-   <FONT COLOR=red><A NAME="268_4">REQ_SCR_FCHAR</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#203_4">F_HScrollForward_Char</A>;
-   <FONT COLOR=red><A NAME="269_4">REQ_SCR_BCHAR</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#204_4">F_HScrollBackward_Char</A>;
-   <FONT COLOR=red><A NAME="270_4">REQ_SCR_HFLINE</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#205_4">F_HScrollForward_Line</A>;
-   <FONT COLOR=red><A NAME="271_4">REQ_SCR_HBLINE</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#206_4">F_HScrollBackward_Line</A>;
-   <FONT COLOR=red><A NAME="272_4">REQ_SCR_HFHALF</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#207_4">F_HScrollForward_HalfLine</A>;
+   <FONT COLOR=red><A NAME="267_4">REQ_SCR_FCHAR</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#202_4">F_HScrollForward_Char</A>;
+   <FONT COLOR=red><A NAME="268_4">REQ_SCR_BCHAR</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#203_4">F_HScrollBackward_Char</A>;
+   <FONT COLOR=red><A NAME="269_4">REQ_SCR_HFLINE</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#204_4">F_HScrollForward_Line</A>;
+   <FONT COLOR=red><A NAME="270_4">REQ_SCR_HBLINE</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#205_4">F_HScrollBackward_Line</A>;
+   <FONT COLOR=red><A NAME="271_4">REQ_SCR_HFHALF</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#206_4">F_HScrollForward_HalfLine</A>;
    REQ_SCR_HBHALF   : Form_Request_Code <b>renames</b> F_HScrollBackward_HalfLine;
 
    REQ_SCR_HBHALF   : Form_Request_Code <b>renames</b> F_HScrollBackward_HalfLine;
 
-   <FONT COLOR=red><A NAME="275_4">REQ_VALIDATION</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#210_4">F_Validate_Field</A>;
-   <FONT COLOR=red><A NAME="276_4">REQ_NEXT_CHOICE</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#211_4">F_Next_Choice</A>;
+   <FONT COLOR=red><A NAME="274_4">REQ_VALIDATION</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#209_4">F_Validate_Field</A>;
+   <FONT COLOR=red><A NAME="275_4">REQ_NEXT_CHOICE</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#210_4">F_Next_Choice</A>;
    REQ_PREV_CHOICE  : Form_Request_Code <b>renames</b> F_Previous_Choice;
 
 
    REQ_PREV_CHOICE  : Form_Request_Code <b>renames</b> F_Previous_Choice;
 
 
-   <b>procedure</b> Request_Name (<FONT COLOR=red><A NAME="280_28">Key</A></FONT>  : <b>in</b> Form_Request_Code;
+   <b>procedure</b> Request_Name (<FONT COLOR=red><A NAME="279_28">Key</A></FONT>  : <b>in</b> Form_Request_Code;
                            Name : <b>out</b> String);
 
    <b>function</b>  Request_Name (Key : Form_Request_Code) <b>return</b> String;
                            Name : <b>out</b> String);
 
    <b>function</b>  Request_Name (Key : Form_Request_Code) <b>return</b> String;
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_1"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_1"#2|</EM></FONT>
-   <b>function</b> Create (<FONT COLOR=red><A NAME="297_21">Height</A></FONT>       : <A HREF="terminal_interface-curses__ads.htm#64_12">Line_Count</A>;
-                    <FONT COLOR=red><A NAME="298_21">Width</A></FONT>        : <A HREF="terminal_interface-curses__ads.htm#59_9">Column_Count</A>;
-                    <FONT COLOR=red><A NAME="299_21">Top</A></FONT>          : <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>;
-                    <FONT COLOR=red><A NAME="300_21">Left</A></FONT>         : Column_Position;
-                    <FONT COLOR=red><A NAME="301_21">Off_Screen</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#131_9">Natural</A> := 0;
+   <b>function</b> Create (<FONT COLOR=red><A NAME="296_21">Height</A></FONT>       : <A HREF="terminal_interface-curses__ads.htm#64_12">Line_Count</A>;
+                    <FONT COLOR=red><A NAME="297_21">Width</A></FONT>        : <A HREF="terminal_interface-curses__ads.htm#59_9">Column_Count</A>;
+                    <FONT COLOR=red><A NAME="298_21">Top</A></FONT>          : <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>;
+                    <FONT COLOR=red><A NAME="299_21">Left</A></FONT>         : Column_Position;
+                    <FONT COLOR=red><A NAME="300_21">Off_Screen</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#130_9">Natural</A> := 0;
                     More_Buffers : Buffer_Number := Buffer_Number'First)
                     <b>return</b> Field;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_new.3x.html">new_field()</A></EM></FONT>
    <FONT COLOR=green><EM>--  An overloaded Create is defined later. Pragma Inline appears there.</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_2"#2|</EM></FONT>
                     More_Buffers : Buffer_Number := Buffer_Number'First)
                     <b>return</b> Field;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_new.3x.html">new_field()</A></EM></FONT>
    <FONT COLOR=green><EM>--  An overloaded Create is defined later. Pragma Inline appears there.</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_2"#2|</EM></FONT>
-   <b>function</b> New_Field (<FONT COLOR=red><A NAME="308_24">Height</A></FONT>       : <A HREF="terminal_interface-curses__ads.htm#64_12">Line_Count</A>;
-                       <FONT COLOR=red><A NAME="309_24">Width</A></FONT>        : <A HREF="terminal_interface-curses__ads.htm#59_9">Column_Count</A>;
-                       <FONT COLOR=red><A NAME="310_24">Top</A></FONT>          : <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>;
-                       <FONT COLOR=red><A NAME="311_24">Left</A></FONT>         : Column_Position;
-                       <FONT COLOR=red><A NAME="312_24">Off_Screen</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#131_9">Natural</A> := 0;
+   <b>function</b> New_Field (<FONT COLOR=red><A NAME="307_24">Height</A></FONT>       : <A HREF="terminal_interface-curses__ads.htm#64_12">Line_Count</A>;
+                       <FONT COLOR=red><A NAME="308_24">Width</A></FONT>        : <A HREF="terminal_interface-curses__ads.htm#59_9">Column_Count</A>;
+                       <FONT COLOR=red><A NAME="309_24">Top</A></FONT>          : <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>;
+                       <FONT COLOR=red><A NAME="310_24">Left</A></FONT>         : Column_Position;
+                       <FONT COLOR=red><A NAME="311_24">Off_Screen</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#130_9">Natural</A> := 0;
                        More_Buffers : Buffer_Number := Buffer_Number'First)
                        <b>return</b> Field <b>renames</b> Create;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_new.3x.html">new_field()</A></EM></FONT>
                        More_Buffers : Buffer_Number := Buffer_Number'First)
                        <b>return</b> Field <b>renames</b> Create;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_new.3x.html">new_field()</A></EM></FONT>
    <FONT COLOR=green><EM>--  An overloaded Delete is defined later. Pragma Inline appears there.</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_4"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  An overloaded Delete is defined later. Pragma Inline appears there.</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_4"#2|</EM></FONT>
-   <b>function</b> Duplicate (<FONT COLOR=red><A NAME="325_24">Fld</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#59_9">Field</A>;
-                       <FONT COLOR=red><A NAME="326_24">Top</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>;
+   <b>function</b> Duplicate (<FONT COLOR=red><A NAME="324_24">Fld</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#59_9">Field</A>;
+                       <FONT COLOR=red><A NAME="325_24">Top</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>;
                        Left : Column_Position) <b>return</b> Field;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_new.3x.html">dup_field()</A></EM></FONT>
    <b>pragma</b> Inline (Duplicate);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_5"#2|</EM></FONT>
                        Left : Column_Position) <b>return</b> Field;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_new.3x.html">dup_field()</A></EM></FONT>
    <b>pragma</b> Inline (Duplicate);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_5"#2|</EM></FONT>
-   <b>function</b> Link (<FONT COLOR=red><A NAME="332_19">Fld</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#59_9">Field</A>;
-                  <FONT COLOR=red><A NAME="333_19">Top</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>;
+   <b>function</b> Link (<FONT COLOR=red><A NAME="331_19">Fld</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#59_9">Field</A>;
+                  <FONT COLOR=red><A NAME="332_19">Top</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>;
                   Left : Column_Position) <b>return</b> Field;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_new.3x.html">link_field()</A></EM></FONT>
    <b>pragma</b> Inline (Link);
                   Left : Column_Position) <b>return</b> Field;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_new.3x.html">link_field()</A></EM></FONT>
    <b>pragma</b> Inline (Link);
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_6"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_6"#2|</EM></FONT>
-   <b>procedure</b> Set_Justification (<FONT COLOR=red><A NAME="343_33">Fld</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#62_9">Field</A>;
+   <b>procedure</b> Set_Justification (<FONT COLOR=red><A NAME="342_33">Fld</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#61_9">Field</A>;
                                 Just : <b>in</b> Field_Justification := None);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_just.3x.html">set_field_just()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Justification);
                                 Just : <b>in</b> Field_Justification := None);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_just.3x.html">set_field_just()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Justification);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_8"#2|</EM></FONT>
    <b>procedure</b> Set_Buffer
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_8"#2|</EM></FONT>
    <b>procedure</b> Set_Buffer
-     (<FONT COLOR=red><A NAME="359_7">Fld</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#131_9">Field</A>;
-      <FONT COLOR=red><A NAME="360_7">Buffer</A></FONT> : <b>in</b> Buffer_Number := Buffer_Number'First;
+     (<FONT COLOR=red><A NAME="358_7">Fld</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#130_9">Field</A>;
+      <FONT COLOR=red><A NAME="359_7">Buffer</A></FONT> : <b>in</b> Buffer_Number := Buffer_Number'First;
       Str    : <b>in</b> String);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_buffer()</A></EM></FONT>
    <FONT COLOR=green><EM>--  Not inlined</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_9"#2|</EM></FONT>
    <b>procedure</b> Get_Buffer
       Str    : <b>in</b> String);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_buffer()</A></EM></FONT>
    <FONT COLOR=green><EM>--  Not inlined</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_9"#2|</EM></FONT>
    <b>procedure</b> Get_Buffer
-     (<FONT COLOR=red><A NAME="367_7">Fld</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#131_9">Field</A>;
-      <FONT COLOR=red><A NAME="368_7">Buffer</A></FONT> : <b>in</b> Buffer_Number := Buffer_Number'First;
+     (<FONT COLOR=red><A NAME="366_7">Fld</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#130_9">Field</A>;
+      <FONT COLOR=red><A NAME="367_7">Buffer</A></FONT> : <b>in</b> Buffer_Number := Buffer_Number'First;
       Str    : <b>out</b> String);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">field_buffer()</A></EM></FONT>
 
    <b>function</b> Get_Buffer
       Str    : <b>out</b> String);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">field_buffer()</A></EM></FONT>
 
    <b>function</b> Get_Buffer
-     (<FONT COLOR=red><A NAME="373_7">Fld</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#131_9">Field</A>;
+     (<FONT COLOR=red><A NAME="372_7">Fld</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#130_9">Field</A>;
       Buffer : <b>in</b> Buffer_Number := Buffer_Number'First) <b>return</b> String;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">field_buffer()</A></EM></FONT>
    <FONT COLOR=green><EM>--  Same but as function</EM></FONT>
    <b>pragma</b> Inline (Get_Buffer);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_10"#2|</EM></FONT>
       Buffer : <b>in</b> Buffer_Number := Buffer_Number'First) <b>return</b> String;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">field_buffer()</A></EM></FONT>
    <FONT COLOR=green><EM>--  Same but as function</EM></FONT>
    <b>pragma</b> Inline (Get_Buffer);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_10"#2|</EM></FONT>
-   <b>procedure</b> Set_Status (<FONT COLOR=red><A NAME="380_26">Fld</A></FONT>    : <b>in</b> Field;
+   <b>procedure</b> Set_Status (<FONT COLOR=red><A NAME="379_26">Fld</A></FONT>    : <b>in</b> Field;
                          Status : <b>in</b> Boolean := True);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_status()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Status);
                          Status : <b>in</b> Boolean := True);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_status()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Status);
    <b>pragma</b> Inline (Changed);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_12"#2|</EM></FONT>
    <b>pragma</b> Inline (Changed);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_12"#2|</EM></FONT>
-   <b>procedure</b> Set_Maximum_Size (<FONT COLOR=red><A NAME="391_32">Fld</A></FONT> : <b>in</b> Field;
+   <b>procedure</b> Set_Maximum_Size (<FONT COLOR=red><A NAME="390_32">Fld</A></FONT> : <b>in</b> Field;
                                Max : <b>in</b> Natural := 0);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_max()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Maximum_Size);
                                Max : <b>in</b> Natural := 0);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_max()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Maximum_Size);
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_13"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_13"#2|</EM></FONT>
-   <b>procedure</b> Set_Options (<FONT COLOR=red><A NAME="401_27">Fld</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#68_9">Field</A>;
+   <b>procedure</b> Set_Options (<FONT COLOR=red><A NAME="400_27">Fld</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#67_9">Field</A>;
                           Options : <b>in</b> Field_Option_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_opts.3x.html">set_field_opts()</A></EM></FONT>
    <FONT COLOR=green><EM>--  An overloaded version is defined later. Pragma Inline appears there</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_14"#2|</EM></FONT>
                           Options : <b>in</b> Field_Option_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_opts.3x.html">set_field_opts()</A></EM></FONT>
    <FONT COLOR=green><EM>--  An overloaded version is defined later. Pragma Inline appears there</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_14"#2|</EM></FONT>
-   <b>procedure</b> Switch_Options (<FONT COLOR=red><A NAME="407_30">Fld</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#68_9">Field</A>;
-                             <FONT COLOR=red><A NAME="408_30">Options</A></FONT> : <b>in</b> Field_Option_Set;
+   <b>procedure</b> Switch_Options (<FONT COLOR=red><A NAME="406_30">Fld</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#67_9">Field</A>;
+                             <FONT COLOR=red><A NAME="407_30">Options</A></FONT> : <b>in</b> Field_Option_Set;
                              On      : Boolean := True);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_opts.3x.html">field_opts_on()</A></EM></FONT>
    <FONT COLOR=green><EM>--  AKA: field_opts_off()</EM></FONT>
    <FONT COLOR=green><EM>--  An overloaded version is defined later. Pragma Inline appears there</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_15"#2|</EM></FONT>
                              On      : Boolean := True);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_opts.3x.html">field_opts_on()</A></EM></FONT>
    <FONT COLOR=green><EM>--  AKA: field_opts_off()</EM></FONT>
    <FONT COLOR=green><EM>--  An overloaded version is defined later. Pragma Inline appears there</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_15"#2|</EM></FONT>
-   <b>procedure</b> Get_Options (<FONT COLOR=red><A NAME="415_27">Fld</A></FONT>     : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#68_9">Field</A>;
+   <b>procedure</b> Get_Options (<FONT COLOR=red><A NAME="414_27">Fld</A></FONT>     : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#67_9">Field</A>;
                           Options : <b>out</b> Field_Option_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_opts.3x.html">field_opts()</A></EM></FONT>
 
                           Options : <b>out</b> Field_Option_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_opts.3x.html">field_opts()</A></EM></FONT>
 
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_17"#2|</EM></FONT>
    <b>procedure</b> Set_Foreground
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_17"#2|</EM></FONT>
    <b>procedure</b> Set_Foreground
-     (<FONT COLOR=red><A NAME="431_7">Fld</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Field</A>;
-      <FONT COLOR=red><A NAME="432_7">Fore</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Character_Attribute_Set</A> := Normal_Video;
+     (<FONT COLOR=red><A NAME="430_7">Fld</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Field</A>;
+      <FONT COLOR=red><A NAME="431_7">Fore</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Character_Attribute_Set</A> := Normal_Video;
       Color : <b>in</b> Color_Pair := Color_Pair'First);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_fore()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Foreground);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_18"#2|</EM></FONT>
       Color : <b>in</b> Color_Pair := Color_Pair'First);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_fore()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Foreground);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_18"#2|</EM></FONT>
-   <b>procedure</b> Foreground (<FONT COLOR=red><A NAME="438_26">Fld</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#304_9">Field</A>;
+   <b>procedure</b> Foreground (<FONT COLOR=red><A NAME="437_26">Fld</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#304_9">Field</A>;
                          Fore : <b>out</b> Character_Attribute_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_fore()</A></EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_19"#2|</EM></FONT>
                          Fore : <b>out</b> Character_Attribute_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_fore()</A></EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_19"#2|</EM></FONT>
-   <b>procedure</b> Foreground (<FONT COLOR=red><A NAME="443_26">Fld</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#304_9">Field</A>;
-                         <FONT COLOR=red><A NAME="444_26">Fore</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Character_Attribute_Set</A>;
+   <b>procedure</b> Foreground (<FONT COLOR=red><A NAME="442_26">Fld</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#304_9">Field</A>;
+                         <FONT COLOR=red><A NAME="443_26">Fore</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Character_Attribute_Set</A>;
                          Color : <b>out</b> Color_Pair);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_fore()</A></EM></FONT>
    <b>pragma</b> Inline (Foreground);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_20"#2|</EM></FONT>
    <b>procedure</b> Set_Background
                          Color : <b>out</b> Color_Pair);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_fore()</A></EM></FONT>
    <b>pragma</b> Inline (Foreground);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_20"#2|</EM></FONT>
    <b>procedure</b> Set_Background
-     (<FONT COLOR=red><A NAME="451_7">Fld</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Field</A>;
-      <FONT COLOR=red><A NAME="452_7">Back</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Character_Attribute_Set</A> := Normal_Video;
+     (<FONT COLOR=red><A NAME="450_7">Fld</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Field</A>;
+      <FONT COLOR=red><A NAME="451_7">Back</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Character_Attribute_Set</A> := Normal_Video;
       Color : <b>in</b> Color_Pair := Color_Pair'First);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_back()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Background);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_21"#2|</EM></FONT>
       Color : <b>in</b> Color_Pair := Color_Pair'First);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_back()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Background);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_21"#2|</EM></FONT>
-   <b>procedure</b> Background (<FONT COLOR=red><A NAME="458_26">Fld</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#304_9">Field</A>;
+   <b>procedure</b> Background (<FONT COLOR=red><A NAME="457_26">Fld</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#304_9">Field</A>;
                          Back : <b>out</b> Character_Attribute_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_back()</A></EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_22"#2|</EM></FONT>
                          Back : <b>out</b> Character_Attribute_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_back()</A></EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_22"#2|</EM></FONT>
-   <b>procedure</b> Background (<FONT COLOR=red><A NAME="463_26">Fld</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#304_9">Field</A>;
-                         <FONT COLOR=red><A NAME="464_26">Back</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Character_Attribute_Set</A>;
+   <b>procedure</b> Background (<FONT COLOR=red><A NAME="462_26">Fld</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#304_9">Field</A>;
+                         <FONT COLOR=red><A NAME="463_26">Back</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Character_Attribute_Set</A>;
                          Color : <b>out</b> Color_Pair);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_back()</A></EM></FONT>
    <b>pragma</b> Inline (Background);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_23"#2|</EM></FONT>
                          Color : <b>out</b> Color_Pair);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_back()</A></EM></FONT>
    <b>pragma</b> Inline (Background);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_23"#2|</EM></FONT>
-   <b>procedure</b> Set_Pad_Character (<FONT COLOR=red><A NAME="470_33">Fld</A></FONT> : <b>in</b> Field;
+   <b>procedure</b> Set_Pad_Character (<FONT COLOR=red><A NAME="469_33">Fld</A></FONT> : <b>in</b> Field;
                                 Pad : <b>in</b> Character := Space);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_pad()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Pad_Character);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_24"#2|</EM></FONT>
                                 Pad : <b>in</b> Character := Space);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_pad()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Pad_Character);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_24"#2|</EM></FONT>
-   <b>procedure</b> Pad_Character (<FONT COLOR=red><A NAME="476_29">Fld</A></FONT> : <b>in</b>  Field;
+   <b>procedure</b> Pad_Character (<FONT COLOR=red><A NAME="475_29">Fld</A></FONT> : <b>in</b>  Field;
                             Pad : <b>out</b> Character);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_pad()</A></EM></FONT>
    <b>pragma</b> Inline (Pad_Character);
                             Pad : <b>out</b> Character);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_pad()</A></EM></FONT>
    <b>pragma</b> Inline (Pad_Character);
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_25"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_25"#2|</EM></FONT>
-   <b>procedure</b> Info (<FONT COLOR=red><A NAME="486_20">Fld</A></FONT>                : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#62_12">Field</A>;
-                   <FONT COLOR=red><A NAME="487_20">Lines</A></FONT>              : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Line_Count</A>;
-                   <FONT COLOR=red><A NAME="488_20">Columns</A></FONT>            : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Column_Count</A>;
-                   <FONT COLOR=red><A NAME="489_20">First_Row</A></FONT>          : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>;
-                   <FONT COLOR=red><A NAME="490_20">First_Column</A></FONT>       : <b>out</b> Column_Position;
-                   <FONT COLOR=red><A NAME="491_20">Off_Screen</A></FONT>         : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#131_9">Natural</A>;
+   <b>procedure</b> Info (<FONT COLOR=red><A NAME="485_20">Fld</A></FONT>                : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#62_12">Field</A>;
+                   <FONT COLOR=red><A NAME="486_20">Lines</A></FONT>              : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Line_Count</A>;
+                   <FONT COLOR=red><A NAME="487_20">Columns</A></FONT>            : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Column_Count</A>;
+                   <FONT COLOR=red><A NAME="488_20">First_Row</A></FONT>          : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>;
+                   <FONT COLOR=red><A NAME="489_20">First_Column</A></FONT>       : <b>out</b> Column_Position;
+                   <FONT COLOR=red><A NAME="490_20">Off_Screen</A></FONT>         : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#130_9">Natural</A>;
                    Additional_Buffers : <b>out</b> Buffer_Number);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_info.3x.html">field_info()</A></EM></FONT>
    <b>pragma</b> Inline (Info);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_26"#2|</EM></FONT>
                    Additional_Buffers : <b>out</b> Buffer_Number);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_info.3x.html">field_info()</A></EM></FONT>
    <b>pragma</b> Inline (Info);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_26"#2|</EM></FONT>
-   <b>procedure</b> Dynamic_Info (<FONT COLOR=red><A NAME="497_28">Fld</A></FONT>     : <b>in</b> Field;
-                           <FONT COLOR=red><A NAME="498_28">Lines</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Line_Count</A>;
-                           <FONT COLOR=red><A NAME="499_28">Columns</A></FONT> : <b>out</b> Column_Count;
+   <b>procedure</b> Dynamic_Info (<FONT COLOR=red><A NAME="496_28">Fld</A></FONT>     : <b>in</b> Field;
+                           <FONT COLOR=red><A NAME="497_28">Lines</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Line_Count</A>;
+                           <FONT COLOR=red><A NAME="498_28">Columns</A></FONT> : <b>out</b> Column_Count;
                            Max     : <b>out</b> Natural);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_info.3x.html">dynamic_field_info()</A></EM></FONT>
    <b>pragma</b> Inline (Dynamic_Info);
                            Max     : <b>out</b> Natural);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_info.3x.html">dynamic_field_info()</A></EM></FONT>
    <b>pragma</b> Inline (Dynamic_Info);
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_27"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_27"#2|</EM></FONT>
-   <b>procedure</b> Set_Window (<FONT COLOR=red><A NAME="509_26">Frm</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Form</A>;
+   <b>procedure</b> Set_Window (<FONT COLOR=red><A NAME="508_26">Frm</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Form</A>;
                          Win : <b>in</b> Window);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_win.3x.html">set_form_win()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Window);
                          Win : <b>in</b> Window);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_win.3x.html">set_form_win()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Window);
    <b>pragma</b> Inline (Get_Window);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_29"#2|</EM></FONT>
    <b>pragma</b> Inline (Get_Window);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_29"#2|</EM></FONT>
-   <b>procedure</b> Set_Sub_Window (<FONT COLOR=red><A NAME="520_30">Frm</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Form</A>;
+   <b>procedure</b> Set_Sub_Window (<FONT COLOR=red><A NAME="519_30">Frm</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Form</A>;
                              Win : <b>in</b> Window);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_win.3x.html">set_form_sub()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Sub_Window);
                              Win : <b>in</b> Window);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_win.3x.html">set_form_sub()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Sub_Window);
    <b>pragma</b> Inline (Get_Sub_Window);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_31"#2|</EM></FONT>
    <b>pragma</b> Inline (Get_Sub_Window);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_31"#2|</EM></FONT>
-   <b>procedure</b> Scale (<FONT COLOR=red><A NAME="531_21">Frm</A></FONT>     : <b>in</b> Form;
-                    <FONT COLOR=red><A NAME="532_21">Lines</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Line_Count</A>;
+   <b>procedure</b> Scale (<FONT COLOR=red><A NAME="530_21">Frm</A></FONT>     : <b>in</b> Form;
+                    <FONT COLOR=red><A NAME="531_21">Lines</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Line_Count</A>;
                     Columns : <b>out</b> Column_Count);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_win.3x.html">scale_form()</A></EM></FONT>
    <b>pragma</b> Inline (Scale);
                     Columns : <b>out</b> Column_Count);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_win.3x.html">scale_form()</A></EM></FONT>
    <b>pragma</b> Inline (Scale);
    <b>pragma</b> Convention (C, Form_Hook_Function);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_32"#2|</EM></FONT>
    <b>pragma</b> Convention (C, Form_Hook_Function);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_32"#2|</EM></FONT>
-   <b>procedure</b> Set_Field_Init_Hook (<FONT COLOR=red><A NAME="545_35">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#540_9">Form</A>;
+   <b>procedure</b> Set_Field_Init_Hook (<FONT COLOR=red><A NAME="544_35">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#539_9">Form</A>;
                                   Proc : <b>in</b> Form_Hook_Function);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_hook.3x.html">set_field_init()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Field_Init_Hook);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_33"#2|</EM></FONT>
                                   Proc : <b>in</b> Form_Hook_Function);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_hook.3x.html">set_field_init()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Field_Init_Hook);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_33"#2|</EM></FONT>
-   <b>procedure</b> Set_Field_Term_Hook (<FONT COLOR=red><A NAME="551_35">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#540_9">Form</A>;
+   <b>procedure</b> Set_Field_Term_Hook (<FONT COLOR=red><A NAME="550_35">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#539_9">Form</A>;
                                   Proc : <b>in</b> Form_Hook_Function);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_hook.3x.html">set_field_term()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Field_Term_Hook);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_34"#2|</EM></FONT>
                                   Proc : <b>in</b> Form_Hook_Function);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_hook.3x.html">set_field_term()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Field_Term_Hook);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_34"#2|</EM></FONT>
-   <b>procedure</b> Set_Form_Init_Hook (<FONT COLOR=red><A NAME="557_34">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#540_9">Form</A>;
+   <b>procedure</b> Set_Form_Init_Hook (<FONT COLOR=red><A NAME="556_34">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#539_9">Form</A>;
                                  Proc : <b>in</b> Form_Hook_Function);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_hook.3x.html">set_form_init()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Form_Init_Hook);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_35"#2|</EM></FONT>
                                  Proc : <b>in</b> Form_Hook_Function);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_hook.3x.html">set_form_init()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Form_Init_Hook);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_35"#2|</EM></FONT>
-   <b>procedure</b> Set_Form_Term_Hook (<FONT COLOR=red><A NAME="563_34">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#540_9">Form</A>;
+   <b>procedure</b> Set_Form_Term_Hook (<FONT COLOR=red><A NAME="562_34">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#539_9">Form</A>;
                                  Proc : <b>in</b> Form_Hook_Function);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_hook.3x.html">set_form_term()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Form_Term_Hook);
                                  Proc : <b>in</b> Form_Hook_Function);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_hook.3x.html">set_form_term()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Form_Term_Hook);
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_40"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_40"#2|</EM></FONT>
-   <b>procedure</b> Redefine (<FONT COLOR=red><A NAME="593_24">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#136_9">Form</A>;
+   <b>procedure</b> Redefine (<FONT COLOR=red><A NAME="592_24">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#135_9">Form</A>;
                        Flds : <b>in</b> Field_Array_Access);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field.3x.html">set_form_fields()</A></EM></FONT>
    <b>pragma</b> Inline (Redefine);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_41"#2|</EM></FONT>
                        Flds : <b>in</b> Field_Array_Access);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field.3x.html">set_form_fields()</A></EM></FONT>
    <b>pragma</b> Inline (Redefine);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_41"#2|</EM></FONT>
-   <b>procedure</b> Set_Fields (<FONT COLOR=red><A NAME="599_26">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#136_9">Form</A>;
+   <b>procedure</b> Set_Fields (<FONT COLOR=red><A NAME="598_26">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#135_9">Form</A>;
                          Flds : <b>in</b> Field_Array_Access) <b>renames</b> Redefine;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field.3x.html">set_form_fields()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Fields);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_42"#2|</EM></FONT>
                          Flds : <b>in</b> Field_Array_Access) <b>renames</b> Redefine;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field.3x.html">set_form_fields()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Fields);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_42"#2|</EM></FONT>
-   <b>function</b> Fields (<FONT COLOR=red><A NAME="605_21">Frm</A></FONT>   : Form;
+   <b>function</b> Fields (<FONT COLOR=red><A NAME="604_21">Frm</A></FONT>   : Form;
                     Index : Positive) <b>return</b> Field;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field.3x.html">form_fields()</A></EM></FONT>
    <b>pragma</b> Inline (Fields);
                     Index : Positive) <b>return</b> Field;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field.3x.html">form_fields()</A></EM></FONT>
    <b>pragma</b> Inline (Fields);
    <b>pragma</b> Inline (Field_Count);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_44"#2|</EM></FONT>
    <b>pragma</b> Inline (Field_Count);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_44"#2|</EM></FONT>
-   <b>procedure</b> Move (<FONT COLOR=red><A NAME="616_20">Fld</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Field</A>;
-                   <FONT COLOR=red><A NAME="617_20">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>;
+   <b>procedure</b> Move (<FONT COLOR=red><A NAME="615_20">Fld</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Field</A>;
+                   <FONT COLOR=red><A NAME="616_20">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>;
                    Column : <b>in</b> Column_Position);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field.3x.html">move_field()</A></EM></FONT>
    <b>pragma</b> Inline (Move);
                    Column : <b>in</b> Column_Position);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field.3x.html">move_field()</A></EM></FONT>
    <b>pragma</b> Inline (Move);
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_48"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_48"#2|</EM></FONT>
-   <b>procedure</b> Set_Options (<FONT COLOR=red><A NAME="648_27">Frm</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#108_9">Form</A>;
+   <b>procedure</b> Set_Options (<FONT COLOR=red><A NAME="647_27">Frm</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#107_9">Form</A>;
                           Options : <b>in</b> Form_Option_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_opts.3x.html">set_form_opts()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Options);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_49"#2|</EM></FONT>
                           Options : <b>in</b> Form_Option_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_opts.3x.html">set_form_opts()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Options);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_49"#2|</EM></FONT>
-   <b>procedure</b> Switch_Options (<FONT COLOR=red><A NAME="654_30">Frm</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#108_9">Form</A>;
-                             <FONT COLOR=red><A NAME="655_30">Options</A></FONT> : <b>in</b> Form_Option_Set;
+   <b>procedure</b> Switch_Options (<FONT COLOR=red><A NAME="653_30">Frm</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#107_9">Form</A>;
+                             <FONT COLOR=red><A NAME="654_30">Options</A></FONT> : <b>in</b> Form_Option_Set;
                              On      : Boolean := True);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_opts.3x.html">form_opts_on()</A></EM></FONT>
    <FONT COLOR=green><EM>--  AKA: form_opts_off()</EM></FONT>
    <b>pragma</b> Inline (Switch_Options);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_50"#2|</EM></FONT>
                              On      : Boolean := True);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_opts.3x.html">form_opts_on()</A></EM></FONT>
    <FONT COLOR=green><EM>--  AKA: form_opts_off()</EM></FONT>
    <b>pragma</b> Inline (Switch_Options);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_50"#2|</EM></FONT>
-   <b>procedure</b> Get_Options (<FONT COLOR=red><A NAME="662_27">Frm</A></FONT>     : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#108_9">Form</A>;
+   <b>procedure</b> Get_Options (<FONT COLOR=red><A NAME="661_27">Frm</A></FONT>     : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#107_9">Form</A>;
                           Options : <b>out</b> Form_Option_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_opts.3x.html">form_opts()</A></EM></FONT>
 
                           Options : <b>out</b> Form_Option_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_opts.3x.html">form_opts()</A></EM></FONT>
 
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_52"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_52"#2|</EM></FONT>
-   <b>procedure</b> Post (<FONT COLOR=red><A NAME="676_20">Frm</A></FONT>  : <b>in</b> Form;
+   <b>procedure</b> Post (<FONT COLOR=red><A NAME="675_20">Frm</A></FONT>  : <b>in</b> Form;
                    Post : <b>in</b> Boolean := True);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_post.3x.html">post_form()</A></EM></FONT>
    <FONT COLOR=green><EM>--  AKA: unpost_form()</EM></FONT>
                    Post : <b>in</b> Boolean := True);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_post.3x.html">post_form()</A></EM></FONT>
    <FONT COLOR=green><EM>--  AKA: unpost_form()</EM></FONT>
    <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_driver.3x.html">form_driver.3x</A></EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_driver.3x.html">form_driver.3x</A></EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
-   <b>type</b> Driver_Result <b>is</b> (<FONT COLOR=red><A NAME="709_27">Form_Ok</A></FONT>,
-                          <FONT COLOR=red><A NAME="710_27">Request_Denied</A></FONT>,
-                          <FONT COLOR=red><A NAME="711_27">Unknown_Request</A></FONT>,
+   <b>type</b> Driver_Result <b>is</b> (<FONT COLOR=red><A NAME="708_27">Form_Ok</A></FONT>,
+                          <FONT COLOR=red><A NAME="709_27">Request_Denied</A></FONT>,
+                          <FONT COLOR=red><A NAME="710_27">Unknown_Request</A></FONT>,
                           Invalid_Field);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_56"#2|</EM></FONT>
                           Invalid_Field);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_56"#2|</EM></FONT>
-   <b>function</b> Driver (<FONT COLOR=red><A NAME="715_21">Frm</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#67_9">Form</A>;
+   <b>function</b> Driver (<FONT COLOR=red><A NAME="714_21">Frm</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#67_9">Form</A>;
                     Key : Key_Code) <b>return</b> Driver_Result;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_driver.3x.html">form_driver()</A></EM></FONT>
    <FONT COLOR=green><EM>--  Driver not inlined</EM></FONT>
                     Key : Key_Code) <b>return</b> Driver_Result;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_driver.3x.html">form_driver()</A></EM></FONT>
    <FONT COLOR=green><EM>--  Driver not inlined</EM></FONT>
    <b>type</b> Page_Number <b>is</b> <b>new</b> Natural;
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_57"#2|</EM></FONT>
    <b>type</b> Page_Number <b>is</b> <b>new</b> Natural;
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_57"#2|</EM></FONT>
-   <b>procedure</b> Set_Current (<FONT COLOR=red><A NAME="727_27">Frm</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Form</A>;
+   <b>procedure</b> Set_Current (<FONT COLOR=red><A NAME="726_27">Frm</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#55_9">Form</A>;
                           Fld : <b>in</b> Field);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_page.3x.html">set_current_field()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Current);
                           Fld : <b>in</b> Field);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_page.3x.html">set_current_field()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Current);
    <b>pragma</b> Inline (Current);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_59"#2|</EM></FONT>
    <b>pragma</b> Inline (Current);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_59"#2|</EM></FONT>
-   <b>procedure</b> Set_Page (<FONT COLOR=red><A NAME="738_24">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#723_9">Form</A>;
+   <b>procedure</b> Set_Page (<FONT COLOR=red><A NAME="737_24">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#722_9">Form</A>;
                        Page : <b>in</b> Page_Number := Page_Number'First);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_page.3x.html">set_form_page()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Page);
                        Page : <b>in</b> Page_Number := Page_Number'First);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_page.3x.html">set_form_page()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Page);
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_62"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_62"#2|</EM></FONT>
-   <b>procedure</b> Set_New_Page (<FONT COLOR=red><A NAME="761_28">Fld</A></FONT>      : <b>in</b> Field;
+   <b>procedure</b> Set_New_Page (<FONT COLOR=red><A NAME="760_28">Fld</A></FONT>      : <b>in</b> Field;
                            New_Page : <b>in</b> Boolean := True);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_new_page.3x.html">set_new_page()</A></EM></FONT>
    <b>pragma</b> Inline (Set_New_Page);
                            New_Page : <b>in</b> Boolean := True);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_new_page.3x.html">set_new_page()</A></EM></FONT>
    <b>pragma</b> Inline (Set_New_Page);
 
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <b>private</b>
 
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <b>private</b>
-   <b>type</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Field</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
+   <b>type</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
    <b>type</b> Form  <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
 
    <b>type</b> Form  <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
 
-   <A HREF="terminal_interface-curses-forms__ads.htm#60_4">Null_Field</A> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#57_9">Field</A> := 0;
+   <A HREF="terminal_interface-curses-forms__ads.htm#59_4">Null_Field</A> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#56_9">Field</A> := 0;
    Null_Form  : <b>constant</b> Form  := 0;
 
 <b>end</b> Terminal_Interface.Curses.Forms;
    Null_Form  : <b>constant</b> Form  := 0;
 
 <b>end</b> Terminal_Interface.Curses.Forms;
index c4912b61ada04a6fc1884b80a4dca0bf69f0169b..fc3aa7985d31d16178d35ddbc76431ed04543b3a 100644 (file)
 
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
 
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#57_14">Set_User_Data</A><FONT COLOR=red><A NAME="48_14"></A></FONT> (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#57_29">Itm</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#57_14">Set_User_Data</A><FONT COLOR=red><A NAME="48_14"></A></FONT> (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#57_29">Itm</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>;
                             <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#58_29">Data</A> : <b>in</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#44_9">User_Access</A>)
    <b>is</b>
                             <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#58_29">Data</A> : <b>in</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#44_9">User_Access</A>)
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="51_16">Set_Item_Userptr</A></FONT> (<FONT COLOR=red><A NAME="51_34">Itm</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="51_16">Set_Item_Userptr</A></FONT> (<FONT COLOR=red><A NAME="51_34">Itm</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>;
                                  <FONT COLOR=red><A NAME="52_34">Addr</A></FONT> : <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#44_9">User_Access</A>)  <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus-item_user_data__adb.htm#51_16">Set_Item_Userptr</A>, "set_item_userptr");
 
                                  <FONT COLOR=red><A NAME="52_34">Addr</A></FONT> : <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#44_9">User_Access</A>)  <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus-item_user_data__adb.htm#51_16">Set_Item_Userptr</A>, "set_item_userptr");
 
       <b>end</b> <b>if</b>;
    <b>end</b> Set_User_Data;
 
       <b>end</b> <b>if</b>;
    <b>end</b> Set_User_Data;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#68_13">Get_User_Data</A><FONT COLOR=red><A NAME="62_13"></A></FONT> (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#68_28">Itm</A>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#44_9">User_Access</A>
+   <b>function</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#68_13">Get_User_Data</A><FONT COLOR=red><A NAME="62_13"></A></FONT> (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#68_28">Itm</A>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#44_9">User_Access</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="64_16">Item_Userptr</A></FONT> (<FONT COLOR=red><A NAME="64_30">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#44_9">User_Access</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="64_16">Item_Userptr</A></FONT> (<FONT COLOR=red><A NAME="64_30">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#44_9">User_Access</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus-item_user_data__adb.htm#64_16">Item_Userptr</A>, "item_userptr");
    <b>begin</b>
       <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__adb.htm#64_16">Item_Userptr</A> (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#68_28">Itm</A>);
    <b>end</b> Get_User_Data;
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus-item_user_data__adb.htm#64_16">Item_Userptr</A>, "item_userptr");
    <b>begin</b>
       <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__adb.htm#64_16">Item_Userptr</A> (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#68_28">Itm</A>);
    <b>end</b> Get_User_Data;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#63_14">Get_User_Data</A><FONT COLOR=red><A NAME="70_14"></A></FONT> (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#63_29">Itm</A>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#63_14">Get_User_Data</A><FONT COLOR=red><A NAME="70_14"></A></FONT> (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#63_29">Itm</A>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>;
                             <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#64_29">Data</A> : <b>out</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#44_9">User_Access</A>)
    <b>is</b>
    <b>begin</b>
                             <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#64_29">Data</A> : <b>out</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#44_9">User_Access</A>)
    <b>is</b>
    <b>begin</b>
index c565bc6fbf40c17f90769f6ad8ad7ef6b5b68de8..92499022ee49d7a854f8d2ef7d21cb65c52dcdd8 100644 (file)
@@ -46,7 +46,7 @@
 
 <b>generic</b>
    <b>type</b> <FONT COLOR=red><A NAME="44_9">User</A></FONT> <b>is</b> <b>limited</b> <b>private</b>;
 
 <b>generic</b>
    <b>type</b> <FONT COLOR=red><A NAME="44_9">User</A></FONT> <b>is</b> <b>limited</b> <b>private</b>;
-   <b>type</b> <A HREF="terminal_interface__ads.htm#41_9">User_Access</A> <b>is</b> <b>access</b> User<A HREF="terminal_interface-curses-menus__ads.htm#49_35">;</A>
+   <b>type</b> <A HREF="terminal_interface__ads.htm#41_9">User_Access</A> <b>is</b> <b>access</b> User<A HREF="terminal_interface-curses-menus__ads.htm#48_35">;</A>
 <b>package</b> Terminal_Interface.Curses.Menus.Item_User_Data <b>is</b>
    <b>pragma</b> Preelaborate (Terminal_Interface.Curses.Menus.Item_User_Data);
 
 <b>package</b> Terminal_Interface.Curses.Menus.Item_User_Data <b>is</b>
    <b>pragma</b> Preelaborate (Terminal_Interface.Curses.Menus.Item_User_Data);
 
index e320f4208ec45df68a8938cb8e9f08a0a6706285..5bd10d35d9530f224c3df499fe796c3035f8ae1e 100644 (file)
 
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
 
    <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#53_14">Set_User_Data</A><FONT COLOR=red><A NAME="47_14"></A></FONT> (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#53_29">Men</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#53_14">Set_User_Data</A><FONT COLOR=red><A NAME="47_14"></A></FONT> (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#53_29">Men</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                             <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#54_29">Data</A> : <b>in</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#44_9">User_Access</A>)
    <b>is</b>
                             <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#54_29">Data</A> : <b>in</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#44_9">User_Access</A>)
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="50_16">Set_Menu_Userptr</A></FONT> (<FONT COLOR=red><A NAME="50_34">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="50_16">Set_Menu_Userptr</A></FONT> (<FONT COLOR=red><A NAME="50_34">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                                  <FONT COLOR=red><A NAME="51_34">Data</A></FONT> : <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#44_9">User_Access</A>)  <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#50_16">Set_Menu_Userptr</A>, "set_menu_userptr");
 
                                  <FONT COLOR=red><A NAME="51_34">Data</A></FONT> : <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#44_9">User_Access</A>)  <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#50_16">Set_Menu_Userptr</A>, "set_menu_userptr");
 
       <b>end</b> <b>if</b>;
    <b>end</b> Set_User_Data;
 
       <b>end</b> <b>if</b>;
    <b>end</b> Set_User_Data;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#64_13">Get_User_Data</A><FONT COLOR=red><A NAME="61_13"></A></FONT> (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#64_28">Men</A>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#44_9">User_Access</A>
+   <b>function</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#64_13">Get_User_Data</A><FONT COLOR=red><A NAME="61_13"></A></FONT> (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#64_28">Men</A>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#44_9">User_Access</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="63_16">Menu_Userptr</A></FONT> (<FONT COLOR=red><A NAME="63_30">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#44_9">User_Access</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="63_16">Menu_Userptr</A></FONT> (<FONT COLOR=red><A NAME="63_30">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#44_9">User_Access</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#63_16">Menu_Userptr</A>, "menu_userptr");
    <b>begin</b>
       <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#63_16">Menu_Userptr</A> (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#64_28">Men</A>);
    <b>end</b> Get_User_Data;
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#63_16">Menu_Userptr</A>, "menu_userptr");
    <b>begin</b>
       <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#63_16">Menu_Userptr</A> (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#64_28">Men</A>);
    <b>end</b> Get_User_Data;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#59_14">Get_User_Data</A><FONT COLOR=red><A NAME="69_14"></A></FONT> (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#59_29">Men</A>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#59_14">Get_User_Data</A><FONT COLOR=red><A NAME="69_14"></A></FONT> (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#59_29">Men</A>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                             <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#60_29">Data</A> : <b>out</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#44_9">User_Access</A>)
    <b>is</b>
    <b>begin</b>
                             <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#60_29">Data</A> : <b>out</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#44_9">User_Access</A>)
    <b>is</b>
    <b>begin</b>
index 39a55253b5093012e65765a77aa58940afabc55f..a522b71ae970ebd2a6e99b298c5f3c3232bcd388 100644 (file)
@@ -46,7 +46,7 @@
 
 <b>generic</b>
    <b>type</b> <FONT COLOR=red><A NAME="44_9">User</A></FONT> <b>is</b> <b>limited</b> <b>private</b>;
 
 <b>generic</b>
    <b>type</b> <FONT COLOR=red><A NAME="44_9">User</A></FONT> <b>is</b> <b>limited</b> <b>private</b>;
-   <b>type</b> <A HREF="terminal_interface__ads.htm#41_9">User_Access</A> <b>is</b> <b>access</b> User<A HREF="terminal_interface-curses-menus__ads.htm#49_35">;</A>
+   <b>type</b> <A HREF="terminal_interface__ads.htm#41_9">User_Access</A> <b>is</b> <b>access</b> User<A HREF="terminal_interface-curses-menus__ads.htm#48_35">;</A>
 <b>package</b> Terminal_Interface.Curses.Menus.Menu_User_Data <b>is</b>
    <b>pragma</b> Preelaborate (Terminal_Interface.Curses.Menus.Menu_User_Data);
 
 <b>package</b> Terminal_Interface.Curses.Menus.Menu_User_Data <b>is</b>
    <b>pragma</b> Preelaborate (Terminal_Interface.Curses.Menus.Menu_User_Data);
 
index 1b9c1d01854a55ab24214ee1bbd41d00c045c70e..7bb3b0ee0f0061a15a5ae8d406575e50146f0386 100644 (file)
 
 <b>with</b> Ada.Unchecked_Conversion;
 
 
 <b>with</b> Ada.Unchecked_Conversion;
 
-<b>package</b> <b>body</b> Terminal_Interface.Curses.<A HREF="terminal_interface-curses-menus__ads.htm#49_35">Menus</A><FONT COLOR=red><A NAME="50_40"></A></FONT> <b>is</b>
+<b>package</b> <b>body</b> Terminal_Interface.Curses.<A HREF="terminal_interface-curses-menus__ads.htm#48_35">Menus</A><FONT COLOR=red><A NAME="50_40"></A></FONT> <b>is</b>
 
 
-   <b>type</b> <FONT COLOR=red><A NAME="52_9">C_Item_Array</A></FONT> <b>is</b> <b>array</b> (Natural <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>;
+   <b>type</b> <FONT COLOR=red><A NAME="52_9">C_Item_Array</A></FONT> <b>is</b> <b>array</b> (Natural <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>;
    <b>package</b> <FONT COLOR=red><A NAME="53_12">I_Array</A></FONT> <b>is</b> <b>new</b>
    <b>package</b> <FONT COLOR=red><A NAME="53_12">I_Array</A></FONT> <b>is</b> <b>new</b>
-     <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Pointers (Natural, <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>, <A HREF="terminal_interface-curses-menus__adb.htm#52_9">C_Item_Array</A>, <A HREF="terminal_interface-curses-menus__ads.htm#62_4">Null_Item</A>);
+     <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Pointers (Natural, <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>, <A HREF="terminal_interface-curses-menus__adb.htm#52_9">C_Item_Array</A>, <A HREF="terminal_interface-curses-menus__ads.htm#61_4">Null_Item</A>);
 
    <b>use</b> <b>type</b> System.Bit_Order;
    <b>subtype</b> <FONT COLOR=red><A NAME="57_12">chars_ptr</A></FONT> <b>is</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Strings.chars_ptr;
 
    <b>function</b> <FONT COLOR=red><A NAME="59_13">MOS_2_CInt</A></FONT> <b>is</b> <b>new</b>
 
    <b>use</b> <b>type</b> System.Bit_Order;
    <b>subtype</b> <FONT COLOR=red><A NAME="57_12">chars_ptr</A></FONT> <b>is</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Strings.chars_ptr;
 
    <b>function</b> <FONT COLOR=red><A NAME="59_13">MOS_2_CInt</A></FONT> <b>is</b> <b>new</b>
-     Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-menus__ads.htm#121_9">Menu_Option_Set</A>,
+     Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-menus__ads.htm#120_9">Menu_Option_Set</A>,
                                <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>);
 
    <b>function</b> <FONT COLOR=red><A NAME="63_13">CInt_2_MOS</A></FONT> <b>is</b> <b>new</b>
      Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>,
                                <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>);
 
    <b>function</b> <FONT COLOR=red><A NAME="63_13">CInt_2_MOS</A></FONT> <b>is</b> <b>new</b>
      Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>,
-                               <A HREF="terminal_interface-curses-menus__ads.htm#121_9">Menu_Option_Set</A>);
+                               <A HREF="terminal_interface-curses-menus__ads.htm#120_9">Menu_Option_Set</A>);
 
    <b>function</b> <FONT COLOR=red><A NAME="67_13">IOS_2_CInt</A></FONT> <b>is</b> <b>new</b>
 
    <b>function</b> <FONT COLOR=red><A NAME="67_13">IOS_2_CInt</A></FONT> <b>is</b> <b>new</b>
-     Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-menus__ads.htm#154_9">Item_Option_Set</A>,
+     Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-menus__ads.htm#153_9">Item_Option_Set</A>,
                                <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>);
 
    <b>function</b> <FONT COLOR=red><A NAME="71_13">CInt_2_IOS</A></FONT> <b>is</b> <b>new</b>
      Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>,
                                <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>);
 
    <b>function</b> <FONT COLOR=red><A NAME="71_13">CInt_2_IOS</A></FONT> <b>is</b> <b>new</b>
      Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>,
-                               <A HREF="terminal_interface-curses-menus__ads.htm#154_9">Item_Option_Set</A>);
+                               <A HREF="terminal_interface-curses-menus__ads.htm#153_9">Item_Option_Set</A>);
 
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#106_14">Request_Name</A><FONT COLOR=red><A NAME="76_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#106_28">Key</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A>;
-                           <A HREF="terminal_interface-curses-menus__ads.htm#107_28">Name</A> : <b>out</b> String)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#105_14">Request_Name</A><FONT COLOR=red><A NAME="76_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#105_28">Key</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A>;
+                           <A HREF="terminal_interface-curses-menus__ads.htm#106_28">Name</A> : <b>out</b> String)
    <b>is</b>
       <b>function</b> <FONT COLOR=red><A NAME="79_16">Request_Name</A></FONT> (<FONT COLOR=red><A NAME="79_30">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#79_16">Request_Name</A>, "menu_request_name");
    <b>begin</b>
    <b>is</b>
       <b>function</b> <FONT COLOR=red><A NAME="79_16">Request_Name</A></FONT> (<FONT COLOR=red><A NAME="79_30">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#79_16">Request_Name</A>, "menu_request_name");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#79_16">Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#106_28">Key</A>)), <A HREF="terminal_interface-curses-menus__ads.htm#107_28">Name</A>);
+      <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#79_16">Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#105_28">Key</A>)), <A HREF="terminal_interface-curses-menus__ads.htm#106_28">Name</A>);
    <b>end</b> Request_Name;
 
    <b>end</b> Request_Name;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#109_14">Request_Name</A><FONT COLOR=red><A NAME="85_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#109_28">Key</A> : <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A>) <b>return</b> String
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#108_14">Request_Name</A><FONT COLOR=red><A NAME="85_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#108_28">Key</A> : <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A>) <b>return</b> String
    <b>is</b>
       <b>function</b> <FONT COLOR=red><A NAME="87_16">Request_Name</A></FONT> (<FONT COLOR=red><A NAME="87_30">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#87_16">Request_Name</A>, "menu_request_name");
    <b>begin</b>
    <b>is</b>
       <b>function</b> <FONT COLOR=red><A NAME="87_16">Request_Name</A></FONT> (<FONT COLOR=red><A NAME="87_30">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#87_16">Request_Name</A>, "menu_request_name");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#87_16">Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#109_28">Key</A>)));
+      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#87_16">Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#108_28">Key</A>)));
    <b>end</b> Request_Name;
 
    <b>end</b> Request_Name;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#193_13">Create</A><FONT COLOR=red><A NAME="93_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#193_21">Name</A>        : String;
-                    <A HREF="terminal_interface-curses-menus__ads.htm#194_21">Description</A> : String := "") <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#192_13">Create</A><FONT COLOR=red><A NAME="93_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#192_21">Name</A>        : String;
+                    <A HREF="terminal_interface-curses-menus__ads.htm#193_21">Description</A> : String := "") <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>
    <b>is</b>
       <b>type</b> Char_Ptr <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.char;
    <b>is</b>
       <b>type</b> Char_Ptr <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.char;
-      <b>function</b> <FONT COLOR=red><A NAME="97_16">Newitem</A></FONT> (Name, Desc : Char_Ptr) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="97_16">Newitem</A></FONT> (Name, Desc : Char_Ptr) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#97_16">Newitem</A>, "new_item");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#97_16">Newitem</A>, "new_item");
 
-      <b>type</b> <FONT COLOR=red><A NAME="100_12">Name_String</A></FONT> <b>is</b> <b>new</b> char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#193_21">Name</A>'Length);
+      <b>type</b> <FONT COLOR=red><A NAME="100_12">Name_String</A></FONT> <b>is</b> <b>new</b> char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#192_21">Name</A>'Length);
       <b>type</b> <FONT COLOR=red><A NAME="101_12">Name_String_Ptr</A></FONT> <b>is</b> <b>access</b> <A HREF="terminal_interface-curses-menus__adb.htm#100_12">Name_String</A>;
       <b>pragma</b> Controlled (<A HREF="terminal_interface-curses-menus__adb.htm#101_12">Name_String_Ptr</A>);
 
       <b>type</b> <FONT COLOR=red><A NAME="101_12">Name_String_Ptr</A></FONT> <b>is</b> <b>access</b> <A HREF="terminal_interface-curses-menus__adb.htm#100_12">Name_String</A>;
       <b>pragma</b> Controlled (<A HREF="terminal_interface-curses-menus__adb.htm#101_12">Name_String_Ptr</A>);
 
-      <b>type</b> <FONT COLOR=red><A NAME="104_12">Desc_String</A></FONT> <b>is</b> <b>new</b> char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#194_21">Description</A>'Length);
+      <b>type</b> <FONT COLOR=red><A NAME="104_12">Desc_String</A></FONT> <b>is</b> <b>new</b> char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#193_21">Description</A>'Length);
       <b>type</b> <FONT COLOR=red><A NAME="105_12">Desc_String_Ptr</A></FONT> <b>is</b> <b>access</b> <A HREF="terminal_interface-curses-menus__adb.htm#104_12">Desc_String</A>;
       <b>pragma</b> Controlled (<A HREF="terminal_interface-curses-menus__adb.htm#105_12">Desc_String_Ptr</A>);
 
       <FONT COLOR=red><A NAME="108_7">Name_Str</A></FONT> : <A HREF="terminal_interface-curses-menus__adb.htm#101_12">Name_String_Ptr</A> := <b>new</b> <A HREF="terminal_interface-curses-menus__adb.htm#100_12">Name_String</A>;
       <FONT COLOR=red><A NAME="109_7">Desc_Str</A></FONT> : <A HREF="terminal_interface-curses-menus__adb.htm#105_12">Desc_String_Ptr</A> := <b>new</b> <A HREF="terminal_interface-curses-menus__adb.htm#104_12">Desc_String</A>;
       <FONT COLOR=red><A NAME="110_7">Name_Len</A></FONT>, <FONT COLOR=red><A NAME="110_17">Desc_Len</A></FONT> : size_t;
       <b>type</b> <FONT COLOR=red><A NAME="105_12">Desc_String_Ptr</A></FONT> <b>is</b> <b>access</b> <A HREF="terminal_interface-curses-menus__adb.htm#104_12">Desc_String</A>;
       <b>pragma</b> Controlled (<A HREF="terminal_interface-curses-menus__adb.htm#105_12">Desc_String_Ptr</A>);
 
       <FONT COLOR=red><A NAME="108_7">Name_Str</A></FONT> : <A HREF="terminal_interface-curses-menus__adb.htm#101_12">Name_String_Ptr</A> := <b>new</b> <A HREF="terminal_interface-curses-menus__adb.htm#100_12">Name_String</A>;
       <FONT COLOR=red><A NAME="109_7">Desc_Str</A></FONT> : <A HREF="terminal_interface-curses-menus__adb.htm#105_12">Desc_String_Ptr</A> := <b>new</b> <A HREF="terminal_interface-curses-menus__adb.htm#104_12">Desc_String</A>;
       <FONT COLOR=red><A NAME="110_7">Name_Len</A></FONT>, <FONT COLOR=red><A NAME="110_17">Desc_Len</A></FONT> : size_t;
-      <FONT COLOR=red><A NAME="111_7">Result</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>;
+      <FONT COLOR=red><A NAME="111_7">Result</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>;
    <b>begin</b>
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses-menus__ads.htm#193_21">Name</A>, <A HREF="terminal_interface-curses-menus__adb.htm#108_7">Name_Str</A>.<b>all</b>, <A HREF="terminal_interface-curses-menus__adb.htm#110_7">Name_Len</A>);
-      To_C (<A HREF="terminal_interface-curses-menus__ads.htm#194_21">Description</A>, <A HREF="terminal_interface-curses-menus__adb.htm#109_7">Desc_Str</A>.<b>all</b>, <A HREF="terminal_interface-curses-menus__adb.htm#110_17">Desc_Len</A>);
+      To_C (<A HREF="terminal_interface-curses-menus__ads.htm#192_21">Name</A>, <A HREF="terminal_interface-curses-menus__adb.htm#108_7">Name_Str</A>.<b>all</b>, <A HREF="terminal_interface-curses-menus__adb.htm#110_7">Name_Len</A>);
+      To_C (<A HREF="terminal_interface-curses-menus__ads.htm#193_21">Description</A>, <A HREF="terminal_interface-curses-menus__adb.htm#109_7">Desc_Str</A>.<b>all</b>, <A HREF="terminal_interface-curses-menus__adb.htm#110_17">Desc_Len</A>);
       <A HREF="terminal_interface-curses-menus__adb.htm#111_7">Result</A> := <A HREF="terminal_interface-curses-menus__adb.htm#97_16">Newitem</A> (<A HREF="terminal_interface-curses-menus__adb.htm#108_7">Name_Str</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#108_7">Name_Str</A>.<b>all</b>'First)'<b>Access</b>,
                          <A HREF="terminal_interface-curses-menus__adb.htm#109_7">Desc_Str</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#109_7">Desc_Str</A>.<b>all</b>'First)'<b>Access</b>);
       <A HREF="terminal_interface-curses-menus__adb.htm#111_7">Result</A> := <A HREF="terminal_interface-curses-menus__adb.htm#97_16">Newitem</A> (<A HREF="terminal_interface-curses-menus__adb.htm#108_7">Name_Str</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#108_7">Name_Str</A>.<b>all</b>'First)'<b>Access</b>,
                          <A HREF="terminal_interface-curses-menus__adb.htm#109_7">Desc_Str</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#109_7">Desc_Str</A>.<b>all</b>'First)'<b>Access</b>);
-      <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#111_7">Result</A> = <A HREF="terminal_interface-curses-menus__ads.htm#62_4">Null_Item</A> <b>then</b>
+      <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#111_7">Result</A> = <A HREF="terminal_interface-curses-menus__ads.htm#61_4">Null_Item</A> <b>then</b>
          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#387_4">Eti_System_Error</A>;
       <b>end</b> <b>if</b>;
       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#111_7">Result</A>;
    <b>end</b> Create;
 
          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#387_4">Eti_System_Error</A>;
       <b>end</b> <b>if</b>;
       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#111_7">Result</A>;
    <b>end</b> Create;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#205_14">Delete</A><FONT COLOR=red><A NAME="123_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#205_22">Itm</A> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#204_14">Delete</A><FONT COLOR=red><A NAME="123_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#204_22">Itm</A> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="125_16">Descname</A></FONT> (<FONT COLOR=red><A NAME="125_26">Itm</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="125_16">Descname</A></FONT> (<FONT COLOR=red><A NAME="125_26">Itm</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#125_16">Descname</A>, "item_description");
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#125_16">Descname</A>, "item_description");
-      <b>function</b> <FONT COLOR=red><A NAME="127_16">Itemname</A></FONT> (<FONT COLOR=red><A NAME="127_26">Itm</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="127_16">Itemname</A></FONT> (<FONT COLOR=red><A NAME="127_26">Itm</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#127_16">Itemname</A>, "item_name");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#127_16">Itemname</A>, "item_name");
 
-      <b>function</b> <FONT COLOR=red><A NAME="130_16">Freeitem</A></FONT> (<FONT COLOR=red><A NAME="130_26">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="130_16">Freeitem</A></FONT> (<FONT COLOR=red><A NAME="130_26">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#130_16">Freeitem</A>, "free_item");
 
       <FONT COLOR=red><A NAME="133_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
       <FONT COLOR=red><A NAME="134_7">Ptr</A></FONT> : <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#130_16">Freeitem</A>, "free_item");
 
       <FONT COLOR=red><A NAME="133_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
       <FONT COLOR=red><A NAME="134_7">Ptr</A></FONT> : <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__adb.htm#134_7">Ptr</A> := <A HREF="terminal_interface-curses-menus__adb.htm#125_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#205_22">Itm</A>);
+      <A HREF="terminal_interface-curses-menus__adb.htm#134_7">Ptr</A> := <A HREF="terminal_interface-curses-menus__adb.htm#125_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#204_22">Itm</A>);
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#134_7">Ptr</A> /= Null_Ptr <b>then</b>
          <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Strings.Free (<A HREF="terminal_interface-curses-menus__adb.htm#134_7">Ptr</A>);
       <b>end</b> <b>if</b>;
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#134_7">Ptr</A> /= Null_Ptr <b>then</b>
          <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Strings.Free (<A HREF="terminal_interface-curses-menus__adb.htm#134_7">Ptr</A>);
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses-menus__adb.htm#134_7">Ptr</A> := <A HREF="terminal_interface-curses-menus__adb.htm#127_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#205_22">Itm</A>);
+      <A HREF="terminal_interface-curses-menus__adb.htm#134_7">Ptr</A> := <A HREF="terminal_interface-curses-menus__adb.htm#127_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#204_22">Itm</A>);
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#134_7">Ptr</A> /= Null_Ptr <b>then</b>
          <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Strings.Free (<A HREF="terminal_interface-curses-menus__adb.htm#134_7">Ptr</A>);
       <b>end</b> <b>if</b>;
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#134_7">Ptr</A> /= Null_Ptr <b>then</b>
          <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Strings.Free (<A HREF="terminal_interface-curses-menus__adb.htm#134_7">Ptr</A>);
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses-menus__adb.htm#133_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#130_16">Freeitem</A> (<A HREF="terminal_interface-curses-menus__ads.htm#205_22">Itm</A>);
+      <A HREF="terminal_interface-curses-menus__adb.htm#133_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#130_16">Freeitem</A> (<A HREF="terminal_interface-curses-menus__ads.htm#204_22">Itm</A>);
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#133_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#133_7">Res</A>);
       <b>end</b> <b>if</b>;
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#133_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#133_7">Res</A>);
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses-menus__ads.htm#205_22">Itm</A> := <A HREF="terminal_interface-curses-menus__ads.htm#62_4">Null_Item</A>;
+      <A HREF="terminal_interface-curses-menus__ads.htm#204_22">Itm</A> := <A HREF="terminal_interface-curses-menus__ads.htm#61_4">Null_Item</A>;
    <b>end</b> Delete;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
    <b>end</b> Delete;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#214_14">Set_Value</A><FONT COLOR=red><A NAME="151_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#214_25">Itm</A>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>;
-                        <A HREF="terminal_interface-curses-menus__ads.htm#215_25">Value</A> : <b>in</b> Boolean := True)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#213_14">Set_Value</A><FONT COLOR=red><A NAME="151_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#213_25">Itm</A>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>;
+                        <A HREF="terminal_interface-curses-menus__ads.htm#214_25">Value</A> : <b>in</b> Boolean := True)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="154_16">Set_Item_Val</A></FONT> (<FONT COLOR=red><A NAME="154_30">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="154_16">Set_Item_Val</A></FONT> (<FONT COLOR=red><A NAME="154_30">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>;
                              <FONT COLOR=red><A NAME="155_30">Val</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#154_16">Set_Item_Val</A>, "set_item_value");
 
                              <FONT COLOR=red><A NAME="155_30">Val</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#154_16">Set_Item_Val</A>, "set_item_value");
 
-      <FONT COLOR=red><A NAME="158_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#154_16">Set_Item_Val</A> (<A HREF="terminal_interface-curses-menus__ads.htm#214_25">Itm</A>, Boolean'Pos (<A HREF="terminal_interface-curses-menus__ads.htm#215_25">Value</A>));
+      <FONT COLOR=red><A NAME="158_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#154_16">Set_Item_Val</A> (<A HREF="terminal_interface-curses-menus__ads.htm#213_25">Itm</A>, Boolean'Pos (<A HREF="terminal_interface-curses-menus__ads.htm#214_25">Value</A>));
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#158_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#158_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Value;
 
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#158_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#158_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Value;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#220_13">Value</A><FONT COLOR=red><A NAME="165_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#220_20">Itm</A> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>) <b>return</b> Boolean
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#219_13">Value</A><FONT COLOR=red><A NAME="165_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#219_20">Itm</A> : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>) <b>return</b> Boolean
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="167_16">Item_Val</A></FONT> (<FONT COLOR=red><A NAME="167_26">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="167_16">Item_Val</A></FONT> (<FONT COLOR=red><A NAME="167_26">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#167_16">Item_Val</A>, "item_value");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#167_16">Item_Val</A>, "item_value");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#167_16">Item_Val</A> (<A HREF="terminal_interface-curses-menus__ads.htm#220_20">Itm</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#75_4">Curses_False</A> <b>then</b>
+      <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#167_16">Item_Val</A> (<A HREF="terminal_interface-curses-menus__ads.htm#219_20">Itm</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#75_4">Curses_False</A> <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
    <b>end</b> Value;
 
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
    <b>end</b> Value;
 
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#229_13">Visible</A><FONT COLOR=red><A NAME="178_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#229_22">Itm</A> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>) <b>return</b> Boolean
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#228_13">Visible</A><FONT COLOR=red><A NAME="178_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#228_22">Itm</A> : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>) <b>return</b> Boolean
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="180_16">Item_Vis</A></FONT> (<FONT COLOR=red><A NAME="180_26">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="180_16">Item_Vis</A></FONT> (<FONT COLOR=red><A NAME="180_26">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#180_16">Item_Vis</A>, "item_visible");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#180_16">Item_Vis</A>, "item_visible");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#180_16">Item_Vis</A> (<A HREF="terminal_interface-curses-menus__ads.htm#229_22">Itm</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#75_4">Curses_False</A> <b>then</b>
+      <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#180_16">Item_Vis</A> (<A HREF="terminal_interface-curses-menus__ads.htm#228_22">Itm</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#75_4">Curses_False</A> <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
    <b>end</b> Visible;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
    <b>end</b> Visible;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#238_14">Set_Options</A><FONT COLOR=red><A NAME="190_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#238_27">Itm</A>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>;
-                          <A HREF="terminal_interface-curses-menus__ads.htm#239_27">Options</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#154_9">Item_Option_Set</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#237_14">Set_Options</A><FONT COLOR=red><A NAME="190_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#237_27">Itm</A>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>;
+                          <A HREF="terminal_interface-curses-menus__ads.htm#238_27">Options</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#153_9">Item_Option_Set</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="193_16">Set_Item_Opts</A></FONT> (<FONT COLOR=red><A NAME="193_31">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="193_16">Set_Item_Opts</A></FONT> (<FONT COLOR=red><A NAME="193_31">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>;
                               <FONT COLOR=red><A NAME="194_31">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#193_16">Set_Item_Opts</A>, "set_item_opts");
 
                               <FONT COLOR=red><A NAME="194_31">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#193_16">Set_Item_Opts</A>, "set_item_opts");
 
-      <FONT COLOR=red><A NAME="197_7">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#67_13">IOS_2_CInt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#239_27">Options</A>);
+      <FONT COLOR=red><A NAME="197_7">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#67_13">IOS_2_CInt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#238_27">Options</A>);
       <FONT COLOR=red><A NAME="198_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
       <FONT COLOR=red><A NAME="198_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__adb.htm#198_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#193_16">Set_Item_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#238_27">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#197_7">Opt</A>);
+      <A HREF="terminal_interface-curses-menus__adb.htm#198_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#193_16">Set_Item_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#237_27">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#197_7">Opt</A>);
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#198_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#198_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Options;
 
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#198_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#198_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Options;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#244_14">Switch_Options</A><FONT COLOR=red><A NAME="206_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#244_30">Itm</A>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>;
-                             <A HREF="terminal_interface-curses-menus__ads.htm#245_30">Options</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#154_9">Item_Option_Set</A>;
-                             <A HREF="terminal_interface-curses-menus__ads.htm#246_30">On</A>      : Boolean := True)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#243_14">Switch_Options</A><FONT COLOR=red><A NAME="206_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#243_30">Itm</A>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>;
+                             <A HREF="terminal_interface-curses-menus__ads.htm#244_30">Options</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#153_9">Item_Option_Set</A>;
+                             <A HREF="terminal_interface-curses-menus__ads.htm#245_30">On</A>      : Boolean := True)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="210_16">Item_Opts_On</A></FONT> (<FONT COLOR=red><A NAME="210_30">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="210_16">Item_Opts_On</A></FONT> (<FONT COLOR=red><A NAME="210_30">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>;
                              <FONT COLOR=red><A NAME="211_30">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#210_16">Item_Opts_On</A>, "item_opts_on");
                              <FONT COLOR=red><A NAME="211_30">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#210_16">Item_Opts_On</A>, "item_opts_on");
-      <b>function</b> <FONT COLOR=red><A NAME="213_16">Item_Opts_Off</A></FONT> (<FONT COLOR=red><A NAME="213_31">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="213_16">Item_Opts_Off</A></FONT> (<FONT COLOR=red><A NAME="213_31">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>;
                               <FONT COLOR=red><A NAME="214_31">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#213_16">Item_Opts_Off</A>, "item_opts_off");
 
                               <FONT COLOR=red><A NAME="214_31">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#213_16">Item_Opts_Off</A>, "item_opts_off");
 
-      <FONT COLOR=red><A NAME="217_7">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#67_13">IOS_2_CInt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#245_30">Options</A>);
+      <FONT COLOR=red><A NAME="217_7">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#67_13">IOS_2_CInt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#244_30">Options</A>);
       <FONT COLOR=red><A NAME="218_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
       <FONT COLOR=red><A NAME="218_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#246_30">On</A> <b>then</b>
-         <A HREF="terminal_interface-curses-menus__adb.htm#218_7">Err</A> := <A HREF="terminal_interface-curses-menus__adb.htm#210_16">Item_Opts_On</A> (<A HREF="terminal_interface-curses-menus__ads.htm#244_30">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#217_7">Opt</A>);
+      <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#245_30">On</A> <b>then</b>
+         <A HREF="terminal_interface-curses-menus__adb.htm#218_7">Err</A> := <A HREF="terminal_interface-curses-menus__adb.htm#210_16">Item_Opts_On</A> (<A HREF="terminal_interface-curses-menus__ads.htm#243_30">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#217_7">Opt</A>);
       <b>else</b>
       <b>else</b>
-         <A HREF="terminal_interface-curses-menus__adb.htm#218_7">Err</A> := <A HREF="terminal_interface-curses-menus__adb.htm#213_16">Item_Opts_Off</A> (<A HREF="terminal_interface-curses-menus__ads.htm#244_30">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#217_7">Opt</A>);
+         <A HREF="terminal_interface-curses-menus__adb.htm#218_7">Err</A> := <A HREF="terminal_interface-curses-menus__adb.htm#213_16">Item_Opts_Off</A> (<A HREF="terminal_interface-curses-menus__ads.htm#243_30">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#217_7">Opt</A>);
       <b>end</b> <b>if</b>;
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#218_7">Err</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#218_7">Err</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Switch_Options;
 
       <b>end</b> <b>if</b>;
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#218_7">Err</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#218_7">Err</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Switch_Options;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#253_14">Get_Options</A><FONT COLOR=red><A NAME="230_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#253_27">Itm</A>     : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>;
-                          <A HREF="terminal_interface-curses-menus__ads.htm#254_27">Options</A> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#154_9">Item_Option_Set</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#252_14">Get_Options</A><FONT COLOR=red><A NAME="230_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#252_27">Itm</A>     : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>;
+                          <A HREF="terminal_interface-curses-menus__ads.htm#253_27">Options</A> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#153_9">Item_Option_Set</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="233_16">Item_Opts</A></FONT> (<FONT COLOR=red><A NAME="233_27">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="233_16">Item_Opts</A></FONT> (<FONT COLOR=red><A NAME="233_27">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#233_16">Item_Opts</A>, "item_opts");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#233_16">Item_Opts</A>, "item_opts");
 
-      <FONT COLOR=red><A NAME="236_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#233_16">Item_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#253_27">Itm</A>);
+      <FONT COLOR=red><A NAME="236_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#233_16">Item_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#252_27">Itm</A>);
    <b>begin</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#254_27">Options</A> := <A HREF="terminal_interface-curses-menus__adb.htm#71_13">CInt_2_IOS</A> (<A HREF="terminal_interface-curses-menus__adb.htm#236_7">Res</A>);
+      <A HREF="terminal_interface-curses-menus__ads.htm#253_27">Options</A> := <A HREF="terminal_interface-curses-menus__adb.htm#71_13">CInt_2_IOS</A> (<A HREF="terminal_interface-curses-menus__adb.htm#236_7">Res</A>);
    <b>end</b> Get_Options;
 
    <b>end</b> Get_Options;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#258_13">Get_Options</A><FONT COLOR=red><A NAME="241_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#258_26">Itm</A> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A> := <A HREF="terminal_interface-curses-menus__ads.htm#62_4">Null_Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#154_9">Item_Option_Set</A>
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#257_13">Get_Options</A><FONT COLOR=red><A NAME="241_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#257_26">Itm</A> : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A> := <A HREF="terminal_interface-curses-menus__ads.htm#61_4">Null_Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#153_9">Item_Option_Set</A>
    <b>is</b>
    <b>is</b>
-      <FONT COLOR=red><A NAME="243_7">Ios</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#154_9">Item_Option_Set</A>;
+      <FONT COLOR=red><A NAME="243_7">Ios</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#153_9">Item_Option_Set</A>;
    <b>begin</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#258_13">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#258_26">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#243_7">Ios</A>);
+      <A HREF="terminal_interface-curses-menus__ads.htm#257_13">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#257_26">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#243_7">Ios</A>);
       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#243_7">Ios</A>;
    <b>end</b> Get_Options;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#243_7">Ios</A>;
    <b>end</b> Get_Options;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#267_14">Name</A><FONT COLOR=red><A NAME="249_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#267_20">Itm</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>;
-                   <A HREF="terminal_interface-curses-menus__ads.htm#268_20">Name</A> : <b>out</b> String)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#266_14">Name</A><FONT COLOR=red><A NAME="249_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#266_20">Itm</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>;
+                   <A HREF="terminal_interface-curses-menus__ads.htm#267_20">Name</A> : <b>out</b> String)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="252_16">Itemname</A></FONT> (<FONT COLOR=red><A NAME="252_26">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="252_16">Itemname</A></FONT> (<FONT COLOR=red><A NAME="252_26">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#252_16">Itemname</A>, "item_name");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#252_16">Itemname</A>, "item_name");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#252_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#267_20">Itm</A>), <A HREF="terminal_interface-curses-menus__ads.htm#268_20">Name</A>);
+      <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#252_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#266_20">Itm</A>), <A HREF="terminal_interface-curses-menus__ads.htm#267_20">Name</A>);
    <b>end</b> Name;
 
    <b>end</b> Name;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#270_14">Name</A><FONT COLOR=red><A NAME="258_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#270_20">Itm</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>) <b>return</b> String
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#269_14">Name</A><FONT COLOR=red><A NAME="258_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#269_20">Itm</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>) <b>return</b> String
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="260_16">Itemname</A></FONT> (<FONT COLOR=red><A NAME="260_26">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="260_16">Itemname</A></FONT> (<FONT COLOR=red><A NAME="260_26">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#260_16">Itemname</A>, "item_name");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#260_16">Itemname</A>, "item_name");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#260_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#270_20">Itm</A>));
+      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#260_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#269_20">Itm</A>));
    <b>end</b> Name;
 
    <b>end</b> Name;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#276_14">Description</A><FONT COLOR=red><A NAME="266_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#276_27">Itm</A>         : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>;
-                          <A HREF="terminal_interface-curses-menus__ads.htm#277_27">Description</A> : <b>out</b> String)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#275_14">Description</A><FONT COLOR=red><A NAME="266_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#275_27">Itm</A>         : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>;
+                          <A HREF="terminal_interface-curses-menus__ads.htm#276_27">Description</A> : <b>out</b> String)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="269_16">Descname</A></FONT> (<FONT COLOR=red><A NAME="269_26">Itm</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="269_16">Descname</A></FONT> (<FONT COLOR=red><A NAME="269_26">Itm</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#269_16">Descname</A>, "item_description");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#269_16">Descname</A>, "item_description");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#269_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#276_27">Itm</A>), <A HREF="terminal_interface-curses-menus__ads.htm#277_27">Description</A>);
+      <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#269_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#275_27">Itm</A>), <A HREF="terminal_interface-curses-menus__ads.htm#276_27">Description</A>);
    <b>end</b> Description;
 
    <b>end</b> Description;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#280_14">Description</A><FONT COLOR=red><A NAME="275_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#280_27">Itm</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>) <b>return</b> String
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#279_14">Description</A><FONT COLOR=red><A NAME="275_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#279_27">Itm</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>) <b>return</b> String
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="277_16">Descname</A></FONT> (<FONT COLOR=red><A NAME="277_26">Itm</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="277_16">Descname</A></FONT> (<FONT COLOR=red><A NAME="277_26">Itm</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#277_16">Descname</A>, "item_description");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#277_16">Descname</A>, "item_description");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#277_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#280_27">Itm</A>));
+      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#277_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#279_27">Itm</A>));
    <b>end</b> Description;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
    <b>end</b> Description;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#290_14">Set_Current</A><FONT COLOR=red><A NAME="283_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#290_27">Men</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                          <A HREF="terminal_interface-curses-menus__ads.htm#291_27">Itm</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#289_14">Set_Current</A><FONT COLOR=red><A NAME="283_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#289_27">Men</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                          <A HREF="terminal_interface-curses-menus__ads.htm#290_27">Itm</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="286_16">Set_Curr_Item</A></FONT> (<FONT COLOR=red><A NAME="286_31">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                              <FONT COLOR=red><A NAME="287_31">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="286_16">Set_Curr_Item</A></FONT> (<FONT COLOR=red><A NAME="286_31">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                              <FONT COLOR=red><A NAME="287_31">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#286_16">Set_Curr_Item</A>, "set_current_item");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#286_16">Set_Curr_Item</A>, "set_current_item");
 
-      <FONT COLOR=red><A NAME="290_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#286_16">Set_Curr_Item</A> (<A HREF="terminal_interface-curses-menus__ads.htm#290_27">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#291_27">Itm</A>);
+      <FONT COLOR=red><A NAME="290_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#286_16">Set_Curr_Item</A> (<A HREF="terminal_interface-curses-menus__ads.htm#289_27">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#290_27">Itm</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#290_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#290_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Current;
 
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#290_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#290_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Current;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#296_13">Current</A><FONT COLOR=red><A NAME="297_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#296_22">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#295_13">Current</A><FONT COLOR=red><A NAME="297_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#295_22">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="299_16">Curr_Item</A></FONT> (<FONT COLOR=red><A NAME="299_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="299_16">Curr_Item</A></FONT> (<FONT COLOR=red><A NAME="299_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#299_16">Curr_Item</A>, "current_item");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#299_16">Curr_Item</A>, "current_item");
 
-      <FONT COLOR=red><A NAME="302_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A> := <A HREF="terminal_interface-curses-menus__adb.htm#299_16">Curr_Item</A> (<A HREF="terminal_interface-curses-menus__ads.htm#296_22">Men</A>);
+      <FONT COLOR=red><A NAME="302_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A> := <A HREF="terminal_interface-curses-menus__adb.htm#299_16">Curr_Item</A> (<A HREF="terminal_interface-curses-menus__ads.htm#295_22">Men</A>);
    <b>begin</b>
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#302_7">Res</A> = <A HREF="terminal_interface-curses-menus__ads.htm#62_4">Null_Item</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#116_4">Menu_Exception</A>;
+      <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#302_7">Res</A> = <A HREF="terminal_interface-curses-menus__ads.htm#61_4">Null_Item</A> <b>then</b>
+         <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#115_4">Menu_Exception</A>;
       <b>end</b> <b>if</b>;
       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#302_7">Res</A>;
    <b>end</b> Current;
 
       <b>end</b> <b>if</b>;
       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#302_7">Res</A>;
    <b>end</b> Current;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#301_14">Set_Top_Row</A><FONT COLOR=red><A NAME="310_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#301_27">Men</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                          <A HREF="terminal_interface-curses-menus__ads.htm#302_27">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#300_14">Set_Top_Row</A><FONT COLOR=red><A NAME="310_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#300_27">Men</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                          <A HREF="terminal_interface-curses-menus__ads.htm#301_27">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="313_16">Set_Toprow</A></FONT> (<FONT COLOR=red><A NAME="313_28">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="313_16">Set_Toprow</A></FONT> (<FONT COLOR=red><A NAME="313_28">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                            <FONT COLOR=red><A NAME="314_28">Line</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#313_16">Set_Toprow</A>, "set_top_row");
 
                            <FONT COLOR=red><A NAME="314_28">Line</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#313_16">Set_Toprow</A>, "set_top_row");
 
-      <FONT COLOR=red><A NAME="317_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#313_16">Set_Toprow</A> (<A HREF="terminal_interface-curses-menus__ads.htm#301_27">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#302_27">Line</A>));
+      <FONT COLOR=red><A NAME="317_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#313_16">Set_Toprow</A> (<A HREF="terminal_interface-curses-menus__ads.htm#300_27">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#301_27">Line</A>));
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#317_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#317_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Top_Row;
 
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#317_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#317_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Top_Row;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#307_13">Top_Row</A><FONT COLOR=red><A NAME="324_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#307_22">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#306_13">Top_Row</A><FONT COLOR=red><A NAME="324_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#306_22">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="326_16">Toprow</A></FONT> (<FONT COLOR=red><A NAME="326_24">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="326_16">Toprow</A></FONT> (<FONT COLOR=red><A NAME="326_24">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#326_16">Toprow</A>, "top_row");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#326_16">Toprow</A>, "top_row");
 
-      <FONT COLOR=red><A NAME="329_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#326_16">Toprow</A> (<A HREF="terminal_interface-curses-menus__ads.htm#307_22">Men</A>);
+      <FONT COLOR=red><A NAME="329_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#326_16">Toprow</A> (<A HREF="terminal_interface-curses-menus__ads.htm#306_22">Men</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#329_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#329_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#116_4">Menu_Exception</A>;
+         <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#115_4">Menu_Exception</A>;
       <b>end</b> <b>if</b>;
       <b>return</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#329_7">Res</A>);
    <b>end</b> Top_Row;
 
       <b>end</b> <b>if</b>;
       <b>return</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#329_7">Res</A>);
    <b>end</b> Top_Row;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#312_13">Get_Index</A><FONT COLOR=red><A NAME="337_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#312_24">Itm</A> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>) <b>return</b> Positive
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#311_13">Get_Index</A><FONT COLOR=red><A NAME="337_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#311_24">Itm</A> : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>) <b>return</b> Positive
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="339_16">Get_Itemindex</A></FONT> (<FONT COLOR=red><A NAME="339_31">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="339_16">Get_Itemindex</A></FONT> (<FONT COLOR=red><A NAME="339_31">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#339_16">Get_Itemindex</A>, "item_index");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#339_16">Get_Itemindex</A>, "item_index");
 
-      <FONT COLOR=red><A NAME="342_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#339_16">Get_Itemindex</A> (<A HREF="terminal_interface-curses-menus__ads.htm#312_24">Itm</A>);
+      <FONT COLOR=red><A NAME="342_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#339_16">Get_Itemindex</A> (<A HREF="terminal_interface-curses-menus__ads.htm#311_24">Itm</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#342_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#342_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#116_4">Menu_Exception</A>;
+         <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#115_4">Menu_Exception</A>;
       <b>end</b> <b>if</b>;
       <b>return</b> Positive (Natural (<A HREF="terminal_interface-curses-menus__adb.htm#342_7">Res</A>) + Positive'First);
    <b>end</b> Get_Index;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
       <b>end</b> <b>if</b>;
       <b>return</b> Positive (Natural (<A HREF="terminal_interface-curses-menus__adb.htm#342_7">Res</A>) + Positive'First);
    <b>end</b> Get_Index;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#324_14">Post</A><FONT COLOR=red><A NAME="350_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#324_20">Men</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                   <A HREF="terminal_interface-curses-menus__ads.htm#325_20">Post</A> : <b>in</b> Boolean := True)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#323_14">Post</A><FONT COLOR=red><A NAME="350_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#323_20">Men</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                   <A HREF="terminal_interface-curses-menus__ads.htm#324_20">Post</A> : <b>in</b> Boolean := True)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="353_16">M_Post</A></FONT> (<FONT COLOR=red><A NAME="353_24">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="353_16">M_Post</A></FONT> (<FONT COLOR=red><A NAME="353_24">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#353_16">M_Post</A>, "post_menu");
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#353_16">M_Post</A>, "post_menu");
-      <b>function</b> <FONT COLOR=red><A NAME="355_16">M_Unpost</A></FONT> (<FONT COLOR=red><A NAME="355_26">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="355_16">M_Unpost</A></FONT> (<FONT COLOR=red><A NAME="355_26">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#355_16">M_Unpost</A>, "unpost_menu");
 
       <FONT COLOR=red><A NAME="358_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#355_16">M_Unpost</A>, "unpost_menu");
 
       <FONT COLOR=red><A NAME="358_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#325_20">Post</A> <b>then</b>
-         <A HREF="terminal_interface-curses-menus__adb.htm#358_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#353_16">M_Post</A> (<A HREF="terminal_interface-curses-menus__ads.htm#324_20">Men</A>);
+      <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#324_20">Post</A> <b>then</b>
+         <A HREF="terminal_interface-curses-menus__adb.htm#358_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#353_16">M_Post</A> (<A HREF="terminal_interface-curses-menus__ads.htm#323_20">Men</A>);
       <b>else</b>
       <b>else</b>
-         <A HREF="terminal_interface-curses-menus__adb.htm#358_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#355_16">M_Unpost</A> (<A HREF="terminal_interface-curses-menus__ads.htm#324_20">Men</A>);
+         <A HREF="terminal_interface-curses-menus__adb.htm#358_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#355_16">M_Unpost</A> (<A HREF="terminal_interface-curses-menus__ads.htm#323_20">Men</A>);
       <b>end</b> <b>if</b>;
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#358_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#358_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Post;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
       <b>end</b> <b>if</b>;
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#358_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#358_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Post;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#335_14">Set_Options</A><FONT COLOR=red><A NAME="370_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#335_27">Men</A>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                          <A HREF="terminal_interface-curses-menus__ads.htm#336_27">Options</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#121_9">Menu_Option_Set</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#334_14">Set_Options</A><FONT COLOR=red><A NAME="370_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#334_27">Men</A>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                          <A HREF="terminal_interface-curses-menus__ads.htm#335_27">Options</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#120_9">Menu_Option_Set</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="373_16">Set_Menu_Opts</A></FONT> (<FONT COLOR=red><A NAME="373_31">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="373_16">Set_Menu_Opts</A></FONT> (<FONT COLOR=red><A NAME="373_31">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                               <FONT COLOR=red><A NAME="374_31">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#373_16">Set_Menu_Opts</A>, "set_menu_opts");
 
                               <FONT COLOR=red><A NAME="374_31">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#373_16">Set_Menu_Opts</A>, "set_menu_opts");
 
-      <FONT COLOR=red><A NAME="377_7">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#59_13">MOS_2_CInt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#336_27">Options</A>);
+      <FONT COLOR=red><A NAME="377_7">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#59_13">MOS_2_CInt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#335_27">Options</A>);
       <FONT COLOR=red><A NAME="378_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
       <FONT COLOR=red><A NAME="378_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__adb.htm#378_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#373_16">Set_Menu_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#335_27">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#377_7">Opt</A>);
+      <A HREF="terminal_interface-curses-menus__adb.htm#378_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#373_16">Set_Menu_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#334_27">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#377_7">Opt</A>);
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#378_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#378_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Options;
 
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#378_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#378_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Options;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#341_14">Switch_Options</A><FONT COLOR=red><A NAME="386_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#341_30">Men</A>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                             <A HREF="terminal_interface-curses-menus__ads.htm#342_30">Options</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#121_9">Menu_Option_Set</A>;
-                             <A HREF="terminal_interface-curses-menus__ads.htm#343_30">On</A>      : <b>in</b> Boolean := True)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#340_14">Switch_Options</A><FONT COLOR=red><A NAME="386_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#340_30">Men</A>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                             <A HREF="terminal_interface-curses-menus__ads.htm#341_30">Options</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#120_9">Menu_Option_Set</A>;
+                             <A HREF="terminal_interface-curses-menus__ads.htm#342_30">On</A>      : <b>in</b> Boolean := True)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="390_16">Menu_Opts_On</A></FONT> (<FONT COLOR=red><A NAME="390_30">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="390_16">Menu_Opts_On</A></FONT> (<FONT COLOR=red><A NAME="390_30">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                              <FONT COLOR=red><A NAME="391_30">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#390_16">Menu_Opts_On</A>, "menu_opts_on");
                              <FONT COLOR=red><A NAME="391_30">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#390_16">Menu_Opts_On</A>, "menu_opts_on");
-      <b>function</b> <FONT COLOR=red><A NAME="393_16">Menu_Opts_Off</A></FONT> (<FONT COLOR=red><A NAME="393_31">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="393_16">Menu_Opts_Off</A></FONT> (<FONT COLOR=red><A NAME="393_31">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                               <FONT COLOR=red><A NAME="394_31">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#393_16">Menu_Opts_Off</A>, "menu_opts_off");
 
                               <FONT COLOR=red><A NAME="394_31">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#393_16">Menu_Opts_Off</A>, "menu_opts_off");
 
-      <FONT COLOR=red><A NAME="397_7">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#59_13">MOS_2_CInt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#342_30">Options</A>);
+      <FONT COLOR=red><A NAME="397_7">Opt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#59_13">MOS_2_CInt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#341_30">Options</A>);
       <FONT COLOR=red><A NAME="398_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
       <FONT COLOR=red><A NAME="398_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#343_30">On</A> <b>then</b>
-         <A HREF="terminal_interface-curses-menus__adb.htm#398_7">Err</A> := <A HREF="terminal_interface-curses-menus__adb.htm#390_16">Menu_Opts_On</A>  (<A HREF="terminal_interface-curses-menus__ads.htm#341_30">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#397_7">Opt</A>);
+      <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#342_30">On</A> <b>then</b>
+         <A HREF="terminal_interface-curses-menus__adb.htm#398_7">Err</A> := <A HREF="terminal_interface-curses-menus__adb.htm#390_16">Menu_Opts_On</A>  (<A HREF="terminal_interface-curses-menus__ads.htm#340_30">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#397_7">Opt</A>);
       <b>else</b>
       <b>else</b>
-         <A HREF="terminal_interface-curses-menus__adb.htm#398_7">Err</A> := <A HREF="terminal_interface-curses-menus__adb.htm#393_16">Menu_Opts_Off</A> (<A HREF="terminal_interface-curses-menus__ads.htm#341_30">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#397_7">Opt</A>);
+         <A HREF="terminal_interface-curses-menus__adb.htm#398_7">Err</A> := <A HREF="terminal_interface-curses-menus__adb.htm#393_16">Menu_Opts_Off</A> (<A HREF="terminal_interface-curses-menus__ads.htm#340_30">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#397_7">Opt</A>);
       <b>end</b> <b>if</b>;
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#398_7">Err</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#398_7">Err</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Switch_Options;
 
       <b>end</b> <b>if</b>;
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#398_7">Err</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#398_7">Err</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Switch_Options;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#349_14">Get_Options</A><FONT COLOR=red><A NAME="410_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#349_27">Men</A>     : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                               <A HREF="terminal_interface-curses-menus__ads.htm#350_27">Options</A> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#121_9">Menu_Option_Set</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#348_14">Get_Options</A><FONT COLOR=red><A NAME="410_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#348_27">Men</A>     : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                               <A HREF="terminal_interface-curses-menus__ads.htm#349_27">Options</A> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#120_9">Menu_Option_Set</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="413_16">Menu_Opts</A></FONT> (<FONT COLOR=red><A NAME="413_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="413_16">Menu_Opts</A></FONT> (<FONT COLOR=red><A NAME="413_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#413_16">Menu_Opts</A>, "menu_opts");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#413_16">Menu_Opts</A>, "menu_opts");
 
-      <FONT COLOR=red><A NAME="416_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#413_16">Menu_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#349_27">Men</A>);
+      <FONT COLOR=red><A NAME="416_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#413_16">Menu_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#348_27">Men</A>);
    <b>begin</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#350_27">Options</A> := <A HREF="terminal_interface-curses-menus__adb.htm#63_13">CInt_2_MOS</A> (<A HREF="terminal_interface-curses-menus__adb.htm#416_7">Res</A>);
+      <A HREF="terminal_interface-curses-menus__ads.htm#349_27">Options</A> := <A HREF="terminal_interface-curses-menus__adb.htm#63_13">CInt_2_MOS</A> (<A HREF="terminal_interface-curses-menus__adb.htm#416_7">Res</A>);
    <b>end</b> Get_Options;
 
    <b>end</b> Get_Options;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#354_13">Get_Options</A><FONT COLOR=red><A NAME="421_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#354_26">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A> := <A HREF="terminal_interface-curses-menus__ads.htm#63_4">Null_Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#121_9">Menu_Option_Set</A>
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#353_13">Get_Options</A><FONT COLOR=red><A NAME="421_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#353_26">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A> := <A HREF="terminal_interface-curses-menus__ads.htm#62_4">Null_Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#120_9">Menu_Option_Set</A>
    <b>is</b>
    <b>is</b>
-      <FONT COLOR=red><A NAME="423_7">Mos</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#121_9">Menu_Option_Set</A>;
+      <FONT COLOR=red><A NAME="423_7">Mos</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#120_9">Menu_Option_Set</A>;
    <b>begin</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#354_13">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#354_26">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#423_7">Mos</A>);
+      <A HREF="terminal_interface-curses-menus__ads.htm#353_13">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#353_26">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#423_7">Mos</A>);
       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#423_7">Mos</A>;
    <b>end</b> Get_Options;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#423_7">Mos</A>;
    <b>end</b> Get_Options;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#363_14">Set_Window</A><FONT COLOR=red><A NAME="429_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#363_26">Men</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                         <A HREF="terminal_interface-curses-menus__ads.htm#364_26">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#362_14">Set_Window</A><FONT COLOR=red><A NAME="429_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#362_26">Men</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                         <A HREF="terminal_interface-curses-menus__ads.htm#363_26">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="432_16">Set_Menu_Win</A></FONT> (<FONT COLOR=red><A NAME="432_30">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="432_16">Set_Menu_Win</A></FONT> (<FONT COLOR=red><A NAME="432_30">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                              <FONT COLOR=red><A NAME="433_30">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#432_16">Set_Menu_Win</A>, "set_menu_win");
 
                              <FONT COLOR=red><A NAME="433_30">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#432_16">Set_Menu_Win</A>, "set_menu_win");
 
-      <FONT COLOR=red><A NAME="436_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#432_16">Set_Menu_Win</A> (<A HREF="terminal_interface-curses-menus__ads.htm#363_26">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#364_26">Win</A>);
+      <FONT COLOR=red><A NAME="436_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#432_16">Set_Menu_Win</A> (<A HREF="terminal_interface-curses-menus__ads.htm#362_26">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#363_26">Win</A>);
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#436_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#436_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Window;
 
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#436_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#436_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Window;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#369_13">Get_Window</A><FONT COLOR=red><A NAME="443_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#369_25">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#368_13">Get_Window</A><FONT COLOR=red><A NAME="443_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#368_25">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="445_16">Menu_Win</A></FONT> (<FONT COLOR=red><A NAME="445_26">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="445_16">Menu_Win</A></FONT> (<FONT COLOR=red><A NAME="445_26">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#445_16">Menu_Win</A>, "menu_win");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#445_16">Menu_Win</A>, "menu_win");
 
-      <FONT COLOR=red><A NAME="448_7">W</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses-menus__adb.htm#445_16">Menu_Win</A> (<A HREF="terminal_interface-curses-menus__ads.htm#369_25">Men</A>);
+      <FONT COLOR=red><A NAME="448_7">W</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses-menus__adb.htm#445_16">Menu_Win</A> (<A HREF="terminal_interface-curses-menus__ads.htm#368_25">Men</A>);
    <b>begin</b>
       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#448_7">W</A>;
    <b>end</b> Get_Window;
 
    <b>begin</b>
       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#448_7">W</A>;
    <b>end</b> Get_Window;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#374_14">Set_Sub_Window</A><FONT COLOR=red><A NAME="453_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#374_30">Men</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                             <A HREF="terminal_interface-curses-menus__ads.htm#375_30">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#373_14">Set_Sub_Window</A><FONT COLOR=red><A NAME="453_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#373_30">Men</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                             <A HREF="terminal_interface-curses-menus__ads.htm#374_30">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="456_16">Set_Menu_Sub</A></FONT> (<FONT COLOR=red><A NAME="456_30">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="456_16">Set_Menu_Sub</A></FONT> (<FONT COLOR=red><A NAME="456_30">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                              <FONT COLOR=red><A NAME="457_30">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#456_16">Set_Menu_Sub</A>, "set_menu_sub");
 
                              <FONT COLOR=red><A NAME="457_30">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#456_16">Set_Menu_Sub</A>, "set_menu_sub");
 
-      <FONT COLOR=red><A NAME="460_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#456_16">Set_Menu_Sub</A> (<A HREF="terminal_interface-curses-menus__ads.htm#374_30">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#375_30">Win</A>);
+      <FONT COLOR=red><A NAME="460_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#456_16">Set_Menu_Sub</A> (<A HREF="terminal_interface-curses-menus__ads.htm#373_30">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#374_30">Win</A>);
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#460_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#460_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Sub_Window;
 
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#460_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#460_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Sub_Window;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#380_13">Get_Sub_Window</A><FONT COLOR=red><A NAME="467_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#380_29">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#379_13">Get_Sub_Window</A><FONT COLOR=red><A NAME="467_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#379_29">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="469_16">Menu_Sub</A></FONT> (<FONT COLOR=red><A NAME="469_26">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="469_16">Menu_Sub</A></FONT> (<FONT COLOR=red><A NAME="469_26">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#469_16">Menu_Sub</A>, "menu_sub");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#469_16">Menu_Sub</A>, "menu_sub");
 
-      <FONT COLOR=red><A NAME="472_7">W</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses-menus__adb.htm#469_16">Menu_Sub</A> (<A HREF="terminal_interface-curses-menus__ads.htm#380_29">Men</A>);
+      <FONT COLOR=red><A NAME="472_7">W</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses-menus__adb.htm#469_16">Menu_Sub</A> (<A HREF="terminal_interface-curses-menus__ads.htm#379_29">Men</A>);
    <b>begin</b>
       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#472_7">W</A>;
    <b>end</b> Get_Sub_Window;
 
    <b>begin</b>
       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#472_7">W</A>;
    <b>end</b> Get_Sub_Window;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#385_14">Scale</A><FONT COLOR=red><A NAME="477_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#385_21">Men</A>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                    <A HREF="terminal_interface-curses-menus__ads.htm#386_21">Lines</A>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>;
-                    <A HREF="terminal_interface-curses-menus__ads.htm#387_21">Columns</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#384_14">Scale</A><FONT COLOR=red><A NAME="477_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#384_21">Men</A>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                    <A HREF="terminal_interface-curses-menus__ads.htm#385_21">Lines</A>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>;
+                    <A HREF="terminal_interface-curses-menus__ads.htm#386_21">Columns</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>)
    <b>is</b>
       <b>type</b> C_Int_Access <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
    <b>is</b>
       <b>type</b> C_Int_Access <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
-      <b>function</b> <FONT COLOR=red><A NAME="482_16">M_Scale</A></FONT> (<FONT COLOR=red><A NAME="482_25">Men</A></FONT>    : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="482_16">M_Scale</A></FONT> (<FONT COLOR=red><A NAME="482_25">Men</A></FONT>    : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                         Yp, Xp : C_Int_Access) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#482_16">M_Scale</A>, "scale_menu");
 
       <FONT COLOR=red><A NAME="486_7">X</A></FONT>, <FONT COLOR=red><A NAME="486_10">Y</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
                         Yp, Xp : C_Int_Access) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#482_16">M_Scale</A>, "scale_menu");
 
       <FONT COLOR=red><A NAME="486_7">X</A></FONT>, <FONT COLOR=red><A NAME="486_10">Y</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
-      <FONT COLOR=red><A NAME="487_7">Res</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#482_16">M_Scale</A> (<A HREF="terminal_interface-curses-menus__ads.htm#385_21">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#486_10">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses-menus__adb.htm#486_7">X</A>'<b>Access</b>);
+      <FONT COLOR=red><A NAME="487_7">Res</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#482_16">M_Scale</A> (<A HREF="terminal_interface-curses-menus__ads.htm#384_21">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#486_10">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses-menus__adb.htm#486_7">X</A>'<b>Access</b>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#487_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#487_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#487_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#487_7">Res</A>);
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses-menus__ads.htm#386_21">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#486_10">Y</A>);
-      <A HREF="terminal_interface-curses-menus__ads.htm#387_21">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#486_7">X</A>);
+      <A HREF="terminal_interface-curses-menus__ads.htm#385_21">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#486_10">Y</A>);
+      <A HREF="terminal_interface-curses-menus__ads.htm#386_21">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#486_7">X</A>);
    <b>end</b> Scale;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
    <b>end</b> Scale;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#396_14">Position_Cursor</A><FONT COLOR=red><A NAME="496_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#396_31">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#395_14">Position_Cursor</A><FONT COLOR=red><A NAME="496_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#395_31">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="498_16">Pos_Menu_Cursor</A></FONT> (<FONT COLOR=red><A NAME="498_33">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="498_16">Pos_Menu_Cursor</A></FONT> (<FONT COLOR=red><A NAME="498_33">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#498_16">Pos_Menu_Cursor</A>, "pos_menu_cursor");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#498_16">Pos_Menu_Cursor</A>, "pos_menu_cursor");
 
-      <FONT COLOR=red><A NAME="501_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#498_16">Pos_Menu_Cursor</A> (<A HREF="terminal_interface-curses-menus__ads.htm#396_31">Men</A>);
+      <FONT COLOR=red><A NAME="501_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#498_16">Pos_Menu_Cursor</A> (<A HREF="terminal_interface-curses-menus__ads.htm#395_31">Men</A>);
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#501_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#501_7">Res</A>);
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#501_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#501_7">Res</A>);
    <b>end</b> Position_Cursor;
 
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
    <b>end</b> Position_Cursor;
 
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#405_14">Set_Mark</A><FONT COLOR=red><A NAME="509_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#405_24">Men</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                       <A HREF="terminal_interface-curses-menus__ads.htm#406_24">Mark</A> : <b>in</b> String)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#404_14">Set_Mark</A><FONT COLOR=red><A NAME="509_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#404_24">Men</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                       <A HREF="terminal_interface-curses-menus__ads.htm#405_24">Mark</A> : <b>in</b> String)
    <b>is</b>
       <b>type</b> Char_Ptr <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.char;
    <b>is</b>
       <b>type</b> Char_Ptr <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.char;
-      <b>function</b> <FONT COLOR=red><A NAME="513_16">Set_Mark</A></FONT> (<FONT COLOR=red><A NAME="513_26">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="513_16">Set_Mark</A></FONT> (<FONT COLOR=red><A NAME="513_26">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                          Mark : Char_Ptr) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#513_16">Set_Mark</A>, "set_menu_mark");
 
                          Mark : Char_Ptr) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#513_16">Set_Mark</A>, "set_menu_mark");
 
-      <FONT COLOR=red><A NAME="517_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#406_24">Mark</A>'Length);
+      <FONT COLOR=red><A NAME="517_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#405_24">Mark</A>'Length);
       <FONT COLOR=red><A NAME="518_7">Len</A></FONT> : size_t;
       <FONT COLOR=red><A NAME="519_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
       <FONT COLOR=red><A NAME="518_7">Len</A></FONT> : size_t;
       <FONT COLOR=red><A NAME="519_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses-menus__ads.htm#406_24">Mark</A>, <A HREF="terminal_interface-curses-menus__adb.htm#517_7">Txt</A>, <A HREF="terminal_interface-curses-menus__adb.htm#518_7">Len</A>);
-      <A HREF="terminal_interface-curses-menus__adb.htm#519_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#513_16">Set_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#405_24">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#517_7">Txt</A> (<A HREF="terminal_interface-curses-menus__adb.htm#517_7">Txt</A>'First)'<b>Access</b>);
+      To_C (<A HREF="terminal_interface-curses-menus__ads.htm#405_24">Mark</A>, <A HREF="terminal_interface-curses-menus__adb.htm#517_7">Txt</A>, <A HREF="terminal_interface-curses-menus__adb.htm#518_7">Len</A>);
+      <A HREF="terminal_interface-curses-menus__adb.htm#519_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#513_16">Set_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#404_24">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#517_7">Txt</A> (<A HREF="terminal_interface-curses-menus__adb.htm#517_7">Txt</A>'First)'<b>Access</b>);
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#519_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#519_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Mark;
 
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#519_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#519_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Mark;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#411_14">Mark</A><FONT COLOR=red><A NAME="528_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#411_20">Men</A>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                   <A HREF="terminal_interface-curses-menus__ads.htm#412_20">Mark</A> : <b>out</b> String)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#410_14">Mark</A><FONT COLOR=red><A NAME="528_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#410_20">Men</A>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                   <A HREF="terminal_interface-curses-menus__ads.htm#411_20">Mark</A> : <b>out</b> String)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="531_16">Get_Menu_Mark</A></FONT> (<FONT COLOR=red><A NAME="531_31">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="531_16">Get_Menu_Mark</A></FONT> (<FONT COLOR=red><A NAME="531_31">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#531_16">Get_Menu_Mark</A>, "menu_mark");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#531_16">Get_Menu_Mark</A>, "menu_mark");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#531_16">Get_Menu_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#411_20">Men</A>), <A HREF="terminal_interface-curses-menus__ads.htm#412_20">Mark</A>);
+      <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#531_16">Get_Menu_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#410_20">Men</A>), <A HREF="terminal_interface-curses-menus__ads.htm#411_20">Mark</A>);
    <b>end</b> Mark;
 
    <b>end</b> Mark;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#415_14">Mark</A><FONT COLOR=red><A NAME="537_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#415_20">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> String
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#414_14">Mark</A><FONT COLOR=red><A NAME="537_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#414_20">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> String
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="539_16">Get_Menu_Mark</A></FONT> (<FONT COLOR=red><A NAME="539_31">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="539_16">Get_Menu_Mark</A></FONT> (<FONT COLOR=red><A NAME="539_31">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#539_16">Get_Menu_Mark</A>, "menu_mark");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#539_16">Get_Menu_Mark</A>, "menu_mark");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#539_16">Get_Menu_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#415_20">Men</A>));
+      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#539_16">Get_Menu_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#414_20">Men</A>));
    <b>end</b> Mark;
 
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
    <b>end</b> Mark;
 
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#425_14">Set_Foreground</A><FONT COLOR=red><A NAME="546_14"></A></FONT>
-     (<A HREF="terminal_interface-curses-menus__ads.htm#426_7">Men</A>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-      <A HREF="terminal_interface-curses-menus__ads.htm#427_7">Fore</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#348_4">Normal_Video</A>;
-      <A HREF="terminal_interface-curses-menus__ads.htm#428_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A>'First)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#424_14">Set_Foreground</A><FONT COLOR=red><A NAME="546_14"></A></FONT>
+     (<A HREF="terminal_interface-curses-menus__ads.htm#425_7">Men</A>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+      <A HREF="terminal_interface-curses-menus__ads.htm#426_7">Fore</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#348_4">Normal_Video</A>;
+      <A HREF="terminal_interface-curses-menus__ads.htm#427_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A>'First)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="551_16">Set_Menu_Fore</A></FONT> (<FONT COLOR=red><A NAME="551_31">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="551_16">Set_Menu_Fore</A></FONT> (<FONT COLOR=red><A NAME="551_31">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                               <FONT COLOR=red><A NAME="552_31">Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#551_16">Set_Menu_Fore</A>, "set_menu_fore");
 
       <FONT COLOR=red><A NAME="555_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#350_9">Attributed_Character</A> := (Ch    =&gt; Character'First,
                               <FONT COLOR=red><A NAME="552_31">Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#551_16">Set_Menu_Fore</A>, "set_menu_fore");
 
       <FONT COLOR=red><A NAME="555_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#350_9">Attributed_Character</A> := (Ch    =&gt; Character'First,
-                                             Color =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#428_7">Color</A>,
-                                             Attr  =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#427_7">Fore</A>);
-      <FONT COLOR=red><A NAME="558_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#551_16">Set_Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#426_7">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses-menus__adb.htm#555_7">Ch</A>));
+                                             Color =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#427_7">Color</A>,
+                                             Attr  =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#426_7">Fore</A>);
+      <FONT COLOR=red><A NAME="558_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#551_16">Set_Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#425_7">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses-menus__adb.htm#555_7">Ch</A>));
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#558_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#558_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Foreground;
 
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#558_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#558_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Foreground;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#433_14">Foreground</A><FONT COLOR=red><A NAME="565_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#433_26">Men</A>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                         <A HREF="terminal_interface-curses-menus__ads.htm#434_26">Fore</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#432_14">Foreground</A><FONT COLOR=red><A NAME="565_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#432_26">Men</A>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                         <A HREF="terminal_interface-curses-menus__ads.htm#433_26">Fore</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="568_16">Menu_Fore</A></FONT> (<FONT COLOR=red><A NAME="568_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="568_16">Menu_Fore</A></FONT> (<FONT COLOR=red><A NAME="568_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#568_16">Menu_Fore</A>, "menu_fore");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#568_16">Menu_Fore</A>, "menu_fore");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#434_26">Fore</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#568_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#433_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#352_10">Attr</A>;
+      <A HREF="terminal_interface-curses-menus__ads.htm#433_26">Fore</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#568_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#432_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#352_10">Attr</A>;
    <b>end</b> Foreground;
 
    <b>end</b> Foreground;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#438_14">Foreground</A><FONT COLOR=red><A NAME="574_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#438_26">Men</A>   : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                         <A HREF="terminal_interface-curses-menus__ads.htm#439_26">Fore</A>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A>;
-                         <A HREF="terminal_interface-curses-menus__ads.htm#440_26">Color</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#437_14">Foreground</A><FONT COLOR=red><A NAME="574_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#437_26">Men</A>   : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                         <A HREF="terminal_interface-curses-menus__ads.htm#438_26">Fore</A>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A>;
+                         <A HREF="terminal_interface-curses-menus__ads.htm#439_26">Color</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="578_16">Menu_Fore</A></FONT> (<FONT COLOR=red><A NAME="578_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="578_16">Menu_Fore</A></FONT> (<FONT COLOR=red><A NAME="578_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#578_16">Menu_Fore</A>, "menu_fore");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#578_16">Menu_Fore</A>, "menu_fore");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#439_26">Fore</A>  := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#578_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#438_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#352_10">Attr</A>;
-      <A HREF="terminal_interface-curses-menus__ads.htm#440_26">Color</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#578_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#438_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#353_10">Color</A>;
+      <A HREF="terminal_interface-curses-menus__ads.htm#438_26">Fore</A>  := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#578_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#437_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#352_10">Attr</A>;
+      <A HREF="terminal_interface-curses-menus__ads.htm#439_26">Color</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#578_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#437_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#353_10">Color</A>;
    <b>end</b> Foreground;
 
    <b>end</b> Foreground;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#445_14">Set_Background</A><FONT COLOR=red><A NAME="585_14"></A></FONT>
-     (<A HREF="terminal_interface-curses-menus__ads.htm#446_7">Men</A>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-      <A HREF="terminal_interface-curses-menus__ads.htm#447_7">Back</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#348_4">Normal_Video</A>;
-      <A HREF="terminal_interface-curses-menus__ads.htm#448_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A>'First)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#444_14">Set_Background</A><FONT COLOR=red><A NAME="585_14"></A></FONT>
+     (<A HREF="terminal_interface-curses-menus__ads.htm#445_7">Men</A>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+      <A HREF="terminal_interface-curses-menus__ads.htm#446_7">Back</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#348_4">Normal_Video</A>;
+      <A HREF="terminal_interface-curses-menus__ads.htm#447_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A>'First)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="590_16">Set_Menu_Back</A></FONT> (<FONT COLOR=red><A NAME="590_31">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="590_16">Set_Menu_Back</A></FONT> (<FONT COLOR=red><A NAME="590_31">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                               <FONT COLOR=red><A NAME="591_31">Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#590_16">Set_Menu_Back</A>, "set_menu_back");
 
       <FONT COLOR=red><A NAME="594_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#350_9">Attributed_Character</A> := (Ch    =&gt; Character'First,
                               <FONT COLOR=red><A NAME="591_31">Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#590_16">Set_Menu_Back</A>, "set_menu_back");
 
       <FONT COLOR=red><A NAME="594_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#350_9">Attributed_Character</A> := (Ch    =&gt; Character'First,
-                                             Color =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#448_7">Color</A>,
-                                             Attr  =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#447_7">Back</A>);
-      <FONT COLOR=red><A NAME="597_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#590_16">Set_Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#446_7">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses-menus__adb.htm#594_7">Ch</A>));
+                                             Color =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#447_7">Color</A>,
+                                             Attr  =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#446_7">Back</A>);
+      <FONT COLOR=red><A NAME="597_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#590_16">Set_Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#445_7">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses-menus__adb.htm#594_7">Ch</A>));
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#597_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#597_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Background;
 
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#597_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#597_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Background;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#453_14">Background</A><FONT COLOR=red><A NAME="604_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#453_26">Men</A>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                         <A HREF="terminal_interface-curses-menus__ads.htm#454_26">Back</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#452_14">Background</A><FONT COLOR=red><A NAME="604_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#452_26">Men</A>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                         <A HREF="terminal_interface-curses-menus__ads.htm#453_26">Back</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="607_16">Menu_Back</A></FONT> (<FONT COLOR=red><A NAME="607_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="607_16">Menu_Back</A></FONT> (<FONT COLOR=red><A NAME="607_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#607_16">Menu_Back</A>, "menu_back");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#607_16">Menu_Back</A>, "menu_back");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#454_26">Back</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#607_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#453_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#352_10">Attr</A>;
+      <A HREF="terminal_interface-curses-menus__ads.htm#453_26">Back</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#607_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#452_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#352_10">Attr</A>;
    <b>end</b> Background;
 
    <b>end</b> Background;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#458_14">Background</A><FONT COLOR=red><A NAME="613_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#458_26">Men</A>   : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                         <A HREF="terminal_interface-curses-menus__ads.htm#459_26">Back</A>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A>;
-                         <A HREF="terminal_interface-curses-menus__ads.htm#460_26">Color</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#457_14">Background</A><FONT COLOR=red><A NAME="613_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#457_26">Men</A>   : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                         <A HREF="terminal_interface-curses-menus__ads.htm#458_26">Back</A>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A>;
+                         <A HREF="terminal_interface-curses-menus__ads.htm#459_26">Color</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="617_16">Menu_Back</A></FONT> (<FONT COLOR=red><A NAME="617_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="617_16">Menu_Back</A></FONT> (<FONT COLOR=red><A NAME="617_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#617_16">Menu_Back</A>, "menu_back");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#617_16">Menu_Back</A>, "menu_back");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#459_26">Back</A>  := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#617_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#458_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#352_10">Attr</A>;
-      <A HREF="terminal_interface-curses-menus__ads.htm#460_26">Color</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#617_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#458_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#353_10">Color</A>;
+      <A HREF="terminal_interface-curses-menus__ads.htm#458_26">Back</A>  := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#617_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#457_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#352_10">Attr</A>;
+      <A HREF="terminal_interface-curses-menus__ads.htm#459_26">Color</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#617_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#457_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#353_10">Color</A>;
    <b>end</b> Background;
 
    <b>end</b> Background;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#465_14">Set_Grey</A><FONT COLOR=red><A NAME="624_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#466_7">Men</A>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                       <A HREF="terminal_interface-curses-menus__ads.htm#467_7">Grey</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#348_4">Normal_Video</A>;
-                       <A HREF="terminal_interface-curses-menus__ads.htm#468_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A>'First)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#464_14">Set_Grey</A><FONT COLOR=red><A NAME="624_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#465_7">Men</A>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                       <A HREF="terminal_interface-curses-menus__ads.htm#466_7">Grey</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#348_4">Normal_Video</A>;
+                       <A HREF="terminal_interface-curses-menus__ads.htm#467_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A>'First)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="628_16">Set_Menu_Grey</A></FONT> (<FONT COLOR=red><A NAME="628_31">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="628_16">Set_Menu_Grey</A></FONT> (<FONT COLOR=red><A NAME="628_31">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                               <FONT COLOR=red><A NAME="629_31">Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#628_16">Set_Menu_Grey</A>, "set_menu_grey");
 
       <FONT COLOR=red><A NAME="632_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#350_9">Attributed_Character</A> := (Ch    =&gt; Character'First,
                               <FONT COLOR=red><A NAME="629_31">Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#628_16">Set_Menu_Grey</A>, "set_menu_grey");
 
       <FONT COLOR=red><A NAME="632_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#350_9">Attributed_Character</A> := (Ch    =&gt; Character'First,
-                                             Color =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#468_7">Color</A>,
-                                             Attr  =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#467_7">Grey</A>);
+                                             Color =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#467_7">Color</A>,
+                                             Attr  =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#466_7">Grey</A>);
 
 
-      <FONT COLOR=red><A NAME="636_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#628_16">Set_Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#466_7">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses-menus__adb.htm#632_7">Ch</A>));
+      <FONT COLOR=red><A NAME="636_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#628_16">Set_Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#465_7">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses-menus__adb.htm#632_7">Ch</A>));
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#636_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#636_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Grey;
 
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#636_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#636_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Grey;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#473_14">Grey</A><FONT COLOR=red><A NAME="643_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#473_20">Men</A>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                   <A HREF="terminal_interface-curses-menus__ads.htm#474_20">Grey</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#472_14">Grey</A><FONT COLOR=red><A NAME="643_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#472_20">Men</A>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                   <A HREF="terminal_interface-curses-menus__ads.htm#473_20">Grey</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="646_16">Menu_Grey</A></FONT> (<FONT COLOR=red><A NAME="646_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="646_16">Menu_Grey</A></FONT> (<FONT COLOR=red><A NAME="646_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#646_16">Menu_Grey</A>, "menu_grey");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#646_16">Menu_Grey</A>, "menu_grey");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#474_20">Grey</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#646_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#473_20">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#352_10">Attr</A>;
+      <A HREF="terminal_interface-curses-menus__ads.htm#473_20">Grey</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#646_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#472_20">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#352_10">Attr</A>;
    <b>end</b> Grey;
 
    <b>end</b> Grey;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#478_14">Grey</A><FONT COLOR=red><A NAME="652_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#479_7">Men</A>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                   <A HREF="terminal_interface-curses-menus__ads.htm#480_7">Grey</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A>;
-                   <A HREF="terminal_interface-curses-menus__ads.htm#481_7">Color</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#477_14">Grey</A><FONT COLOR=red><A NAME="652_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#478_7">Men</A>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                   <A HREF="terminal_interface-curses-menus__ads.htm#479_7">Grey</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Character_Attribute_Set</A>;
+                   <A HREF="terminal_interface-curses-menus__ads.htm#480_7">Color</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Color_Pair</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="656_16">Menu_Grey</A></FONT> (<FONT COLOR=red><A NAME="656_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="656_16">Menu_Grey</A></FONT> (<FONT COLOR=red><A NAME="656_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#656_16">Menu_Grey</A>, "menu_grey");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#656_16">Menu_Grey</A>, "menu_grey");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#480_7">Grey</A>  := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#656_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#479_7">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#352_10">Attr</A>;
-      <A HREF="terminal_interface-curses-menus__ads.htm#481_7">Color</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#656_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#479_7">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#353_10">Color</A>;
+      <A HREF="terminal_interface-curses-menus__ads.htm#479_7">Grey</A>  := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#656_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#478_7">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#352_10">Attr</A>;
+      <A HREF="terminal_interface-curses-menus__ads.htm#480_7">Color</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#656_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#478_7">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#353_10">Color</A>;
    <b>end</b> Grey;
 
    <b>end</b> Grey;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#486_14">Set_Pad_Character</A><FONT COLOR=red><A NAME="663_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#486_33">Men</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                                <A HREF="terminal_interface-curses-menus__ads.htm#487_33">Pad</A> : <b>in</b> Character := <A HREF="terminal_interface-curses-menus__ads.htm#54_4">Space</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#485_14">Set_Pad_Character</A><FONT COLOR=red><A NAME="663_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#485_33">Men</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                                <A HREF="terminal_interface-curses-menus__ads.htm#486_33">Pad</A> : <b>in</b> Character := <A HREF="terminal_interface-curses-menus__ads.htm#53_4">Space</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="666_16">Set_Menu_Pad</A></FONT> (<FONT COLOR=red><A NAME="666_30">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="666_16">Set_Menu_Pad</A></FONT> (<FONT COLOR=red><A NAME="666_30">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                              <FONT COLOR=red><A NAME="667_30">Ch</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#666_16">Set_Menu_Pad</A>, "set_menu_pad");
 
                              <FONT COLOR=red><A NAME="667_30">Ch</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#666_16">Set_Menu_Pad</A>, "set_menu_pad");
 
-      <FONT COLOR=red><A NAME="670_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#666_16">Set_Menu_Pad</A> (<A HREF="terminal_interface-curses-menus__ads.htm#486_33">Men</A>,
-                                                <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (Character'Pos (<A HREF="terminal_interface-curses-menus__ads.htm#487_33">Pad</A>)));
+      <FONT COLOR=red><A NAME="670_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#666_16">Set_Menu_Pad</A> (<A HREF="terminal_interface-curses-menus__ads.htm#485_33">Men</A>,
+                                                <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (Character'Pos (<A HREF="terminal_interface-curses-menus__ads.htm#486_33">Pad</A>)));
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#670_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#670_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Pad_Character;
 
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#670_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#670_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Pad_Character;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#492_14">Pad_Character</A><FONT COLOR=red><A NAME="678_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#492_29">Men</A> : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                            <A HREF="terminal_interface-curses-menus__ads.htm#493_29">Pad</A> : <b>out</b> Character)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#491_14">Pad_Character</A><FONT COLOR=red><A NAME="678_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#491_29">Men</A> : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                            <A HREF="terminal_interface-curses-menus__ads.htm#492_29">Pad</A> : <b>out</b> Character)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="681_16">Menu_Pad</A></FONT> (<FONT COLOR=red><A NAME="681_26">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="681_16">Menu_Pad</A></FONT> (<FONT COLOR=red><A NAME="681_26">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#681_16">Menu_Pad</A>, "menu_pad");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#681_16">Menu_Pad</A>, "menu_pad");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#493_29">Pad</A> := Character'Val (<A HREF="terminal_interface-curses-menus__adb.htm#681_16">Menu_Pad</A> (<A HREF="terminal_interface-curses-menus__ads.htm#492_29">Men</A>));
+      <A HREF="terminal_interface-curses-menus__ads.htm#492_29">Pad</A> := Character'Val (<A HREF="terminal_interface-curses-menus__adb.htm#681_16">Menu_Pad</A> (<A HREF="terminal_interface-curses-menus__ads.htm#491_29">Men</A>));
    <b>end</b> Pad_Character;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
    <b>end</b> Pad_Character;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#502_14">Set_Spacing</A><FONT COLOR=red><A NAME="687_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#502_27">Men</A>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                          <A HREF="terminal_interface-curses-menus__ads.htm#503_27">Descr</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A> := 0;
-                          <A HREF="terminal_interface-curses-menus__ads.htm#504_27">Row</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>   := 0;
-                          <A HREF="terminal_interface-curses-menus__ads.htm#505_27">Col</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A> := 0)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#501_14">Set_Spacing</A><FONT COLOR=red><A NAME="687_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#501_27">Men</A>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                          <A HREF="terminal_interface-curses-menus__ads.htm#502_27">Descr</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A> := 0;
+                          <A HREF="terminal_interface-curses-menus__ads.htm#503_27">Row</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>   := 0;
+                          <A HREF="terminal_interface-curses-menus__ads.htm#504_27">Col</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A> := 0)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="692_16">Set_Spacing</A></FONT> (<FONT COLOR=red><A NAME="692_29">Men</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="692_16">Set_Spacing</A></FONT> (<FONT COLOR=red><A NAME="692_29">Men</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                             <FONT COLOR=red><A NAME="693_29">D</A></FONT>, <FONT COLOR=red><A NAME="693_32">R</A></FONT>, <FONT COLOR=red><A NAME="693_35">C</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#692_16">Set_Spacing</A>, "set_menu_spacing");
 
                             <FONT COLOR=red><A NAME="693_29">D</A></FONT>, <FONT COLOR=red><A NAME="693_32">R</A></FONT>, <FONT COLOR=red><A NAME="693_35">C</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#692_16">Set_Spacing</A>, "set_menu_spacing");
 
-      <FONT COLOR=red><A NAME="696_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#692_16">Set_Spacing</A> (<A HREF="terminal_interface-curses-menus__ads.htm#502_27">Men</A>,
-                                               <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#503_27">Descr</A>),
-                                               <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#504_27">Row</A>),
-                                               <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#505_27">Col</A>));
+      <FONT COLOR=red><A NAME="696_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#692_16">Set_Spacing</A> (<A HREF="terminal_interface-curses-menus__ads.htm#501_27">Men</A>,
+                                               <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#502_27">Descr</A>),
+                                               <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#503_27">Row</A>),
+                                               <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#504_27">Col</A>));
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#696_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#696_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Spacing;
 
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#696_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#696_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Spacing;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#510_14">Spacing</A><FONT COLOR=red><A NAME="706_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#510_23">Men</A>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                      <A HREF="terminal_interface-curses-menus__ads.htm#511_23">Descr</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
-                      <A HREF="terminal_interface-curses-menus__ads.htm#512_23">Row</A>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
-                      <A HREF="terminal_interface-curses-menus__ads.htm#513_23">Col</A>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#509_14">Spacing</A><FONT COLOR=red><A NAME="706_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#509_23">Men</A>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                      <A HREF="terminal_interface-curses-menus__ads.htm#510_23">Descr</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
+                      <A HREF="terminal_interface-curses-menus__ads.htm#511_23">Row</A>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
+                      <A HREF="terminal_interface-curses-menus__ads.htm#512_23">Col</A>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>)
    <b>is</b>
       <b>type</b> C_Int_Access <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
    <b>is</b>
       <b>type</b> C_Int_Access <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
-      <b>function</b> <FONT COLOR=red><A NAME="712_16">Get_Spacing</A></FONT> (<FONT COLOR=red><A NAME="712_29">Men</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="712_16">Get_Spacing</A></FONT> (<FONT COLOR=red><A NAME="712_29">Men</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                             D, R, C : C_Int_Access) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#712_16">Get_Spacing</A>, "menu_spacing");
 
       <FONT COLOR=red><A NAME="716_7">D</A></FONT>, <FONT COLOR=red><A NAME="716_10">R</A></FONT>, <FONT COLOR=red><A NAME="716_13">C</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
                             D, R, C : C_Int_Access) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#712_16">Get_Spacing</A>, "menu_spacing");
 
       <FONT COLOR=red><A NAME="716_7">D</A></FONT>, <FONT COLOR=red><A NAME="716_10">R</A></FONT>, <FONT COLOR=red><A NAME="716_13">C</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
-      <FONT COLOR=red><A NAME="717_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#712_16">Get_Spacing</A> (<A HREF="terminal_interface-curses-menus__ads.htm#510_23">Men</A>,
+      <FONT COLOR=red><A NAME="717_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#712_16">Get_Spacing</A> (<A HREF="terminal_interface-curses-menus__ads.htm#509_23">Men</A>,
                                                <A HREF="terminal_interface-curses-menus__adb.htm#716_7">D</A>'<b>Access</b>,
                                                <A HREF="terminal_interface-curses-menus__adb.htm#716_10">R</A>'<b>Access</b>,
                                                <A HREF="terminal_interface-curses-menus__adb.htm#716_13">C</A>'<b>Access</b>);
                                                <A HREF="terminal_interface-curses-menus__adb.htm#716_7">D</A>'<b>Access</b>,
                                                <A HREF="terminal_interface-curses-menus__adb.htm#716_10">R</A>'<b>Access</b>,
                                                <A HREF="terminal_interface-curses-menus__adb.htm#716_13">C</A>'<b>Access</b>);
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#717_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#717_7">Res</A>);
       <b>else</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#717_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#717_7">Res</A>);
       <b>else</b>
-         <A HREF="terminal_interface-curses-menus__ads.htm#511_23">Descr</A> := <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#716_7">D</A>);
-         <A HREF="terminal_interface-curses-menus__ads.htm#512_23">Row</A>   := <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#716_10">R</A>);
-         <A HREF="terminal_interface-curses-menus__ads.htm#513_23">Col</A>   := <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#716_13">C</A>);
+         <A HREF="terminal_interface-curses-menus__ads.htm#510_23">Descr</A> := <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#716_7">D</A>);
+         <A HREF="terminal_interface-curses-menus__ads.htm#511_23">Row</A>   := <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#716_10">R</A>);
+         <A HREF="terminal_interface-curses-menus__ads.htm#512_23">Col</A>   := <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#716_13">C</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Spacing;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
       <b>end</b> <b>if</b>;
    <b>end</b> Spacing;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#522_13">Set_Pattern</A><FONT COLOR=red><A NAME="731_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#522_26">Men</A>  : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                         <A HREF="terminal_interface-curses-menus__ads.htm#523_26">Text</A> : String) <b>return</b> Boolean
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#521_13">Set_Pattern</A><FONT COLOR=red><A NAME="731_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#521_26">Men</A>  : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                         <A HREF="terminal_interface-curses-menus__ads.htm#522_26">Text</A> : String) <b>return</b> Boolean
    <b>is</b>
       <b>type</b> Char_Ptr <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.char;
    <b>is</b>
       <b>type</b> Char_Ptr <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.char;
-      <b>function</b> <FONT COLOR=red><A NAME="735_16">Set_Pattern</A></FONT> (<FONT COLOR=red><A NAME="735_29">Men</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="735_16">Set_Pattern</A></FONT> (<FONT COLOR=red><A NAME="735_29">Men</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                             Pattern : Char_Ptr) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#735_16">Set_Pattern</A>, "set_menu_pattern");
 
                             Pattern : Char_Ptr) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#735_16">Set_Pattern</A>, "set_menu_pattern");
 
-      <FONT COLOR=red><A NAME="739_7">S</A></FONT>   : char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#523_26">Text</A>'Length);
+      <FONT COLOR=red><A NAME="739_7">S</A></FONT>   : char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#522_26">Text</A>'Length);
       <FONT COLOR=red><A NAME="740_7">L</A></FONT>   : size_t;
       <FONT COLOR=red><A NAME="741_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
       <FONT COLOR=red><A NAME="740_7">L</A></FONT>   : size_t;
       <FONT COLOR=red><A NAME="741_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses-menus__ads.htm#523_26">Text</A>, <A HREF="terminal_interface-curses-menus__adb.htm#739_7">S</A>, <A HREF="terminal_interface-curses-menus__adb.htm#740_7">L</A>);
-      <A HREF="terminal_interface-curses-menus__adb.htm#741_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#735_16">Set_Pattern</A> (<A HREF="terminal_interface-curses-menus__ads.htm#522_26">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#739_7">S</A> (<A HREF="terminal_interface-curses-menus__adb.htm#739_7">S</A>'First)'<b>Access</b>);
+      To_C (<A HREF="terminal_interface-curses-menus__ads.htm#522_26">Text</A>, <A HREF="terminal_interface-curses-menus__adb.htm#739_7">S</A>, <A HREF="terminal_interface-curses-menus__adb.htm#740_7">L</A>);
+      <A HREF="terminal_interface-curses-menus__adb.htm#741_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#735_16">Set_Pattern</A> (<A HREF="terminal_interface-curses-menus__ads.htm#521_26">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#739_7">S</A> (<A HREF="terminal_interface-curses-menus__adb.htm#739_7">S</A>'First)'<b>Access</b>);
       <b>case</b> <A HREF="terminal_interface-curses-menus__adb.htm#741_7">Res</A> <b>is</b>
          <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#89_4">E_No_Match</A> =&gt; <b>return</b> False;
          <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A>       =&gt; <b>return</b> True;
       <b>case</b> <A HREF="terminal_interface-curses-menus__adb.htm#741_7">Res</A> <b>is</b>
          <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#89_4">E_No_Match</A> =&gt; <b>return</b> False;
          <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A>       =&gt; <b>return</b> True;
       <b>end</b> <b>case</b>;
    <b>end</b> Set_Pattern;
 
       <b>end</b> <b>case</b>;
    <b>end</b> Set_Pattern;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#529_14">Pattern</A><FONT COLOR=red><A NAME="754_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#529_23">Men</A>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                      <A HREF="terminal_interface-curses-menus__ads.htm#530_23">Text</A> : <b>out</b> String)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#528_14">Pattern</A><FONT COLOR=red><A NAME="754_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#528_23">Men</A>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                      <A HREF="terminal_interface-curses-menus__ads.htm#529_23">Text</A> : <b>out</b> String)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="757_16">Get_Pattern</A></FONT> (<FONT COLOR=red><A NAME="757_29">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="757_16">Get_Pattern</A></FONT> (<FONT COLOR=red><A NAME="757_29">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#57_12">chars_ptr</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#757_16">Get_Pattern</A>, "menu_pattern");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#757_16">Get_Pattern</A>, "menu_pattern");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#757_16">Get_Pattern</A> (<A HREF="terminal_interface-curses-menus__ads.htm#529_23">Men</A>), <A HREF="terminal_interface-curses-menus__ads.htm#530_23">Text</A>);
+      <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#757_16">Get_Pattern</A> (<A HREF="terminal_interface-curses-menus__ads.htm#528_23">Men</A>), <A HREF="terminal_interface-curses-menus__ads.htm#529_23">Text</A>);
    <b>end</b> Pattern;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
    <b>end</b> Pattern;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#539_14">Set_Format</A><FONT COLOR=red><A NAME="763_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#539_26">Men</A>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                         <A HREF="terminal_interface-curses-menus__ads.htm#540_26">Lines</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>;
-                         <A HREF="terminal_interface-curses-menus__ads.htm#541_26">Columns</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#538_14">Set_Format</A><FONT COLOR=red><A NAME="763_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#538_26">Men</A>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                         <A HREF="terminal_interface-curses-menus__ads.htm#539_26">Lines</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>;
+                         <A HREF="terminal_interface-curses-menus__ads.htm#540_26">Columns</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="767_16">Set_Menu_Fmt</A></FONT> (<FONT COLOR=red><A NAME="767_30">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="767_16">Set_Menu_Fmt</A></FONT> (<FONT COLOR=red><A NAME="767_30">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                              <FONT COLOR=red><A NAME="768_30">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
                              <FONT COLOR=red><A NAME="769_30">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#767_16">Set_Menu_Fmt</A>, "set_menu_format");
 
                              <FONT COLOR=red><A NAME="768_30">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
                              <FONT COLOR=red><A NAME="769_30">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#767_16">Set_Menu_Fmt</A>, "set_menu_format");
 
-      <FONT COLOR=red><A NAME="772_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#767_16">Set_Menu_Fmt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#539_26">Men</A>,
-                                                <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#540_26">Lines</A>),
-                                                <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#541_26">Columns</A>));
+      <FONT COLOR=red><A NAME="772_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#767_16">Set_Menu_Fmt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#538_26">Men</A>,
+                                                <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#539_26">Lines</A>),
+                                                <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#540_26">Columns</A>));
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#772_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#772_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Format;
 
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#772_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#772_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Format;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#546_14">Format</A><FONT COLOR=red><A NAME="781_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#546_22">Men</A>     : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                     <A HREF="terminal_interface-curses-menus__ads.htm#547_22">Lines</A>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>;
-                     <A HREF="terminal_interface-curses-menus__ads.htm#548_22">Columns</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#545_14">Format</A><FONT COLOR=red><A NAME="781_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#545_22">Men</A>     : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                     <A HREF="terminal_interface-curses-menus__ads.htm#546_22">Lines</A>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>;
+                     <A HREF="terminal_interface-curses-menus__ads.htm#547_22">Columns</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>)
    <b>is</b>
       <b>type</b> C_Int_Access <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
    <b>is</b>
       <b>type</b> C_Int_Access <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
-      <b>function</b> <FONT COLOR=red><A NAME="786_16">Menu_Fmt</A></FONT> (<FONT COLOR=red><A NAME="786_26">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="786_16">Menu_Fmt</A></FONT> (<FONT COLOR=red><A NAME="786_26">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                          Y, X : C_Int_Access) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#786_16">Menu_Fmt</A>, "menu_format");
 
       <FONT COLOR=red><A NAME="790_7">L</A></FONT>, <FONT COLOR=red><A NAME="790_10">C</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
                          Y, X : C_Int_Access) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#786_16">Menu_Fmt</A>, "menu_format");
 
       <FONT COLOR=red><A NAME="790_7">L</A></FONT>, <FONT COLOR=red><A NAME="790_10">C</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
-      <FONT COLOR=red><A NAME="791_7">Res</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#786_16">Menu_Fmt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#546_22">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#790_7">L</A>'<b>Access</b>, <A HREF="terminal_interface-curses-menus__adb.htm#790_10">C</A>'<b>Access</b>);
+      <FONT COLOR=red><A NAME="791_7">Res</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#786_16">Menu_Fmt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#545_22">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#790_7">L</A>'<b>Access</b>, <A HREF="terminal_interface-curses-menus__adb.htm#790_10">C</A>'<b>Access</b>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#791_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#791_7">Res</A>);
       <b>else</b>
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#791_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#791_7">Res</A>);
       <b>else</b>
-         <A HREF="terminal_interface-curses-menus__ads.htm#547_22">Lines</A>   := <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#790_7">L</A>);
-         <A HREF="terminal_interface-curses-menus__ads.htm#548_22">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#790_10">C</A>);
+         <A HREF="terminal_interface-curses-menus__ads.htm#546_22">Lines</A>   := <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#790_7">L</A>);
+         <A HREF="terminal_interface-curses-menus__ads.htm#547_22">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#790_10">C</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Format;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
       <b>end</b> <b>if</b>;
    <b>end</b> Format;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#560_14">Set_Item_Init_Hook</A><FONT COLOR=red><A NAME="801_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#560_34">Men</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                                 <A HREF="terminal_interface-curses-menus__ads.htm#561_34">Proc</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#556_9">Menu_Hook_Function</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#559_14">Set_Item_Init_Hook</A><FONT COLOR=red><A NAME="801_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#559_34">Men</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                                 <A HREF="terminal_interface-curses-menus__ads.htm#560_34">Proc</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#555_9">Menu_Hook_Function</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="804_16">Set_Item_Init</A></FONT> (<FONT COLOR=red><A NAME="804_31">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                              <FONT COLOR=red><A NAME="805_31">Proc</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#556_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="804_16">Set_Item_Init</A></FONT> (<FONT COLOR=red><A NAME="804_31">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                              <FONT COLOR=red><A NAME="805_31">Proc</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#555_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#804_16">Set_Item_Init</A>, "set_item_init");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#804_16">Set_Item_Init</A>, "set_item_init");
 
-      <FONT COLOR=red><A NAME="808_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#804_16">Set_Item_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#560_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#561_34">Proc</A>);
+      <FONT COLOR=red><A NAME="808_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#804_16">Set_Item_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#559_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#560_34">Proc</A>);
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#808_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#808_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Item_Init_Hook;
 
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#808_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#808_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Item_Init_Hook;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#566_14">Set_Item_Term_Hook</A><FONT COLOR=red><A NAME="815_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#566_34">Men</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                                 <A HREF="terminal_interface-curses-menus__ads.htm#567_34">Proc</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#556_9">Menu_Hook_Function</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#565_14">Set_Item_Term_Hook</A><FONT COLOR=red><A NAME="815_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#565_34">Men</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                                 <A HREF="terminal_interface-curses-menus__ads.htm#566_34">Proc</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#555_9">Menu_Hook_Function</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="818_16">Set_Item_Term</A></FONT> (<FONT COLOR=red><A NAME="818_31">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                              <FONT COLOR=red><A NAME="819_31">Proc</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#556_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="818_16">Set_Item_Term</A></FONT> (<FONT COLOR=red><A NAME="818_31">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                              <FONT COLOR=red><A NAME="819_31">Proc</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#555_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#818_16">Set_Item_Term</A>, "set_item_term");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#818_16">Set_Item_Term</A>, "set_item_term");
 
-      <FONT COLOR=red><A NAME="822_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#818_16">Set_Item_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#566_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#567_34">Proc</A>);
+      <FONT COLOR=red><A NAME="822_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#818_16">Set_Item_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#565_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#566_34">Proc</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#822_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#822_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Item_Term_Hook;
 
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#822_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#822_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Item_Term_Hook;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#572_14">Set_Menu_Init_Hook</A><FONT COLOR=red><A NAME="829_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#572_34">Men</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                                 <A HREF="terminal_interface-curses-menus__ads.htm#573_34">Proc</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#556_9">Menu_Hook_Function</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#571_14">Set_Menu_Init_Hook</A><FONT COLOR=red><A NAME="829_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#571_34">Men</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                                 <A HREF="terminal_interface-curses-menus__ads.htm#572_34">Proc</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#555_9">Menu_Hook_Function</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="832_16">Set_Menu_Init</A></FONT> (<FONT COLOR=red><A NAME="832_31">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                              <FONT COLOR=red><A NAME="833_31">Proc</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#556_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="832_16">Set_Menu_Init</A></FONT> (<FONT COLOR=red><A NAME="832_31">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                              <FONT COLOR=red><A NAME="833_31">Proc</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#555_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#832_16">Set_Menu_Init</A>, "set_menu_init");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#832_16">Set_Menu_Init</A>, "set_menu_init");
 
-      <FONT COLOR=red><A NAME="836_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#832_16">Set_Menu_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#572_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#573_34">Proc</A>);
+      <FONT COLOR=red><A NAME="836_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#832_16">Set_Menu_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#571_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#572_34">Proc</A>);
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#836_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#836_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Menu_Init_Hook;
 
    <b>begin</b>
       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#836_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#836_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Menu_Init_Hook;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#578_14">Set_Menu_Term_Hook</A><FONT COLOR=red><A NAME="843_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#578_34">Men</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                                 <A HREF="terminal_interface-curses-menus__ads.htm#579_34">Proc</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#556_9">Menu_Hook_Function</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#577_14">Set_Menu_Term_Hook</A><FONT COLOR=red><A NAME="843_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#577_34">Men</A>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                                 <A HREF="terminal_interface-curses-menus__ads.htm#578_34">Proc</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#555_9">Menu_Hook_Function</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="846_16">Set_Menu_Term</A></FONT> (<FONT COLOR=red><A NAME="846_31">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                              <FONT COLOR=red><A NAME="847_31">Proc</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#556_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="846_16">Set_Menu_Term</A></FONT> (<FONT COLOR=red><A NAME="846_31">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                              <FONT COLOR=red><A NAME="847_31">Proc</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#555_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#846_16">Set_Menu_Term</A>, "set_menu_term");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#846_16">Set_Menu_Term</A>, "set_menu_term");
 
-      <FONT COLOR=red><A NAME="850_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#846_16">Set_Menu_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#578_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#579_34">Proc</A>);
+      <FONT COLOR=red><A NAME="850_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#846_16">Set_Menu_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#577_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#578_34">Proc</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#850_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#850_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Menu_Term_Hook;
 
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#850_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#850_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>end</b> Set_Menu_Term_Hook;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#584_13">Get_Item_Init_Hook</A><FONT COLOR=red><A NAME="857_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#584_33">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#556_9">Menu_Hook_Function</A>
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#583_13">Get_Item_Init_Hook</A><FONT COLOR=red><A NAME="857_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#583_33">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#555_9">Menu_Hook_Function</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="859_16">Item_Init</A></FONT> (<FONT COLOR=red><A NAME="859_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#556_9">Menu_Hook_Function</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="859_16">Item_Init</A></FONT> (<FONT COLOR=red><A NAME="859_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#555_9">Menu_Hook_Function</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#859_16">Item_Init</A>, "item_init");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#859_16">Item_Init</A>, "item_init");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#859_16">Item_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#584_33">Men</A>);
+      <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#859_16">Item_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#583_33">Men</A>);
    <b>end</b> Get_Item_Init_Hook;
 
    <b>end</b> Get_Item_Init_Hook;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#589_13">Get_Item_Term_Hook</A><FONT COLOR=red><A NAME="865_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#589_33">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#556_9">Menu_Hook_Function</A>
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#588_13">Get_Item_Term_Hook</A><FONT COLOR=red><A NAME="865_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#588_33">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#555_9">Menu_Hook_Function</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="867_16">Item_Term</A></FONT> (<FONT COLOR=red><A NAME="867_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#556_9">Menu_Hook_Function</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="867_16">Item_Term</A></FONT> (<FONT COLOR=red><A NAME="867_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#555_9">Menu_Hook_Function</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#867_16">Item_Term</A>, "item_term");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#867_16">Item_Term</A>, "item_term");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#867_16">Item_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#589_33">Men</A>);
+      <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#867_16">Item_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#588_33">Men</A>);
    <b>end</b> Get_Item_Term_Hook;
 
    <b>end</b> Get_Item_Term_Hook;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#594_13">Get_Menu_Init_Hook</A><FONT COLOR=red><A NAME="873_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#594_33">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#556_9">Menu_Hook_Function</A>
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#593_13">Get_Menu_Init_Hook</A><FONT COLOR=red><A NAME="873_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#593_33">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#555_9">Menu_Hook_Function</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="875_16">Menu_Init</A></FONT> (<FONT COLOR=red><A NAME="875_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#556_9">Menu_Hook_Function</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="875_16">Menu_Init</A></FONT> (<FONT COLOR=red><A NAME="875_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#555_9">Menu_Hook_Function</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#875_16">Menu_Init</A>, "menu_init");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#875_16">Menu_Init</A>, "menu_init");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#875_16">Menu_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#594_33">Men</A>);
+      <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#875_16">Menu_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#593_33">Men</A>);
    <b>end</b> Get_Menu_Init_Hook;
 
    <b>end</b> Get_Menu_Init_Hook;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#599_13">Get_Menu_Term_Hook</A><FONT COLOR=red><A NAME="881_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#599_33">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#556_9">Menu_Hook_Function</A>
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#598_13">Get_Menu_Term_Hook</A><FONT COLOR=red><A NAME="881_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#598_33">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#555_9">Menu_Hook_Function</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="883_16">Menu_Term</A></FONT> (<FONT COLOR=red><A NAME="883_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#556_9">Menu_Hook_Function</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="883_16">Menu_Term</A></FONT> (<FONT COLOR=red><A NAME="883_27">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#555_9">Menu_Hook_Function</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#883_16">Menu_Term</A>, "menu_term");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#883_16">Menu_Term</A>, "menu_term");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#883_16">Menu_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#599_33">Men</A>);
+      <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#883_16">Menu_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#598_33">Men</A>);
    <b>end</b> Get_Menu_Term_Hook;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
    <b>end</b> Get_Menu_Term_Hook;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#608_14">Redefine</A><FONT COLOR=red><A NAME="889_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#608_24">Men</A>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                       <A HREF="terminal_interface-curses-menus__ads.htm#609_24">Items</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#180_9">Item_Array_Access</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#607_14">Redefine</A><FONT COLOR=red><A NAME="889_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#607_24">Men</A>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                       <A HREF="terminal_interface-curses-menus__ads.htm#608_24">Items</A> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#179_9">Item_Array_Access</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="892_16">Set_Items</A></FONT> (<FONT COLOR=red><A NAME="892_27">Men</A></FONT>   : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="892_16">Set_Items</A></FONT> (<FONT COLOR=red><A NAME="892_27">Men</A></FONT>   : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                           <FONT COLOR=red><A NAME="893_27">Items</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#892_16">Set_Items</A>, "set_menu_items");
 
       <FONT COLOR=red><A NAME="896_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
       <b>pragma</b> Assert (Items (Items'Last) = Null_Item);
                           <FONT COLOR=red><A NAME="893_27">Items</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#892_16">Set_Items</A>, "set_menu_items");
 
       <FONT COLOR=red><A NAME="896_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A>;
    <b>begin</b>
       <b>pragma</b> Assert (Items (Items'Last) = Null_Item);
-      <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#609_24">Items</A> (<A HREF="terminal_interface-curses-menus__ads.htm#609_24">Items</A>'Last) /= <A HREF="terminal_interface-curses-menus__ads.htm#62_4">Null_Item</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#116_4">Menu_Exception</A>;
+      <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#608_24">Items</A> (<A HREF="terminal_interface-curses-menus__ads.htm#608_24">Items</A>'Last) /= <A HREF="terminal_interface-curses-menus__ads.htm#61_4">Null_Item</A> <b>then</b>
+         <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#115_4">Menu_Exception</A>;
       <b>else</b>
       <b>else</b>
-         <A HREF="terminal_interface-curses-menus__adb.htm#896_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#892_16">Set_Items</A> (<A HREF="terminal_interface-curses-menus__ads.htm#608_24">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#609_24">Items</A>.<b>all</b>'Address);
+         <A HREF="terminal_interface-curses-menus__adb.htm#896_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#892_16">Set_Items</A> (<A HREF="terminal_interface-curses-menus__ads.htm#607_24">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#608_24">Items</A>.<b>all</b>'Address);
          <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#896_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
             <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#896_7">Res</A>);
          <b>end</b> <b>if</b>;
       <b>end</b> <b>if</b>;
    <b>end</b> Redefine;
 
          <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#896_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
             <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#896_7">Res</A>);
          <b>end</b> <b>if</b>;
       <b>end</b> <b>if</b>;
    <b>end</b> Redefine;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#624_13">Item_Count</A><FONT COLOR=red><A NAME="909_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#624_25">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> Natural
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#623_13">Item_Count</A><FONT COLOR=red><A NAME="909_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#623_25">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> Natural
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="911_16">Count</A></FONT> (<FONT COLOR=red><A NAME="911_23">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="911_16">Count</A></FONT> (<FONT COLOR=red><A NAME="911_23">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#911_16">Count</A>, "item_count");
    <b>begin</b>
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#911_16">Count</A>, "item_count");
    <b>begin</b>
-      <b>return</b> Natural (<A HREF="terminal_interface-curses-menus__adb.htm#911_16">Count</A> (<A HREF="terminal_interface-curses-menus__ads.htm#624_25">Men</A>));
+      <b>return</b> Natural (<A HREF="terminal_interface-curses-menus__adb.htm#911_16">Count</A> (<A HREF="terminal_interface-curses-menus__ads.htm#623_25">Men</A>));
    <b>end</b> Item_Count;
 
    <b>end</b> Item_Count;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#618_13">Items</A><FONT COLOR=red><A NAME="917_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#618_20">Men</A>   : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                   <A HREF="terminal_interface-curses-menus__ads.htm#619_20">Index</A> : Positive) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#617_13">Items</A><FONT COLOR=red><A NAME="917_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#617_20">Men</A>   : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                   <A HREF="terminal_interface-curses-menus__ads.htm#618_20">Index</A> : Positive) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Item</A>
    <b>is</b>
       <b>use</b> <A HREF="terminal_interface-curses-menus__adb.htm#53_12">I_Array</A>;
 
    <b>is</b>
       <b>use</b> <A HREF="terminal_interface-curses-menus__adb.htm#53_12">I_Array</A>;
 
-      <b>function</b> <FONT COLOR=red><A NAME="922_16">C_Mitems</A></FONT> (<FONT COLOR=red><A NAME="922_26">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> Pointer;
+      <b>function</b> <FONT COLOR=red><A NAME="922_16">C_Mitems</A></FONT> (<FONT COLOR=red><A NAME="922_26">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> Pointer;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#922_16">C_Mitems</A>, "menu_items");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#922_16">C_Mitems</A>, "menu_items");
 
-      P : Pointer := <A HREF="terminal_interface-curses-menus__adb.htm#922_16">C_Mitems</A> (<A HREF="terminal_interface-curses-menus__ads.htm#618_20">Men</A>);
+      P : Pointer := <A HREF="terminal_interface-curses-menus__adb.htm#922_16">C_Mitems</A> (<A HREF="terminal_interface-curses-menus__ads.htm#617_20">Men</A>);
    <b>begin</b>
    <b>begin</b>
-      <b>if</b> P = <b>null</b> <b>or</b> <b>else</b> <A HREF="terminal_interface-curses-menus__ads.htm#619_20">Index</A> <b>not</b> <b>in</b> 1 .. <A HREF="terminal_interface-curses-menus__ads.htm#624_13">Item_Count</A> (<A HREF="terminal_interface-curses-menus__ads.htm#618_20">Men</A>) <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#116_4">Menu_Exception</A>;
+      <b>if</b> P = <b>null</b> <b>or</b> <b>else</b> <A HREF="terminal_interface-curses-menus__ads.htm#618_20">Index</A> <b>not</b> <b>in</b> 1 .. <A HREF="terminal_interface-curses-menus__ads.htm#623_13">Item_Count</A> (<A HREF="terminal_interface-curses-menus__ads.htm#617_20">Men</A>) <b>then</b>
+         <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#115_4">Menu_Exception</A>;
       <b>else</b>
       <b>else</b>
-         P := P + ptrdiff_t (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#619_20">Index</A>) - 1);
+         P := P + ptrdiff_t (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#618_20">Index</A>) - 1);
          <b>return</b> P.<b>all</b>;
       <b>end</b> <b>if</b>;
    <b>end</b> Items;
 
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
          <b>return</b> P.<b>all</b>;
       <b>end</b> <b>if</b>;
    <b>end</b> Items;
 
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#633_13">Create</A><FONT COLOR=red><A NAME="936_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#633_21">Items</A> : <A HREF="terminal_interface-curses-menus__ads.htm#180_9">Item_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#632_13">Create</A><FONT COLOR=red><A NAME="936_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#632_21">Items</A> : <A HREF="terminal_interface-curses-menus__ads.htm#179_9">Item_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="938_16">Newmenu</A></FONT> (<FONT COLOR=red><A NAME="938_25">Items</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="938_16">Newmenu</A></FONT> (<FONT COLOR=red><A NAME="938_25">Items</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#938_16">Newmenu</A>, "new_menu");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#938_16">Newmenu</A>, "new_menu");
 
-      <FONT COLOR=red><A NAME="941_7">M</A></FONT>   : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <FONT COLOR=red><A NAME="941_7">M</A></FONT>   : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
    <b>begin</b>
       <b>pragma</b> Assert (Items (Items'Last) = Null_Item);
    <b>begin</b>
       <b>pragma</b> Assert (Items (Items'Last) = Null_Item);
-      <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#633_21">Items</A> (<A HREF="terminal_interface-curses-menus__ads.htm#633_21">Items</A>'Last) /= <A HREF="terminal_interface-curses-menus__ads.htm#62_4">Null_Item</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#116_4">Menu_Exception</A>;
+      <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#632_21">Items</A> (<A HREF="terminal_interface-curses-menus__ads.htm#632_21">Items</A>'Last) /= <A HREF="terminal_interface-curses-menus__ads.htm#61_4">Null_Item</A> <b>then</b>
+         <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#115_4">Menu_Exception</A>;
       <b>else</b>
       <b>else</b>
-         <A HREF="terminal_interface-curses-menus__adb.htm#941_7">M</A> := <A HREF="terminal_interface-curses-menus__adb.htm#938_16">Newmenu</A> (<A HREF="terminal_interface-curses-menus__ads.htm#633_21">Items</A>.<b>all</b>'Address);
-         <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#941_7">M</A> = <A HREF="terminal_interface-curses-menus__ads.htm#63_4">Null_Menu</A> <b>then</b>
-            <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#116_4">Menu_Exception</A>;
+         <A HREF="terminal_interface-curses-menus__adb.htm#941_7">M</A> := <A HREF="terminal_interface-curses-menus__adb.htm#938_16">Newmenu</A> (<A HREF="terminal_interface-curses-menus__ads.htm#632_21">Items</A>.<b>all</b>'Address);
+         <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#941_7">M</A> = <A HREF="terminal_interface-curses-menus__ads.htm#62_4">Null_Menu</A> <b>then</b>
+            <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#115_4">Menu_Exception</A>;
          <b>end</b> <b>if</b>;
          <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#941_7">M</A>;
       <b>end</b> <b>if</b>;
    <b>end</b> Create;
 
          <b>end</b> <b>if</b>;
          <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#941_7">M</A>;
       <b>end</b> <b>if</b>;
    <b>end</b> Create;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#640_14">Delete</A><FONT COLOR=red><A NAME="955_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#640_22">Men</A> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#639_14">Delete</A><FONT COLOR=red><A NAME="955_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#639_22">Men</A> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>)
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="957_16">Free</A></FONT> (<FONT COLOR=red><A NAME="957_22">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="957_16">Free</A></FONT> (<FONT COLOR=red><A NAME="957_22">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#957_16">Free</A>, "free_menu");
 
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#957_16">Free</A>, "free_menu");
 
-      <FONT COLOR=red><A NAME="960_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#957_16">Free</A> (<A HREF="terminal_interface-curses-menus__ads.htm#640_22">Men</A>);
+      <FONT COLOR=red><A NAME="960_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#957_16">Free</A> (<A HREF="terminal_interface-curses-menus__ads.htm#639_22">Men</A>);
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#960_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#960_7">Res</A>);
       <b>end</b> <b>if</b>;
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#960_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#960_7">Res</A>);
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses-menus__ads.htm#640_22">Men</A> := <A HREF="terminal_interface-curses-menus__ads.htm#63_4">Null_Menu</A>;
+      <A HREF="terminal_interface-curses-menus__ads.htm#639_22">Men</A> := <A HREF="terminal_interface-curses-menus__ads.htm#62_4">Null_Menu</A>;
    <b>end</b> Delete;
 
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
    <b>end</b> Delete;
 
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#655_13">Driver</A><FONT COLOR=red><A NAME="969_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#655_21">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
-                    <A HREF="terminal_interface-curses-menus__ads.htm#656_21">Key</A> : <A HREF="terminal_interface-curses__ads.htm#67_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#649_9">Driver_Result</A>
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#654_13">Driver</A><FONT COLOR=red><A NAME="969_13"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#654_21">Men</A> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+                    <A HREF="terminal_interface-curses-menus__ads.htm#655_21">Key</A> : <A HREF="terminal_interface-curses__ads.htm#67_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#648_9">Driver_Result</A>
    <b>is</b>
    <b>is</b>
-      <b>function</b> <FONT COLOR=red><A NAME="972_16">Driver</A></FONT> (<FONT COLOR=red><A NAME="972_24">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Menu</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="972_16">Driver</A></FONT> (<FONT COLOR=red><A NAME="972_24">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
                        <FONT COLOR=red><A NAME="973_24">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#972_16">Driver</A>, "menu_driver");
 
                        <FONT COLOR=red><A NAME="973_24">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-menus__adb.htm#972_16">Driver</A>, "menu_driver");
 
-      <FONT COLOR=red><A NAME="976_7">R</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#972_16">Driver</A> (<A HREF="terminal_interface-curses-menus__ads.htm#655_21">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#656_21">Key</A>));
+      <FONT COLOR=red><A NAME="976_7">R</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#972_16">Driver</A> (<A HREF="terminal_interface-curses-menus__ads.htm#654_21">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#655_21">Key</A>));
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#976_7">R</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <b>case</b> <A HREF="terminal_interface-curses-menus__adb.htm#976_7">R</A> <b>is</b>
    <b>begin</b>
       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#976_7">R</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> <b>then</b>
          <b>case</b> <A HREF="terminal_interface-curses-menus__adb.htm#976_7">R</A> <b>is</b>
-            <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#88_4">E_Unknown_Command</A>  =&gt; <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#651_27">Unknown_Request</A>;
-            <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#89_4">E_No_Match</A>         =&gt; <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#652_27">No_Match</A>;
+            <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#88_4">E_Unknown_Command</A>  =&gt; <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#650_27">Unknown_Request</A>;
+            <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#89_4">E_No_Match</A>         =&gt; <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#651_27">No_Match</A>;
             <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#92_4">E_Request_Denied</A> |
             <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#92_4">E_Request_Denied</A> |
-                 <A HREF="terminal_interface-curses-aux__ads.htm#90_4">E_Not_Selectable</A>   =&gt; <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#650_27">Request_Denied</A>;
+                 <A HREF="terminal_interface-curses-aux__ads.htm#90_4">E_Not_Selectable</A>   =&gt; <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#649_27">Request_Denied</A>;
             <b>when</b> <b>others</b> =&gt;
                <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#976_7">R</A>);
          <b>end</b> <b>case</b>;
       <b>end</b> <b>if</b>;
             <b>when</b> <b>others</b> =&gt;
                <A HREF="terminal_interface-curses-aux__ads.htm#96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#976_7">R</A>);
          <b>end</b> <b>case</b>;
       <b>end</b> <b>if</b>;
-      <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#649_27">Menu_Ok</A>;
+      <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#648_27">Menu_Ok</A>;
    <b>end</b> Driver;
 
    <b>end</b> Driver;
 
-   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#182_14">Free</A><FONT COLOR=red><A NAME="991_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#182_20">IA</A>         : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#180_9">Item_Array_Access</A>;
-                   <A HREF="terminal_interface-curses-menus__ads.htm#183_20">Free_Items</A> : <b>in</b> Boolean := False)
+   <b>procedure</b> <A HREF="terminal_interface-curses-menus__ads.htm#181_14">Free</A><FONT COLOR=red><A NAME="991_14"></A></FONT> (<A HREF="terminal_interface-curses-menus__ads.htm#181_20">IA</A>         : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#179_9">Item_Array_Access</A>;
+                   <A HREF="terminal_interface-curses-menus__ads.htm#182_20">Free_Items</A> : <b>in</b> Boolean := False)
    <b>is</b>
       <b>procedure</b> <FONT COLOR=red><A NAME="994_17">Release</A></FONT> <b>is</b> <b>new</b> Ada.Unchecked_Deallocation
    <b>is</b>
       <b>procedure</b> <FONT COLOR=red><A NAME="994_17">Release</A></FONT> <b>is</b> <b>new</b> Ada.Unchecked_Deallocation
-        (<A HREF="terminal_interface-curses-menus__ads.htm#177_9">Item_Array</A>, <A HREF="terminal_interface-curses-menus__ads.htm#180_9">Item_Array_Access</A>);
+        (<A HREF="terminal_interface-curses-menus__ads.htm#176_9">Item_Array</A>, <A HREF="terminal_interface-curses-menus__ads.htm#179_9">Item_Array_Access</A>);
    <b>begin</b>
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#182_20">IA</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-menus__ads.htm#183_20">Free_Items</A> <b>then</b>
-         <b>for</b> <FONT COLOR=red><A NAME="998_14">I</A></FONT> <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#182_20">IA</A>'First .. (<A HREF="terminal_interface-curses-menus__ads.htm#182_20">IA</A>'Last - 1) <b>loop</b>
-            <b>if</b> (<A HREF="terminal_interface-curses-menus__ads.htm#182_20">IA</A> (<A HREF="terminal_interface-curses-menus__adb.htm#998_14">I</A>) /= <A HREF="terminal_interface-curses-menus__ads.htm#62_4">Null_Item</A>) <b>then</b>
-               <A HREF="terminal_interface-curses-menus__ads.htm#640_14">Delete</A> (<A HREF="terminal_interface-curses-menus__ads.htm#182_20">IA</A> (<A HREF="terminal_interface-curses-menus__adb.htm#998_14">I</A>));
+      <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#181_20">IA</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-menus__ads.htm#182_20">Free_Items</A> <b>then</b>
+         <b>for</b> <FONT COLOR=red><A NAME="998_14">I</A></FONT> <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#181_20">IA</A>'First .. (<A HREF="terminal_interface-curses-menus__ads.htm#181_20">IA</A>'Last - 1) <b>loop</b>
+            <b>if</b> (<A HREF="terminal_interface-curses-menus__ads.htm#181_20">IA</A> (<A HREF="terminal_interface-curses-menus__adb.htm#998_14">I</A>) /= <A HREF="terminal_interface-curses-menus__ads.htm#61_4">Null_Item</A>) <b>then</b>
+               <A HREF="terminal_interface-curses-menus__ads.htm#639_14">Delete</A> (<A HREF="terminal_interface-curses-menus__ads.htm#181_20">IA</A> (<A HREF="terminal_interface-curses-menus__adb.htm#998_14">I</A>));
             <b>end</b> <b>if</b>;
          <b>end</b> <b>loop</b>;
       <b>end</b> <b>if</b>;
             <b>end</b> <b>if</b>;
          <b>end</b> <b>loop</b>;
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses-menus__adb.htm#994_17">Release</A> (<A HREF="terminal_interface-curses-menus__ads.htm#182_20">IA</A>);
+      <A HREF="terminal_interface-curses-menus__adb.htm#994_17">Release</A> (<A HREF="terminal_interface-curses-menus__ads.htm#181_20">IA</A>);
    <b>end</b> Free;
 
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
    <b>end</b> Free;
 
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#147_13">Default_Menu_Options</A><FONT COLOR=red><A NAME="1008_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#121_9">Menu_Option_Set</A>
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#146_13">Default_Menu_Options</A><FONT COLOR=red><A NAME="1008_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#120_9">Menu_Option_Set</A>
    <b>is</b>
    <b>begin</b>
    <b>is</b>
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#354_13">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#63_4">Null_Menu</A>);
+      <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#353_13">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#62_4">Null_Menu</A>);
    <b>end</b> Default_Menu_Options;
 
    <b>end</b> Default_Menu_Options;
 
-   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#170_13">Default_Item_Options</A><FONT COLOR=red><A NAME="1014_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#154_9">Item_Option_Set</A>
+   <b>function</b> <A HREF="terminal_interface-curses-menus__ads.htm#169_13">Default_Item_Options</A><FONT COLOR=red><A NAME="1014_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#153_9">Item_Option_Set</A>
    <b>is</b>
    <b>begin</b>
    <b>is</b>
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#354_13">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#62_4">Null_Item</A>);
+      <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#353_13">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#61_4">Null_Item</A>);
    <b>end</b> Default_Item_Options;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
 
    <b>end</b> Default_Item_Options;
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
 
index 22584143bc38d2ac0c100da1439a7cacb1fab6b2..5a591dae1f57232176f6b5a84c2703abd8d1cb92 100644 (file)
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <FONT COLOR=green><EM>--  Author: <A HREF="http://home.t-online.de/home/Juergen.Pfeifer">J&uuml;rgen Pfeifer</A> &lt;<A HREF="mailto:juergen.pfeifer@gmx.net">&lt;juergen.pfeifer@gmx.net&gt;</A>&gt; 1996</EM></FONT>
 <FONT COLOR=green><EM>--  Version Control:</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <FONT COLOR=green><EM>--  Author: <A HREF="http://home.t-online.de/home/Juergen.Pfeifer">J&uuml;rgen Pfeifer</A> &lt;<A HREF="mailto:juergen.pfeifer@gmx.net">&lt;juergen.pfeifer@gmx.net&gt;</A>&gt; 1996</EM></FONT>
 <FONT COLOR=green><EM>--  Version Control:</EM></FONT>
-<FONT COLOR=green><EM>--  @Revision: 1.20 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.21 @</EM></FONT>
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <FONT COLOR=green><EM>--  menu binding.</EM></FONT>
 <FONT COLOR=green><EM>--  This module is generated. Please don't change it manually!</EM></FONT>
 <FONT COLOR=green><EM>--  Run the generator instead.</EM></FONT>
 <FONT COLOR=green><EM>--  |</EM></FONT>
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <FONT COLOR=green><EM>--  menu binding.</EM></FONT>
 <FONT COLOR=green><EM>--  This module is generated. Please don't change it manually!</EM></FONT>
 <FONT COLOR=green><EM>--  Run the generator instead.</EM></FONT>
 <FONT COLOR=green><EM>--  |</EM></FONT>
-<b>with</b> <A HREF="interfac__ads.htm#23_9">System</A>;
-<b>with</b> Interfaces.C;
+<b>with</b> System;
 <b>with</b> Ada.Characters.Latin_1;
 
 <b>package</b> Terminal_Interface.Curses.Menus <b>is</b>
 <b>with</b> Ada.Characters.Latin_1;
 
 <b>package</b> Terminal_Interface.Curses.Menus <b>is</b>
 
    Space : Character <b>renames</b> Ada.Characters.Latin_1.Space;
 
 
    Space : Character <b>renames</b> Ada.Characters.Latin_1.Space;
 
-   <b>type</b> <FONT COLOR=red><A NAME="57_9">Item</A></FONT> <b>is</b> <b>private</b>;
+   <b>type</b> <FONT COLOR=red><A NAME="56_9">Item</A></FONT> <b>is</b> <b>private</b>;
    <b>type</b> Menu <b>is</b> <b>private</b>;
 
    <FONT COLOR=green><EM>---------------------------</EM></FONT>
    <FONT COLOR=green><EM>--  Interface constants  --</EM></FONT>
    <FONT COLOR=green><EM>---------------------------</EM></FONT>
    <b>type</b> Menu <b>is</b> <b>private</b>;
 
    <FONT COLOR=green><EM>---------------------------</EM></FONT>
    <FONT COLOR=green><EM>--  Interface constants  --</EM></FONT>
    <FONT COLOR=green><EM>---------------------------</EM></FONT>
-   <FONT COLOR=red><A NAME="63_4">Null_Item</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Item</A>;
+   <FONT COLOR=red><A NAME="62_4">Null_Item</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>;
    Null_Menu : <b>constant</b> Menu;
 
    <b>subtype</b> Menu_Request_Code <b>is</b> Key_Code
      <b>range</b> (Key_Max + 1) .. (Key_Max + 17);
 
    <FONT COLOR=green><EM>--  The prefix M_ stands for "Menu Request"</EM></FONT>
    Null_Menu : <b>constant</b> Menu;
 
    <b>subtype</b> Menu_Request_Code <b>is</b> Key_Code
      <b>range</b> (Key_Max + 1) .. (Key_Max + 17);
 
    <FONT COLOR=green><EM>--  The prefix M_ stands for "Menu Request"</EM></FONT>
-   <FONT COLOR=red><A NAME="70_4">M_Left_Item</A></FONT>       : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 1;
-   <FONT COLOR=red><A NAME="71_4">M_Right_Item</A></FONT>      : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 2;
-   <FONT COLOR=red><A NAME="72_4">M_Up_Item</A></FONT>         : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 3;
-   <FONT COLOR=red><A NAME="73_4">M_Down_Item</A></FONT>       : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 4;
-   <FONT COLOR=red><A NAME="74_4">M_ScrollUp_Line</A></FONT>   : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 5;
-   <FONT COLOR=red><A NAME="75_4">M_ScrollDown_Line</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 6;
-   <FONT COLOR=red><A NAME="76_4">M_ScrollDown_Page</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 7;
-   <FONT COLOR=red><A NAME="77_4">M_ScrollUp_Page</A></FONT>   : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 8;
-   <FONT COLOR=red><A NAME="78_4">M_First_Item</A></FONT>      : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 9;
-   <FONT COLOR=red><A NAME="79_4">M_Last_Item</A></FONT>       : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 10;
-   <FONT COLOR=red><A NAME="80_4">M_Next_Item</A></FONT>       : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 11;
-   <FONT COLOR=red><A NAME="81_4">M_Previous_Item</A></FONT>   : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 12;
-   <FONT COLOR=red><A NAME="82_4">M_Toggle_Item</A></FONT>     : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 13;
-   <FONT COLOR=red><A NAME="83_4">M_Clear_Pattern</A></FONT>   : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 14;
-   <FONT COLOR=red><A NAME="84_4">M_Back_Pattern</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 15;
-   <FONT COLOR=red><A NAME="85_4">M_Next_Match</A></FONT>      : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 16;
+   <FONT COLOR=red><A NAME="69_4">M_Left_Item</A></FONT>       : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 1;
+   <FONT COLOR=red><A NAME="70_4">M_Right_Item</A></FONT>      : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 2;
+   <FONT COLOR=red><A NAME="71_4">M_Up_Item</A></FONT>         : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 3;
+   <FONT COLOR=red><A NAME="72_4">M_Down_Item</A></FONT>       : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 4;
+   <FONT COLOR=red><A NAME="73_4">M_ScrollUp_Line</A></FONT>   : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 5;
+   <FONT COLOR=red><A NAME="74_4">M_ScrollDown_Line</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 6;
+   <FONT COLOR=red><A NAME="75_4">M_ScrollDown_Page</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 7;
+   <FONT COLOR=red><A NAME="76_4">M_ScrollUp_Page</A></FONT>   : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 8;
+   <FONT COLOR=red><A NAME="77_4">M_First_Item</A></FONT>      : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 9;
+   <FONT COLOR=red><A NAME="78_4">M_Last_Item</A></FONT>       : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 10;
+   <FONT COLOR=red><A NAME="79_4">M_Next_Item</A></FONT>       : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 11;
+   <FONT COLOR=red><A NAME="80_4">M_Previous_Item</A></FONT>   : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 12;
+   <FONT COLOR=red><A NAME="81_4">M_Toggle_Item</A></FONT>     : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 13;
+   <FONT COLOR=red><A NAME="82_4">M_Clear_Pattern</A></FONT>   : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 14;
+   <FONT COLOR=red><A NAME="83_4">M_Back_Pattern</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 15;
+   <FONT COLOR=red><A NAME="84_4">M_Next_Match</A></FONT>      : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#205_4">Key_Max</A> + 16;
    M_Previous_Match  : <b>constant</b> Menu_Request_Code := Key_Max + 17;
 
    <FONT COLOR=green><EM>--  For those who like the old 'C' names for the request codes</EM></FONT>
    M_Previous_Match  : <b>constant</b> Menu_Request_Code := Key_Max + 17;
 
    <FONT COLOR=green><EM>--  For those who like the old 'C' names for the request codes</EM></FONT>
-   <FONT COLOR=red><A NAME="89_4">REQ_LEFT_ITEM</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#70_4">M_Left_Item</A>;
-   <FONT COLOR=red><A NAME="90_4">REQ_RIGHT_ITEM</A></FONT>    : <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#71_4">M_Right_Item</A>;
-   <FONT COLOR=red><A NAME="91_4">REQ_UP_ITEM</A></FONT>       : <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#72_4">M_Up_Item</A>;
-   <FONT COLOR=red><A NAME="92_4">REQ_DOWN_ITEM</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#73_4">M_Down_Item</A>;
-   <FONT COLOR=red><A NAME="93_4">REQ_SCR_ULINE</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#74_4">M_ScrollUp_Line</A>;
-   <FONT COLOR=red><A NAME="94_4">REQ_SCR_DLINE</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#75_4">M_ScrollDown_Line</A>;
-   <FONT COLOR=red><A NAME="95_4">REQ_SCR_DPAGE</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#76_4">M_ScrollDown_Page</A>;
-   <FONT COLOR=red><A NAME="96_4">REQ_SCR_UPAGE</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#77_4">M_ScrollUp_Page</A>;
-   <FONT COLOR=red><A NAME="97_4">REQ_FIRST_ITEM</A></FONT>    : <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#78_4">M_First_Item</A>;
-   <FONT COLOR=red><A NAME="98_4">REQ_LAST_ITEM</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#79_4">M_Last_Item</A>;
-   <FONT COLOR=red><A NAME="99_4">REQ_NEXT_ITEM</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#80_4">M_Next_Item</A>;
-   <FONT COLOR=red><A NAME="100_4">REQ_PREV_ITEM</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#81_4">M_Previous_Item</A>;
-   <FONT COLOR=red><A NAME="101_4">REQ_TOGGLE_ITEM</A></FONT>   : <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#82_4">M_Toggle_Item</A>;
-   <FONT COLOR=red><A NAME="102_4">REQ_CLEAR_PATTERN</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#83_4">M_Clear_Pattern</A>;
-   <FONT COLOR=red><A NAME="103_4">REQ_BACK_PATTERN</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#84_4">M_Back_Pattern</A>;
-   <FONT COLOR=red><A NAME="104_4">REQ_NEXT_MATCH</A></FONT>    : <A HREF="terminal_interface-curses-menus__ads.htm#65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#85_4">M_Next_Match</A>;
+   <FONT COLOR=red><A NAME="88_4">REQ_LEFT_ITEM</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#69_4">M_Left_Item</A>;
+   <FONT COLOR=red><A NAME="89_4">REQ_RIGHT_ITEM</A></FONT>    : <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#70_4">M_Right_Item</A>;
+   <FONT COLOR=red><A NAME="90_4">REQ_UP_ITEM</A></FONT>       : <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#71_4">M_Up_Item</A>;
+   <FONT COLOR=red><A NAME="91_4">REQ_DOWN_ITEM</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#72_4">M_Down_Item</A>;
+   <FONT COLOR=red><A NAME="92_4">REQ_SCR_ULINE</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#73_4">M_ScrollUp_Line</A>;
+   <FONT COLOR=red><A NAME="93_4">REQ_SCR_DLINE</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#74_4">M_ScrollDown_Line</A>;
+   <FONT COLOR=red><A NAME="94_4">REQ_SCR_DPAGE</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#75_4">M_ScrollDown_Page</A>;
+   <FONT COLOR=red><A NAME="95_4">REQ_SCR_UPAGE</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#76_4">M_ScrollUp_Page</A>;
+   <FONT COLOR=red><A NAME="96_4">REQ_FIRST_ITEM</A></FONT>    : <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#77_4">M_First_Item</A>;
+   <FONT COLOR=red><A NAME="97_4">REQ_LAST_ITEM</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#78_4">M_Last_Item</A>;
+   <FONT COLOR=red><A NAME="98_4">REQ_NEXT_ITEM</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#79_4">M_Next_Item</A>;
+   <FONT COLOR=red><A NAME="99_4">REQ_PREV_ITEM</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#80_4">M_Previous_Item</A>;
+   <FONT COLOR=red><A NAME="100_4">REQ_TOGGLE_ITEM</A></FONT>   : <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#81_4">M_Toggle_Item</A>;
+   <FONT COLOR=red><A NAME="101_4">REQ_CLEAR_PATTERN</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#82_4">M_Clear_Pattern</A>;
+   <FONT COLOR=red><A NAME="102_4">REQ_BACK_PATTERN</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#83_4">M_Back_Pattern</A>;
+   <FONT COLOR=red><A NAME="103_4">REQ_NEXT_MATCH</A></FONT>    : <A HREF="terminal_interface-curses-menus__ads.htm#64_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#84_4">M_Next_Match</A>;
    REQ_PREV_MATCH    : Menu_Request_Code <b>renames</b> M_Previous_Match;
 
    REQ_PREV_MATCH    : Menu_Request_Code <b>renames</b> M_Previous_Match;
 
-   <b>procedure</b> Request_Name (<FONT COLOR=red><A NAME="107_28">Key</A></FONT>  : <b>in</b> Menu_Request_Code;
+   <b>procedure</b> Request_Name (<FONT COLOR=red><A NAME="106_28">Key</A></FONT>  : <b>in</b> Menu_Request_Code;
                            Name : <b>out</b> String);
 
    <b>function</b>  Request_Name (Key : Menu_Request_Code) <b>return</b> String;
                            Name : <b>out</b> String);
 
    <b>function</b>  Request_Name (Key : Menu_Request_Code) <b>return</b> String;
    <b>pragma</b> Warnings (Off);
    <b>type</b> Menu_Option_Set <b>is</b>
       <b>record</b>
    <b>pragma</b> Warnings (Off);
    <b>type</b> Menu_Option_Set <b>is</b>
       <b>record</b>
-         <FONT COLOR=red><A NAME="124_10">One_Valued</A></FONT>        : Boolean;
-         <FONT COLOR=red><A NAME="125_10">Show_Descriptions</A></FONT> : Boolean;
-         <FONT COLOR=red><A NAME="126_10">Row_Major_Order</A></FONT>   : Boolean;
-         <FONT COLOR=red><A NAME="127_10">Ignore_Case</A></FONT>       : Boolean;
-         <FONT COLOR=red><A NAME="128_10">Show_Matches</A></FONT>      : Boolean;
+         <FONT COLOR=red><A NAME="123_10">One_Valued</A></FONT>        : Boolean;
+         <FONT COLOR=red><A NAME="124_10">Show_Descriptions</A></FONT> : Boolean;
+         <FONT COLOR=red><A NAME="125_10">Row_Major_Order</A></FONT>   : Boolean;
+         <FONT COLOR=red><A NAME="126_10">Ignore_Case</A></FONT>       : Boolean;
+         <FONT COLOR=red><A NAME="127_10">Show_Matches</A></FONT>      : Boolean;
          Non_Cyclic        : Boolean;
          Non_Cyclic        : Boolean;
-      <b>end</b> <b>record</b><A HREF="terminal_interface-curses-menus__ads.htm#121_9">;</A>
+      <b>end</b> <b>record</b><A HREF="terminal_interface-curses-menus__ads.htm#120_9">;</A>
    <b>pragma</b> Pack (Menu_Option_Set);
    <b>pragma</b> Convention (C, Menu_Option_Set);
 
    <b>pragma</b> Pack (Menu_Option_Set);
    <b>pragma</b> Convention (C, Menu_Option_Set);
 
    <b>type</b> Item_Option_Set <b>is</b>
       <b>record</b>
          Selectable  : Boolean;
    <b>type</b> Item_Option_Set <b>is</b>
       <b>record</b>
          Selectable  : Boolean;
-      <b>end</b> <b>record</b><A HREF="terminal_interface-curses-menus__ads.htm#154_9">;</A>
+      <b>end</b> <b>record</b><A HREF="terminal_interface-curses-menus__ads.htm#153_9">;</A>
    <b>pragma</b> Pack (Item_Option_Set);
    <b>pragma</b> Convention (C, Item_Option_Set);
 
    <b>pragma</b> Pack (Item_Option_Set);
    <b>pragma</b> Convention (C, Item_Option_Set);
 
 
    <b>type</b> Item_Array_Access <b>is</b> <b>access</b> Item_Array;
 
 
    <b>type</b> Item_Array_Access <b>is</b> <b>access</b> Item_Array;
 
-   <b>procedure</b> Free (<FONT COLOR=red><A NAME="183_20">IA</A></FONT>         : <b>in</b> <b>out</b> Item_Array_Access;
+   <b>procedure</b> Free (<FONT COLOR=red><A NAME="182_20">IA</A></FONT>         : <b>in</b> <b>out</b> Item_Array_Access;
                    Free_Items : Boolean := False);
    <FONT COLOR=green><EM>--  Release the memory for an allocated item array</EM></FONT>
    <FONT COLOR=green><EM>--  If Free_Items is True, call Delete() for all the items in</EM></FONT>
                    Free_Items : Boolean := False);
    <FONT COLOR=green><EM>--  Release the memory for an allocated item array</EM></FONT>
    <FONT COLOR=green><EM>--  If Free_Items is True, call Delete() for all the items in</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_1"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_1"#2|</EM></FONT>
-   <b>function</b> Create (<FONT COLOR=red><A NAME="194_21">Name</A></FONT>        : String;
+   <b>function</b> Create (<FONT COLOR=red><A NAME="193_21">Name</A></FONT>        : String;
                     Description : String := "") <b>return</b> Item;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_new.3x.html">new_item()</A></EM></FONT>
    <FONT COLOR=green><EM>--  Not inlined.</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_2"#2|</EM></FONT>
                     Description : String := "") <b>return</b> Item;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_new.3x.html">new_item()</A></EM></FONT>
    <FONT COLOR=green><EM>--  Not inlined.</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_2"#2|</EM></FONT>
-   <b>function</b> New_Item (<FONT COLOR=red><A NAME="200_23">Name</A></FONT>        : String;
-             <A HREF="terminal_interface-curses-menus__ads.htm#193_13"> </A>        Description : String := "") <b>return</b> Item
+   <b>function</b> New_Item (<FONT COLOR=red><A NAME="199_23">Name</A></FONT>        : String;
+             <A HREF="terminal_interface-curses-menus__ads.htm#192_13"> </A>        Description : String := "") <b>return</b> Item
      <b>renames</b> Create;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_new.3x.html">new_item()</A></EM></FONT>
 
      <b>renames</b> Create;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_new.3x.html">new_item()</A></EM></FONT>
 
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_4"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_4"#2|</EM></FONT>
-   <b>procedure</b> Set_Value (<FONT COLOR=red><A NAME="215_25">Itm</A></FONT>   : <b>in</b> Item;
+   <b>procedure</b> Set_Value (<FONT COLOR=red><A NAME="214_25">Itm</A></FONT>   : <b>in</b> Item;
                         Value : <b>in</b> Boolean := True);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_value.3x.html">set_item_value()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Value);
                         Value : <b>in</b> Boolean := True);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_value.3x.html">set_item_value()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Value);
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_7"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_7"#2|</EM></FONT>
-   <b>procedure</b> Set_Options (<FONT COLOR=red><A NAME="239_27">Itm</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#154_9">Item</A>;
+   <b>procedure</b> Set_Options (<FONT COLOR=red><A NAME="238_27">Itm</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#153_9">Item</A>;
                           Options : <b>in</b> Item_Option_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_opts.3x.html">set_item_opts()</A></EM></FONT>
    <FONT COLOR=green><EM>--  An overloaded Set_Options is defined later. Pragma Inline appears there</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_8"#2|</EM></FONT>
                           Options : <b>in</b> Item_Option_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_opts.3x.html">set_item_opts()</A></EM></FONT>
    <FONT COLOR=green><EM>--  An overloaded Set_Options is defined later. Pragma Inline appears there</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_8"#2|</EM></FONT>
-   <b>procedure</b> Switch_Options (<FONT COLOR=red><A NAME="245_30">Itm</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#154_9">Item</A>;
-                             <FONT COLOR=red><A NAME="246_30">Options</A></FONT> : <b>in</b> Item_Option_Set;
+   <b>procedure</b> Switch_Options (<FONT COLOR=red><A NAME="244_30">Itm</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#153_9">Item</A>;
+                             <FONT COLOR=red><A NAME="245_30">Options</A></FONT> : <b>in</b> Item_Option_Set;
                              On      : Boolean := True);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_opts.3x.html">item_opts_on()</A></EM></FONT>
    <FONT COLOR=green><EM>--  AKA: item_opts_off()</EM></FONT>
                              On      : Boolean := True);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_opts.3x.html">item_opts_on()</A></EM></FONT>
    <FONT COLOR=green><EM>--  AKA: item_opts_off()</EM></FONT>
    <FONT COLOR=green><EM>--  Pragma Inline appears there</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_9"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  Pragma Inline appears there</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_9"#2|</EM></FONT>
-   <b>procedure</b> Get_Options (<FONT COLOR=red><A NAME="254_27">Itm</A></FONT>     : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#154_9">Item</A>;
+   <b>procedure</b> Get_Options (<FONT COLOR=red><A NAME="253_27">Itm</A></FONT>     : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#153_9">Item</A>;
                           Options : <b>out</b> Item_Option_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_opts.3x.html">item_opts()</A></EM></FONT>
 
                           Options : <b>out</b> Item_Option_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_opts.3x.html">item_opts()</A></EM></FONT>
 
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_11"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_11"#2|</EM></FONT>
-   <b>procedure</b> Name (<FONT COLOR=red><A NAME="268_20">Itm</A></FONT>  : <b>in</b> Item;
+   <b>procedure</b> Name (<FONT COLOR=red><A NAME="267_20">Itm</A></FONT>  : <b>in</b> Item;
                    Name : <b>out</b> String);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_name.3x.html">item_name()</A></EM></FONT>
    <b>function</b>  Name (Itm : Item) <b>return</b> String;
                    Name : <b>out</b> String);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_name.3x.html">item_name()</A></EM></FONT>
    <b>function</b>  Name (Itm : Item) <b>return</b> String;
    <b>pragma</b> Inline (Name);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_12"#2|</EM></FONT>
    <b>pragma</b> Inline (Name);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_12"#2|</EM></FONT>
-   <b>procedure</b> Description (<FONT COLOR=red><A NAME="277_27">Itm</A></FONT>         : <b>in</b> Item;
+   <b>procedure</b> Description (<FONT COLOR=red><A NAME="276_27">Itm</A></FONT>         : <b>in</b> Item;
                           Description : <b>out</b> String);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_name.3x.html">item_description();</A></EM></FONT>
 
                           Description : <b>out</b> String);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_name.3x.html">item_description();</A></EM></FONT>
 
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_13"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_13"#2|</EM></FONT>
-   <b>procedure</b> Set_Current (<FONT COLOR=red><A NAME="291_27">Men</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Menu</A>;
+   <b>procedure</b> Set_Current (<FONT COLOR=red><A NAME="290_27">Men</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#55_9">Menu</A>;
                           Itm : <b>in</b> Item);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_current.3x.html">set_current_item()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Current);
                           Itm : <b>in</b> Item);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_current.3x.html">set_current_item()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Current);
    <b>pragma</b> Inline (Current);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_15"#2|</EM></FONT>
    <b>pragma</b> Inline (Current);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_15"#2|</EM></FONT>
-   <b>procedure</b> Set_Top_Row (<FONT COLOR=red><A NAME="302_27">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Menu</A>;
+   <b>procedure</b> Set_Top_Row (<FONT COLOR=red><A NAME="301_27">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Menu</A>;
                           Line : <b>in</b> Line_Position);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_current.3x.html">set_top_row()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Top_Row);
                           Line : <b>in</b> Line_Position);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_current.3x.html">set_top_row()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Top_Row);
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_18"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_18"#2|</EM></FONT>
-   <b>procedure</b> Post (<FONT COLOR=red><A NAME="325_20">Men</A></FONT>  : <b>in</b> Menu;
+   <b>procedure</b> Post (<FONT COLOR=red><A NAME="324_20">Men</A></FONT>  : <b>in</b> Menu;
                    Post : <b>in</b> Boolean := True);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_post.3x.html">post_menu()</A></EM></FONT>
    <FONT COLOR=green><EM>--  AKA: unpost_menu()</EM></FONT>
                    Post : <b>in</b> Boolean := True);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_post.3x.html">post_menu()</A></EM></FONT>
    <FONT COLOR=green><EM>--  AKA: unpost_menu()</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_19"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_19"#2|</EM></FONT>
-   <b>procedure</b> Set_Options (<FONT COLOR=red><A NAME="336_27">Men</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#121_9">Menu</A>;
+   <b>procedure</b> Set_Options (<FONT COLOR=red><A NAME="335_27">Men</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#120_9">Menu</A>;
                           Options : <b>in</b> Menu_Option_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_opts.3x.html">set_menu_opts()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Options);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_20"#2|</EM></FONT>
                           Options : <b>in</b> Menu_Option_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_opts.3x.html">set_menu_opts()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Options);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_20"#2|</EM></FONT>
-   <b>procedure</b> Switch_Options (<FONT COLOR=red><A NAME="342_30">Men</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#121_9">Menu</A>;
-                             <FONT COLOR=red><A NAME="343_30">Options</A></FONT> : <b>in</b> Menu_Option_Set;
+   <b>procedure</b> Switch_Options (<FONT COLOR=red><A NAME="341_30">Men</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#120_9">Menu</A>;
+                             <FONT COLOR=red><A NAME="342_30">Options</A></FONT> : <b>in</b> Menu_Option_Set;
                              On      : Boolean := True);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_opts.3x.html">menu_opts_on()</A></EM></FONT>
    <FONT COLOR=green><EM>--  AKA: menu_opts_off()</EM></FONT>
    <b>pragma</b> Inline (Switch_Options);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_21"#2|</EM></FONT>
                              On      : Boolean := True);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_opts.3x.html">menu_opts_on()</A></EM></FONT>
    <FONT COLOR=green><EM>--  AKA: menu_opts_off()</EM></FONT>
    <b>pragma</b> Inline (Switch_Options);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_21"#2|</EM></FONT>
-   <b>procedure</b> Get_Options (<FONT COLOR=red><A NAME="350_27">Men</A></FONT>     : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#121_9">Menu</A>;
+   <b>procedure</b> Get_Options (<FONT COLOR=red><A NAME="349_27">Men</A></FONT>     : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#120_9">Menu</A>;
                           Options : <b>out</b> Menu_Option_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_opts.3x.html">menu_opts()</A></EM></FONT>
 
                           Options : <b>out</b> Menu_Option_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_opts.3x.html">menu_opts()</A></EM></FONT>
 
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_23"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_23"#2|</EM></FONT>
-   <b>procedure</b> Set_Window (<FONT COLOR=red><A NAME="364_26">Men</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Menu</A>;
+   <b>procedure</b> Set_Window (<FONT COLOR=red><A NAME="363_26">Men</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Menu</A>;
                          Win : <b>in</b> Window);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_win.3x.html">set_menu_win()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Window);
                          Win : <b>in</b> Window);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_win.3x.html">set_menu_win()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Window);
    <b>pragma</b> Inline (Get_Window);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_25"#2|</EM></FONT>
    <b>pragma</b> Inline (Get_Window);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_25"#2|</EM></FONT>
-   <b>procedure</b> Set_Sub_Window (<FONT COLOR=red><A NAME="375_30">Men</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Menu</A>;
+   <b>procedure</b> Set_Sub_Window (<FONT COLOR=red><A NAME="374_30">Men</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Menu</A>;
                              Win : <b>in</b> Window);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_win.3x.html">set_menu_sub()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Sub_Window);
                              Win : <b>in</b> Window);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_win.3x.html">set_menu_sub()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Sub_Window);
    <b>pragma</b> Inline (Get_Sub_Window);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_27"#2|</EM></FONT>
    <b>pragma</b> Inline (Get_Sub_Window);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_27"#2|</EM></FONT>
-   <b>procedure</b> Scale (<FONT COLOR=red><A NAME="386_21">Men</A></FONT>     : <b>in</b> Menu;
-                    <FONT COLOR=red><A NAME="387_21">Lines</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Line_Count</A>;
+   <b>procedure</b> Scale (<FONT COLOR=red><A NAME="385_21">Men</A></FONT>     : <b>in</b> Menu;
+                    <FONT COLOR=red><A NAME="386_21">Lines</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Line_Count</A>;
                     Columns : <b>out</b> Column_Count);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_win.3x.html">scale_menu()</A></EM></FONT>
    <b>pragma</b> Inline (Scale);
                     Columns : <b>out</b> Column_Count);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_win.3x.html">scale_menu()</A></EM></FONT>
    <b>pragma</b> Inline (Scale);
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_29"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_29"#2|</EM></FONT>
-   <b>procedure</b> Set_Mark (<FONT COLOR=red><A NAME="406_24">Men</A></FONT>  : <b>in</b> Menu;
+   <b>procedure</b> Set_Mark (<FONT COLOR=red><A NAME="405_24">Men</A></FONT>  : <b>in</b> Menu;
                        Mark : <b>in</b> String);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_mark.3x.html">set_menu_mark()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Mark);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_30"#2|</EM></FONT>
                        Mark : <b>in</b> String);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_mark.3x.html">set_menu_mark()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Mark);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_30"#2|</EM></FONT>
-   <b>procedure</b> Mark (<FONT COLOR=red><A NAME="412_20">Men</A></FONT>  : <b>in</b>  Menu;
+   <b>procedure</b> Mark (<FONT COLOR=red><A NAME="411_20">Men</A></FONT>  : <b>in</b>  Menu;
                    Mark : <b>out</b> String);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_mark.3x.html">menu_mark()</A></EM></FONT>
 
                    Mark : <b>out</b> String);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_mark.3x.html">menu_mark()</A></EM></FONT>
 
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_31"#2|</EM></FONT>
    <b>procedure</b> Set_Foreground
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_31"#2|</EM></FONT>
    <b>procedure</b> Set_Foreground
-     (<FONT COLOR=red><A NAME="427_7">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Menu</A>;
-      <FONT COLOR=red><A NAME="428_7">Fore</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Character_Attribute_Set</A> := Normal_Video;
+     (<FONT COLOR=red><A NAME="426_7">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Menu</A>;
+      <FONT COLOR=red><A NAME="427_7">Fore</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Character_Attribute_Set</A> := Normal_Video;
       Color : <b>in</b> Color_Pair := Color_Pair'First);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">set_menu_fore()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Foreground);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_32"#2|</EM></FONT>
       Color : <b>in</b> Color_Pair := Color_Pair'First);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">set_menu_fore()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Foreground);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_32"#2|</EM></FONT>
-   <b>procedure</b> Foreground (<FONT COLOR=red><A NAME="434_26">Men</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#304_9">Menu</A>;
+   <b>procedure</b> Foreground (<FONT COLOR=red><A NAME="433_26">Men</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#304_9">Menu</A>;
                          Fore  : <b>out</b> Character_Attribute_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">menu_fore()</A></EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_33"#2|</EM></FONT>
                          Fore  : <b>out</b> Character_Attribute_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">menu_fore()</A></EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_33"#2|</EM></FONT>
-   <b>procedure</b> Foreground (<FONT COLOR=red><A NAME="439_26">Men</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#304_9">Menu</A>;
-                         <FONT COLOR=red><A NAME="440_26">Fore</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Character_Attribute_Set</A>;
+   <b>procedure</b> Foreground (<FONT COLOR=red><A NAME="438_26">Men</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#304_9">Menu</A>;
+                         <FONT COLOR=red><A NAME="439_26">Fore</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Character_Attribute_Set</A>;
                          Color : <b>out</b> Color_Pair);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">menu_fore()</A></EM></FONT>
    <b>pragma</b> Inline (Foreground);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_34"#2|</EM></FONT>
    <b>procedure</b> Set_Background
                          Color : <b>out</b> Color_Pair);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">menu_fore()</A></EM></FONT>
    <b>pragma</b> Inline (Foreground);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_34"#2|</EM></FONT>
    <b>procedure</b> Set_Background
-     (<FONT COLOR=red><A NAME="447_7">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Menu</A>;
-      <FONT COLOR=red><A NAME="448_7">Back</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Character_Attribute_Set</A> := Normal_Video;
+     (<FONT COLOR=red><A NAME="446_7">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Menu</A>;
+      <FONT COLOR=red><A NAME="447_7">Back</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Character_Attribute_Set</A> := Normal_Video;
       Color : <b>in</b> Color_Pair := Color_Pair'First);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">set_menu_back()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Background);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_35"#2|</EM></FONT>
       Color : <b>in</b> Color_Pair := Color_Pair'First);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">set_menu_back()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Background);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_35"#2|</EM></FONT>
-   <b>procedure</b> Background (<FONT COLOR=red><A NAME="454_26">Men</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#304_9">Menu</A>;
+   <b>procedure</b> Background (<FONT COLOR=red><A NAME="453_26">Men</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#304_9">Menu</A>;
                          Back : <b>out</b> Character_Attribute_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">menu_back()</A></EM></FONT>
    <FONT COLOR=green><EM>--  #1A NAME="AFU_36"#2|</EM></FONT>
 
                          Back : <b>out</b> Character_Attribute_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">menu_back()</A></EM></FONT>
    <FONT COLOR=green><EM>--  #1A NAME="AFU_36"#2|</EM></FONT>
 
-   <b>procedure</b> Background (<FONT COLOR=red><A NAME="459_26">Men</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#304_9">Menu</A>;
-                         <FONT COLOR=red><A NAME="460_26">Back</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Character_Attribute_Set</A>;
+   <b>procedure</b> Background (<FONT COLOR=red><A NAME="458_26">Men</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#304_9">Menu</A>;
+                         <FONT COLOR=red><A NAME="459_26">Back</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Character_Attribute_Set</A>;
                          Color : <b>out</b> Color_Pair);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">menu_back()</A></EM></FONT>
    <b>pragma</b> Inline (Background);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_37"#2|</EM></FONT>
    <b>procedure</b> Set_Grey
                          Color : <b>out</b> Color_Pair);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">menu_back()</A></EM></FONT>
    <b>pragma</b> Inline (Background);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_37"#2|</EM></FONT>
    <b>procedure</b> Set_Grey
-     (<FONT COLOR=red><A NAME="467_7">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Menu</A>;
-      <FONT COLOR=red><A NAME="468_7">Grey</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Character_Attribute_Set</A> := Normal_Video;
+     (<FONT COLOR=red><A NAME="466_7">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#304_9">Menu</A>;
+      <FONT COLOR=red><A NAME="467_7">Grey</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Character_Attribute_Set</A> := Normal_Video;
       Color : <b>in</b> Color_Pair := Color_Pair'First);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">set_menu_grey()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Grey);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_38"#2|</EM></FONT>
       Color : <b>in</b> Color_Pair := Color_Pair'First);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">set_menu_grey()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Grey);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_38"#2|</EM></FONT>
-   <b>procedure</b> Grey (<FONT COLOR=red><A NAME="474_20">Men</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#304_9">Menu</A>;
+   <b>procedure</b> Grey (<FONT COLOR=red><A NAME="473_20">Men</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#304_9">Menu</A>;
                    Grey : <b>out</b> Character_Attribute_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">menu_grey()</A></EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_39"#2|</EM></FONT>
    <b>procedure</b> Grey
                    Grey : <b>out</b> Character_Attribute_Set);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">menu_grey()</A></EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_39"#2|</EM></FONT>
    <b>procedure</b> Grey
-     (<FONT COLOR=red><A NAME="480_7">Men</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#304_9">Menu</A>;
-      <FONT COLOR=red><A NAME="481_7">Grey</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Character_Attribute_Set</A>;
+     (<FONT COLOR=red><A NAME="479_7">Men</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#304_9">Menu</A>;
+      <FONT COLOR=red><A NAME="480_7">Grey</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#296_9">Character_Attribute_Set</A>;
       Color : <b>out</b> Color_Pair);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">menu_grey()</A></EM></FONT>
    <b>pragma</b> Inline (Grey);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_40"#2|</EM></FONT>
       Color : <b>out</b> Color_Pair);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">menu_grey()</A></EM></FONT>
    <b>pragma</b> Inline (Grey);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_40"#2|</EM></FONT>
-   <b>procedure</b> Set_Pad_Character (<FONT COLOR=red><A NAME="487_33">Men</A></FONT> : <b>in</b> Menu;
+   <b>procedure</b> Set_Pad_Character (<FONT COLOR=red><A NAME="486_33">Men</A></FONT> : <b>in</b> Menu;
                                 Pad : <b>in</b> Character := Space);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">set_menu_pad()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Pad_Character);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_41"#2|</EM></FONT>
                                 Pad : <b>in</b> Character := Space);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">set_menu_pad()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Pad_Character);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_41"#2|</EM></FONT>
-   <b>procedure</b> Pad_Character (<FONT COLOR=red><A NAME="493_29">Men</A></FONT> : <b>in</b>  Menu;
+   <b>procedure</b> Pad_Character (<FONT COLOR=red><A NAME="492_29">Men</A></FONT> : <b>in</b>  Menu;
                             Pad : <b>out</b> Character);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">menu_pad()</A></EM></FONT>
    <b>pragma</b> Inline (Pad_Character);
                             Pad : <b>out</b> Character);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attribs.3x.html">menu_pad()</A></EM></FONT>
    <b>pragma</b> Inline (Pad_Character);
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_42"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_42"#2|</EM></FONT>
-   <b>procedure</b> Set_Spacing (<FONT COLOR=red><A NAME="503_27">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Menu</A>;
-                          <FONT COLOR=red><A NAME="504_27">Descr</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Column_Position</A> := 0;
-                          <FONT COLOR=red><A NAME="505_27">Row</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>   := 0;
+   <b>procedure</b> Set_Spacing (<FONT COLOR=red><A NAME="502_27">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Menu</A>;
+                          <FONT COLOR=red><A NAME="503_27">Descr</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Column_Position</A> := 0;
+                          <FONT COLOR=red><A NAME="504_27">Row</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>   := 0;
                           Col   : <b>in</b> Column_Position := 0);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_spacing.3x.html">set_menu_spacing()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Spacing);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_43"#2|</EM></FONT>
                           Col   : <b>in</b> Column_Position := 0);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_spacing.3x.html">set_menu_spacing()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Spacing);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_43"#2|</EM></FONT>
-   <b>procedure</b> Spacing (<FONT COLOR=red><A NAME="511_23">Men</A></FONT>   : <b>in</b> Menu;
-                      <FONT COLOR=red><A NAME="512_23">Descr</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Column_Position</A>;
-                      <FONT COLOR=red><A NAME="513_23">Row</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>;
+   <b>procedure</b> Spacing (<FONT COLOR=red><A NAME="510_23">Men</A></FONT>   : <b>in</b> Menu;
+                      <FONT COLOR=red><A NAME="511_23">Descr</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Column_Position</A>;
+                      <FONT COLOR=red><A NAME="512_23">Row</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>;
                       Col   : <b>out</b> Column_Position);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_spacing.3x.html">menu_spacing()</A></EM></FONT>
    <b>pragma</b> Inline (Spacing);
                       Col   : <b>out</b> Column_Position);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_spacing.3x.html">menu_spacing()</A></EM></FONT>
    <b>pragma</b> Inline (Spacing);
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_44"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_44"#2|</EM></FONT>
-   <b>function</b> Set_Pattern (<FONT COLOR=red><A NAME="523_26">Men</A></FONT>  : Menu;
+   <b>function</b> Set_Pattern (<FONT COLOR=red><A NAME="522_26">Men</A></FONT>  : Menu;
                          Text : String) <b>return</b> Boolean;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_pattern.3x.html">set_menu_pattern()</A></EM></FONT>
    <FONT COLOR=green><EM>--  Return TRUE if the pattern matches, FALSE otherwise</EM></FONT>
    <b>pragma</b> Inline (Set_Pattern);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_45"#2|</EM></FONT>
                          Text : String) <b>return</b> Boolean;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_pattern.3x.html">set_menu_pattern()</A></EM></FONT>
    <FONT COLOR=green><EM>--  Return TRUE if the pattern matches, FALSE otherwise</EM></FONT>
    <b>pragma</b> Inline (Set_Pattern);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_45"#2|</EM></FONT>
-   <b>procedure</b> Pattern (<FONT COLOR=red><A NAME="530_23">Men</A></FONT>  : <b>in</b>  Menu;
+   <b>procedure</b> Pattern (<FONT COLOR=red><A NAME="529_23">Men</A></FONT>  : <b>in</b>  Menu;
                       Text : <b>out</b> String);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_pattern.3x.html">menu_pattern()</A></EM></FONT>
    <b>pragma</b> Inline (Pattern);
                       Text : <b>out</b> String);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_pattern.3x.html">menu_pattern()</A></EM></FONT>
    <b>pragma</b> Inline (Pattern);
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_46"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_46"#2|</EM></FONT>
-   <b>procedure</b> Set_Format (<FONT COLOR=red><A NAME="540_26">Men</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#62_12">Menu</A>;
-                         <FONT COLOR=red><A NAME="541_26">Lines</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Line_Count</A>;
+   <b>procedure</b> Set_Format (<FONT COLOR=red><A NAME="539_26">Men</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#62_12">Menu</A>;
+                         <FONT COLOR=red><A NAME="540_26">Lines</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Line_Count</A>;
                          Columns : <b>in</b> Column_Count);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_format.3x.html">set_menu_format()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Format);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_47"#2|</EM></FONT>
                          Columns : <b>in</b> Column_Count);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_format.3x.html">set_menu_format()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Format);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_47"#2|</EM></FONT>
-   <b>procedure</b> Format (<FONT COLOR=red><A NAME="547_22">Men</A></FONT>     : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#62_12">Menu</A>;
-                     <FONT COLOR=red><A NAME="548_22">Lines</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Line_Count</A>;
+   <b>procedure</b> Format (<FONT COLOR=red><A NAME="546_22">Men</A></FONT>     : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#62_12">Menu</A>;
+                     <FONT COLOR=red><A NAME="547_22">Lines</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Line_Count</A>;
                      Columns : <b>out</b> Column_Count);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_format.3x.html">menu_format()</A></EM></FONT>
    <b>pragma</b> Inline (Format);
                      Columns : <b>out</b> Column_Count);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_format.3x.html">menu_format()</A></EM></FONT>
    <b>pragma</b> Inline (Format);
    <b>pragma</b> Convention (C, Menu_Hook_Function);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_48"#2|</EM></FONT>
    <b>pragma</b> Convention (C, Menu_Hook_Function);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_48"#2|</EM></FONT>
-   <b>procedure</b> Set_Item_Init_Hook (<FONT COLOR=red><A NAME="561_34">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#556_9">Menu</A>;
+   <b>procedure</b> Set_Item_Init_Hook (<FONT COLOR=red><A NAME="560_34">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#555_9">Menu</A>;
                                  Proc : <b>in</b> Menu_Hook_Function);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">set_item_init()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Item_Init_Hook);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_49"#2|</EM></FONT>
                                  Proc : <b>in</b> Menu_Hook_Function);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">set_item_init()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Item_Init_Hook);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_49"#2|</EM></FONT>
-   <b>procedure</b> Set_Item_Term_Hook (<FONT COLOR=red><A NAME="567_34">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#556_9">Menu</A>;
+   <b>procedure</b> Set_Item_Term_Hook (<FONT COLOR=red><A NAME="566_34">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#555_9">Menu</A>;
                                  Proc : <b>in</b> Menu_Hook_Function);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">set_item_term()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Item_Term_Hook);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_50"#2|</EM></FONT>
                                  Proc : <b>in</b> Menu_Hook_Function);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">set_item_term()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Item_Term_Hook);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_50"#2|</EM></FONT>
-   <b>procedure</b> Set_Menu_Init_Hook (<FONT COLOR=red><A NAME="573_34">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#556_9">Menu</A>;
+   <b>procedure</b> Set_Menu_Init_Hook (<FONT COLOR=red><A NAME="572_34">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#555_9">Menu</A>;
                                  Proc : <b>in</b> Menu_Hook_Function);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">set_menu_init()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Menu_Init_Hook);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_51"#2|</EM></FONT>
                                  Proc : <b>in</b> Menu_Hook_Function);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">set_menu_init()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Menu_Init_Hook);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_51"#2|</EM></FONT>
-   <b>procedure</b> Set_Menu_Term_Hook (<FONT COLOR=red><A NAME="579_34">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#556_9">Menu</A>;
+   <b>procedure</b> Set_Menu_Term_Hook (<FONT COLOR=red><A NAME="578_34">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#555_9">Menu</A>;
                                  Proc : <b>in</b> Menu_Hook_Function);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">set_menu_term()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Menu_Term_Hook);
                                  Proc : <b>in</b> Menu_Hook_Function);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">set_menu_term()</A></EM></FONT>
    <b>pragma</b> Inline (Set_Menu_Term_Hook);
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_56"#2|</EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_56"#2|</EM></FONT>
-   <b>procedure</b> Redefine (<FONT COLOR=red><A NAME="609_24">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#180_9">Menu</A>;
+   <b>procedure</b> Redefine (<FONT COLOR=red><A NAME="608_24">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#179_9">Menu</A>;
                        Items : <b>in</b> Item_Array_Access);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_items.3x.html">set_menu_items()</A></EM></FONT>
    <b>pragma</b> Inline (Redefine);
 
                        Items : <b>in</b> Item_Array_Access);
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_items.3x.html">set_menu_items()</A></EM></FONT>
    <b>pragma</b> Inline (Redefine);
 
-   <b>procedure</b> Set_Items (<FONT COLOR=red><A NAME="614_25">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#180_9">Menu</A>;
-                  <A HREF="terminal_interface-curses-menus__ads.htm#613_14"> </A>     Items : <b>in</b> Item_Array_Access) <b>renames</b> Redefine;
+   <b>procedure</b> Set_Items (<FONT COLOR=red><A NAME="613_25">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#179_9">Menu</A>;
+                  <A HREF="terminal_interface-curses-menus__ads.htm#612_14"> </A>     Items : <b>in</b> Item_Array_Access) <b>renames</b> Redefine;
    <b>pragma</b> Inline (Set_Items);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_57"#2|</EM></FONT>
    <b>pragma</b> Inline (Set_Items);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_57"#2|</EM></FONT>
-   <b>function</b> Items (<FONT COLOR=red><A NAME="619_20">Men</A></FONT>   : Menu;
+   <b>function</b> Items (<FONT COLOR=red><A NAME="618_20">Men</A></FONT>   : Menu;
                    Index : Positive) <b>return</b> Item;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_items.3x.html">menu_items()</A></EM></FONT>
    <b>pragma</b> Inline (Items);
                    Index : Positive) <b>return</b> Item;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_items.3x.html">menu_items()</A></EM></FONT>
    <b>pragma</b> Inline (Items);
    <FONT COLOR=green><EM>--  | Man page <A HREF="../man/menu_new.3x.html">menu_new.3x</A></EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
    <FONT COLOR=green><EM>--  | Man page <A HREF="../man/menu_new.3x.html">menu_new.3x</A></EM></FONT>
    <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
 
-   <b>type</b> Driver_Result <b>is</b> (<FONT COLOR=red><A NAME="650_27">Menu_Ok</A></FONT>,
-                          <FONT COLOR=red><A NAME="651_27">Request_Denied</A></FONT>,
-                          <FONT COLOR=red><A NAME="652_27">Unknown_Request</A></FONT>,
+   <b>type</b> Driver_Result <b>is</b> (<FONT COLOR=red><A NAME="649_27">Menu_Ok</A></FONT>,
+                          <FONT COLOR=red><A NAME="650_27">Request_Denied</A></FONT>,
+                          <FONT COLOR=red><A NAME="651_27">Unknown_Request</A></FONT>,
                           No_Match);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_61"#2|</EM></FONT>
                           No_Match);
 
    <FONT COLOR=green><EM>--  #1A NAME="AFU_61"#2|</EM></FONT>
-   <b>function</b> Driver (<FONT COLOR=red><A NAME="656_21">Men</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#67_9">Menu</A>;
+   <b>function</b> Driver (<FONT COLOR=red><A NAME="655_21">Men</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#67_9">Menu</A>;
                     Key : Key_Code) <b>return</b> Driver_Result;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_new.3x.html">menu_driver()</A></EM></FONT>
    <FONT COLOR=green><EM>--  Driver is not inlined</EM></FONT>
 
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
 <b>private</b>
                     Key : Key_Code) <b>return</b> Driver_Result;
    <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_new.3x.html">menu_driver()</A></EM></FONT>
    <FONT COLOR=green><EM>--  Driver is not inlined</EM></FONT>
 
 <FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
 <b>private</b>
-   <b>type</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Item</A>   <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
+   <b>type</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A>   <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
    <b>type</b> Menu   <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
 
    <b>type</b> Menu   <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
 
-   <A HREF="terminal_interface-curses-menus__ads.htm#63_4">Null_Item</A> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#57_9">Item</A> := 0;
+   <A HREF="terminal_interface-curses-menus__ads.htm#62_4">Null_Item</A> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#56_9">Item</A> := 0;
    Null_Menu : <b>constant</b> Menu := 0;
 
 <b>end</b> Terminal_Interface.Curses.Menus;
    Null_Menu : <b>constant</b> Menu := 0;
 
 <b>end</b> Terminal_Interface.Curses.Menus;
index b1fe06a5799ed80de7017114aff9afe63f428fd3..f38ec16866c11d7cd357302e089714e59f3eb13c 100644 (file)
@@ -39,7 +39,7 @@
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <FONT COLOR=green><EM>--  Author: <A HREF="http://home.t-online.de/home/Juergen.Pfeifer">J&uuml;rgen Pfeifer</A> &lt;<A HREF="mailto:juergen.pfeifer@gmx.net">&lt;juergen.pfeifer@gmx.net&gt;</A>&gt; 1996</EM></FONT>
 <FONT COLOR=green><EM>--  Version Control:</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <FONT COLOR=green><EM>--  Author: <A HREF="http://home.t-online.de/home/Juergen.Pfeifer">J&uuml;rgen Pfeifer</A> &lt;<A HREF="mailto:juergen.pfeifer@gmx.net">&lt;juergen.pfeifer@gmx.net&gt;</A>&gt; 1996</EM></FONT>
 <FONT COLOR=green><EM>--  Version Control:</EM></FONT>
-<FONT COLOR=green><EM>--  @Revision: 1.11 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.12 @</EM></FONT>
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <b>package</b> <b>body</b> Terminal_Interface.Curses.<A HREF="terminal_interface-curses-text_io__ads.htm#44_35">Text_IO</A><FONT COLOR=red><A NAME="41_40"></A></FONT> <b>is</b>
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <b>package</b> <b>body</b> Terminal_Interface.Curses.<A HREF="terminal_interface-curses-text_io__ads.htm#44_35">Text_IO</A><FONT COLOR=red><A NAME="41_40"></A></FONT> <b>is</b>
          <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#128_7">P_Size</A> &gt; 0 <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-text_io__ads.htm#102_13">Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#86_24">Win</A>) &gt;= <A HREF="terminal_interface-curses-text_io__adb.htm#128_7">P_Size</A> <b>then</b>
             <A HREF="terminal_interface-curses-text_io__ads.htm#90_14">New_Page</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#86_24">Win</A>);
          <b>else</b>
          <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#128_7">P_Size</A> &gt; 0 <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-text_io__ads.htm#102_13">Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#86_24">Win</A>) &gt;= <A HREF="terminal_interface-curses-text_io__adb.htm#128_7">P_Size</A> <b>then</b>
             <A HREF="terminal_interface-curses-text_io__ads.htm#90_14">New_Page</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#86_24">Win</A>);
          <b>else</b>
-            <A HREF="terminal_interface-curses__ads.htm#665_14">Add</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#86_24">Win</A>, Ascii.LF);
+            <A HREF="terminal_interface-curses__ads.htm#665_14">Add</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#86_24">Win</A>, ASCII.LF);
          <b>end</b> <b>if</b>;
       <b>end</b> <b>loop</b>;
    <b>end</b> New_Line;
          <b>end</b> <b>if</b>;
       <b>end</b> <b>loop</b>;
    <b>end</b> New_Line;
index 145e2a358b7d232c81b9ba0a30c5edb7caf66863..a0be638f131c603c966e81fedb8d7eadb53f29fc 100644 (file)
@@ -39,7 +39,7 @@
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <FONT COLOR=green><EM>--  Author: <A HREF="http://home.t-online.de/home/Juergen.Pfeifer">J&uuml;rgen Pfeifer</A> &lt;<A HREF="mailto:juergen.pfeifer@gmx.net">&lt;juergen.pfeifer@gmx.net&gt;</A>&gt; 1996</EM></FONT>
 <FONT COLOR=green><EM>--  Version Control:</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <FONT COLOR=green><EM>--  Author: <A HREF="http://home.t-online.de/home/Juergen.Pfeifer">J&uuml;rgen Pfeifer</A> &lt;<A HREF="mailto:juergen.pfeifer@gmx.net">&lt;juergen.pfeifer@gmx.net&gt;</A>&gt; 1996</EM></FONT>
 <FONT COLOR=green><EM>--  Version Control:</EM></FONT>
-<FONT COLOR=green><EM>--  @Revision: 1.25 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.26 @</EM></FONT>
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <b>with</b> System;
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <b>with</b> System;
          <b>when</b> <A HREF="terminal_interface-curses__ads.htm#895_36">Non_Blocking</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#918_7">Time</A> := 0;
          <b>when</b> <A HREF="terminal_interface-curses__ads.htm#895_50">Delayed</A>      =&gt;
             <b>if</b> <A HREF="terminal_interface-curses__ads.htm#900_32">Amount</A> = 0 <b>then</b>
          <b>when</b> <A HREF="terminal_interface-curses__ads.htm#895_36">Non_Blocking</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#918_7">Time</A> := 0;
          <b>when</b> <A HREF="terminal_interface-curses__ads.htm#895_50">Delayed</A>      =&gt;
             <b>if</b> <A HREF="terminal_interface-curses__ads.htm#900_32">Amount</A> = 0 <b>then</b>
-               <b>raise</b> CONSTRAINT_ERROR;
+               <b>raise</b> Constraint_Error;
             <b>end</b> <b>if</b>;
             <A HREF="terminal_interface-curses__adb.htm#918_7">Time</A> := <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#900_32">Amount</A>);
       <b>end</b> <b>case</b>;
             <b>end</b> <b>if</b>;
             <A HREF="terminal_interface-curses__adb.htm#918_7">Time</A> := <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#900_32">Amount</A>);
       <b>end</b> <b>case</b>;
index 208b12a16537387cc3a89c2e9e34e59919012e44..bc6650872d0f78d55d0f6a00b09ec576de8d81cd 100644 (file)
@@ -55,8 +55,8 @@
    <b>pragma</b> Linker_Options ("-lncurses");
 
    <FONT COLOR=red><A NAME="53_4">NC_Major_Version</A></FONT> : <b>constant</b> := 5; <FONT COLOR=green><EM>--  Major version of the library</EM></FONT>
    <b>pragma</b> Linker_Options ("-lncurses");
 
    <FONT COLOR=red><A NAME="53_4">NC_Major_Version</A></FONT> : <b>constant</b> := 5; <FONT COLOR=green><EM>--  Major version of the library</EM></FONT>
-   <FONT COLOR=red><A NAME="54_4">NC_Minor_Version</A></FONT> : <b>constant</b> := 0; <FONT COLOR=green><EM>--  Minor version of the library</EM></FONT>
-   NC_Version : <b>constant</b> String := "5.0";  <FONT COLOR=green><EM>--  Version of library</EM></FONT>
+   <FONT COLOR=red><A NAME="54_4">NC_Minor_Version</A></FONT> : <b>constant</b> := 2; <FONT COLOR=green><EM>--  Minor version of the library</EM></FONT>
+   NC_Version : <b>constant</b> String := "5.2";  <FONT COLOR=green><EM>--  Version of library</EM></FONT>
 
    <b>type</b> Window <b>is</b> <b>private</b>;
    Null_Window : <b>constant</b> Window;
 
    <b>type</b> Window <b>is</b> <b>private</b>;
    Null_Window : <b>constant</b> Window;
index e7a79d6c899d78542aaf284c5ac29331a2e3052a..3005e49d588983be19943bf07f19202ec3b388b3 100644 (file)
@@ -1,15 +1,15 @@
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <!--
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <!--
-  $Id: announce.html,v 1.38 2000/07/04 22:41:38 tom Exp $
+  $Id: announce.html,v 1.39 2000/10/20 10:47:16 tom Exp $
 -->
 <HTML>
 <HEAD>
 -->
 <HTML>
 <HEAD>
-<TITLE>Announcing ncurses 5.1</TITLE>
+<TITLE>Announcing ncurses 5.2</TITLE>
 <link rev=made href="mailto:bug-ncurses@gnu.org">
 </HEAD>
 <BODY>
 
 <link rev=made href="mailto:bug-ncurses@gnu.org">
 </HEAD>
 <BODY>
 
-<H1>Announcing ncurses 5.1</H1>
+<H1>Announcing ncurses 5.2</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,
 
 The ncurses (new curses) library is a free software emulation of
 curses in System V Release 4.0, and more.  It uses terminfo format,
@@ -38,136 +38,327 @@ the GNU distribution site
 
 <H1>Release Notes</H1>
 
 
 <H1>Release Notes</H1>
 
-This release is designed to be upward compatible from ncurses 5.0; very few
-applications will require recompilation, depending on the platform.
-These are the highlights from the change-log since ncurses 5.0 release.
+This release is designed to be upward compatible from ncurses 5.0 and 5.1;
+very few applications will require recompilation, depending on the platform.
+These are the highlights from the change-log since ncurses 5.1 release.
 <p>
 Interface changes:
 <ul>
 <p>
 Interface changes:
 <ul>
-       <li>made the extended terminal capabilities
-         (<code>configure&nbsp;--enable-tcap-names</code>)
-         a standard feature (though the configure script can disable it,
-         it is built by default).
-
-       <li>removed the <code>trace()</code> function and related trace support
-         from the production library.  This is the only interface change that
-         may cause problems with existing applications linked to shared
-         libraries, since not all platforms use the minor version number.
-
-       <li>explicitly initialized to zero several data items which were
-         implicitly initialized, e.g., cur_term.  If not explicitly
-         initialized, their storage type is C (common), and causes problems
-         linking on some platforms.
-
-       <li>modified curses.h.in, undef'ing some symbols to avoid conflict with
-         C++ STL.
+       <li>change type of <code>ospeed</code> variable back to
+         <code>short</code> to match its use in legacy applications.  It was
+         altered after ncurses 4.2 to <code>speed_t</code> to repair a type
+         mismatch which was introduced after 1.9.4 in 1995.  The principal
+         users of termcap continued to use <code>short</code>, which is
+         not the same size.
+         <p>
+         <em>NOTE</em>: A few applications will have to be recompiled
+         (about 1% of the programs in a typical Linux distribution,
+         10% of the programs that use ncurses).  These are easy to
+         identify with <code>nm</code> or <code>strings</code>.
+
+       <li>remove a private function <code>_nc_can_clear_with()</code>, which
+         was built with the configure --enable-expanded option but not used.
+
+       <li>add several private functions (prefixed with "_nc_") for tracing
+         <code>chtype</code> values in the debug library, and for better
+         access and buffer limit checking.
 </ul>
 </ul>
-New features:
+New features and improvements:
 <ul>
 <ul>
-       <li>added a new extension, <code>assume_default_colors()</code> to
-         provide better control over the use of default colors.  This is
-         the principal visible difference between ncurses 5.1 and preceding
-         versions.  The new extension allows an application to specify what
-         colors pair 0 uses.
-        <p> 
-         <em>NOTE</em>:  Pair 0 defaults to white on black unless
-         you have invoked <code>use_default_colors()</code> or set it via
-         <code>assume_default_colors()</code>.  An application that calls
-         <code>start_colors()</code> without setting the background color
-         will consistently have a black background no matter what color your
-         terminal's background actually is.
-
-       <li>made several fixes to the terminfo-to-termcap conversion, and
-         have been using the generated termcaps without further hand-tuning. 
-         This builds on the extension <code>use_extended_names()</code> by
-         adding "obsolete" termcap strings to terminfo.src
+       <li>rewrote <code>tgoto()</code> to make it better support existing
+         termcap applications which use hardcoded strings rather than obtain
+         all of their information from the termcap file.  If the string does
+         not appear to be a terminfo string (i.e., does not refer to a "%p"
+         parameter, or terminfo-style padding), and termcap support is configured, <code>tgoto()</code>
+         will interpret it as termcap.  Otherwise, as before, it will use
+         <code>tparm()</code>.
+
+       <li>to ensure that the <code>tgoto()</code> changes work properly,
+         added checks to <code>tic</code> which report capabilities that do
+         not reference the expected number of parameters.
+
+       <li>new configure script options:
        <ul>
        <ul>
-         <li>modified <code>tic</code> so that if extended names (i.e.,
-           configure&nbsp;--enable-tcap-names) are active, then <code>tic&nbsp;-x</code>
-           will also write "obsolete" capabilities that are present in the
-           terminfo source.
-
-         <li>added screen's AX capability (for ECMA SGR 39 and 49) to applicable
-           terminfo entries, use presence of this as a check for a small
-           improvement in setting default colors.
-
-         <li>add -a option to tic and infocmp, which retains commented-out
-           capabilities during source translation/comparison, e.g., captoinfo
-           and infotocap.
+         <li>option <code>--disable-root-environ</code> adds runtime checks
+           which tell ncurses to disregard $TERMINFO and similar environment
+           variables if the current user is root, or running setuid/setgid.
+
+         <li>option <code>--disable-assumed-color</code> allows you to use the
+           pre-5.1 convention of default colors used for color-pair 0 to be
+           configured (see assume_default_colors()).
+
+         <li>implement configure script options that transform installed
+           program names, e.g., <code>--program-prefix</code>, including the
+           manpage names and cross references.
+
+         <li>option <code>--with-database</code> allows you to specify a
+           different terminfo source-file to install.  On OS/2 EMX, the
+           default is misc/emx.src, otherwise misc/terminfo.src
+
+         <li>option <code>--with-default-terminfo-dir</code> allows you to
+           specify the default terminfo database directory.
+
+         <li>option <code>--with-libtool</code> allows you to build with
+           <code>libtool</code>.  <p> <em>NOTE</em>:  <code>libtool</code>
+           uses a different notation for numbering shared library versions
+           from the existing ncurses configuration.
+
+         <li>option <code>--with-manpage-tbl</code> causes the manpages to be
+           preprocessed by tbl(1) prior to installation,
+
+         <li>option <code>--without-curses-h</code> causes the installation
+           process to install curses.h as ncurses.h and make appropriate
+           changes to headers and manpages.
        </ul>
 
        </ul>
 
-       <li>implemented limited support for UTF-8, useful with XFree86 xterm:
+       <li>modified configure script options:
        <ul>
        <ul>
-         <li>if the <code>configure&nbsp;--enable-widec</code> option is
-           given, append 'w' to names of the generated libraries (e.g.,
-           libncursesw.so) to avoid conflict with existing ncurses libraries.
-         <li>add a simple UTF-8 output driver to the experimental
-           wide-character support.  If any of the environment variables
-           LC_ALL, LC_CTYPE or LANG contain the string "UTF-8", this driver
-           will be used to translate the output to UTF-8.
-         <li>modified view.c to make a rudimentary viewer of UTF-8 text.
+         <li>change symbol used by the <code>--install-prefix</code> configure
+           option from <code>INSTALL_PREFIX</code> to <code>DESTDIR</code>
+           (the latter has become common usage although the name is
+           misleading).
+
+         <li>modify <code>ld -rpath</code> options (e.g., Linux, and Solaris)
+           to use an absolute pathname for the build tree's lib directory,
+           avoiding confusion with directories relative to the current one
+           with the installed programs.
+
+         <li>modified <code>misc/run_tic.in</code> to use
+           <code>tic&nbsp;-o</code>, to eliminate dependency on
+           <code>$TERMINFO</code> variable for installs.
        </ul>
 
        </ul>
 
-       <li>modify <code>raw()</code> and <code>noraw()</code> to clear/restore
-         IEXTEN flag which affects <code>stty lnext</code> on systems such as FreeBSD
+       <li>terminfo database:
+       <ul>
+         <li>updated xterm terminfo entries to match XFree86 xterm patch #146.
 
 
-       <li>reordered tests during mouse initialization to allow for gpm to run
-         in xterm, or for xterm to be used under OS/2 EMX.  Also dropped test
-         for <code>$DISPLAY</code> in favor of the terminfo capability
-         <code>kmous=\E[M</code> or
-         if <code>$TERM</code> environment variable contains "xterm".
+         <li>added amiga-vnc,
+           Matrix Orbital, and
+           QNX qansi to misc/terminfo.src.
 
 
-       <li>added configure option <code>--with-manpage-symlinks</code>, which
-         provides for fully indexing manpage entries by making symbolic links
-         for the aliases.
+         <li>added os2 entry to misc/emx.src.
 
 
-       <li>changed <code>unctrl()</code> to render C1 characters (128-159) as
-         <code>~@</code>, <code>~A</code>, etc.
+         <li>add S0 and E0 extensions to <code>screen</code>'s terminfo entry
+           since otherwise the FreeBSD port makes it pass termcap equivalents
+           to <code>tgoto</code>, which would be misinterpreted by older
+           versions of ncurses.
+       </ul>
+
+       <li>improvements to program usability:
+       <ul>
+         <li>modify programs to use <code>curses_version()</code> string to
+           report the version of ncurses with which they are compiled rather
+           than the NCURSES_VERSION string.  The function returns the patch
+           level in addition to the major and minor version numbers.
 
 
-       <li>add experimental configure option --enable-colorfgbg to check for
-         $COLORTERM variable as set by rxvt/aterm/Eterm.
+         <li>modify <code>tput</code> program so it can be renamed or invoked via a link as
+           'reset' or 'init', producing the same effect as <code>tput&nbsp;reset</code> or <code>tput&nbsp;init</code>.
 
 
-       <li>made the <code>infocmp -F</code> option less verbose.
+         <li>add error checking to infocmp's -v and -m options to ensure that
+           the option value is indeed a number.
+       </ul>
 
 
-       <li>dropped support for gnat 3.10 (gnat 3.12 is current).
+       <li>improved performance:
+       <ul>
+         <li>replace a lookup table in lib_vidattr.c used to decode
+           <code>no_color_video</code> with a logic expression which is faster.
+       </ul>
 
 </ul>
 Major bug fixes:
 <ul>
 
 </ul>
 Major bug fixes:
 <ul>
-       <li>modified infocmp -e, -E options to ensure that generated fallback.c
-         type for Booleans agrees with term.h
+       <li>correct <code>manlinks.sed</code> script introduced in ncurses 5.1
+         to avoid using ERE "\+", which is not understood by standard versions
+         of <code>sed</code>.  This happens to work with GNU <code>sed</code>,
+         but is not portable, and was the initial motivation for this release.
+
+       <li>remove "hpux10.*" case from CF_SHARED_OPTS configure script macro.
+         This differed from the "hpux*" case by using reversed symbolic
+         links, which made the 5.1 version not match the configuration of
+         5.0 shared libraries.
+
+       <li>guard against corrupt terminfo data:
+         <ul>
+         <li>modify <code>tparm()</code> to disallow arithmetic on strings,
+           analyze the varargs list to read strings as strings and numbers as
+           numbers.
+
+         <li>modify <code>tparm()</code>'s internal function
+           <code>spop()</code> to treat a null pointer as an empty string.
+
+         <li>modify <code>parse_format()</code> in lib_tparm.c to ignore
+           precision if it is longer than 10000.
+
+         <li>rewrote limit checks in lib_mvcur.c using new functions
+           <code>_nc_safe_strcat()</code>, etc.  Made other related changes to
+           check lengths used for <code>strcat()</code> and
+           <code>strcpy()</code>.
+         </ul>
+
+       <li>corrections to screen optimization:
+         <ul>
+         <li>added special case in lib_vidattr.c to reset underline and
+           standout for devices that have no sgr0 defined.
+
+         <li>change handling of <code>non_dest_scroll_region</code> in
+           tty_update.c to clear text after it is shifted in rather than before
+           shifting out.  Also correct row computation.
+
+         <li>modify <code>rs2</code> capability in xterm-r6 and similar entries
+           where cursor save/restore bracketed the sequence for resetting video
+           attributes.  The cursor restore would undo that.
+         </ul>
+
+       <li>UTF-8 support:
+       <ul>
+         <li>when checking LC_ALL, LC_CTYPE, and LANG environment variables
+           for UTF-8 locale, ignore those which are set to an empty value, as
+           per SUSV2.
 
 
-       <li>documented a special case of incompatiblity between ncurses 4.2 and
-         5.0, added a section for this in INSTALL.
+         <li>encode 0xFFFD in UTF-8 with 3 bytes, not 2.
 
 
-       <li>corrected tests for file-descriptors in OS/2 EMX mouse support.  A
-         negative value could be used by FD_SET, causing the select() call to
-         wait indefinitely.
+         <li>modify <code>_nc_utf8_outch()</code> to avoid sign-extension when
+           checking for out-of-range value.
+       </ul>
 
 
-       <li>made 'tput flash' work properly for xterm by flushing output in
-         delay_output() when using napms(), and modifying xterm's terminfo to
-         specify no padding character.  Otherwise, xterm's reported baud rate
-         could mislead ncurses into producing too few padding characters.
+       <li>other library fixes:
+       <ul>
+         <li>added checks for an empty <code>$HOME</code> environment
+           variable, to avoid retrieving terminfo descriptions from
+           <code>./.terminfo</code> .
 
 
-       <li>modified lib_addch.c to allow repeated update to the lower-right
-         corner, rather than displaying only the first character written until
-         the cursor is moved.  Recent versions of SVr4 curses can update the
-         lower-right corner, and behave this way.
+         <li>change functions <code>_nc_parse_entry()</code> and
+           <code>postprocess_termcap()</code> to avoid using
+           <code>strtok()</code>, because it is non-reentrant.
 
 
-       <li>modified echo() behavior of getch() to match Solaris curses for
-         carriage return and backspace (reported by Neil Zanella).
+         <li>initialize <code>fds[]</code> array to 0's in
+           <code>_nc_timed_wait()</code>; apparently <code>poll()</code> only
+           sets the <code>revents</code> members of that array when there is
+           activity corresponding to the related file.
 
 
-       <li>corrected offsets used for subwindows in <code>wresize()</code>
+         <li>add a check for null pointer in <code>Make_Enum_Type()</code>.
 
 
-       <li>modified configure script so AC_MSG_ERROR is temporarily defined to
-         a warning in AC_PROG_CXX to make it recover from a missing C++
-         compiler without requiring user to add --without-cxx option
+         <li>fix a heap problem with the c++ binding.
 
 
-       <li>corrected logic in lib_twait.c as used by lib_mouse.c for GPM mouse
-         support when poll() is used rather than select().
+         <li>correct missing includes for &lt;string.h&gt; in several places,
+           including the C++ binding.  This is not noted by gcc unless we use
+           the <code>-fno-builtin</code> option.
+       </ul>
+
+       <li>several fixes for tic:
+         <ul>
+         <li>add a check for empty buffers returned by <code>fgets()</code> in
+           comp_scan.c <code>next_char()</code> function, in case
+           <code>tic</code> is run on a non-text file (fixes a core dump).
+
+         <li>modify <code>tic</code> to verify that its inputs are really files,
+           in case someone tries to read a directory (or
+           <code>/dev/zero</code>).
+
+         <li>correct an uninitialized parameter to <code>open_tempfile()</code>
+           in tic.c which made "tic -I" give an ambiguous error message about
+           <code>tmpnam</code>.
+
+         <li>correct logic in <code>adjust_cancels()</code>, which did not check
+           both alternatives when reclassifying an extended name between
+           boolean, number and string, causing an infinite loop in
+           <code>tic</code>.
+         </ul>
+
+       <li>using new checks in <code>tic</code> for parameter counts in
+         capability strings, found/fixed several errors both in the
+         terminfo database and in the include/Caps file.
+         <ul>
+         <li>modified several terminfo capability strings, including the
+           definitions for setaf, setab, in include/Caps to indicate that the
+           entries are parameterized.  This information is used to tell which
+           strings are translated when converting to termcap.  This fixes a
+           problem where the generated termcap would contain a spurious "%p1"
+           for the terminfo "%p1%d".
+
+         <li>correct parameter counts in include/Caps for dclk as well as some
+           printer-specific capabilities: csnm, defc, scs, scsd, smgtp, smglp.
+         </ul>
+
+       <li>various fixes for install scripts used to support configure
+         <code>--srcdir</code> and <code>--with-install-prefix</code>.
+
+       <li>correct several mismatches between manpage filename and ".TH"
+         directives, renaming dft_fgbg.3x to default_colors.3x and
+         menu_attribs.3x to menu_attributes.3x.
+</ul>
+
+Portability:
+<ul>
+       <li>configure script:
+       <ul>
+         <li>newer config.guess, config.sub, including changes to support OS/2
+           EMX.  The configure script for OS/2 EMX still relies on a patch
+           since there is no (working) support for that platform in the main
+           autoconf distribution.
+
+         <li>make configure script checks on variables <code>$GCC</code> and
+           <code>$GXX</code> consistently compare against 'yes' rather than
+           test if they are nonnull, since either may be set to the
+           corresponding name of the C or C++ compiler.
+
+         <li>change configure script to use AC_CANONICAL_SYSTEM rather than
+           AC_CANONICAL_HOST, which means that <code>configure --target</code>
+           will set a default program-prefix.
+
+         <li>modify the check for big-core to force a couple of memory
+           accesses, which may work as needed for older/less-capable machines
+           (if not, there's still the explicit configure option).
+
+         <li>modify configure test for <code>tcgetattr()</code> to allow for
+           old implementations, e.g., on BeOS, which only defined it as a
+           macro.
+
+         <li>add configure check for filesystems (such as OS/2 EMX) which do
+           not distinguish between upper/lowercase filenames, use this to fix
+           tags rules in makefiles.
+
+         <li>add MKncurses_def.sh to generate fallback definitions for
+           ncurses_cfg.h, to quiet gcc -Wundef warnings, modified ifdef's in
+           code to consistently use "#if" rather than "#ifdef".
+
+         <li>change most remaining unquoted parameters of <code>test</code> in
+           configure script to use quotes, for instance fixing a problem in the
+           <code>--disable-database</code> option.
+
+         <li>modify scripts so that "make install.data" works on OS/2 EMX.
+
+         <li>modify scripts and makefiles so the Ada95 directory builds on
+           OS/2 EMX.
+       </ul>
+
+       <li>library:
+       <ul>
+       <li>replaced case-statement in <code>_nc_tracebits()</code> for CSIZE
+         with a table to simplify working around implementations that define
+         random combinations of the related macros to zero.
+
+       <li>improved OS/2 mouse support by retrying as a 2-button mouse if code
+         fails to set up a 3-button mouse.
+
+       <li>added private entrypoint <code>_nc_basename()</code>, used to
+         consolidate related code in progs, as well as accommodating OS/2 EMX
+         pathnames.
+
+       <li>alter definition of NCURSES_CONST to make it non-empty.
+
+       <li>redefine 'TEXT' in menu.h for AMIGA, since it is reported to have
+         an (unspecified) symbol conflict.
+       </ul>
+
+       <li>programs:
+       <ul>
+         <li>modified progs/tset.c and tack/sysdep.c to build with sgttyb
+           interface if neither termio or termios is available.  Tested this
+           with FreeBSD 2.1.5 (which does have termios - but the sgttyb does
+           work).
+       </ul>
 
 
-       <li>made several fixes for buffer overflows, unchecked recursion,
-         improvements in performance, etc.  See the NEWS file for details.
 </ul>
 
 <H1>Features of Ncurses</H1>
 </ul>
 
 <H1>Features of Ncurses</H1>
index 18f4cd94cd4d9175d700e49140d8ee3399b33b6b..806aec57a10ad2e087d60e95a6a60571eb4635d9 100644 (file)
 
        If no <I>file</I> is given, then the environment variable <B>TERMCAP</B>
        is used for the filename or entry.  If <B>TERMCAP</B> is  a  full
 
        If no <I>file</I> is given, then the environment variable <B>TERMCAP</B>
        is used for the filename or entry.  If <B>TERMCAP</B> is  a  full
-       pathname to a file, only the terminal whose name is speci-
-       fied in the environment variable <B>TERM</B>  is  extracted  from
-       that  file.   If  the  environment variable <B>TERMCAP</B> is not
-       set, then the file <B>@DATADIR@/terminfo</B> is read.
+       pathname  to  a  file,  only  the  terminal  whose name is
+       specified in the environment variable  <B>TERM</B>  is  extracted
+       from  that  file.   If the environment variable <B>TERMCAP</B> is
+       not set, then the file <B>/usr/share/terminfo</B> is read.
 
        <B>-v</B>   print out tracing information on  standard  error  as
             the program runs.
 
 
        <B>-v</B>   print out tracing information on  standard  error  as
             the program runs.
 
-       <B>-V</B>   print  out the version of the program in use on stan-
-            dard error and exit.
+       <B>-V</B>   print  out  the  version  of  the  program  in use on
+            standard error and exit.
 
 
-       <B>-1</B>   cause the fields to print out one to a line.   Other-
-            wise, the fields will be printed several to a line to
-            a maximum width of 60 characters.
+       <B>-1</B>   cause  the  fields  to  print  out  one  to  a  line.
+            Otherwise,  the  fields  will be printed several to a
+            line to a maximum width of 60 characters.
 
        <B>-w</B>   change the output to <I>width</I> characters.
 
 
 </PRE>
 <H2>FILES</H2><PRE>
 
        <B>-w</B>   change the output to <I>width</I> characters.
 
 
 </PRE>
 <H2>FILES</H2><PRE>
-       @DATADIR@/terminfo  Compiled     terminal      description
+       /usr/share/terminfo Compiled     terminal      description
                            database.
 
 
                            database.
 
 
@@ -51,8 +51,8 @@
 <H2>TRANSLATIONS FROM NONSTANDARD CAPABILITIES</H2><PRE>
        Some  obsolete nonstandard capabilities will automatically
        be translated into  standard  (SVr4/XSI  Curses)  terminfo
 <H2>TRANSLATIONS FROM NONSTANDARD CAPABILITIES</H2><PRE>
        Some  obsolete nonstandard capabilities will automatically
        be translated into  standard  (SVr4/XSI  Curses)  terminfo
-       capabilities  by  <B>captoinfo</B>.   Whenever one of these auto-
-       matic translations is done,  the  program  will  issue  an
+       capabilities   by   <B>captoinfo</B>.    Whenever  one  of  these
+       automatic translations is done, the program will issue  an
        notification to stderr, inviting the user to check that it
        has not mistakenly translated  a  completely  unknown  and
        random capability and/or syntax error.
        notification to stderr, inviting the user to check that it
        has not mistakenly translated  a  completely  unknown  and
        random capability and/or syntax error.
@@ -90,9 +90,9 @@
        FC       Sf     Tek     set_foreground
        HS       mh     Iris    enter_dim_mode
 
        FC       Sf     Tek     set_foreground
        HS       mh     Iris    enter_dim_mode
 
-       XENIX  termcap  also used to have a set of extension capa-
-       bilities for forms drawing, designed to take advantage  of
-       the IBM PC high-half graphics.  They were as follows:
+       XENIX  termcap  also  used  to  have  a  set  of extension
+       capabilities for forms drawing, designed to take advantage
+       of the IBM PC high-half graphics.  They were as follows:
 
        Cap          Graphic
        -----------------------------
 
        Cap          Graphic
        -----------------------------
 
        If  the  single-line  capabilities occur in an entry, they
        will automatically be composed into an <B>acsc</B>  string.   The
 
        If  the  single-line  capabilities occur in an entry, they
        will automatically be composed into an <B>acsc</B>  string.   The
-       double-line capabilities and <B>GG</B> are discarded with a warn-
-       ing message.
+       double-line  capabilities  and  <B>GG</B>  are  discarded  with a
+       warning message.
 
 
-       IBM's AIX has a terminfo facility descended from SVr1 ter-
-       minfo but incompatible with the SVr4 format. The following
-       AIX extensions are automatically translated:
+       IBM's AIX has a  terminfo  facility  descended  from  SVr1
+       terminfo  but  incompatible  with  the  SVr4  format.  The
+       following AIX extensions are automatically translated:
 
         IBM    XSI
        -------------
 
         IBM    XSI
        -------------
        font2   s2ds
        font3   s3ds
 
        font2   s2ds
        font3   s3ds
 
-       Additionally, the AIX <B>box1</B> capability  will  be  automati-
-       cally translated to an <B>acsc</B> string.
+       Additionally,   the   AIX   <B>box1</B>   capability   will    be
+       automatically translated to an <B>acsc</B> string.
 
 
-       Hewlett-Packard's  terminfo  library supports two nonstan-
-       dard terminfo capabilities <B>meml</B>  (memory  lock)  and  <B>memu</B>
-       (memory  unlock).   These will be discarded with a warning
-       message.
+       Hewlett-Packard's    terminfo    library    supports   two
+       nonstandard terminfo capabilities <B>meml</B> (memory  lock)  and
+       <B>memu</B>  (memory  unlock).   These  will  be discarded with a
+       warning message.
 
 
 </PRE>
 
 
 </PRE>
index 296d8e9e5db52acc5f13d71ce014e1d67dfc80fd..b24a83c006f92995568e48cc4a16b0391fbdce6b 100644 (file)
 
 </PRE>
 <H2>SEE ALSO</H2><PRE>
 
 </PRE>
 <H2>SEE ALSO</H2><PRE>
-       <B><A HREF="ncurses.3x.html">curses(3x)</A></B>, <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>, <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>, <B><A HREF="dft_fgbg.3x.html">dft_fgbg(3x)</A></B>
-
+       <B><A HREF="ncurses.3x.html">curses(3x)</A></B>, <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>, <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>,  <B>default_col-</B>
+       <B><A HREF="ors.3x.html">ors(3x)</A></B>
 
 
 
 
 
 
index 8fbb8867627f2c17cc14c2936f7c990bcbe5cda4..a91102ed3665b33019e73a81a856e3ce6b78222c 100644 (file)
@@ -47,8 +47,8 @@
 </PRE>
 <H2>SEE ALSO</H2><PRE>
        <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>,       <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>,      <B><A HREF="curs_print.3x.html">curs_print(3x)</A></B>,
 </PRE>
 <H2>SEE ALSO</H2><PRE>
        <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>,       <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>,      <B><A HREF="curs_print.3x.html">curs_print(3x)</A></B>,
-       <B><A HREF="define_key.3x.html">define_key(3x)</A></B>,  <B><A HREF="dft_fgbg.3x.html">dft_fgbg(3x)</A></B>,  <B><A HREF="keybound.3x.html">keybound(3x)</A></B>,   <B><A HREF="keyok.3x.html">keyok(3x)</A></B>,
-       <B><A HREF="resizeterm.3x.html">resizeterm(3x)</A></B>, <B><A HREF="wresize.3x.html">wresize(3x)</A></B>.
+       <B><A HREF="default_colors.3x.html">default_colors(3x)</A></B>,     <B><A HREF="define_key.3x.html">define_key(3x)</A></B>,      <B><A HREF="keybound.3x.html">keybound(3x)</A></B>,
+       <B><A HREF="keyok.3x.html">keyok(3x)</A></B>, <B><A HREF="resizeterm.3x.html">resizeterm(3x)</A></B>, <B><A HREF="wresize.3x.html">wresize(3x)</A></B>.
 
 
 </PRE>
 
 
 </PRE>
index 8ac48ad1c6e6f870b83accdadca6b6556a2c778c..1fb1ba9ed2950dfcf56671159fb81b90253ed094 100644 (file)
@@ -6,7 +6,7 @@
 </PRE>
 <H2>NAME</H2><PRE>
        <B>scanw</B>, <B>wscanw</B>, <B>mvscanw</B>, <B>mvwscanw</B>, <B>vwscanw</B>, <B>vw_scanw</B> - con-
 </PRE>
 <H2>NAME</H2><PRE>
        <B>scanw</B>, <B>wscanw</B>, <B>mvscanw</B>, <B>mvwscanw</B>, <B>vwscanw</B>, <B>vw_scanw</B> - con-
-       vert formatted input from a <B>curses</B> widow
+       vert formatted input from a <B>curses</B> window
 
 
 </PRE>
 
 
 </PRE>
index 828042688576388d67f0760353eb50b03d5a3b68..51d082c52e67d0a31213c35ceab1fba2b0254295 100644 (file)
@@ -89,6 +89,9 @@
        TRACE_DATABASE
             trace read/write of terminfo/termcap data.
 
        TRACE_DATABASE
             trace read/write of terminfo/termcap data.
 
+       TRACE_ATTRS
+            trace changes to video attributes and colors.
+
        TRACE_MAXIMUM
             maximum trace level,  enables  all  of  the  separate
             trace features.
        TRACE_MAXIMUM
             maximum trace level,  enables  all  of  the  separate
             trace features.
 
 
 
 
 
 
-
-
-
 </PRE>
 <HR>
 <ADDRESS>
 </PRE>
 <HR>
 <ADDRESS>
similarity index 97%
rename from doc/html/man/dft_fgbg.3x.html
rename to doc/html/man/default_colors.3x.html
index 8d5bf7b6450b2c725f90f88dcffe433068bc7107..8b6cdca4652fad0867adb9610c57de8b4b013633 100644 (file)
@@ -5,8 +5,8 @@
 
 </PRE>
 <H2>NAME</H2><PRE>
 
 </PRE>
 <H2>NAME</H2><PRE>
-       <B>dft_fgbg</B>:  <B>use_default_colors</B>, <B>assume_default_colors</B> - use
-       terminal's default colors
+       <B>default_colors</B>:  <B>use_default_colors</B>, <B>assume_default_colors</B>
+       - use terminal's default colors
 
 
 </PRE>
 
 
 </PRE>
index 78c02edffefdd636cd4b2d81961fc2bf44b73482..5f77495f95bb7b02860cdf271dbe36cda871013f 100644 (file)
        The location of the compiled <B>terminfo</B>  database  is  taken
        from  the environment variable <B>TERMINFO</B> .  If the variable
        is not defined, or the terminal is not found in that loca-
        The location of the compiled <B>terminfo</B>  database  is  taken
        from  the environment variable <B>TERMINFO</B> .  If the variable
        is not defined, or the terminal is not found in that loca-
-       tion, the system <B>terminfo</B> database, in <B>@DATADIR@/terminfo</B>,
-       will be used.  The options <B>-A</B> and <B>-B</B> may be used to  over-
-       ride  this  location.  The <B>-A</B> option will set <B>TERMINFO</B> for
-       the first <I>termname</I> and the <B>-B</B> option will set <B>TERMINFO</B> for
-       the other <I>termnames</I>.  With this, it is possible to compare
-       descriptions for a terminal with the same name located  in
-       two  different  databases.   This  is useful for comparing
-       descriptions for the same terminal  created  by  different
-       people.
+       tion,  the  system  <B>terminfo</B>  database, in <B>/usr/share/ter-</B>
+       <B>minfo</B>, will be used.  The options <B>-A</B> and <B>-B</B> may be used to
+       override  this  location.  The <B>-A</B> option will set <B>TERMINFO</B>
+       for the first <I>termname</I> and the <B>-B</B> option will set <B>TERMINFO</B>
+       for  the  other  <I>termnames</I>.   With this, it is possible to
+       compare descriptions for a terminal  with  the  same  name
+       located  in  two  different databases.  This is useful for
+       comparing descriptions for the same  terminal  created  by
+       different people.
 
    <B>Other</B>  <B>Options</B>  <B>[-s</B> <B>d|i|l|c]</B> <B>[-1FTVefip]</B> <B>[-Rsubset]</B> <B>[-v</B> <I>n</I>] [-w
        <I>width</I>]
 
    <B>Other</B>  <B>Options</B>  <B>[-s</B> <B>d|i|l|c]</B> <B>[-1FTVefip]</B> <B>[-Rsubset]</B> <B>[-v</B> <I>n</I>] [-w
        <I>width</I>]
             the compiled descriptions are limited (e.g., 1023 for
             termcap, 4096 for terminfo).
 
             the compiled descriptions are limited (e.g., 1023 for
             termcap, 4096 for terminfo).
 
-       <B>-V</B>   prints out the version of the program in use on stan-
-            dard error and exits.
+       <B>-V</B>   reports the version of ncurses which was used in this
+            program, and exits.
 
        <B>-e</B>   Dump the capabilities of the given terminal  as  a  C
             initializer  for  a  TERMTYPE structure (the terminal
 
        <B>-e</B>   Dump the capabilities of the given terminal  as  a  C
             initializer  for  a  TERMTYPE structure (the terminal
 
 </PRE>
 <H2>FILES</H2><PRE>
 
 </PRE>
 <H2>FILES</H2><PRE>
-       @DATADIR@/terminfo  Compiled     terminal      description
+       /usr/share/terminfo Compiled     terminal      description
                            database.
 
 
 
 </PRE>
 <H2>EXTENSIONS</H2><PRE>
                            database.
 
 
 
 </PRE>
 <H2>EXTENSIONS</H2><PRE>
-       The  <B>-E</B>,  <B>-F</B>,  <B>-G</B>,  <B>-R</B>, <B>-T</B>, <B>-a</B>, <B>-e</B>, <B>-f</B>, <B>-g</B>, <B>-i</B>, <B>-p</B>, and <B>-q</B>
+       The <B>-E</B>, <B>-F</B>, <B>-G</B>, <B>-R</B>, <B>-T</B>, <B>-V</B>, <B>-a</B>, <B>-e</B>, <B>-f</B>, <B>-g</B>, <B>-i</B>, <B>-p</B>, and <B>-q</B>
        options are not supported in SVr4 curses.
 
        The <B>-r</B> option's notion of `termcap' capabilities is System
        options are not supported in SVr4 curses.
 
        The <B>-r</B> option's notion of `termcap' capabilities is System
index 7194e0ae6890edcee3001c8f6450d9fa7d71f859..38ab95cc982b563d7449021bc1879fab6d729577 100644 (file)
@@ -36,7 +36,7 @@
 
 </PRE>
 <H2>FILES</H2><PRE>
 
 </PRE>
 <H2>FILES</H2><PRE>
-       @DATADIR@/terminfo  Compiled      terminal     description
+       /usr/share/terminfo Compiled      terminal     description
                            database.
 
 
                            database.
 
 
index 74fe0b7f24bfa47bd600668b789dc6f3f8633de1..c72b67f0903e9ec2dbad2fd4e59f229884b45d19 100644 (file)
        item_userptr           <B><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></B>
        item_value             <B><A HREF="mitem_value.3x.html">mitem_value(3x)</A></B>
        item_visible           <B><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></B>
        item_userptr           <B><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></B>
        item_value             <B><A HREF="mitem_value.3x.html">mitem_value(3x)</A></B>
        item_visible           <B><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></B>
-       menu_back              <B><A HREF="menu_attribs.3x.html">menu_attribs(3x)</A></B>
+       menu_back              <B><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></B>
        menu_driver            <B><A HREF="menu_driver.3x.html">menu_driver(3x)</A></B>
        menu_driver            <B><A HREF="menu_driver.3x.html">menu_driver(3x)</A></B>
-       menu_fore              <B><A HREF="menu_attribs.3x.html">menu_attribs(3x)</A></B>
+       menu_fore              <B><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></B>
 
        menu_format            <B><A HREF="menu_format.3x.html">menu_format(3x)</A></B>
 
        menu_format            <B><A HREF="menu_format.3x.html">menu_format(3x)</A></B>
-       menu_grey              <B><A HREF="menu_attribs.3x.html">menu_attribs(3x)</A></B>
+       menu_grey              <B><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></B>
        menu_init              <B><A HREF="menu_hook.3x.html">menu_hook(3x)</A></B>
        menu_items             <B><A HREF="menu_items.3x.html">menu_items(3x)</A></B>
        menu_mark              <B><A HREF="menu_mark.3x.html">menu_mark(3x)</A></B>
        menu_opts              <B><A HREF="menu_opts.3x.html">menu_opts(3x)</A></B>
        menu_opts_off          <B><A HREF="menu_opts.3x.html">menu_opts(3x)</A></B>
        menu_opts_on           <B><A HREF="menu_opts.3x.html">menu_opts(3x)</A></B>
        menu_init              <B><A HREF="menu_hook.3x.html">menu_hook(3x)</A></B>
        menu_items             <B><A HREF="menu_items.3x.html">menu_items(3x)</A></B>
        menu_mark              <B><A HREF="menu_mark.3x.html">menu_mark(3x)</A></B>
        menu_opts              <B><A HREF="menu_opts.3x.html">menu_opts(3x)</A></B>
        menu_opts_off          <B><A HREF="menu_opts.3x.html">menu_opts(3x)</A></B>
        menu_opts_on           <B><A HREF="menu_opts.3x.html">menu_opts(3x)</A></B>
-       menu_pad               <B><A HREF="menu_attribs.3x.html">menu_attribs(3x)</A></B>
+       menu_pad               <B><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></B>
        menu_pattern           <B><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></B>
        menu_request_by_name   <B><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></B>
        menu_request_name      <B><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></B>
        menu_pattern           <B><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></B>
        menu_request_by_name   <B><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></B>
        menu_request_name      <B><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></B>
        set_item_term          <B><A HREF="menu_hook.3x.html">menu_hook(3x)</A></B>
        set_item_userptr       <B><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></B>
        set_item_value         <B><A HREF="mitem_value.3x.html">mitem_value(3x)</A></B>
        set_item_term          <B><A HREF="menu_hook.3x.html">menu_hook(3x)</A></B>
        set_item_userptr       <B><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></B>
        set_item_value         <B><A HREF="mitem_value.3x.html">mitem_value(3x)</A></B>
-       set_menu_back          <B><A HREF="menu_attribs.3x.html">menu_attribs(3x)</A></B>
-       set_menu_fore          <B><A HREF="menu_attribs.3x.html">menu_attribs(3x)</A></B>
+       set_menu_back          <B><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></B>
+       set_menu_fore          <B><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></B>
        set_menu_format        <B><A HREF="menu_format.3x.html">menu_format(3x)</A></B>
        set_menu_format        <B><A HREF="menu_format.3x.html">menu_format(3x)</A></B>
-       set_menu_grey          <B><A HREF="menu_attribs.3x.html">menu_attribs(3x)</A></B>
+       set_menu_grey          <B><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></B>
        set_menu_init          <B><A HREF="menu_hook.3x.html">menu_hook(3x)</A></B>
        set_menu_items         <B><A HREF="menu_items.3x.html">menu_items(3x)</A></B>
        set_menu_mark          <B><A HREF="menu_mark.3x.html">menu_mark(3x)</A></B>
        set_menu_opts          <B><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></B>
        set_menu_init          <B><A HREF="menu_hook.3x.html">menu_hook(3x)</A></B>
        set_menu_items         <B><A HREF="menu_items.3x.html">menu_items(3x)</A></B>
        set_menu_mark          <B><A HREF="menu_mark.3x.html">menu_mark(3x)</A></B>
        set_menu_opts          <B><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></B>
-       set_menu_pad           <B><A HREF="menu_attribs.3x.html">menu_attribs(3x)</A></B>
+       set_menu_pad           <B><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></B>
        set_menu_pattern       <B><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></B>
        set_menu_spacing       <B><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></B>
        set_menu_sub           <B><A HREF="menu_win.3x.html">menu_win(3x)</A></B>
        set_menu_pattern       <B><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></B>
        set_menu_spacing       <B><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></B>
        set_menu_sub           <B><A HREF="menu_win.3x.html">menu_win(3x)</A></B>
index 24ba4e7adb4e35e6db9e637a39c58e1465cda75d..5fb8400f404fb2f425ed1ecd2bb6eead5246b2f4 100644 (file)
 </PRE>
 <H2>DESCRIPTION</H2><PRE>
        The  <B>ncurses</B>  library  routines  give the user a terminal-
 </PRE>
 <H2>DESCRIPTION</H2><PRE>
        The  <B>ncurses</B>  library  routines  give the user a terminal-
-       independent method of updating character screens with rea-
-       sonable   optimization.    This  implementation  is  ``new
+       independent method  of  updating  character  screens  with
+       reasonable  optimization.   This  implementation  is ``new
        curses'' (ncurses) and is  the  approved  replacement  for
        4.4BSD classic curses, which has been discontinued.
 
        The  <B>ncurses</B>  routines  emulate  the <B><A HREF="ncurses.3x.html">curses(3x)</A></B> library of
        System V Release 4 UNIX, and the XPG4 curses standard (XSI
        curses)  but the <B>ncurses</B> library is freely redistributable
        curses'' (ncurses) and is  the  approved  replacement  for
        4.4BSD classic curses, which has been discontinued.
 
        The  <B>ncurses</B>  routines  emulate  the <B><A HREF="ncurses.3x.html">curses(3x)</A></B> library of
        System V Release 4 UNIX, and the XPG4 curses standard (XSI
        curses)  but the <B>ncurses</B> library is freely redistributable
-       in source form.  Differences from the SVr4 curses are sum-
-       marized  under  the EXTENSIONS and BUGS sections below and
-       described in detail in the EXTENSIONS and BUGS sections of
-       individual man pages.
+       in source form.  Differences  from  the  SVr4  curses  are
+       summarized  under  the  EXTENSIONS and BUGS sections below
+       and  described  in  detail  in  the  EXTENSIONS  and  BUGS
+       sections of individual man pages.
 
        A  program  using  these  routines must be linked with the
        <B>-lncurses</B> option, or (if it has been generated)  with  the
        debugging  library  <B>-lncurses_g</B>.   (Your system integrator
        may also have installed these libraries  under  the  names
        <B>-lcurses</B> and <B>-lcurses_g</B>.)  The ncurses_g library generates
 
        A  program  using  these  routines must be linked with the
        <B>-lncurses</B> option, or (if it has been generated)  with  the
        debugging  library  <B>-lncurses_g</B>.   (Your system integrator
        may also have installed these libraries  under  the  names
        <B>-lcurses</B> and <B>-lcurses_g</B>.)  The ncurses_g library generates
-       trace logs (in a file called 'trace' in the current direc-
-       tory) that describe curses actions.
+       trace logs (in  a  file  called  'trace'  in  the  current
+       directory) that describe curses actions.
 
        The  <B>ncurses</B>  package supports: overall screen, window and
 
        The  <B>ncurses</B>  package supports: overall screen, window and
-       pad manipulation; output to windows and pads; reading ter-
-       minal  input;  control  over terminal and <B>curses</B> input and
-       output options; environment query routines; color  manipu-
-       lation; use of soft label keys; terminfo capabilities; and
-       access to low-level terminal-manipulation routines.
+       pad manipulation; output  to  windows  and  pads;  reading
+       terminal input; control over terminal and <B>curses</B> input and
+       output  options;   environment   query   routines;   color
+       manipulation;   use   of   soft   label   keys;   terminfo
+       capabilities;   and   access   to   low-level    terminal-
+       manipulation routines.
 
        To initialize the routines, the routine <B>initscr</B> or <B>newterm</B>
 
        To initialize the routines, the routine <B>initscr</B> or <B>newterm</B>
-       must  be called before any of the other routines that deal
-       with windows and screens are  used.   The  routine  <B>endwin</B>
+       must be called before any of the other routines that  deal
+       with  windows  and  screens  are used.  The routine <B>endwin</B>
        must be called before exiting.  To get character-at-a-time
        must be called before exiting.  To get character-at-a-time
-       input without echoing (most interactive,  screen  oriented
-       programs  want  this),  the  following  sequence should be
+       input  without  echoing (most interactive, screen oriented
+       programs want this),  the  following  sequence  should  be
        used:
 
              <B>initscr();</B> <B>cbreak();</B> <B>noecho();</B>
        used:
 
              <B>initscr();</B> <B>cbreak();</B> <B>noecho();</B>
              <B>intrflush(stdscr,</B> <B>FALSE);</B>
              <B>keypad(stdscr,</B> <B>TRUE);</B>
 
              <B>intrflush(stdscr,</B> <B>FALSE);</B>
              <B>keypad(stdscr,</B> <B>TRUE);</B>
 
-       Before a <B>curses</B> program is run, the tab stops of the  ter-
-       minal  should  be  set  and its initialization strings, if
-       defined, must be output.  This can be  done  by  executing
+       Before  a  <B>curses</B>  program  is  run,  the tab stops of the
+       terminal should be set and its initialization strings,  if
+       defined,  must  be  output.  This can be done by executing
        the <B>tput</B> <B>init</B> command after the shell environment variable
        the <B>tput</B> <B>init</B> command after the shell environment variable
-       <B>TERM</B> has been exported.  <B>tset(1)</B>  is  usually  responsible
+       <B>TERM</B>  has  been  exported.  <B>tset(1)</B> is usually responsible
        for doing this.  [See <B><A HREF="terminfo.5.html">terminfo(5)</A></B> for further details.]
 
        for doing this.  [See <B><A HREF="terminfo.5.html">terminfo(5)</A></B> for further details.]
 
-       The  <B>ncurses</B>  library  permits manipulation of data struc-
-       tures, called <I>windows</I>, which can be  thought  of  as  two-
-       dimensional  arrays of characters representing all or part
-       of a CRT screen.  A default window called <B>stdscr</B>, which is
-       the  size of the terminal screen, is supplied.  Others may
-       be created with <B>newwin</B>.
-
-       Note that <B>curses</B>  does  not  handle  overlapping  windows,
-       that's  done by the <B><A HREF="panel.3x.html">panel(3x)</A></B> library. This means that you
-       can either use <B>stdscr</B> or divide the screen into tiled win-
-       dows  and  not  using  <B>stdscr</B>  at all. Mixing the two will
+       The  <B>ncurses</B>  library   permits   manipulation   of   data
+       structures,  called  <I>windows</I>,  which  can be thought of as
+       two-dimensional arrays of characters representing  all  or
+       part  of  a  CRT  screen.  A default window called <B>stdscr</B>,
+       which is the size of the  terminal  screen,  is  supplied.
+       Others may be created with <B>newwin</B>.
+
+       Note  that  <B>curses</B>  does  not  handle overlapping windows,
+       that's done by the <B><A HREF="panel.3x.html">panel(3x)</A></B> library. This means that  you
+       can  either  use  <B>stdscr</B>  or  divide the screen into tiled
+       windows and not using <B>stdscr</B> at all. Mixing the  two  will
        result in unpredictable, and undesired, effects.
 
        Windows are referred to by variables declared as <B>WINDOW</B> <B>*</B>.
        result in unpredictable, and undesired, effects.
 
        Windows are referred to by variables declared as <B>WINDOW</B> <B>*</B>.
-       These   data  structures  are  manipulated  with  routines
-       described here and elsewhere in the <B>ncurses</B> manual  pages.
-       Among  which  the  most basic routines are <B>move</B> and <B>addch</B>.
-       More general versions of these routines are included  with
-       names  beginning  with  <B>w</B>,  allowing the user to specify a
+       These  data  structures  are  manipulated  with   routines
+       described  here and elsewhere in the <B>ncurses</B> manual pages.
+       Among which the most basic routines are  <B>move</B>  and  <B>addch</B>.
+       More  general versions of these routines are included with
+       names beginning with <B>w</B>, allowing the  user  to  specify  a
        window.  The routines not beginning with <B>w</B> affect <B>stdscr</B>.)
 
        window.  The routines not beginning with <B>w</B> affect <B>stdscr</B>.)
 
-       After  using  routines  to manipulate a window, <B>refresh</B> is
-       called, telling <B>curses</B> to make the user's CRT screen  look
-       like  <B>stdscr</B>.   The characters in a window are actually of
-       type <B>chtype</B>, (character and attribute data) so that  other
-       information  about  the  character may also be stored with
+       After using routines to manipulate a  window,  <B>refresh</B>  is
+       called,  telling <B>curses</B> to make the user's CRT screen look
+       like <B>stdscr</B>.  The characters in a window are  actually  of
+       type  <B>chtype</B>, (character and attribute data) so that other
+       information about the character may also  be  stored  with
        each character.
 
        each character.
 
-       Special windows  called  <I>pads</I>  may  also  be  manipulated.
+       Special  windows  called  <I>pads</I>  may  also  be manipulated.
        These are windows which are not constrained to the size of
        These are windows which are not constrained to the size of
-       the screen and whose contents need not be completely  dis-
-       played.  See <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B> for more information.
-
-       In  addition  to  drawing  characters on the screen, video
-       attributes and colors may be supported, causing the  char-
-       acters  to show up in such modes as underlined, in reverse
-       video, or in color on terminals that support such  display
-       enhancements.  Line drawing characters may be specified to
-       be output.  On input, <B>curses</B> is  also  able  to  translate
-       arrow  and  function  keys  that transmit escape sequences
-       into single values.  The video  attributes,  line  drawing
-       characters,   and  input  values  use  names,  defined  in
+       the  screen  and  whose  contents  need  not be completely
+       displayed.  See <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B> for more information.
+
+       In addition to drawing characters  on  the  screen,  video
+       attributes  and  colors  may  be  supported,  causing  the
+       characters to show up in  such  modes  as  underlined,  in
+       reverse  video, or in color on terminals that support such
+       display enhancements.   Line  drawing  characters  may  be
+       specified  to be output.  On input, <B>curses</B> is also able to
+       translate arrow and function  keys  that  transmit  escape
+       sequences  into single values.  The video attributes, line
+       drawing characters, and input values use names, defined in
        <B>&lt;curses.h&gt;</B>, such as <B>A_REVERSE</B>, <B>ACS_HLINE</B>, and <B>KEY_LEFT</B>.
 
        If the environment variables <B>LINES</B> and <B>COLUMNS</B> are set, or
        <B>&lt;curses.h&gt;</B>, such as <B>A_REVERSE</B>, <B>ACS_HLINE</B>, and <B>KEY_LEFT</B>.
 
        If the environment variables <B>LINES</B> and <B>COLUMNS</B> are set, or
-       if  the program is executing in a window environment, line
-       and column information in the  environment  will  override
+       if the program is executing in a window environment,  line
+       and  column  information  in the environment will override
        information read by <I>terminfo</I>.  This would effect a program
        information read by <I>terminfo</I>.  This would effect a program
-       running in an AT&amp;T 630 layer, for example, where the  size
+       running  in an AT&amp;T 630 layer, for example, where the size
        of a screen is changeable (see <B>ENVIRONMENT</B>).
 
        of a screen is changeable (see <B>ENVIRONMENT</B>).
 
-       If  the environment variable <B>TERMINFO</B> is defined, any pro-
-       gram using <B>curses</B> checks for a local  terminal  definition
-       before  checking  in  the standard place.  For example, if
-       <B>TERM</B> is set to <B>att4424</B>, then the compiled terminal defini-
-       tion is found in
+       If the  environment  variable  <B>TERMINFO</B>  is  defined,  any
+       program   using   <B>curses</B>   checks  for  a  local  terminal
+       definition before checking in  the  standard  place.   For
+       example,  if  <B>TERM</B>  is  set  to <B>att4424</B>, then the compiled
+       terminal definition is found in
 
 
-             <B>@DATADIR@/terminfo/a/att4424</B>.
+             <B>/usr/share/terminfo/a/att4424</B>.
 
        (The <B>a</B> is copied from the first letter of <B>att4424</B> to avoid
 
        (The <B>a</B> is copied from the first letter of <B>att4424</B> to avoid
-       creation of huge directories.)  However,  if  <B>TERMINFO</B>  is
+       creation  of  huge  directories.)  However, if <B>TERMINFO</B> is
        set to <B>$HOME/myterms</B>, <B>curses</B> first checks
 
              <B>$HOME/myterms/a/att4424</B>,
 
        and if that fails, it then checks
 
        set to <B>$HOME/myterms</B>, <B>curses</B> first checks
 
              <B>$HOME/myterms/a/att4424</B>,
 
        and if that fails, it then checks
 
-             <B>@DATADIR@/terminfo/a/att4424</B>.
+             <B>/usr/share/terminfo/a/att4424</B>.
 
 
-       This  is useful for developing experimental definitions or
-       when write permission in <B>@DATADIR@/terminfo</B> is not  avail-
-       able.
+       This is useful for developing experimental definitions  or
+       when   write  permission  in  <B>/usr/share/terminfo</B>  is  not
+       available.
 
 
-       The  integer  variables  <B>LINES</B>  and  <B>COLS</B>  are  defined in
-       <B>&lt;curses.h&gt;</B> and will be filled in by <B>initscr</B> with the  size
-       of the screen.  The constants <B>TRUE</B> and <B>FALSE</B> have the val-
-       ues <B>1</B> and <B>0</B>, respectively.
+       The integer  variables  <B>LINES</B>  and  <B>COLS</B>  are  defined  in
+       <B>&lt;curses.h&gt;</B>  and will be filled in by <B>initscr</B> with the size
+       of the screen.  The constants  <B>TRUE</B>  and  <B>FALSE</B>  have  the
+       values <B>1</B> and <B>0</B>, respectively.
 
 
-       The <B>curses</B> routines also  define  the  <B>WINDOW</B>  <B>*</B>  variable
+       The  <B>curses</B>  routines  also  define  the <B>WINDOW</B> <B>*</B> variable
        <B>curscr</B> which is used for certain low-level operations like
        <B>curscr</B> which is used for certain low-level operations like
-       clearing and redrawing a screen containing  garbage.   The
+       clearing  and  redrawing a screen containing garbage.  The
        <B>curscr</B> can be used in only a few routines.
 
 
    <B>Routine</B> <B>and</B> <B>Argument</B> <B>Names</B>
        <B>curscr</B> can be used in only a few routines.
 
 
    <B>Routine</B> <B>and</B> <B>Argument</B> <B>Names</B>
-       Many  <B>curses</B> routines have two or more versions.  The rou-
-       tines prefixed with <B>w</B> require a window argument.  The rou-
-       tines prefixed with <B>p</B> require a pad argument.  Those with-
-       out a prefix generally use <B>stdscr</B>.
+       Many <B>curses</B> routines  have  two  or  more  versions.   The
+       routines  prefixed  with <B>w</B> require a window argument.  The
+       routines prefixed with <B>p</B> require a  pad  argument.   Those
+       without a prefix generally use <B>stdscr</B>.
 
        The routines prefixed with <B>mv</B> require a <I>y</I> and <I>x</I> coordinate
 
        The routines prefixed with <B>mv</B> require a <I>y</I> and <I>x</I> coordinate
-       to  move to before performing the appropriate action.  The
-       <B>mv</B> routines imply a call to <B>move</B> before the  call  to  the
-       other  routine.  The coordinate <I>y</I> always refers to the row
-       (of the window), and <I>x</I> always refers to the  column.   The
+       to move to before performing the appropriate action.   The
+       <B>mv</B>  routines  imply  a call to <B>move</B> before the call to the
+       other routine.  The coordinate <I>y</I> always refers to the  row
+       (of  the  window), and <I>x</I> always refers to the column.  The
        upper left-hand corner is always (0,0), not (1,1).
 
        The routines prefixed with <B>mvw</B> take both a window argument
        upper left-hand corner is always (0,0), not (1,1).
 
        The routines prefixed with <B>mvw</B> take both a window argument
-       and <I>x</I> and <I>y</I> coordinates.  The window  argument  is  always
+       and  <I>x</I>  and  <I>y</I> coordinates.  The window argument is always
        specified before the coordinates.
 
        specified before the coordinates.
 
-       In  each  case, <I>win</I> is the window affected, and <I>pad</I> is the
-       pad affected; <I>win</I> and <I>pad</I>  are  always  pointers  to  type
+       In each case, <I>win</I> is the window affected, and <I>pad</I>  is  the
+       pad  affected;  <I>win</I>  and  <I>pad</I>  are always pointers to type
        <B>WINDOW</B>.
 
        Option setting routines require a Boolean flag <I>bf</I> with the
        <B>WINDOW</B>.
 
        Option setting routines require a Boolean flag <I>bf</I> with the
-       value <B>TRUE</B> or <B>FALSE</B>; <I>bf</I> is always of type <B>bool</B>.  The vari-
-       ables  <I>ch</I>  and <I>attrs</I> below are always of type <B>chtype</B>.  The
-       types <B>WINDOW</B>, <B>SCREEN</B>, <B>bool</B>,  and  <B>chtype</B>  are  defined  in
-       <B>&lt;curses.h&gt;</B>.   The  type  <B>TERMINAL</B>  is defined in <B>&lt;term.h&gt;</B>.
+       value  <B>TRUE</B>  or  <B>FALSE</B>;  <I>bf</I>  is  always of type <B>bool</B>.  The
+       variables <I>ch</I> and <I>attrs</I> below are always  of  type  <B>chtype</B>.
+       The  types <B>WINDOW</B>, <B>SCREEN</B>, <B>bool</B>, and <B>chtype</B> are defined in
+       <B>&lt;curses.h&gt;</B>.  The type <B>TERMINAL</B>  is  defined  in  <B>&lt;term.h&gt;</B>.
        All other arguments are integers.
 
 
    <B>Routine</B> <B>Name</B> <B>Index</B>
        The following table lists each <B>curses</B> routine and the name
        All other arguments are integers.
 
 
    <B>Routine</B> <B>Name</B> <B>Index</B>
        The following table lists each <B>curses</B> routine and the name
-       of  the  manual  page  on which it is described.  Routines
-       flagged with `*' are ncurses-specific,  not  described  by
+       of the manual page on which  it  is  described.   Routines
+       flagged  with  `*'  are ncurses-specific, not described by
        XPG4 or present in SVr4.
 
        XPG4 or present in SVr4.
 
-               <B>curses</B> Routine Name     Manual Page Name
-               -------------------------------------------
-               COLOR_PAIR              <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
-               PAIR_NUMBER             <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               _nc_tracebits           <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
-               _traceattr              <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
-               _traceattr2             <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
-               _tracechar              <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
-               _tracechtype            <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
-               _tracechtype2           <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
-               _tracedump              <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
-               _tracef                 <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
-               _tracemouse             <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
-               addch                   <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
-               addchnstr               <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
-               addchstr                <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
-               addnstr                 <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
-               addstr                  <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
-               assume_default_colors   <B><A HREF="dft_fgbg.3x.html">dft_fgbg(3x)</A></B>*
-               attr_get                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               attr_off                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               attr_on                 <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               attr_set                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               attroff                 <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               attron                  <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               attrset                 <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               baudrate                <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
-               beep                    <B><A HREF="curs_beep.3x.html">curs_beep(3x)</A></B>
-               bkgd                    <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>
-               bkgdset                 <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>
-               border                  <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-               box                     <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-               can_change_color        <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
-               cbreak                  <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               chgat                   <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               clear                   <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
-               clearok                 <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-
-               clrtobot                <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
-               clrtoeol                <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
-               color_content           <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
-               color_set               <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               copywin                 <B><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></B>
-               curs_set                <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               curses_version          <B><A HREF="curs_extend.3x.html">curs_extend(3x)</A></B>*
-               def_prog_mode           <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               def_shell_mode          <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               define_key              <B><A HREF="define_key.3x.html">define_key(3x)</A></B>*
-               del_curterm             <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               delay_output            <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
-               delch                   <B><A HREF="curs_delch.3x.html">curs_delch(3x)</A></B>
-               deleteln                <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
-               delscreen               <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
-               delwin                  <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               derwin                  <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               doupdate                <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
-               dupwin                  <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               echo                    <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               echochar                <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
-               endwin                  <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
-               erase                   <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
-               erasechar               <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
-               filter                  <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
-               flash                   <B><A HREF="curs_beep.3x.html">curs_beep(3x)</A></B>
-               flushinp                <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
-               getbegyx                <B><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></B>
-               getbkgd                 <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>
-               getch                   <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>
-               getmaxyx                <B><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></B>
-               getmouse                <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
-               getnstr                 <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
-               getparyx                <B><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></B>
-               getstr                  <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
-               getsyx                  <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               getwin                  <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
-               getyx                   <B><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></B>
-               halfdelay               <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               has_colors              <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
-               has_ic                  <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
-               has_il                  <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
-               has_key                 <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>*
-               hline                   <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-               idcok                   <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-               idlok                   <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-               immedok                 <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-               inch                    <B><A HREF="curs_inch.3x.html">curs_inch(3x)</A></B>
-               inchnstr                <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
-               inchstr                 <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
-               init_color              <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
-               init_pair               <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
-               initscr                 <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
-
-               innstr                  <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
-               insch                   <B><A HREF="curs_insch.3x.html">curs_insch(3x)</A></B>
-               insdelln                <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
-               insertln                <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
-               insnstr                 <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
-               insstr                  <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
-               instr                   <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
-               intrflush               <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               is_linetouched          <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
-               is_wintouched           <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
-               isendwin                <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
-               keybound                <B><A HREF="keybound.3x.html">keybound(3x)</A></B>*
-               keyname                 <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
-               keyok                   <B><A HREF="keyok.3x.html">keyok(3x)</A></B>*
-               keypad                  <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               killchar                <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
-               leaveok                 <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-               longname                <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
-               mcprint                 <B><A HREF="curs_print.3x.html">curs_print(3x)</A></B>*
-               meta                    <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               mouse_trafo             <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
-               mouseinterval           <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
-               mousemask               <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
-               move                    <B><A HREF="curs_move.3x.html">curs_move(3x)</A></B>
-               mvaddch                 <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
-               mvaddchnstr             <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
-               mvaddchstr              <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
-               mvaddnstr               <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
-               mvaddstr                <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
-               mvchgat                 <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               mvcur                   <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               mvdelch                 <B><A HREF="curs_delch.3x.html">curs_delch(3x)</A></B>
-               mvderwin                <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               mvgetch                 <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>
-               mvgetnstr               <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
-               mvgetstr                <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
-               mvhline                 <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-               mvinch                  <B><A HREF="curs_inch.3x.html">curs_inch(3x)</A></B>
-               mvinchnstr              <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
-               mvinchstr               <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
-               mvinnstr                <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
-               mvinsch                 <B><A HREF="curs_insch.3x.html">curs_insch(3x)</A></B>
-               mvinsnstr               <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
-               mvinsstr                <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
-               mvinstr                 <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
-               mvprintw                <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
-               mvscanw                 <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
-               mvvline                 <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-               mvwaddch                <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
-               mvwaddchnstr            <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
-               mvwaddchstr             <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
-               mvwaddnstr              <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
-               mvwaddstr               <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
-
-               mvwchgat                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               mvwdelch                <B><A HREF="curs_delch.3x.html">curs_delch(3x)</A></B>
-               mvwgetch                <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>
-               mvwgetnstr              <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
-               mvwgetstr               <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
-               mvwhline                <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-               mvwin                   <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               mvwinch                 <B><A HREF="curs_inch.3x.html">curs_inch(3x)</A></B>
-               mvwinchnstr             <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
-               mvwinchstr              <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
-               mvwinnstr               <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
-               mvwinsch                <B><A HREF="curs_insch.3x.html">curs_insch(3x)</A></B>
-               mvwinsnstr              <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
-               mvwinsstr               <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
-               mvwinstr                <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
-               mvwprintw               <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
-               mvwscanw                <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
-               mvwvline                <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-               napms                   <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               newpad                  <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B>
-               newterm                 <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
-               newwin                  <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               nl                      <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-               nocbreak                <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               nodelay                 <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               noecho                  <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               nonl                    <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-               noqiflush               <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               noraw                   <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               notimeout               <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               overlay                 <B><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></B>
-               overwrite               <B><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></B>
-               pair_content            <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
-               pechochar               <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B>
-               pnoutrefresh            <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B>
-               prefresh                <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B>
-               printw                  <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
-               putp                    <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               putwin                  <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
-               qiflush                 <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               raw                     <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               redrawwin               <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
-               refresh                 <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
-               reset_prog_mode         <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               reset_shell_mode        <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               resetty                 <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               resizeterm              <B><A HREF="resizeterm.3x.html">resizeterm(3x)</A></B>*
-               restartterm             <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               ripoffline              <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               savetty                 <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               scanw                   <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
-               scr_dump                <B><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></B>
-               scr_init                <B><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></B>
-
-               scr_restore             <B><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></B>
-               scr_set                 <B><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></B>
-               scrl                    <B><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></B>
-               scroll                  <B><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></B>
-               scrollok                <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-               set_curterm             <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               set_term                <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
-               setscrreg               <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-               setsyx                  <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               setterm                 <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               setupterm               <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               slk_attr                <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>*
-               slk_attr_off            <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_attr_on             <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_attr_set            <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_attroff             <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_attron              <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_attrset             <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_clear               <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_color               <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_init                <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_label               <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_noutrefresh         <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_refresh             <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_restore             <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_set                 <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_touch               <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               standend                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               standout                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               start_color             <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
-               subpad                  <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B>
-               subwin                  <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               syncok                  <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               termattrs               <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
-               termname                <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
-               tgetent                 <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
-               tgetflag                <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
-               tgetnum                 <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
-               tgetstr                 <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
-               tgoto                   <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
-               tigetflag               <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               tigetnum                <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               tigetstr                <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               timeout                 <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               touchline               <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
-               touchwin                <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
-               tparm                   <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               tputs                   <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
-               tputs                   <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               trace                   <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
-               typeahead               <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               unctrl                  <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
-               ungetch                 <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>
-
-               ungetmouse              <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
-               untouchwin              <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
-               use_default_colors      <B><A HREF="dft_fgbg.3x.html">dft_fgbg(3x)</A></B>*
-               use_env                 <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
-               use_extended_names      <B><A HREF="curs_extend.3x.html">curs_extend(3x)</A></B>*
-               vidattr                 <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               vidputs                 <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               vline                   <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-               vw_printw               <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
-               vw_scanw                <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
-               vwprintw                <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
-               vwscanw                 <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
-               waddch                  <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
-               waddchnstr              <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
-               waddchstr               <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
-               waddnstr                <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
-               waddstr                 <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
-               wattr_get               <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wattr_off               <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wattr_on                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wattr_set               <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wattroff                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wattron                 <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wattrset                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wbkgd                   <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>
-               wbkgdset                <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>
-               wborder                 <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-               wchgat                  <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wclear                  <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
-               wclrtobot               <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
-               wclrtoeol               <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
-               wcolor_set              <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wcursyncup              <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               wdelch                  <B><A HREF="curs_delch.3x.html">curs_delch(3x)</A></B>
-               wdeleteln               <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
-               wechochar               <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
-               wenclose                <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
-               werase                  <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
-               wgetch                  <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>
-               wgetnstr                <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
-               wgetstr                 <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
-               whline                  <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-               winch                   <B><A HREF="curs_inch.3x.html">curs_inch(3x)</A></B>
-               winchnstr               <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
-               winchstr                <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
-               winnstr                 <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
-               winsch                  <B><A HREF="curs_insch.3x.html">curs_insch(3x)</A></B>
-               winsdelln               <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
-               winsertln               <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
-               winsnstr                <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
-               winsstr                 <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
-               winstr                  <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
-               wmouse_trafo            <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
-
-               wmove                   <B><A HREF="curs_move.3x.html">curs_move(3x)</A></B>
-               wnoutrefresh            <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
-               wprintw                 <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
-               wredrawln               <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
-               wrefresh                <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
-               wresize                 <B><A HREF="wresize.3x.html">wresize(3x)</A></B>*
-               wscanw                  <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
-               wscrl                   <B><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></B>
-               wsetscrreg              <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-               wstandend               <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wstandout               <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wsyncdown               <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               wsyncup                 <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               wtimeout                <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               wtouchln                <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
-               wvline                  <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
+              <B>curses</B> Routine Name     Manual Page Name
+              --------------------------------------------
+              COLOR_PAIR              <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
+              PAIR_NUMBER             <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              _nc_tracebits           <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
+              _traceattr              <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
+              _traceattr2             <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
+              _tracechar              <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
+              _tracechtype            <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
+              _tracechtype2           <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
+              _tracedump              <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
+              _tracef                 <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
+              _tracemouse             <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
+              addch                   <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
+              addchnstr               <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
+              addchstr                <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
+              addnstr                 <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
+              addstr                  <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
+              assume_default_colors   <B><A HREF="default_colors.3x.html">default_colors(3x)</A></B>*
+              attr_get                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              attr_off                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              attr_on                 <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              attr_set                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              attroff                 <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              attron                  <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              attrset                 <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              baudrate                <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
+              beep                    <B><A HREF="curs_beep.3x.html">curs_beep(3x)</A></B>
+              bkgd                    <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>
+              bkgdset                 <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>
+              border                  <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
+              box                     <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
+              can_change_color        <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
+              cbreak                  <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
+              chgat                   <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              clear                   <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
+
+              clearok                 <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
+              clrtobot                <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
+              clrtoeol                <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
+              color_content           <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
+              color_set               <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              copywin                 <B><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></B>
+              curs_set                <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
+              curses_version          <B><A HREF="curs_extend.3x.html">curs_extend(3x)</A></B>*
+              def_prog_mode           <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
+              def_shell_mode          <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
+              define_key              <B><A HREF="define_key.3x.html">define_key(3x)</A></B>*
+              del_curterm             <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
+              delay_output            <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
+              delch                   <B><A HREF="curs_delch.3x.html">curs_delch(3x)</A></B>
+              deleteln                <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
+              delscreen               <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
+              delwin                  <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
+              derwin                  <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
+              doupdate                <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
+              dupwin                  <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
+              echo                    <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
+              echochar                <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
+              endwin                  <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
+              erase                   <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
+              erasechar               <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
+              filter                  <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
+              flash                   <B><A HREF="curs_beep.3x.html">curs_beep(3x)</A></B>
+              flushinp                <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
+              getbegyx                <B><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></B>
+              getbkgd                 <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>
+              getch                   <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>
+              getmaxyx                <B><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></B>
+              getmouse                <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
+              getnstr                 <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
+              getparyx                <B><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></B>
+              getstr                  <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
+              getsyx                  <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
+              getwin                  <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
+              getyx                   <B><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></B>
+              halfdelay               <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
+              has_colors              <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
+              has_ic                  <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
+              has_il                  <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
+              has_key                 <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>*
+              hline                   <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
+              idcok                   <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
+              idlok                   <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
+              immedok                 <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
+              inch                    <B><A HREF="curs_inch.3x.html">curs_inch(3x)</A></B>
+              inchnstr                <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
+              inchstr                 <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
+              init_color              <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
+              init_pair               <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
+
+              initscr                 <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
+              innstr                  <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
+              insch                   <B><A HREF="curs_insch.3x.html">curs_insch(3x)</A></B>
+              insdelln                <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
+              insertln                <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
+              insnstr                 <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
+              insstr                  <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
+              instr                   <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
+              intrflush               <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
+              is_linetouched          <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
+              is_wintouched           <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
+              isendwin                <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
+              keybound                <B><A HREF="keybound.3x.html">keybound(3x)</A></B>*
+              keyname                 <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
+              keyok                   <B><A HREF="keyok.3x.html">keyok(3x)</A></B>*
+              keypad                  <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
+              killchar                <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
+              leaveok                 <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
+              longname                <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
+              mcprint                 <B><A HREF="curs_print.3x.html">curs_print(3x)</A></B>*
+              meta                    <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
+              mouse_trafo             <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
+              mouseinterval           <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
+              mousemask               <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
+              move                    <B><A HREF="curs_move.3x.html">curs_move(3x)</A></B>
+              mvaddch                 <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
+              mvaddchnstr             <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
+              mvaddchstr              <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
+              mvaddnstr               <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
+              mvaddstr                <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
+              mvchgat                 <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              mvcur                   <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
+              mvdelch                 <B><A HREF="curs_delch.3x.html">curs_delch(3x)</A></B>
+              mvderwin                <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
+              mvgetch                 <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>
+              mvgetnstr               <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
+              mvgetstr                <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
+              mvhline                 <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
+              mvinch                  <B><A HREF="curs_inch.3x.html">curs_inch(3x)</A></B>
+              mvinchnstr              <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
+              mvinchstr               <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
+              mvinnstr                <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
+              mvinsch                 <B><A HREF="curs_insch.3x.html">curs_insch(3x)</A></B>
+              mvinsnstr               <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
+              mvinsstr                <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
+              mvinstr                 <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
+              mvprintw                <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
+              mvscanw                 <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
+              mvvline                 <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
+              mvwaddch                <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
+              mvwaddchnstr            <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
+              mvwaddchstr             <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
+              mvwaddnstr              <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
+
+              mvwaddstr               <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
+              mvwchgat                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              mvwdelch                <B><A HREF="curs_delch.3x.html">curs_delch(3x)</A></B>
+              mvwgetch                <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>
+              mvwgetnstr              <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
+              mvwgetstr               <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
+              mvwhline                <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
+              mvwin                   <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
+              mvwinch                 <B><A HREF="curs_inch.3x.html">curs_inch(3x)</A></B>
+              mvwinchnstr             <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
+              mvwinchstr              <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
+              mvwinnstr               <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
+              mvwinsch                <B><A HREF="curs_insch.3x.html">curs_insch(3x)</A></B>
+              mvwinsnstr              <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
+              mvwinsstr               <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
+              mvwinstr                <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
+              mvwprintw               <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
+              mvwscanw                <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
+              mvwvline                <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
+              napms                   <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
+              newpad                  <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B>
+              newterm                 <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
+              newwin                  <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
+              nl                      <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
+              nocbreak                <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
+              nodelay                 <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
+              noecho                  <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
+              nonl                    <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
+              noqiflush               <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
+              noraw                   <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
+              notimeout               <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
+              overlay                 <B><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></B>
+              overwrite               <B><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></B>
+              pair_content            <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
+              pechochar               <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B>
+              pnoutrefresh            <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B>
+              prefresh                <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B>
+              printw                  <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
+              putp                    <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
+              putwin                  <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
+              qiflush                 <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
+              raw                     <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
+              redrawwin               <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
+              refresh                 <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
+              reset_prog_mode         <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
+              reset_shell_mode        <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
+              resetty                 <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
+              resizeterm              <B><A HREF="resizeterm.3x.html">resizeterm(3x)</A></B>*
+              restartterm             <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
+              ripoffline              <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
+              savetty                 <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
+              scanw                   <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
+              scr_dump                <B><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></B>
+
+              scr_init                <B><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></B>
+              scr_restore             <B><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></B>
+              scr_set                 <B><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></B>
+              scrl                    <B><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></B>
+              scroll                  <B><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></B>
+              scrollok                <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
+              set_curterm             <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
+              set_term                <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
+              setscrreg               <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
+              setsyx                  <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
+              setterm                 <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
+              setupterm               <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
+              slk_attr                <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>*
+              slk_attr_off            <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
+              slk_attr_on             <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
+              slk_attr_set            <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
+              slk_attroff             <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
+              slk_attron              <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
+              slk_attrset             <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
+              slk_clear               <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
+              slk_color               <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
+              slk_init                <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
+              slk_label               <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
+              slk_noutrefresh         <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
+              slk_refresh             <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
+              slk_restore             <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
+              slk_set                 <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
+              slk_touch               <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
+              standend                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              standout                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              start_color             <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
+              subpad                  <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B>
+              subwin                  <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
+              syncok                  <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
+              termattrs               <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
+              termname                <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
+              tgetent                 <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
+              tgetflag                <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
+              tgetnum                 <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
+              tgetstr                 <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
+              tgoto                   <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
+              tigetflag               <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
+              tigetnum                <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
+              tigetstr                <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
+              timeout                 <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
+              touchline               <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
+              touchwin                <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
+              tparm                   <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
+              tputs                   <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
+              tputs                   <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
+              trace                   <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
+              typeahead               <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
+              unctrl                  <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
+
+              ungetch                 <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>
+              ungetmouse              <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
+              untouchwin              <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
+              use_default_colors      <B><A HREF="default_colors.3x.html">default_colors(3x)</A></B>*
+              use_env                 <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
+              use_extended_names      <B><A HREF="curs_extend.3x.html">curs_extend(3x)</A></B>*
+              vidattr                 <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
+              vidputs                 <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
+              vline                   <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
+              vw_printw               <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
+              vw_scanw                <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
+              vwprintw                <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
+              vwscanw                 <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
+              waddch                  <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
+              waddchnstr              <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
+              waddchstr               <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
+              waddnstr                <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
+              waddstr                 <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
+              wattr_get               <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              wattr_off               <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              wattr_on                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              wattr_set               <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              wattroff                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              wattron                 <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              wattrset                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              wbkgd                   <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>
+              wbkgdset                <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>
+              wborder                 <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
+              wchgat                  <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              wclear                  <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
+              wclrtobot               <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
+              wclrtoeol               <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
+              wcolor_set              <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              wcursyncup              <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
+              wdelch                  <B><A HREF="curs_delch.3x.html">curs_delch(3x)</A></B>
+              wdeleteln               <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
+              wechochar               <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
+              wenclose                <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
+              werase                  <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
+              wgetch                  <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>
+              wgetnstr                <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
+              wgetstr                 <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
+              whline                  <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
+              winch                   <B><A HREF="curs_inch.3x.html">curs_inch(3x)</A></B>
+              winchnstr               <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
+              winchstr                <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
+              winnstr                 <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
+              winsch                  <B><A HREF="curs_insch.3x.html">curs_insch(3x)</A></B>
+              winsdelln               <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
+              winsertln               <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
+              winsnstr                <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
+              winsstr                 <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
+              winstr                  <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
+
+              wmouse_trafo            <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
+              wmove                   <B><A HREF="curs_move.3x.html">curs_move(3x)</A></B>
+              wnoutrefresh            <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
+              wprintw                 <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
+              wredrawln               <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
+              wrefresh                <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
+              wresize                 <B><A HREF="wresize.3x.html">wresize(3x)</A></B>*
+              wscanw                  <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
+              wscrl                   <B><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></B>
+              wsetscrreg              <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
+              wstandend               <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              wstandout               <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
+              wsyncdown               <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
+              wsyncup                 <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
+              wtimeout                <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
+              wtouchln                <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
+              wvline                  <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
 
 
 </PRE>
 <H2>RETURN VALUE</H2><PRE>
 
 
 </PRE>
 <H2>RETURN VALUE</H2><PRE>
-       Routines  that  return  an integer return <B>ERR</B> upon failure
-       and an integer value other than <B>ERR</B> upon  successful  com-
-       pletion,  unless  otherwise  noted in the routine descrip-
-       tions.
-
-       All macros return the  value  of  the  <B>w</B>  version,  except
-       <B>setscrreg</B>,  <B>wsetscrreg</B>,  <B>getyx</B>,  <B>getbegyx</B>,  <B>getmaxyx</B>.  The
-       return values of <B>setscrreg</B>, <B>wsetscrreg</B>,  <B>getyx</B>,  <B>getbegyx</B>,
+       Routines that return an integer return  <B>ERR</B>  upon  failure
+       and  an  integer  value  other  than  <B>ERR</B>  upon successful
+       completion,  unless  otherwise  noted   in   the   routine
+       descriptions.
+
+       All  macros  return  the  value  of  the <B>w</B> version, except
+       <B>setscrreg</B>, <B>wsetscrreg</B>,  <B>getyx</B>,  <B>getbegyx</B>,  <B>getmaxyx</B>.   The
+       return  values  of <B>setscrreg</B>, <B>wsetscrreg</B>, <B>getyx</B>, <B>getbegyx</B>,
        and <B>getmaxyx</B> are undefined (<I>i</I>.<I>e</I>., these should not be used
        as the right-hand side of assignment statements).
 
        and <B>getmaxyx</B> are undefined (<I>i</I>.<I>e</I>., these should not be used
        as the right-hand side of assignment statements).
 
 
 </PRE>
 <H2>ENVIRONMENT</H2><PRE>
 
 </PRE>
 <H2>ENVIRONMENT</H2><PRE>
-       The following environment symbols are useful for customiz-
-       ing the runtime behavior of the <B>ncurses</B> library.  The most
-       important ones have been already discussed in detail.
+       The   following   environment   symbols   are  useful  for
+       customizing the runtime behavior of the  <B>ncurses</B>  library.
+       The  most  important  ones  have been already discussed in
+       detail.
 
        BAUDRATE
             The debugging library checks this environment  symbol
 
        BAUDRATE
             The debugging library checks this environment  symbol
 
        CC   When set, change occurrences of the command_character
             (i.e., the <B>cmdch</B> capability) of the  loaded  terminfo
 
        CC   When set, change occurrences of the command_character
             (i.e., the <B>cmdch</B> capability) of the  loaded  terminfo
-            entries  to  the value of this symbol.  Very few ter-
-            minfo entries provide this feature.
+            entries  to  the  value  of  this  symbol.   Very few
+            terminfo entries provide this feature.
 
        COLUMNS
             Specify  the  width  of  the  screen  in  characters.
 
        COLUMNS
             Specify  the  width  of  the  screen  in  characters.
-            Applications  running in a windowing environment usu-
-            ally are able to obtain the width of  the  window  in
+            Applications   running  in  a  windowing  environment
+            usually are able to obtain the width of the window in
             which  they  are  executing.  If neither the $COLUMNS
             value nor the terminal's screen  size  is  available,
             <B>ncurses</B>  uses  the size which may be specified in the
             which  they  are  executing.  If neither the $COLUMNS
             value nor the terminal's screen  size  is  available,
             <B>ncurses</B>  uses  the size which may be specified in the
             Specifies  the total time, in milliseconds, for which
             ncurses will await  a  character  sequence,  e.g.,  a
             function  key.  The default value, 1000 milliseconds,
             Specifies  the total time, in milliseconds, for which
             ncurses will await  a  character  sequence,  e.g.,  a
             function  key.  The default value, 1000 milliseconds,
-            is enough for most uses.  However, it is made a vari-
-            able to accommodate unusual applications.
+            is enough for most  uses.   However,  it  is  made  a
+            variable to accommodate unusual applications.
 
             The most common instance where you may wish to change
             this value is to work with slow hosts, e.g.,  running
 
             The most common instance where you may wish to change
             this value is to work with slow hosts, e.g.,  running
             the  terminal did not send characters rapidly enough.
             The library will still see a timeout.
 
             the  terminal did not send characters rapidly enough.
             The library will still see a timeout.
 
-            Note that xterm mouse events are built up from  char-
-            acter  sequences  received  from  the xterm.  If your
+            Note that  xterm  mouse  events  are  built  up  from
+            character sequences received from the xterm.  If your
             application makes heavy use of multiple-clicking, you
             may  wish  to lengthen this default value because the
             timeout applies to the composed multi-click event  as
             application makes heavy use of multiple-clicking, you
             may  wish  to lengthen this default value because the
             timeout applies to the composed multi-click event  as
             Like  COLUMNS,  specify  the  height of the screen in
             characters.  See COLUMNS for a detailed  description.
 
             Like  COLUMNS,  specify  the  height of the screen in
             characters.  See COLUMNS for a detailed  description.
 
-
        MOUSE_BUTTONS_123
             This applies only to the OS/2 EMX port.  It specifies
             the order of buttons on the mouse.   OS/2  numbers  a
        MOUSE_BUTTONS_123
             This applies only to the OS/2 EMX port.  It specifies
             the order of buttons on the mouse.   OS/2  numbers  a
             Most of the terminal  descriptions  in  the  terminfo
             database  are  written for real "hardware" terminals.
             Many people use terminal emulators  which  run  in  a
             Most of the terminal  descriptions  in  the  terminfo
             database  are  written for real "hardware" terminals.
             Many people use terminal emulators  which  run  in  a
-            windowing  environment  and use curses-based applica-
-            tions.  Terminal emulators can duplicate all  of  the
-            important aspects of a hardware terminal, but they do
-            not have the same limitations.  The chief  limitation
-            of  a  hardware  terminal from the standpoint of your
-            application is the management of dataflow, i.e., tim-
-            ing.  Unless a hardware terminal is interfaced into a
-            terminal concentrator (which does flow  control),  it
-            (or  your application) must manage dataflow, prevent-
-            ing overruns.  The  cheapest  solution  (no  hardware
-            cost) is for your program to do this by pausing after
-            operations that the terminal  does  slowly,  such  as
-            clearing the display.
+            windowing    environment    and    use   curses-based
+            applications.  Terminal emulators can  duplicate  all
+            of  the important aspects of a hardware terminal, but
+            they do not have the  same  limitations.   The  chief
+            limitation of a hardware terminal from the standpoint
+            of your application is the  management  of  dataflow,
+            i.e.,   timing.    Unless   a  hardware  terminal  is
+            interfaced into a terminal concentrator  (which  does
+            flow  control),  it (or your application) must manage
+            dataflow, preventing overruns.  The cheapest solution
+            (no  hardware cost) is for your program to do this by
+            pausing  after  operations  that  the  terminal  does
+            slowly, such as clearing the display.
 
             As  a  result,  many terminal descriptions (including
             the vt100) have delay times embedded.  You  may  wish
 
             As  a  result,  many terminal descriptions (including
             the vt100) have delay times embedded.  You  may  wish
             part of special control sequences such as <I>flash</I>.
 
        NCURSES_NO_SETBUF
             part of special control sequences such as <I>flash</I>.
 
        NCURSES_NO_SETBUF
-            Normally <B>ncurses</B> enables buffered output during  ter-
-            minal  initialization.   This  is  done  (as  in SVr4
-            curses) for performance reasons.   For  testing  pur-
-            poses, both of <B>ncurses</B> and certain applications, this
-            feature    is    made    optional.     Setting    the
+            Normally  <B>ncurses</B>  enables  buffered  output   during
+            terminal  initialization.   This  is done (as in SVr4
+            curses)  for  performance   reasons.    For   testing
+            purposes,  both  of <B>ncurses</B> and certain applications,
+            this  feature  is   made   optional.    Setting   the
             NCURSES_NO_SETBUF variable disables output buffering,
             leaving the output  in  the  original  (usually  line
             buffered) mode.
             NCURSES_NO_SETBUF variable disables output buffering,
             leaving the output  in  the  original  (usually  line
             buffered) mode.
             distinct, though many are similar.
 
        TERMCAP
             distinct, though many are similar.
 
        TERMCAP
-            If the <B>ncurses</B> library has been configured with <I>term-</I>
-            <I>cap</I>  support,  <B>ncurses</B>  will  check  for a terminal's
+            If the  <B>ncurses</B>  library  has  been  configured  with
+            <I>termcap</I>  support, <B>ncurses</B> will check for a terminal's
             description in termcap form if it is not available in
             the terminfo database.
 
             description in termcap form if it is not available in
             the terminfo database.
 
 
             -  one or more directories whose names are configured
                and  compiled  into  the  ncurses  library,  e.g.,
 
             -  one or more directories whose names are configured
                and  compiled  into  the  ncurses  library,  e.g.,
-               @DATADIR@/terminfo
+               /usr/share/terminfo
 
        TERMINFO_DIRS
 
        TERMINFO_DIRS
-            Specifies a list of directories to search for  termi-
-            nal  descriptions.   The  list is separated by colons
-            (i.e., ":").  All of the terminal descriptions are in
-            terminfo  form,  which makes a subdirectory named for
-            the first letter of the terminal names therein.
+            Specifies  a  list  of  directories  to  search   for
+            terminal  descriptions.   The  list  is  separated by
+            colons (i.e., ":").  All of the terminal descriptions
+            are  in  terminfo  form,  which  makes a subdirectory
+            named for the first  letter  of  the  terminal  names
+            therein.
 
        TERMPATH
 
        TERMPATH
-            If TERMCAP does not hold a  file  name  then  <B>ncurses</B>
-            checks  the TERMPATH symbol.  This is a list of file-
-            names  separated  by  colons  (i.e.,  ":").   If  the
-            TERMPATH  symbol  is  not  set,  <B>ncurses</B> looks in the
+            If  TERMCAP  does  not  hold a file name then <B>ncurses</B>
+            checks the  TERMPATH  symbol.   This  is  a  list  of
+            filenames  separated  by  colons (i.e., ":").  If the
+            TERMPATH symbol is not  set,  <B>ncurses</B>  looks  in  the
             files   /etc/termcap,   /usr/share/misc/termcap   and
             $HOME/.termcap, in that order.
 
             files   /etc/termcap,   /usr/share/misc/termcap   and
             $HOME/.termcap, in that order.
 
+       The library may be configured to disregard  the  following
+       variables  when  the current user is the superuser (root),
+       or if the application uses setuid or  setgid  permissions:
+       $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
+
 
 </PRE>
 <H2>FILES</H2><PRE>
 
 </PRE>
 <H2>FILES</H2><PRE>
-       @DATADIR@/tabset
+       /usr/share/tabset
             directory  containing  initialization  files  for the
             directory  containing  initialization  files  for the
-            terminal capability database @DATADIR@/terminfo  ter-
-            minal capability database
+            terminal  capability   database   /usr/share/terminfo
+            terminal capability database
 
 
 </PRE>
 
 
 </PRE>
 </PRE>
 <H2>EXTENSIONS</H2><PRE>
        The  <B>ncurses</B>  library  can  be  compiled  with  an  option
 </PRE>
 <H2>EXTENSIONS</H2><PRE>
        The  <B>ncurses</B>  library  can  be  compiled  with  an  option
-       (<B>-DUSE_GETCAP</B>) that falls back to the old-style /etc/term-
-       cap file if the terminal setup code cannot find a terminfo
-       entry  corresponding  to <B>TERM</B>.  Use of this feature is not
-       recommended, as it essentially includes an entire  termcap
-       compiler  in the <B>ncurses</B> startup code, at significant cost
-       in core and startup cycles.
+       (<B>-DUSE_GETCAP</B>)   that   falls   back   to   the  old-style
+       /etc/termcap file if the terminal setup code cannot find a
+       terminfo entry corresponding to <B>TERM</B>.  Use of this feature
+       is not recommended, as it essentially includes  an  entire
+       termcap   compiler   in   the  <B>ncurses</B>  startup  code,  at
+       significant cost in core and startup cycles.
 
        The <B>ncurses</B>  library  includes  facilities  for  capturing
        mouse  events  on certain terminals (including xterm). See
 
        The <B>ncurses</B>  library  includes  facilities  for  capturing
        mouse  events  on certain terminals (including xterm). See
        See  the  <B><A HREF="define_key.3x.html">define_key(3x)</A></B>  and  <B><A HREF="keyok.3x.html">keyok(3x)</A></B>  manual pages for
        details.
 
        See  the  <B><A HREF="define_key.3x.html">define_key(3x)</A></B>  and  <B><A HREF="keyok.3x.html">keyok(3x)</A></B>  manual pages for
        details.
 
-       The <B>ncurses</B> library can exploit the capabilities of termi-
-       nals  which  implement the ISO-6429 SGR 39 and SGR 49 con-
-       trols, which allow an application to reset the terminal to
-       its  original  foreground and background colors.  From the
-       users' perspective, the application is able to  draw  col-
-       ored  text  on  a  background  whose color is set indepen-
-       dently, providing better  control  over  color  contrasts.
-       See the <B><A HREF="use_default_colors.3x.html">use_default_colors(3x)</A></B> manual page for details.
-
-       The  <B>ncurses</B>  library  includes  a  function for directing
-       application output to a printer attached to  the  terminal
+       The  <B>ncurses</B>  library  can  exploit  the  capabilities  of
+       terminals  which  implement the ISO-6429 SGR 39 and SGR 49
+       controls, which allow an application to reset the terminal
+       to  its  original  foreground and background colors.  From
+       the users' perspective, the application is  able  to  draw
+       colored   text   on   a  background  whose  color  is  set
+       independently,  providing  better   control   over   color
+       contrasts.  See the <B><A HREF="use_default_colors.3x.html">use_default_colors(3x)</A></B> manual page for
+       details.
+       The <B>ncurses</B> library  includes  a  function  for  directing
+       application  output  to a printer attached to the terminal
        device.  See the <B><A HREF="curs_print.3x.html">curs_print(3x)</A></B> manual page for details.
 
 
 </PRE>
 <H2>PORTABILITY</H2><PRE>
        device.  See the <B><A HREF="curs_print.3x.html">curs_print(3x)</A></B> manual page for details.
 
 
 </PRE>
 <H2>PORTABILITY</H2><PRE>
-       The   <B>ncurses</B>   library   is  intended  to  be  BASE-level
+       The  <B>ncurses</B>  library  is  intended   to   be   BASE-level
        conformant with the XSI Curses standard.  Certain portions
        conformant with the XSI Curses standard.  Certain portions
-       of  the EXTENDED XSI Curses functionality (including color
+       of the EXTENDED XSI Curses functionality (including  color
        support) are supported.  The following EXTENDED XSI Curses
        support) are supported.  The following EXTENDED XSI Curses
-       calls  in  support  of wide (multibyte) characters are not
-       yet implemented: <B>add_wch</B>, <B>add_wchnstr</B>, <B>add_wchstr</B>,  <B>addnw-</B>
-       <B>str</B>,  <B>addwstr</B>,  <B>bkgrnd</B>,  <B>bkgrndset</B>,  <B>border_set</B>,  <B>box_set</B>,
-       <B>echo_wchar</B>,  <B>erasewchar</B>,  <B>get_wch</B>,  <B>get_wstr</B>,   <B>getbkgrnd</B>,
-       <B>getcchar</B>,   <B>getn_wstr</B>,   <B>getwchtype</B>,   <B>hline_set</B>,  <B>in_wch</B>,
-       <B>in_wchnstr</B>,  <B>in_wchstr</B>,   <B>innwstr</B>,   <B>ins_nwstr</B>,   <B>ins_wch</B>,
-       <B>ins_wstr</B>,  <B>inwchnstr</B>,  <B>inwchstr</B>,  <B>inwstr</B>,  <B>key_name</B>, <B>kill-</B>
-       <B>wchar</B>, <B>mvadd_wch</B>, <B>mvadd_wchnstr</B>, <B>mvadd_wchstr</B>, <B>mvaddnwstr</B>,
-       <B>mvaddwstr</B>,   <B>mvget_wch</B>,   <B>mvget_wstr</B>,   <B>mvgetn_wstr</B>,  <B>mvh-</B>
-       <B>line_set</B>,  <B>mvin_wch</B>,  <B>mvinnwstr</B>,  <B>mvins_nwstr</B>,  <B>mvins_wch</B>,
+       calls in support of wide (multibyte)  characters  are  not
+       yet   implemented:   <B>add_wch</B>,   <B>add_wchnstr</B>,   <B>add_wchstr</B>,
+       <B>addnwstr</B>, <B>addwstr</B>, <B>bkgrnd</B>, <B>bkgrndset</B>, <B>border_set</B>, <B>box_set</B>,
+       <B>echo_wchar</B>,   <B>erasewchar</B>,  <B>get_wch</B>,  <B>get_wstr</B>,  <B>getbkgrnd</B>,
+       <B>getcchar</B>,  <B>getn_wstr</B>,   <B>getwchtype</B>,   <B>hline_set</B>,   <B>in_wch</B>,
+       <B>in_wchnstr</B>,   <B>in_wchstr</B>,   <B>innwstr</B>,   <B>ins_nwstr</B>,  <B>ins_wch</B>,
+       <B>ins_wstr</B>,   <B>inwchnstr</B>,   <B>inwchstr</B>,    <B>inwstr</B>,    <B>key_name</B>,
+       <B>killwchar</B>,    <B>mvadd_wch</B>,    <B>mvadd_wchnstr</B>,   <B>mvadd_wchstr</B>,
+       <B>mvaddnwstr</B>, <B>mvaddwstr</B>, <B>mvget_wch</B>, <B>mvget_wstr</B>, <B>mvgetn_wstr</B>,
+       <B>mvhline_set</B>,  <B>mvin_wch</B>, <B>mvinnwstr</B>, <B>mvins_nwstr</B>, <B>mvins_wch</B>,
        <B>mvins_wstr</B>, <B>mvinwchnstr</B>, <B>mvinwchstr</B>, <B>mvinwchstr</B>, <B>mvinwstr</B>,
        <B>mvvline_set</B>,  <B>mvwadd_wch</B>,  <B>mvwadd_wchnstr</B>,  <B>mvwadd_wchstr</B>,
        <B>mvins_wstr</B>, <B>mvinwchnstr</B>, <B>mvinwchstr</B>, <B>mvinwchstr</B>, <B>mvinwstr</B>,
        <B>mvvline_set</B>,  <B>mvwadd_wch</B>,  <B>mvwadd_wchnstr</B>,  <B>mvwadd_wchstr</B>,
-       <B>mvwaddnwstr</B>,     <B>mvwaddwstr</B>,     <B>mvwget_ch</B>,    <B>mvwget_wch</B>,
-       <B>mvwget_wstr</B>,   <B>mvwgetn_wstr</B>,   <B>mvwhline_set</B>,    <B>mvwin_wch</B>,
-       <B>mvwin_wchnstr</B>,   <B>mvwin_wchstr</B>,  <B>mvwinnwstr</B>,  <B>mvwins_nwstr</B>,
-       <B>mvwins_wch</B>, <B>mvwins_wstr</B>, <B>mvwinwchnstr</B>.   <B>mvwinwstr</B>,  <B>mvwv-</B>
-       <B>line_set</B>,  <B>pecho_wchar</B>,  <B>setcchar</B>,  <B>slk_wset</B>,  <B>term_attrs</B>,
-       <B>unget_wch</B>,  <B>vhline_set</B>,  <B>vid_attr</B>,  <B>vid_puts</B>,   <B>vline_set</B>,
-       <B>wadd_wch</B>,  <B>wadd_wchnstr</B>, <B>wadd_wchstr</B>, <B>waddnwstr</B>, <B>waddwstr</B>,
-       <B>waddwstr</B>, <B>wbkgrnd</B>,  <B>wbkgrndset</B>,  <B>wbkgrndset</B>,  <B>wborder_set</B>,
+       <B>mvwaddnwstr</B>,    <B>mvwaddwstr</B>,     <B>mvwget_ch</B>,     <B>mvwget_wch</B>,
+       <B>mvwget_wstr</B>,    <B>mvwgetn_wstr</B>,   <B>mvwhline_set</B>,   <B>mvwin_wch</B>,
+       <B>mvwin_wchnstr</B>,  <B>mvwin_wchstr</B>,  <B>mvwinnwstr</B>,   <B>mvwins_nwstr</B>,
+       <B>mvwins_wch</B>,    <B>mvwins_wstr</B>,    <B>mvwinwchnstr</B>.    <B>mvwinwstr</B>,
+       <B>mvwvline_set</B>, <B>pecho_wchar</B>, <B>setcchar</B>, <B>slk_wset</B>, <B>term_attrs</B>,
+       <B>unget_wch</B>,   <B>vhline_set</B>,  <B>vid_attr</B>,  <B>vid_puts</B>,  <B>vline_set</B>,
+       <B>wadd_wch</B>, <B>wadd_wchnstr</B>, <B>wadd_wchstr</B>, <B>waddnwstr</B>,  <B>waddwstr</B>,
+       <B>waddwstr</B>,  <B>wbkgrnd</B>,  <B>wbkgrndset</B>,  <B>wbkgrndset</B>, <B>wborder_set</B>,
        <B>wecho_wchar</B>, <B>wecho_wchar</B>, <B>wget_wch</B>, <B>wget_wstr</B>, <B>wgetbkgrnd</B>,
        <B>wecho_wchar</B>, <B>wecho_wchar</B>, <B>wget_wch</B>, <B>wget_wstr</B>, <B>wgetbkgrnd</B>,
-       <B>wgetn_wstr</B>, <B>whline_set</B>, <B>win_wch</B>, <B>win_wchnstr</B>,  <B>win_wchstr</B>,
+       <B>wgetn_wstr</B>,  <B>whline_set</B>, <B>win_wch</B>, <B>win_wchnstr</B>, <B>win_wchstr</B>,
        <B>winnwstr</B>,  <B>wins_nwstr</B>,  <B>wins_wch</B>,  <B>wins_wstr</B>,  <B>winwchnstr</B>,
        <B>winwchstr</B>, <B>winwstr</B>, <B>wunctrl</B>, <B>wvline_set</B>,
 
        <B>winnwstr</B>,  <B>wins_nwstr</B>,  <B>wins_wch</B>,  <B>wins_wstr</B>,  <B>winwchnstr</B>,
        <B>winwchstr</B>, <B>winwstr</B>, <B>wunctrl</B>, <B>wvline_set</B>,
 
-       A small number of local differences (that  is,  individual
-       differences  between the XSI Curses and <B>ncurses</B> calls) are
-       described in  <B>PORTABILITY</B>  sections  of  the  library  man
+       A  small  number of local differences (that is, individual
+       differences between the XSI Curses and <B>ncurses</B> calls)  are
+       described  in  <B>PORTABILITY</B>  sections  of  the  library man
        pages.
 
        The routine <B>has_key</B> is not part of XPG4, nor is it present
        pages.
 
        The routine <B>has_key</B> is not part of XPG4, nor is it present
-       in SVr4.  See the <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B> manual page for  details.
+       in  SVr4.  See the <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B> manual page for details.
 
 
-       The  routine  <B>slk_attr</B> is not part of XPG4, nor is it pre-
-       sent in  SVr4.   See  the  <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>  manual  page  for
+       The routine <B>slk_attr</B> is  not  part  of  XPG4,  nor  is  it
+       present  in  SVr4.   See  the <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B> manual page for
        details.
 
        details.
 
-       The  routines <B>getmouse</B>, <B>mousemask</B>, <B>ungetmouse</B>, <B>mouseinter-</B>
-       <B>val</B>, and <B>wenclose</B> relating to mouse  interfacing  are  not
-       part  of  XPG4,  nor  are  they  present in SVr4.  See the
-       <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B> manual page for details.
+       The    routines    <B>getmouse</B>,    <B>mousemask</B>,     <B>ungetmouse</B>,
+       <B>mouseinterval</B>,  and <B>wenclose</B> relating to mouse interfacing
+       are not part of XPG4, nor are they present in  SVr4.   See
+       the <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B> manual page for details.
 
        The routine <B>mcprint</B> was not present in any previous curses
 
        The routine <B>mcprint</B> was not present in any previous curses
-       implementation.   See  the  <B><A HREF="curs_print.3x.html">curs_print(3x)</A></B> manual page for
+       implementation.  See the <B><A HREF="curs_print.3x.html">curs_print(3x)</A></B>  manual  page  for
        details.
        details.
-
        The routine <B>wresize</B> is not part of XPG4, nor is it present
        in SVr4.  See the <B><A HREF="wresize.3x.html">wresize(3x)</A></B> manual page for details.
 
        The routine <B>wresize</B> is not part of XPG4, nor is it present
        in SVr4.  See the <B><A HREF="wresize.3x.html">wresize(3x)</A></B> manual page for details.
 
-       In  historic curses versions, delays embedded in the capa-
-       bilities <B>cr</B>, <B>ind</B>, <B>cub1</B>, <B>ff</B> and <B>tab</B> activated corresponding
-       delay  bits  in  the UNIX tty driver.  In this implementa-
-       tion, all padding is done by NUL sends.   This  method  is
-       slightly  more expensive, but narrows the interface to the
-       UNIX kernel  significantly  and  increases  the  package's
-       portability correspondingly.
+       In  historic  curses  versions,  delays  embedded  in  the
+       capabilities   <B>cr</B>,   <B>ind</B>,   <B>cub1</B>,  <B>ff</B>  and  <B>tab</B>  activated
+       corresponding delay bits in the UNIX tty driver.  In  this
+       implementation,  all  padding  is done by NUL sends.  This
+       method  is  slightly  more  expensive,  but  narrows   the
+       interface  to  the UNIX kernel significantly and increases
+       the package's portability correspondingly.
 
 
-       In  the  XSI  standard  and  SVr4 manual pages, many entry
+       In the XSI standard and  SVr4  manual  pages,  many  entry
        points have prototype arguments of the for <B>char</B> <B>*const</B> (or
        <B>cchar_t</B>  <B>*const</B>,  or  <B>wchar_t</B>  <B>*const</B>,  or  <B>void</B>  <B>*const</B>).
        points have prototype arguments of the for <B>char</B> <B>*const</B> (or
        <B>cchar_t</B>  <B>*const</B>,  or  <B>wchar_t</B>  <B>*const</B>,  or  <B>void</B>  <B>*const</B>).
-       Depending on one's interpretation of the ANSI  C  standard
-       (see  section  3.5.4.1), these declarations are either (a)
-       meaningless, or (b) meaningless and illegal.  The declara-
-       tion <B>const</B> <B>char</B> <B>*x</B> is a modifiable pointer to unmodifiable
-       data, but <B>char</B> <B>*const</B> <B>x</B>' is  an  unmodifiable  pointer  to
-       modifiable  data.  Given that C passes arguments by value,
-       <B>&lt;type&gt;</B> <B>*const</B> as a formal type is at best  dubious.   Some
-       compilers  choke  on  the  prototypes.  Therefore, in this
-       implementation, they have been changed to <B>const</B>  <B>&lt;type&gt;</B>  <B>*</B>
-       globally.
+       Depending  on  one's interpretation of the ANSI C standard
+       (see section 3.5.4.1), these declarations are  either  (a)
+       meaningless,   or   (b)   meaningless  and  illegal.   The
+       declaration <B>const</B> <B>char</B>  <B>*x</B>  is  a  modifiable  pointer  to
+       unmodifiable  data,  but <B>char</B> <B>*const</B> <B>x</B>' is an unmodifiable
+       pointer to modifiable data.  Given that C passes arguments
+       by  value,  <B>&lt;type&gt;</B>  <B>*const</B>  as  a  formal  type is at best
+       dubious.   Some  compilers  choke   on   the   prototypes.
+       Therefore,  in this implementation, they have been changed
+       to <B>const</B> <B>&lt;type&gt;</B> <B>*</B> globally.
 
 
 </PRE>
 <H2>NOTES</H2><PRE>
 
 
 </PRE>
 <H2>NOTES</H2><PRE>
-       The  header  file  <B>&lt;curses.h&gt;</B>  automatically  includes the
+       The header  file  <B>&lt;curses.h&gt;</B>  automatically  includes  the
        header files <B>&lt;stdio.h&gt;</B> and <B>&lt;unctrl.h&gt;</B>.
 
        header files <B>&lt;stdio.h&gt;</B> and <B>&lt;unctrl.h&gt;</B>.
 
-       If standard output from a <B>ncurses</B> program  is  re-directed
-       to  something  which  is not a tty, screen updates will be
-       directed to standard error.  This was an undocumented fea-
-       ture of AT&amp;T System V Release 3 curses.
+       If  standard  output from a <B>ncurses</B> program is re-directed
+       to something which is not a tty, screen  updates  will  be
+       directed  to  standard  error.   This  was an undocumented
+       feature of AT&amp;T System V Release 3 curses.
 
 
 </PRE>
 <H2>AUTHORS</H2><PRE>
 
 
 </PRE>
 <H2>AUTHORS</H2><PRE>
-       Zeyd  M.  Ben-Halim,  Eric  S.  Raymond, Thomas E. Dickey.
+       Zeyd M. Ben-Halim, Eric  S.  Raymond,  Thomas  E.  Dickey.
        Based on pcurses by Pavel Curtis.
 
 
        Based on pcurses by Pavel Curtis.
 
 
 
 
 
 
 
 
-
-
-
-
-
 
 
 </PRE>
 
 
 </PRE>
index 8995219cc1d53ad7a82e3877102958bb77c98233..b4c1ed07208a90b526c2a955d2ff21d6a4e9c120 100644 (file)
 </PRE>
 <H2>DESCRIPTION</H2><PRE>
        Compiled terminfo descriptions are placed under the direc-
 </PRE>
 <H2>DESCRIPTION</H2><PRE>
        Compiled terminfo descriptions are placed under the direc-
-       tory <B>@DATADIR@/terminfo</B>.   In  order  to  avoid  a  linear
+       tory <B>/usr/share/terminfo</B>.  In  order  to  avoid  a  linear
        search of a huge UNIX system directory, a two-level scheme
        is used: <B>/c/name</B> where <I>name</I> is the name of  the  terminal,
        and  <I>c</I>  is the first character of <I>name</I>.  Thus, <I>act4</I> can be
        search of a huge UNIX system directory, a two-level scheme
        is used: <B>/c/name</B> where <I>name</I> is the name of  the  terminal,
        and  <I>c</I>  is the first character of <I>name</I>.  Thus, <I>act4</I> can be
-       found in the file <B>@DATADIR@/terminfo/a/act4</B>.  Synonyms for
-       the same terminal are implemented by multiple links to the
-       same compiled file.
+       found in the  file  <B>/usr/share/terminfo/a/act4</B>.   Synonyms
+       for the same terminal are implemented by multiple links to
+       the same compiled file.
 
        The format has been chosen so that it will be the same  on
        all  hardware.   An  8 or more bit byte is assumed, but no
 
        The format has been chosen so that it will be the same  on
        all  hardware.   An  8 or more bit byte is assumed, but no
 
 </PRE>
 <H2>FILES</H2><PRE>
 
 </PRE>
 <H2>FILES</H2><PRE>
-       @DATADIR@/terminfo/*/*   compiled terminal capability data
+       /usr/share/terminfo/*/*  compiled terminal capability data
        base
 
 
        base
 
 
index 24ac436e65b76d5d0f4f92792ea066ae62d1928e..55df37dfb3dd7bf09f2db33bc490e231b0780af1 100644 (file)
@@ -48,7 +48,7 @@
        the system default type for your line.
 
        Terminal type descriptions are stored as files of capabil-
        the system default type for your line.
 
        Terminal type descriptions are stored as files of capabil-
-       ity  data underneath @DATADIR@/terminfo.  To browse a list
+       ity data underneath /usr/share/terminfo.  To browse a list
        of all terminal names recognized by the system, do
 
             toe | more
        of all terminal names recognized by the system, do
 
             toe | more
@@ -63,7 +63,7 @@
 
        where <I>entry-name</I> is the name of the type you wish to exam-
        ine  (and the name of its capability file the subdirectory
 
        where <I>entry-name</I> is the name of the type you wish to exam-
        ine  (and the name of its capability file the subdirectory
-       of @DATADIR@/terminfo named for its first  letter).   This
+       of /usr/share/terminfo named for its first letter).   This
        command  dumps  a  capability  file  in  the  text  format
        described by <B><A HREF="terminfo.5.html">terminfo(5)</A></B>.
 
        command  dumps  a  capability  file  in  the  text  format
        described by <B><A HREF="terminfo.5.html">terminfo(5)</A></B>.
 
 
 </PRE>
 <H2>FILES</H2><PRE>
 
 </PRE>
 <H2>FILES</H2><PRE>
-       @DATADIR@/terminfo/?/*
+       /usr/share/terminfo/?/*
             compiled terminal capability data base
 
        /etc/inittab
             compiled terminal capability data base
 
        /etc/inittab
index 59a79d59a0fe25bcff77a41f2a6cb022614f2725..20bb063d23f9b5137c0c8bb3c083605cef09dc1c 100644 (file)
@@ -10,7 +10,7 @@
 
 </PRE>
 <H2>SYNOPSIS</H2><PRE>
 
 </PRE>
 <H2>SYNOPSIS</H2><PRE>
-       @DATADIR@/terminfo/*/*
+       /usr/share/terminfo/*/*
 
 
 </PRE>
 
 
 </PRE>
                                              (P*)
        change_char_pitch         cpi    ZA   Change number of
                                              characters per inch
                                              (P*)
        change_char_pitch         cpi    ZA   Change number of
                                              characters per inch
+                                             to #1
        change_line_pitch         lpi    ZB   Change number of
        change_line_pitch         lpi    ZB   Change number of
-                                             lines per inch
+                                             lines per inch to #1
        change_res_horz           chr    ZC   Change horizontal
        change_res_horz           chr    ZC   Change horizontal
-                                             resolution
+                                             resolution to #1
        change_res_vert           cvr    ZD   Change vertical res-
        change_res_vert           cvr    ZD   Change vertical res-
-                                             olution
+                                             olution to #1
        change_scroll_region      csr    cs   change region to
                                              line #1 to line #2
                                              (P)
        change_scroll_region      csr    cs   change region to
                                              line #1 to line #2
                                              (P)
                                              ble
        cursor_left               cub1   le   move left one space
 
                                              ble
        cursor_left               cub1   le   move left one space
 
-
        cursor_mem_address        mrcup  CM   memory relative cur-
        cursor_mem_address        mrcup  CM   memory relative cur-
-                                             sor addressing
+                                             sor addressing, move
+                                             to row #1 columns #2
        cursor_normal             cnorm  ve   make cursor appear
                                              normal (undo
                                              civis/cvvis)
        cursor_normal             cnorm  ve   make cursor appear
                                              normal (undo
                                              civis/cvvis)
        cursor_visible            cvvis  vs   make cursor very
                                              visible
        define_char               defc   ZE   Define a character
        cursor_visible            cvvis  vs   make cursor very
                                              visible
        define_char               defc   ZE   Define a character
+                                             #1, #2 dots wide,
+                                             descender #3
        delete_character          dch1   dc   delete character
                                              (P*)
        delete_line               dl1    dl   delete line (P*)
        dial_phone                dial   DI   dial number #1
        dis_status_line           dsl    ds   disable status line
        delete_character          dch1   dc   delete character
                                              (P*)
        delete_line               dl1    dl   delete line (P*)
        dial_phone                dial   DI   dial number #1
        dis_status_line           dsl    ds   disable status line
-       display_clock             dclk   DK   display clock at
-                                             (#1,#2)
+       display_clock             dclk   DK   display clock
        down_half_line            hd     hd   half a line down
        ena_acs                   enacs  eA   enable alternate
                                              char set
        down_half_line            hd     hd   half a line down
        ena_acs                   enacs  eA   enable alternate
                                              char set
                                              mode
        enter_protected_mode      prot   mp   turn on protected
                                              mode
                                              mode
        enter_protected_mode      prot   mp   turn on protected
                                              mode
+
        enter_reverse_mode        rev    mr   turn on reverse
                                              video mode
        enter_reverse_mode        rev    mr   turn on reverse
                                              video mode
-
        enter_secure_mode         invis  mk   turn on blank mode
                                              (characters invisi-
                                              ble)
        enter_secure_mode         invis  mk   turn on blank mode
                                              (characters invisi-
                                              ble)
        from_status_line          fsl    fs   return from status
                                              line
        goto_window               wingo  WG   go to window #1
        from_status_line          fsl    fs   return from status
                                              line
        goto_window               wingo  WG   go to window #1
-       hangup                    hup    HU   hang-up phone
-
 
 
+       hangup                    hup    HU   hang-up phone
        init_1string              is1    i1   initialization
                                              string
        init_2string              is2    is   initialization
        init_1string              is1    i1   initialization
                                              string
        init_2string              is2    is   initialization
                                              screen key
        key_exit                  kext   @9   exit key
        key_f0                    kf0    k0   F0 function key
                                              screen key
        key_exit                  kext   @9   exit key
        key_f0                    kf0    k0   F0 function key
-       key_f1                    kf1    k1   F1 function key
 
 
+       key_f1                    kf1    k1   F1 function key
        key_f10                   kf10   k;   F10 function key
        key_f11                   kf11   F1   F11 function key
        key_f12                   kf12   F2   F12 function key
        key_f10                   kf10   k;   F10 function key
        key_f11                   kf11   F1   F11 function key
        key_f12                   kf12   F2   F12 function key
        key_f55                   kf55   Fj   F55 function key
        key_f56                   kf56   Fk   F56 function key
        key_f57                   kf57   Fl   F57 function key
        key_f55                   kf55   Fj   F55 function key
        key_f56                   kf56   Fk   F56 function key
        key_f57                   kf57   Fl   F57 function key
-       key_f58                   kf58   Fm   F58 function key
 
 
+       key_f58                   kf58   Fm   F58 function key
        key_f59                   kf59   Fn   F59 function key
        key_f6                    kf6    k6   F6 function key
        key_f60                   kf60   Fo   F60 function key
        key_f59                   kf59   Fn   F59 function key
        key_f6                    kf6    k6   F6 function key
        key_f60                   kf60   Fo   F60 function key
        key_sf                    kind   kF   scroll-forward key
        key_sfind                 kFND   *0   shifted find key
        key_shelp                 kHLP   #1   shifted help key
        key_sf                    kind   kF   scroll-forward key
        key_sfind                 kFND   *0   shifted find key
        key_shelp                 kHLP   #1   shifted help key
-       key_shome                 kHOM   #2   shifted home key
 
 
+       key_shome                 kHOM   #2   shifted home key
        key_sic                   kIC    #3   shifted insert-char-
                                              acter key
        key_sleft                 kLFT   #4   shifted left-arrow
        key_sic                   kIC    #3   shifted insert-char-
                                              acter key
        key_sleft                 kLFT   #4   shifted left-arrow
        label_format              fln    Lf   label format
        label_off                 rmln   LF   turn off soft labels
        label_on                  smln   LO   turn on soft labels
        label_format              fln    Lf   label format
        label_off                 rmln   LF   turn off soft labels
        label_on                  smln   LO   turn on soft labels
-       meta_off                  rmm    mo   turn off meta mode
 
 
+       meta_off                  rmm    mo   turn off meta mode
        meta_on                   smm    mm   turn on meta mode
                                              (8th-bit on)
        micro_column_address      mhpa   ZY   Like column_address
        meta_on                   smm    mm   turn on meta mode
                                              (8th-bit on)
        micro_column_address      mhpa   ZY   Like column_address
                                              micro mode
        micro_right               mcuf1  Zb   Like cursor_right in
                                              micro mode
                                              micro mode
        micro_right               mcuf1  Zb   Like cursor_right in
                                              micro mode
-       micro_row_address         mvpa   Zc   Like row_address in
-                                             micro mode
+       micro_row_address         mvpa   Zc   Like row_address #1
+                                             in micro mode
        micro_up                  mcuu1  Zd   Like cursor_up in
                                              micro mode
        newline                   nel    nw   newline (behave like
        micro_up                  mcuu1  Zd   Like cursor_up in
                                              micro mode
        newline                   nel    nw   newline (behave like
                                              in micro mode
        pkey_key                  pfkey  pk   program function key
                                              #1 to type string #2
                                              in micro mode
        pkey_key                  pfkey  pk   program function key
                                              #1 to type string #2
+
+
+
        pkey_local                pfloc  pl   program function key
                                              #1 to execute string
                                              #2
        pkey_local                pfloc  pl   program function key
                                              #1 to execute string
                                              #2
-
        pkey_xmit                 pfx    px   program function key
                                              #1 to transmit
                                              string #2
        pkey_xmit                 pfx    px   program function key
                                              #1 to transmit
                                              string #2
                                              position (P)
        scroll_forward            ind    sf   scroll text up (P)
        scroll_reverse            ri     sr   scroll text down (P)
                                              position (P)
        scroll_forward            ind    sf   scroll text up (P)
        scroll_reverse            ri     sr   scroll text down (P)
-       select_char_set           scs    Zj   Select character set
+       select_char_set           scs    Zj   Select character
+                                             set, #1
        set_attributes            sgr    sa   define video
                                              attributes #1-#9
                                              (PG9)
        set_attributes            sgr    sa   define video
                                              attributes #1-#9
                                              (PG9)
        set_bottom_margin         smgb   Zk   Set bottom margin at
                                              current line
        set_bottom_margin_parm    smgbp  Zl   Set bottom margin at
        set_bottom_margin         smgb   Zk   Set bottom margin at
                                              current line
        set_bottom_margin_parm    smgbp  Zl   Set bottom margin at
-                                             line #1 or #2 lines
-                                             from bottom
+                                             line #1 or (if smgtp
+                                             is not given) #2
+                                             lines from bottom
        set_clock                 sclk   SC   set clock, #1 hrs #2
                                              mins #3 secs
        set_color_pair            scp    sp   Set current color
                                              pair to #1
        set_clock                 sclk   SC   set clock, #1 hrs #2
                                              mins #3 secs
        set_color_pair            scp    sp   Set current color
                                              pair to #1
+
+
        set_foreground            setf   Sf   Set foreground color
                                              #1
        set_left_margin           smgl   ML   set left soft margin
        set_foreground            setf   Sf   Set foreground color
                                              #1
        set_left_margin           smgl   ML   set left soft margin
-                                             at current column
-
-
-
+                                             at current column.
+                                             See smgl. (ML is not
+                                             in BSD termcap).
        set_left_margin_parm      smglp  Zm   Set left (right)
                                              margin at column #1
        set_left_margin_parm      smglp  Zm   Set left (right)
                                              margin at column #1
-                                             (#2)
        set_right_margin          smgr   MR   set right soft mar-
                                              gin at current col-
                                              umn
        set_right_margin          smgr   MR   set right soft mar-
                                              gin at current col-
                                              umn
                                              current line
        set_top_margin_parm       smgtp  Zp   Set top (bottom)
                                              margin at row #1
                                              current line
        set_top_margin_parm       smgtp  Zp   Set top (bottom)
                                              margin at row #1
-                                             (#2)
        set_window                wind   wi   current window is
                                              lines #1-#2 cols
                                              #3-#4
        start_bit_image           sbim   Zq   Start printing bit
                                              image graphics
        start_char_set_def        scsd   Zr   Start character set
        set_window                wind   wi   current window is
                                              lines #1-#2 cols
                                              #3-#4
        start_bit_image           sbim   Zq   Start printing bit
                                              image graphics
        start_char_set_def        scsd   Zr   Start character set
-                                             definition
+                                             definition #1, with
+                                             #2 characters in the
+                                             set
        stop_bit_image            rbim   Zs   Stop printing bit
                                              image graphics
        stop_char_set_def         rcsd   Zt   End definition of
        stop_bit_image            rbim   Zs   Stop printing bit
                                              image graphics
        stop_char_set_def         rcsd   Zt   End definition of
-                                             character set
+                                             character set #1
        subscript_characters      subcs  Zu   List of subscript-
                                              able characters
        superscript_characters    supcs  Zv   List of superscript-
        subscript_characters      subcs  Zu   List of subscript-
                                              able characters
        superscript_characters    supcs  Zv   List of superscript-
        these_cause_cr            docr   Zw   Printing any of
                                              these characters
                                              causes CR
        these_cause_cr            docr   Zw   Printing any of
                                              these characters
                                              causes CR
-       to_status_line            tsl    ts   move to status line
+       to_status_line            tsl    ts   move to status line,
+                                             column #1
        tone                      tone   TO   select touch tone
                                              dialing
        underline_char            uc     uc   underline char and
        tone                      tone   TO   select touch tone
                                              dialing
        underline_char            uc     uc   underline char and
        user2                     u2     u2   User string #2
        user3                     u3     u3   User string #3
        user4                     u4     u4   User string #4
        user2                     u2     u2   User string #2
        user3                     u3     u3   User string #3
        user4                     u4     u4   User string #4
+
        user5                     u5     u5   User string #5
        user6                     u6     u6   User string #6
        user7                     u7     u7   User string #7
        user5                     u5     u5   User string #5
        user6                     u6     u6   User string #6
        user7                     u7     u7   User string #7
        user9                     u9     u9   User string #9
        wait_tone                 wait   WA   wait for dial-tone
        xoff_character            xoffc  XF   XOFF character
        user9                     u9     u9   User string #9
        wait_tone                 wait   WA   wait for dial-tone
        xoff_character            xoffc  XF   XOFF character
-
        xon_character             xonc   XN   XON character
        zero_motion               zerom  Zx   No motion for subse-
                                              quent character
 
        xon_character             xonc   XN   XON character
        zero_motion               zerom  Zx   No motion for subse-
                                              quent character
 
-       The following  string  capabilities  are  present  in  the
-       SVr4.0  term structure, but were originally not documented
+       The  following  string  capabilities  are  present  in the
+       SVr4.0 term structure, but were originally not  documented
        in the man page.
 
                <B>Variable</B>          <B>Cap-</B>     <B>TCap</B>    <B>Description</B>
        in the man page.
 
                <B>Variable</B>          <B>Cap-</B>     <B>TCap</B>    <B>Description</B>
                                                of the bit image
        bit_image_repeat          birep    Xy   Repeat bit image
                                                cell #1 #2 times
                                                of the bit image
        bit_image_repeat          birep    Xy   Repeat bit image
                                                cell #1 #2 times
-       char_set_names            csnm     Zy   List of character
-                                               set names
+       char_set_names            csnm     Zy   Produce #1'th item
+                                               from list of char-
+                                               acter set names
        code_set_init             csin     ci   Init sequence for
                                                multiple codesets
        color_names               colornm  Yw   Give name for
        code_set_init             csin     ci   Init sequence for
                                                multiple codesets
        color_names               colornm  Yw   Give name for
                                                guage/codeset sup-
                                                port
        display_pc_char           dispc    S1   Display PC charac-
                                                guage/codeset sup-
                                                port
        display_pc_char           dispc    S1   Display PC charac-
-                                               ter
+                                               ter #1
        end_bit_image_region      endbi    Yy   End a bit-image
                                                region
        enter_pc_charset_mode     smpch    S2   Enter PC character
        end_bit_image_region      endbi    Yy   End a bit-image
                                                region
        enter_pc_charset_mode     smpch    S2   Enter PC character
                                                display mode
        exit_scancode_mode        rmsc     S5   Exit PC scancode
                                                mode
                                                display mode
        exit_scancode_mode        rmsc     S5   Exit PC scancode
                                                mode
+
+
+
        get_mouse                 getm     Gm   Curses should get
        get_mouse                 getm     Gm   Curses should get
-                                               button events
+                                               button events,
+                                               parameter #1 not
+                                               documented.
        key_mouse                 kmous    Km   Mouse event has
                                                occurred
        mouse_info                minfo    Mi   Mouse status
                                                information
        pc_term_options           pctrm    S6   PC terminal
                                                options
        key_mouse                 kmous    Km   Mouse event has
                                                occurred
        mouse_info                minfo    Mi   Mouse status
                                                information
        pc_term_options           pctrm    S6   PC terminal
                                                options
-
-
-
        pkey_plab                 pfxl     xl   Program function
                                                key #1 to type
                                                string #2 and show
        pkey_plab                 pfxl     xl   Program function
                                                key #1 to type
                                                string #2 and show
        set3_des_seq              s3ds     s3   Shift to code set
                                                3
        set_a_background          setab    AB   Set background
        set3_des_seq              s3ds     s3   Shift to code set
                                                3
        set_a_background          setab    AB   Set background
-                                               color using ANSI
-                                               escape
+                                               color to #1, using
+                                               ANSI escape
        set_a_foreground          setaf    AF   Set foreground
        set_a_foreground          setaf    AF   Set foreground
-                                               color using ANSI
-                                               escape
+                                               color to #1, using
+                                               ANSI escape
        set_color_band            setcolor Yz   Change to ribbon
                                                color #1
        set_lr_margin             smglr    ML   Set both left and
                                                right margins to
        set_color_band            setcolor Yz   Change to ribbon
                                                color #1
        set_lr_margin             smglr    ML   Set both left and
                                                right margins to
-                                               #1, #2
+                                               #1, #2.  (ML is
+                                               not in BSD term-
+                                               cap).
        set_page_length           slines   YZ   Set page length to
                                                #1 lines
        set_tb_margin             smgtb    MT   Sets both top and
        set_page_length           slines   YZ   Set page length to
                                                #1 lines
        set_tb_margin             smgtb    MT   Sets both top and
                                              mode
         enter_right_hl_mode      erhlm  Xr   Enter right high-
                                              light mode
                                              mode
         enter_right_hl_mode      erhlm  Xr   Enter right high-
                                              light mode
-
-
         enter_top_hl_mode        ethlm  Xt   Enter top highlight
                                              mode
         enter_vertical_hl_mode   evhlm  Xv   Enter vertical high-
         enter_top_hl_mode        ethlm  Xt   Enter top highlight
                                              mode
         enter_vertical_hl_mode   evhlm  Xv   Enter vertical high-
        piled description you are working on.  Only that directory
        is searched.
 
        piled description you are working on.  Only that directory
        is searched.
 
-       If  TERMINFO  is  not  set,  the  <B>ncurses</B>  version  of the
-       terminfo reader code will instead look  in  the  directory
+       If  TERMINFO  is  not set, the <B>ncurses</B> version of the ter-
+       minfo reader code  will  instead  look  in  the  directory
        <B>$HOME/.terminfo</B>  for  a compiled description.  If it fails
        to find one  there,  and  the  environment  variable  TER-
        MINFO_DIRS  is set, it will interpret the contents of that
        variable as a list of colon- separated directories  to  be
        searched  (an  empty  entry is interpreted as a command to
        <B>$HOME/.terminfo</B>  for  a compiled description.  If it fails
        to find one  there,  and  the  environment  variable  TER-
        MINFO_DIRS  is set, it will interpret the contents of that
        variable as a list of colon- separated directories  to  be
        searched  (an  empty  entry is interpreted as a command to
-       search <I>@DATADIR@/terminfo</I>).  If no description is found in
-       any of the TERMINFO_DIRS directories, the fetch fails.
+       search <I>/usr/share/terminfo</I>).  If no description  is  found
+       in  any of the TERMINFO_DIRS directories, the fetch fails.
 
 
-       If  neither  TERMINFO  nor  TERMINFO_DIRS is set, the last
-       place  tried  will  be  the  system  terminfo   directory,
-       <I>@DATADIR@/terminfo</I>.
+       If neither TERMINFO nor TERMINFO_DIRS  is  set,  the  last
+       place   tried  will  be  the  system  terminfo  directory,
+       <I>/usr/share/terminfo</I>.
 
 
-       (Neither  the  <B>$HOME/.terminfo</B>  lookups  nor TERMINFO_DIRS
-       extensions  are  supported  under  stock  System  V   ter-
+       (Neither the  <B>$HOME/.terminfo</B>  lookups  nor  TERMINFO_DIRS
+       extensions   are  supported  under  stock  System  V  ter-
        minfo/curses.)
 
 
    <B>Preparing</B> <B>Descriptions</B>
        minfo/curses.)
 
 
    <B>Preparing</B> <B>Descriptions</B>
-       We  now  outline how to prepare descriptions of terminals.
-       The most effective way to prepare a  terminal  description
-       is  by  imitating the description of a similar terminal in
-       <I>terminfo</I> and to build up a  description  gradually,  using
+       We now outline how to prepare descriptions  of  terminals.
+       The  most  effective way to prepare a terminal description
+       is by imitating the description of a similar  terminal  in
+       <I>terminfo</I>  and  to  build up a description gradually, using
        partial descriptions with <I>vi</I> or some other screen-oriented
        partial descriptions with <I>vi</I> or some other screen-oriented
-       program to check that they are correct.  Be aware  that  a
+       program  to  check that they are correct.  Be aware that a
        very unusual terminal may expose deficiencies in the abil-
        very unusual terminal may expose deficiencies in the abil-
-       ity of the <I>terminfo</I> file to describe it  or  bugs  in  the
+       ity  of  the  <I>terminfo</I>  file to describe it or bugs in the
        screen-handling code of the test program.
 
        screen-handling code of the test program.
 
-       To  get the padding for insert line right (if the terminal
+       To get the padding for insert line right (if the  terminal
        manufacturer did not document it) a severe test is to edit
        manufacturer did not document it) a severe test is to edit
-       a  large file at 9600 baud, delete 16 or so lines from the
-       middle of the screen, then hit the `u' key  several  times
-       quickly.   If the terminal messes up, more padding is usu-
-       ally needed.  A similar test can be used for insert  char-
+       a large file at 9600 baud, delete 16 or so lines from  the
+       middle  of  the screen, then hit the `u' key several times
+       quickly.  If the terminal messes up, more padding is  usu-
+       ally  needed.  A similar test can be used for insert char-
        acter.
 
 
    <B>Basic</B> <B>Capabilities</B>
        acter.
 
 
    <B>Basic</B> <B>Capabilities</B>
-       The  number  of  columns  on each line for the terminal is
-       given by the <B>cols</B> numeric capability.  If the terminal  is
-       a  CRT, then the number of lines on the screen is given by
+       The number of columns on each line  for  the  terminal  is
+       given  by the <B>cols</B> numeric capability.  If the terminal is
+       a CRT, then the number of lines on the screen is given  by
        the <B>lines</B> capability.  If the terminal wraps around to the
        the <B>lines</B> capability.  If the terminal wraps around to the
-       beginning  of the next line when it reaches the right mar-
-       gin, then it should have the <B>am</B> capability.  If the termi-
-       nal  can  clear its screen, leaving the cursor in the home
-       position, then this is given by the <B>clear</B> string  capabil-
-       ity.   If the terminal overstrikes (rather than clearing a
-       position when a character is struck over) then  it  should
-       have  the  <B>os</B>  capability.   If the terminal is a printing
-       terminal, with no soft copy unit, give it both <B>hc</B> and  <B>os</B>.
-       (<B>os</B>  applies to storage scope terminals, such as TEKTRONIX
-       4010 series, as well as hard copy and APL terminals.)   If
-       there is a code to move the cursor to the left edge of the
-       current row, give this as <B>cr</B>.  (Normally this will be car-
-       riage  return,  control M.)  If there is a code to produce
-       an audible signal (bell, beep, etc) give this as <B>bel</B>.
+       beginning of the next  line  when  it  reaches  the  right
+       margin,  then  it  should  have the <B>am</B> capability.  If the
+       terminal can clear its screen, leaving the cursor  in  the
+       home  position,  then  this  is  given by the <B>clear</B> string
+       capability.  If  the  terminal  overstrikes  (rather  than
+       clearing  a position when a character is struck over) then
+       it should have the <B>os</B> capability.  If the  terminal  is  a
+       printing terminal, with no soft copy unit, give it both <B>hc</B>
+       and <B>os</B>.  (<B>os</B> applies to storage scope terminals,  such  as
+       TEKTRONIX 4010 series, as well as hard copy and APL termi-
+       nals.)  If there is a code to move the cursor to the  left
+       edge  of the current row, give this as <B>cr</B>.  (Normally this
+       will be carriage return, control M.)  If there is  a  code
+       to  produce  an audible signal (bell, beep, etc) give this
+       as <B>bel</B>.
 
        If there is a code to move the cursor one position to  the
        left  (such  as backspace) that capability should be given
 
        If there is a code to move the cursor one position to  the
        left  (such  as backspace) that capability should be given
 
      33|tty33|tty|model 33 teletype,
      bel=^G, cols#72, cr=^M, cud1=^J, hc, ind=^J, os,
 
      33|tty33|tty|model 33 teletype,
      bel=^G, cols#72, cr=^M, cud1=^J, hc, ind=^J, os,
+
        while the Lear Siegler ADM-3 is described as
 
      adm3|3|lsi adm3,
        while the Lear Siegler ADM-3 is described as
 
      adm3|3|lsi adm3,
 
             %+ %- %* %/ %m
                       arithmetic (%m is mod): push(pop() op pop())
 
             %+ %- %* %/ %m
                       arithmetic (%m is mod): push(pop() op pop())
+
             %&amp; %| %^  bit operations: push(pop() op pop())
             %= %&gt; %&lt;  logical operations: push(pop() op pop())
             %A, %O    logical and &amp; or operations (for conditionals)
             %&amp; %| %^  bit operations: push(pop() op pop())
             %= %&gt; %&lt;  logical operations: push(pop() op pop())
             %A, %O    logical and &amp; or operations (for conditionals)
          \E[0       always              \E[0
          ;1         if p1 or p6         %?%p1%p6%|%t;1%;
          ;4         if p2               %?%p2%|%t;4%;
          \E[0       always              \E[0
          ;1         if p1 or p6         %?%p1%p6%|%t;1%;
          ;4         if p2               %?%p2%|%t;4%;
+
          ;5         if p4               %?%p4%|%t;5%;
          ;7         if p1 or p3         %?%p1%p3%|%t;7%;
          ;8         if p7               %?%p7%|%t;8%;
          ;5         if p4               %?%p4%|%t;5%;
          ;7         if p1 or p3         %?%p1%p3%|%t;7%;
          ;8         if p7               %?%p7%|%t;8%;
 
        Remember  that  if  you specify sgr, you must also specify
        sgr0.
 
        Remember  that  if  you specify sgr, you must also specify
        sgr0.
+
        Terminals with the ``magic cookie'' glitch  (<B>xmc</B>)  deposit
        special   ``cookies''   when   they  receive  mode-setting
        sequences, which affect the display algorithm rather  than
        Terminals with the ``magic cookie'' glitch  (<B>xmc</B>)  deposit
        special   ``cookies''   when   they  receive  mode-setting
        sequences, which affect the display algorithm rather  than
        They are normally sent to the terminal, by the <I>init</I> option
        of the <I>tput</I> program, each time the  user  logs  in.   They
        will  be  printed  in the following order: run the program
        They are normally sent to the terminal, by the <I>init</I> option
        of the <I>tput</I> program, each time the  user  logs  in.   They
        will  be  printed  in the following order: run the program
-       <B>iprog</B>; output <B>is1</B>; <B>is2</B>; set the margins using <B>mgc</B>, <B>smgl</B>and
-       <B>smgr</B>;  set  tabs using <B>tbc</B> and <B>hts</B>; print the file <B>if</B>; and
-       finally output <B>is3</B>.
+       <B>iprog</B>; output <B>is1</B>; <B>is2</B>; set the margins  using  <B>mgc</B>,  <B>smgl</B>
+       and  <B>smgr</B>;  set tabs using <B>tbc</B> and <B>hts</B>; print the file <B>if</B>;
+       and finally output <B>is3</B>.
 
        Most initialization is done with  <B>is2</B>.   Special  terminal
        modes can be set up without duplicating strings by putting
 
        Most initialization is done with  <B>is2</B>.   Special  terminal
        modes can be set up without duplicating strings by putting
        ter  as  a  pad,  then this can be given as <B>pad</B>.  Only the
        first character of the <B>pad</B> string is used.
 
        ter  as  a  pad,  then this can be given as <B>pad</B>.  Only the
        first character of the <B>pad</B> string is used.
 
+
    <B>Status</B> <B>Lines</B>
        Some terminals have an extra `status line'  which  is  not
        normally  used  by  software  (and thus not counted in the
    <B>Status</B> <B>Lines</B>
        Some terminals have an extra `status line'  which  is  not
        normally  used  by  software  (and thus not counted in the
        board of squares           ACS_BOARD      #          h
        bullet                     ACS_BULLET     o          ~
        checker board (stipple)    ACS_CKBOARD    :          a
        board of squares           ACS_BOARD      #          h
        bullet                     ACS_BULLET     o          ~
        checker board (stipple)    ACS_CKBOARD    :          a
-
        degree symbol              ACS_DEGREE     \          f
        diamond                    ACS_DIAMOND    +          `
        greater-than-or-equal-to   ACS_GEQUAL     &gt;          z
        degree symbol              ACS_DEGREE     \          f
        diamond                    ACS_DIAMOND    +          `
        greater-than-or-equal-to   ACS_GEQUAL     &gt;          z
 
        If  the terminal can move up or down half a line, this can
        be indicated with <B>hu</B>  (half-line  up)  and  <B>hd</B>  (half-line
 
        If  the terminal can move up or down half a line, this can
        be indicated with <B>hu</B>  (half-line  up)  and  <B>hd</B>  (half-line
-       down).  This is primarily useful for superscripts and sub-
-       scripts on hard-copy terminals.  If a  hard-copy  terminal
-       can  eject  to  the next page (form feed), give this as <B>ff</B>
-       (usually control L).
+       down).   This  is  primarily  useful  for superscripts and
+       subscripts on hard-copy terminals.  If a hard-copy  termi-
+       nal  can  eject to the next page (form feed), give this as
+       <B>ff</B> (usually control L).
 
        If there is a command to repeat a given character a  given
        number  of times (to save time transmitting a large number
 
        If there is a command to repeat a given character a  given
        number  of times (to save time transmitting a large number
        Some  SVr4  <B>curses</B>  implementations,  and  all previous to
        SVr4, don't interpret the %A and %O operators in parameter
        strings.
        Some  SVr4  <B>curses</B>  implementations,  and  all previous to
        SVr4, don't interpret the %A and %O operators in parameter
        strings.
-
        SVr4/XPG4  do  not  specify whether <B>msgr</B> licenses movement
        while in an alternate-character-set mode (such modes  may,
        among other things, map CR and NL to characters that don't
        SVr4/XPG4  do  not  specify whether <B>msgr</B> licenses movement
        while in an alternate-character-set mode (such modes  may,
        among other things, map CR and NL to characters that don't
 
 </PRE>
 <H2>FILES</H2><PRE>
 
 </PRE>
 <H2>FILES</H2><PRE>
-       @DATADIR@/terminfo/?/*   files     containing     terminal
+       /usr/share/terminfo/?/*  files     containing     terminal
                                 descriptions
 
 
                                 descriptions
 
 
 
 
 
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 </PRE>
 <HR>
 <ADDRESS>
 </PRE>
 <HR>
 <ADDRESS>
index a8d6e7d36f96ade16aa518d6cc35b589ef7ee9ac..eddb81959c5d35c0d8714c0dfde21f08a5067cd4 100644 (file)
@@ -10,7 +10,7 @@
 
 </PRE>
 <H2>SYNOPSIS</H2><PRE>
 
 </PRE>
 <H2>SYNOPSIS</H2><PRE>
-       <B>tic</B>  [<B>-1CINRTacfrsx</B>]  [<B>-e</B>  <I>names</I>] [<B>-o</B> <I>dir</I>] [<B>-v</B>[<I>n</I>]] [<B>-w</B>[<I>n</I>]]
+       <B>tic</B>  [<B>-1CINRTVacfrsx</B>]  [<B>-e</B> <I>names</I>] [<B>-o</B> <I>dir</I>] [<B>-v</B>[<I>n</I>]] [<B>-w</B>[<I>n</I>]]
        <I>file</I>
 
 
        <I>file</I>
 
 
        essary for use with the library routines in <B><A HREF="ncurses.3x.html">ncurses(3x)</A></B>.
 
        The results are normally placed  in  the  system  terminfo
        essary for use with the library routines in <B><A HREF="ncurses.3x.html">ncurses(3x)</A></B>.
 
        The results are normally placed  in  the  system  terminfo
-       directory  <B>@DATADIR@/terminfo</B>.   There  are  two  ways  to
+       directory  <B>/usr/share/terminfo</B>.   There  are  two  ways to
        change this behavior.
 
        First, you may override the system default by setting  the
        variable  <B>TERMINFO</B>  in  your  shell environment to a valid
        (existing) directory name.
 
        change this behavior.
 
        First, you may override the system default by setting  the
        variable  <B>TERMINFO</B>  in  your  shell environment to a valid
        (existing) directory name.
 
-       Secondly, if <B>tic</B> cannot get access  to  <I>@DATADIR@/terminfo</I>
+       Secondly, if <B>tic</B> cannot get access to  <I>/usr/share/terminfo</I>
        or  your  TERMINFO  directory,  it looks for the directory
        <I>$HOME/.terminfo</I>; if that directory exists,  the  entry  is
        placed there.
 
        Libraries that read terminfo entries are expected to check
        for a TERMINFO directory first, look at <I>$HOME/.terminfo</I> if
        or  your  TERMINFO  directory,  it looks for the directory
        <I>$HOME/.terminfo</I>; if that directory exists,  the  entry  is
        placed there.
 
        Libraries that read terminfo entries are expected to check
        for a TERMINFO directory first, look at <I>$HOME/.terminfo</I> if
-       TERMINFO  is  not  set, and finally look in <I>@DATADIR@/ter-</I>
+       TERMINFO  is  not set, and finally look in <I>/usr/share/ter-</I>
        <I>minfo</I>.
 
        <B>-a</B>     tells  <B>tic</B>  to  retain  commented-out  capabilities
        <I>minfo</I>.
 
        <B>-a</B>     tells  <B>tic</B>  to  retain  commented-out  capabilities
               since  the compiled descriptions are limited (e.g.,
               1023 for termcap, 4096 for terminfo).
 
               since  the compiled descriptions are limited (e.g.,
               1023 for termcap, 4096 for terminfo).
 
-       <B>-r</B>     Force entry resolution (so there are  no  remaining
-              tc  capabilities)  even  when  doing translation to
-              termcap format.  This may  be  needed  if  you  are
-              preparing  a  termcap  file  for  a termcap library
-              (such as GNU termcap  up  to  version  1.3  or  BSD
-              termcap  up to 4.3BSD) that doesn't handle multiple
-              tc capabilities per entry.
+       <B>-V</B>     reports the version of ncurses which  was  used  in
+              this program, and exits.
 
 
-       <B>-e</B>     Limit writes  and  translations  to  the  following
-              comma-separated  list of terminals.  If any name or
+       <B>-r</B>     Force  entry  resolution (so there are no remaining
+              tc capabilities) even  when  doing  translation  to
+              termcap  format.   This  may  be  needed if you are
+              preparing a termcap  file  for  a  termcap  library
+              (such as GNU termcap up to version 1.3 or BSD term-
+              cap up to 4.3BSD) that doesn't handle  multiple  tc
+              capabilities per entry.
+
+       <B>-e</B>     Limit  writes  and  translations  to  the following
+              comma-separated list of terminals.  If any name  or
               alias of a terminal matches one of the names in the
               alias of a terminal matches one of the names in the
-              list,  the  entry  will be written or translated as
-              normal.  Otherwise no output will be generated  for
+              list, the entry will be written  or  translated  as
+              normal.   Otherwise no output will be generated for
               it.  The option value is interpreted as a file con-
               it.  The option value is interpreted as a file con-
-              taining the list if  it  contains  a  '/'.   (Note:
-              depending  on how tic was compiled, this option may
+              taining  the  list  if  it  contains a '/'.  (Note:
+              depending on how tic was compiled, this option  may
               require -I or -C.)
 
        <B>-f</B>     Display  complex  terminfo  strings  which  contain
               require -I or -C.)
 
        <B>-f</B>     Display  complex  terminfo  strings  which  contain
-              if/then/else/endif  expressions  indented for read-
+              if/then/else/endif expressions indented  for  read-
               ability.
 
               ability.
 
-       <B>-g</B>     Display constant character literals in quoted  form
+       <B>-g</B>     Display  constant character literals in quoted form
               rather than their decimal equivalents.
 
        <B>-s</B>     Summarize the compile by showing the directory into
               which  entries  are  written,  and  the  number  of
               entries which are compiled.
 
               rather than their decimal equivalents.
 
        <B>-s</B>     Summarize the compile by showing the directory into
               which  entries  are  written,  and  the  number  of
               entries which are compiled.
 
-       <B>-x</B>     Treat  unknown  capabilities as user-defined.  That
-              is, if you supply a capability name which <B>tic</B>  does
-              not  recognize,  it  will  infer its type (boolean,
-              number or string)  from  the  syntax  and  make  an
+       <B>-x</B>     Treat unknown capabilities as  user-defined.   That
+              is,  if you supply a capability name which <B>tic</B> does
+              not recognize, it will  infer  its  type  (boolean,
+              number  or  string)  from  the  syntax  and make an
               extended table entry for that.
 
        <I>file</I>   contains one or more <B>terminfo</B> terminal descriptions
               extended table entry for that.
 
        <I>file</I>   contains one or more <B>terminfo</B> terminal descriptions
-              in source format [see <B><A HREF="terminfo.5.html">terminfo(5)</A></B>].  Each  descrip-
-              tion  in  the  file describes the capabilities of a
+              in  source format [see <B><A HREF="terminfo.5.html">terminfo(5)</A></B>].  Each descrip-
+              tion in the file describes the  capabilities  of  a
               particular terminal.
 
        The debug flag levels are as follows:
               particular terminal.
 
        The debug flag levels are as follows:
 
        8      List of tokens encountered by scanner
 
 
        8      List of tokens encountered by scanner
 
-       9      All values computed in  construction  of  the  hash
+       9      All  values  computed  in  construction of the hash
               table
 
        If n is not given, it is taken to be one.
               table
 
        If n is not given, it is taken to be one.
        umented in <B><A HREF="terminfo.5.html">terminfo(5)</A></B>.  The exception is the <B>use</B> capabil-
        ity.
 
        umented in <B><A HREF="terminfo.5.html">terminfo(5)</A></B>.  The exception is the <B>use</B> capabil-
        ity.
 
-       When  a  <B>use</B>=<I>entry</I>-<I>name</I>  field is discovered in a terminal
-       entry currently being compiled, <B>tic</B> reads  in  the  binary
-       from  <B>@DATADIR@/terminfo</B>  to complete the entry.  (Entries
-       created from <I>file</I> will be used first.  If the  environment
-       variable  <B>TERMINFO</B>  is  set,  that  directory  is searched
-       instead of <B>@DATADIR@/terminfo</B>.)  <B>tic</B> duplicates the  capa-
-       bilities  in  <I>entry</I>-<I>name</I>  for  the current entry, with the
-       exception  of  those  capabilities  that  explicitly   are
+       When a <B>use</B>=<I>entry</I>-<I>name</I> field is discovered  in  a  terminal
+       entry  currently  being  compiled, <B>tic</B> reads in the binary
+       from <B>/usr/share/terminfo</B> to complete the entry.   (Entries
+       created  from <I>file</I> will be used first.  If the environment
+       variable <B>TERMINFO</B>  is  set,  that  directory  is  searched
+       instead of <B>/usr/share/terminfo</B>.)  <B>tic</B> duplicates the capa-
+       bilities in <I>entry</I>-<I>name</I> for the  current  entry,  with  the
+       exception   of  those  capabilities  that  explicitly  are
        defined in the current entry.
 
        defined in the current entry.
 
-       When    an   entry,   e.g.,   <B>entry_name_1</B>,   contains   a
-       <B>use=</B><I>entry</I>_<I>name</I>_<I>2</I>  field,  any  canceled  capabilities   in
-       <I>entry</I>_<I>name</I>_<I>2</I>  must also appear in <B>entry_name_1</B> before <B>use=</B>
+       When   an   entry,   e.g.,   <B>entry_name_1</B>,   contains    a
+       <B>use=</B><I>entry</I>_<I>name</I>_<I>2</I>   field,  any  canceled  capabilities  in
+       <I>entry</I>_<I>name</I>_<I>2</I> must also appear in <B>entry_name_1</B> before  <B>use=</B>
        for these capabilities to be canceled in <B>entry_name_1</B>.
 
        for these capabilities to be canceled in <B>entry_name_1</B>.
 
-       If the environment variable <B>TERMINFO</B> is set, the  compiled
-       results are placed there instead of <B>@DATADIR@/terminfo</B>.
+       If  the environment variable <B>TERMINFO</B> is set, the compiled
+       results are placed there instead of <B>/usr/share/terminfo</B>.
 
        Total compiled entries cannot exceed 4096 bytes.  The name
 
        Total compiled entries cannot exceed 4096 bytes.  The name
-       field cannot exceed 512 bytes.  Terminal  names  exceeding
-       the  maximum  alias  length (32 characters on systems with
+       field  cannot  exceed 512 bytes.  Terminal names exceeding
+       the maximum alias length (32 characters  on  systems  with
        long filenames, 14 characters otherwise) will be truncated
        long filenames, 14 characters otherwise) will be truncated
-       to  the maximum alias length and a warning message will be
+       to the maximum alias length and a warning message will  be
        printed.
 
 
 </PRE>
 <H2>COMPATIBILITY</H2><PRE>
        printed.
 
 
 </PRE>
 <H2>COMPATIBILITY</H2><PRE>
-       There is some evidence that historic  <B>tic</B>  implementations
-       treated  description  fields with no whitespace in them as
-       additional aliases or short names.  This <B>tic</B> does  not  do
-       that,  but  it  does  warn  when description fields may be
-       treated that way and check them for dangerous  characters.
+       There  is  some evidence that historic <B>tic</B> implementations
+       treated description fields with no whitespace in  them  as
+       additional  aliases  or short names.  This <B>tic</B> does not do
+       that, but it does warn  when  description  fields  may  be
+       treated  that way and check them for dangerous characters.
 
 
 </PRE>
 <H2>EXTENSIONS</H2><PRE>
        Unlike the stock SVr4 <B>tic</B> command, this implementation can
 
 
 </PRE>
 <H2>EXTENSIONS</H2><PRE>
        Unlike the stock SVr4 <B>tic</B> command, this implementation can
-       actually compile termcap sources.   In  fact,  entries  in
-       terminfo  and  termcap  syntax  can  be  mixed in a single
-       source file.  See <B><A HREF="terminfo.5.html">terminfo(5)</A></B>  for  the  list  of  termcap
+       actually  compile  termcap  sources.   In fact, entries in
+       terminfo and termcap syntax  can  be  mixed  in  a  single
+       source  file.   See  <B><A HREF="terminfo.5.html">terminfo(5)</A></B>  for  the list of termcap
        names taken to be equivalent to terminfo names.
 
        names taken to be equivalent to terminfo names.
 
-       The  SVr4  manual  pages  are  not clear on the resolution
-       rules for <B>use</B> capabilities.  This  implementation  of  <B>tic</B>
+       The SVr4 manual pages are  not  clear  on  the  resolution
+       rules  for  <B>use</B>  capabilities.  This implementation of <B>tic</B>
        will find <B>use</B> targets anywhere in the source file, or any-
        will find <B>use</B> targets anywhere in the source file, or any-
-       where in the file tree rooted at <B>TERMINFO</B> (if <B>TERMINFO</B>  is
-       defined),  or  in the user's <I>$HOME/.terminfo</I> directory (if
-       it exists), or (finally) anywhere  in  the  system's  file
+       where  in the file tree rooted at <B>TERMINFO</B> (if <B>TERMINFO</B> is
+       defined), or in the user's <I>$HOME/.terminfo</I>  directory  (if
+       it  exists),  or  (finally)  anywhere in the system's file
        tree of compiled entries.
 
        tree of compiled entries.
 
-       The  error  messages from this <B>tic</B> have the same format as
-       GNU C error messages, and can be  parsed  by  GNU  Emacs's
+       The error messages from this <B>tic</B> have the same  format  as
+       GNU  C  error  messages,  and can be parsed by GNU Emacs's
        compile facility.
        compile facility.
-       The <B>-C</B>, <B>-G</B>, <B>-I</B>, <B>-N</B>, <B>-R</B>, <B>-T</B>, <B>-a</B>, <B>-e</B>, <B>-f</B>, <B>-g</B>, <B>-o</B>, <B>-r</B>, <B>-s</B> and
-       <B>-x</B> options are not supported under SVr4.  The SVr4 -c mode
-       does not report bad use links.
 
 
-       System  V does not compile entries to or read entries from
-       your <I>$HOME/.terminfo</I> directory unless TERMINFO is  explic-
+       The <B>-C</B>, <B>-G</B>, <B>-I</B>, <B>-N</B>, <B>-R</B>, <B>-T</B>, <B>-V</B>, <B>-a</B>, <B>-e</B>, <B>-f</B>, <B>-g</B>, <B>-o</B>, <B>-r</B>, <B>-s</B>
+       and  <B>-x</B> options are not supported under SVr4.  The SVr4 -c
+       mode does not report bad use links.
+
+       System V does not compile entries to or read entries  from
+       your  <I>$HOME/.terminfo</I> directory unless TERMINFO is explic-
        itly set to it.
 
 
 </PRE>
 <H2>FILES</H2><PRE>
        itly set to it.
 
 
 </PRE>
 <H2>FILES</H2><PRE>
-       <B>@DATADIR@/terminfo/?/*</B>
+       <B>/usr/share/terminfo/?/*</B>
             Compiled terminal description database.
 
 
 </PRE>
 <H2>SEE ALSO</H2><PRE>
             Compiled terminal description database.
 
 
 </PRE>
 <H2>SEE ALSO</H2><PRE>
-       <B><A HREF="infocmp.1m.html">infocmp(1m)</A></B>,    <B><A HREF="captoinfo.1m.html">captoinfo(1m)</A></B>,   <B><A HREF="infotocap.1m.html">infotocap(1m)</A></B>,   <B><A HREF="toe.1m.html">toe(1m)</A></B>,
+       <B><A HREF="infocmp.1m.html">infocmp(1m)</A></B>,   <B><A HREF="captoinfo.1m.html">captoinfo(1m)</A></B>,   <B><A HREF="infotocap.1m.html">infotocap(1m)</A></B>,    <B><A HREF="toe.1m.html">toe(1m)</A></B>,
        <B><A HREF="ncurses.3x.html">curses(3x)</A></B>, <B><A HREF="terminfo.5.html">terminfo(5)</A></B>.
 
 
        <B><A HREF="ncurses.3x.html">curses(3x)</A></B>, <B><A HREF="terminfo.5.html">terminfo(5)</A></B>.
 
 
 
 
 
 
 
 
-
-
-
 
 
 
 
 
 
index 3b017e3a74b88165e376c2fdbd4efe3a67177aaf..887a9c4950487119dd9ee771a474371e6a5eb90f 100644 (file)
               progress.   The optional integer <I>n</I> is a number from
               1 to 10, interpreted as for <B><A HREF="tic.1.html">tic(1)</A></B>.
 
               progress.   The optional integer <I>n</I> is a number from
               1 to 10, interpreted as for <B><A HREF="tic.1.html">tic(1)</A></B>.
 
-       <B>-V</B>   prints out the version of the program in use on stan-
-            dard error and exits.
+       <B>-V</B>   reports the version of ncurses which was used in this
+            program, and exits.
 
 
 </PRE>
 <H2>FILES</H2><PRE>
 
 
 </PRE>
 <H2>FILES</H2><PRE>
-       <B>@DATADIR@/terminfo/?/*</B>
+       <B>/usr/share/terminfo/?/*</B>
             Compiled terminal description database.
 
 
             Compiled terminal description database.
 
 
index 606f7770a45968a2b7e4ae01f7a0b86b851540d6..17c55aad6f11001b0ccab10daa2ea7680d971e27 100644 (file)
@@ -5,7 +5,8 @@
 
 </PRE>
 <H2>NAME</H2><PRE>
 
 </PRE>
 <H2>NAME</H2><PRE>
-       <B>tput</B> - initialize a terminal or query terminfo database
+       <B>tput</B>,  <B>reset</B>  -  initialize  a  terminal or query terminfo
+       database
 
 
 </PRE>
 
 
 </PRE>
        <B>tput</B> [<B>-T</B><I>type</I>] <B>reset</B>
        <B>tput</B> [<B>-T</B><I>type</I>] <B>longname</B>
        <B>tput</B> <B>-S</B>  <B>&lt;&lt;</B>
        <B>tput</B> [<B>-T</B><I>type</I>] <B>reset</B>
        <B>tput</B> [<B>-T</B><I>type</I>] <B>longname</B>
        <B>tput</B> <B>-S</B>  <B>&lt;&lt;</B>
+       <B>tput</B> <B>-V</B>
 
 
 </PRE>
 <H2>DESCRIPTION</H2><PRE>
 
 
 </PRE>
 <H2>DESCRIPTION</H2><PRE>
-       The  <B>tput</B>  utility  uses the <B>terminfo</B> database to make the
-       values of terminal-dependent capabilities and  information
+       The <B>tput</B> utility uses the <B>terminfo</B> database  to  make  the
+       values  of terminal-dependent capabilities and information
        available to the shell (see <B><A HREF="sh.1.html">sh(1)</A></B>), to initialize or reset
        available to the shell (see <B><A HREF="sh.1.html">sh(1)</A></B>), to initialize or reset
-       the terminal, or return the long  name  of  the  requested
-       terminal  type.   <B>tput</B>  outputs  a string if the attribute
-       (<I>cap</I>ability <I>name</I>) is of type string, or an integer if  the
+       the  terminal,  or  return  the long name of the requested
+       terminal type.  <B>tput</B> outputs a  string  if  the  attribute
+       (<I>cap</I>ability  <I>name</I>) is of type string, or an integer if the
        attribute is of type integer.  If the attribute is of type
        boolean, <B>tput</B> simply sets the exit code (<B>0</B> for TRUE if the
        attribute is of type integer.  If the attribute is of type
        boolean, <B>tput</B> simply sets the exit code (<B>0</B> for TRUE if the
-       terminal  has the capability, <B>1</B> for FALSE if it does not),
-       and produces no output.  Before using a value returned  on
-       standard  output,  the user should test the exit code [<B>$?</B>,
-       see <B><A HREF="sh.1.html">sh(1)</A></B>] to be sure it is <B>0</B>.  (See the  <B>EXIT</B>  <B>CODES</B>  and
-       <B>DIAGNOSTICS</B>  sections.)   For a complete list of capabili-
-       ties and  the  <I>capname</I>  associated  with  each,  see  <B>ter-</B>
+       terminal has the capability, <B>1</B> for FALSE if it does  not),
+       and  produces no output.  Before using a value returned on
+       standard output, the user should test the exit  code  [<B>$?</B>,
+       see  <B><A HREF="sh.1.html">sh(1)</A></B>]  to  be sure it is <B>0</B>.  (See the <B>EXIT</B> <B>CODES</B> and
+       <B>DIAGNOSTICS</B> sections.)  For a complete list  of  capabili-
+       ties  and  the  <I>capname</I>  associated  with  each,  see <B>ter-</B>
        <B><A HREF="minfo.5.html">minfo(5)</A></B>.
 
        <B><A HREF="minfo.5.html">minfo(5)</A></B>.
 
-       <B>-T</B><I>type</I> indicates  the  <I>type</I>  of  terminal.   Normally this
+       <B>-T</B><I>type</I> indicates the  <I>type</I>  of  terminal.   Normally  this
               option is unnecessary, because the default is taken
               from the environment variable <B>TERM</B>.  If <B>-T</B> is spec-
               option is unnecessary, because the default is taken
               from the environment variable <B>TERM</B>.  If <B>-T</B> is spec-
-              ified, then the shell variables <B>LINES</B>  and  <B>COLUMNS</B>
-              will  be  ignored,and the operating system will not
+              ified,  then  the shell variables <B>LINES</B> and <B>COLUMNS</B>
+              will be ignored,and the operating system  will  not
               be queried for the actual screen size.
 
        <I>capname</I>
               indicates the attribute from the <B>terminfo</B> database.
               be queried for the actual screen size.
 
        <I>capname</I>
               indicates the attribute from the <B>terminfo</B> database.
-              When  <B>termcap</B>  support  is compiled in, the <B>termcap</B>
+              When <B>termcap</B> support is compiled  in,  the  <B>termcap</B>
               name for the attribute is also accepted.
 
        <I>parms</I>  If the attribute is a string that takes parameters,
               name for the attribute is also accepted.
 
        <I>parms</I>  If the attribute is a string that takes parameters,
-              the  arguments  <I>parms</I> will be instantiated into the
-              string.  An all numeric argument will be passed  to
+              the arguments <I>parms</I> will be instantiated  into  the
+              string.   An all numeric argument will be passed to
               the attribute as a number.
 
               the attribute as a number.
 
-       <B>-S</B>     allows  more  than one capability per invocation of
+       <B>-S</B>     allows more than one capability per  invocation  of
               <B>tput</B>.  The capabilities must be passed to <B>tput</B> from
               the standard input instead of from the command line
               <B>tput</B>.  The capabilities must be passed to <B>tput</B> from
               the standard input instead of from the command line
-              (see example).  Only one  <I>capname</I>  is  allowed  per
-              line.   The  <B>-S</B> option changes the meaning of the <B>0</B>
-              and <B>1</B> boolean and string exit codes (see  the  EXIT
+              (see  example).   Only  one  <I>capname</I> is allowed per
+              line.  The <B>-S</B> option changes the meaning of  the  <B>0</B>
+              and  <B>1</B>  boolean and string exit codes (see the EXIT
               CODES section).
 
               CODES section).
 
+       <B>-V</B>     reports the version of ncurses which  was  used  in
+              this program, and exits.
+
        <B>init</B>   If  the  <B>terminfo</B>  database is present and an entry
               for the user's terminal exists (see <B>-T</B><I>type</I>, above),
               the  following will occur: (1) if present, the ter-
        <B>init</B>   If  the  <B>terminfo</B>  database is present and an entry
               for the user's terminal exists (see <B>-T</B><I>type</I>, above),
               the  following will occur: (1) if present, the ter-
               the terminal's description in the <B>terminfo</B> database
               [see <B><A HREF="term.5.html">term(5)</A></B>].
 
               the terminal's description in the <B>terminfo</B> database
               [see <B><A HREF="term.5.html">term(5)</A></B>].
 
+       If  <B>tput</B>  is  invoked  by a link named <B>reset</B>, this has the
+       same effect as <B>tput</B> <B>reset</B>.  See <B>tset</B> for comparison, which
+       has similar behavior.
+
 
 </PRE>
 <H2>EXAMPLES</H2><PRE>
 
 </PRE>
 <H2>EXAMPLES</H2><PRE>
             as the "home" cursor position).
 
        <B>tput</B> <B>clear</B>
             as the "home" cursor position).
 
        <B>tput</B> <B>clear</B>
-            Echo the clear-screen sequence for the current termi-
-            nal.
+            Echo  the  clear-screen  sequence  for  the   current
+            terminal.
 
        <B>tput</B> <B>cols</B>
             Print the number of columns for the current terminal.
 
        <B>tput</B> <B>cols</B>
             Print the number of columns for the current terminal.
        <B>tput</B> <B>-T450</B> <B>cols</B>
             Print the number of columns for the 450 terminal.
 
        <B>tput</B> <B>-T450</B> <B>cols</B>
             Print the number of columns for the 450 terminal.
 
-
        <B>bold=`tput</B> <B>smso`</B> <B>offbold=`tput</B> <B>rmso`</B>
             Set the shell variables <B>bold</B>, to begin stand-out mode
             sequence, and <B>offbold</B>, to end standout mode sequence,
        <B>bold=`tput</B> <B>smso`</B> <B>offbold=`tput</B> <B>rmso`</B>
             Set the shell variables <B>bold</B>, to begin stand-out mode
             sequence, and <B>offbold</B>, to end standout mode sequence,
             the  type  of terminal specified in the environmental
             variable <B>TERM</B>.
 
             the  type  of terminal specified in the environmental
             variable <B>TERM</B>.
 
-       <B>tput</B> <B>-S</B> <B>&lt;&lt;!</B>
-       <B>&gt;</B> <B>clear</B>
-       <B>&gt;</B> <B>cup</B> <B>10</B> <B>10</B>
-       <B>&gt;</B> <B>bold</B>
-       <B>&gt;</B> <B>!</B>
+            <B>tput</B> <B>-S</B> <B>&lt;&lt;!</B>
+            <B>&gt;</B> <B>clear</B>
+            <B>&gt;</B> <B>cup</B> <B>10</B> <B>10</B>
+            <B>&gt;</B> <B>bold</B>
+            <B>&gt;</B> <B>!</B>
 
             This example shows tput processing several  capabili-
             ties  in  one  invocation.   This  example clears the
 
             This example shows tput processing several  capabili-
             ties  in  one  invocation.   This  example clears the
 
 </PRE>
 <H2>FILES</H2><PRE>
 
 </PRE>
 <H2>FILES</H2><PRE>
-       <B>@DATADIR@/terminfo</B>
+       <B>/usr/share/terminfo</B>
               compiled terminal description database
 
        <B>/usr/include/curses.h</B>
               compiled terminal description database
 
        <B>/usr/include/curses.h</B>
        <B>/usr/include/term.h</B>
               <B>terminfo</B> header file
 
        <B>/usr/include/term.h</B>
               <B>terminfo</B> header file
 
-       <B>@DATADIR@/tabset/*</B>
+       <B>/usr/share/tabset/*</B>
               tab settings for some terminals, in a format appro-
               priate   to  be  output  to  the  terminal  (escape
               sequences that set  margins  and  tabs);  for  more
               tab settings for some terminals, in a format appro-
               priate   to  be  output  to  the  terminal  (escape
               sequences that set  margins  and  tabs);  for  more
        responding exit codes.
 
        exit code   error message
        responding exit codes.
 
        exit code   error message
-       <B>0</B>           (<I>capname</I> is a numeric variable that is not specified in the
-                   <B><A HREF="terminfo.5.html">terminfo(5)</A></B> database for this terminal type, e.g.
+       ---------------------------------------------------------------------
+       <B>0</B>           (<I>capname</I> is a numeric variable that is not specified  in
+                   the  <B><A HREF="terminfo.5.html">terminfo(5)</A></B>  database  for this terminal type, e.g.
                    <B>tput</B> <B>-T450</B> <B>lines</B> and <B>tput</B> <B>-T2621</B> <B>xmc</B>)
        <B>1</B>           no error message is printed, see the <B>EXIT</B> <B>CODES</B> section.
        <B>2</B>           usage error
        <B>3</B>           unknown terminal <I>type</I> or no <B>terminfo</B> database
        <B>4</B>           unknown <B>terminfo</B> capability <I>capname</I>
                    <B>tput</B> <B>-T450</B> <B>lines</B> and <B>tput</B> <B>-T2621</B> <B>xmc</B>)
        <B>1</B>           no error message is printed, see the <B>EXIT</B> <B>CODES</B> section.
        <B>2</B>           usage error
        <B>3</B>           unknown terminal <I>type</I> or no <B>terminfo</B> database
        <B>4</B>           unknown <B>terminfo</B> capability <I>capname</I>
+       ---------------------------------------------------------------------
 
 
 </PRE>
 
 
 </PRE>
        tion  features  used in the <B>cup</B> example, are not supported
        in BSD curses or in AT&amp;T/USL curses before SVr4.
 
        tion  features  used in the <B>cup</B> example, are not supported
        in BSD curses or in AT&amp;T/USL curses before SVr4.
 
-
-
-
-
-
-
-
-
-
-
 </PRE>
 <HR>
 <ADDRESS>
 </PRE>
 <HR>
 <ADDRESS>
index aebef36bf83ca433853b09d4352bca6cd2a6b0cd..635ddd5335a0a73af26cfeeb3840b64ea90f50ca 100644 (file)
@@ -5,14 +5,14 @@
 
 </PRE>
 <H2>NAME</H2><PRE>
 
 </PRE>
 <H2>NAME</H2><PRE>
-       <B>tset</B> - terminal initialization
+       <B>tset</B>, <B>reset</B> - terminal initialization
 
 
 </PRE>
 <H2>SYNOPSIS</H2><PRE>
 
 
 </PRE>
 <H2>SYNOPSIS</H2><PRE>
-       tset  [-IQqrs]  [-]  [-e  <I>ch</I>] [-i <I>ch</I>] [-k <I>ch</I>] [-m <I>mapping</I>]
+       tset  [-IQVqrs]  [-]  [-e <I>ch</I>] [-i <I>ch</I>] [-k <I>ch</I>] [-m <I>mapping</I>]
        [<I>terminal</I>]
        [<I>terminal</I>]
-       reset [-IQqrs] [-] [-e <I>ch</I>] [-i <I>ch</I>] [-k  <I>ch</I>]  [-m  <I>mapping</I>]
+       reset [-IQVqrs] [-] [-e <I>ch</I>] [-i <I>ch</I>] [-k <I>ch</I>]  [-m  <I>mapping</I>]
        [<I>terminal</I>]
 
 
        [<I>terminal</I>]
 
 
        -I   Do  not  send  the  terminal  or  tab  initialization
             strings to the terminal.
 
        -I   Do  not  send  the  terminal  or  tab  initialization
             strings to the terminal.
 
+       -Q   Don't display any values for the erase, interrupt and
+            line kill characters.
+
+       <B>-V</B>   reports the version of ncurses which was used in this
+            program, and exits.
+
        -i   Set the interrupt character to <I>ch</I>.
 
        -k   Set the line kill character to <I>ch</I>.
        -i   Set the interrupt character to <I>ch</I>.
 
        -k   Set the line kill character to <I>ch</I>.
        -m   Specify a mapping from a port  type  to  a  terminal.
             See below for more information.
 
        -m   Specify a mapping from a port  type  to  a  terminal.
             See below for more information.
 
-       -Q   Don't display any values for the erase, interrupt and
-            line kill characters.
-
        -r   Print the terminal type to the standard error output.
 
        -r   Print the terminal type to the standard error output.
 
-       -s   Print  the  sequence  of shell commands to initialize
+       -s   Print the sequence of shell  commands  to  initialize
             the environment variable <B>TERM</B> to the standard output.
             the environment variable <B>TERM</B> to the standard output.
-            See  the section below on setting the environment for
+            See the section below on setting the environment  for
             details.
 
        The arguments for the -e, -i, and -k options may either be
             details.
 
        The arguments for the -e, -i, and -k options may either be
-       entered  as  actual characters or by using the `hat' nota-
+       entered as actual characters or by using the  `hat'  nota-
        tion, i.e. control-h may be specified as ``^H'' or ``^h''.
 
 
 </PRE>
 <H2>SETTING THE ENVIRONMENT</H2><PRE>
        tion, i.e. control-h may be specified as ``^H'' or ``^h''.
 
 
 </PRE>
 <H2>SETTING THE ENVIRONMENT</H2><PRE>
-       It  is  often  desirable  to  enter  the terminal type and
-       information about the  terminal's  capabilities  into  the
+       It is often desirable  to  enter  the  terminal  type  and
+       information  about  the  terminal's  capabilities into the
        shell's environment.  This is done using the -s option.
 
        When the -s option is specified, the commands to enter the
        shell's environment.  This is done using the -s option.
 
        When the -s option is specified, the commands to enter the
-       information into the shell's environment  are  written  to
-       the  standard output.  If the <B>SHELL</B> environmental variable
+       information  into  the  shell's environment are written to
+       the standard output.  If the <B>SHELL</B> environmental  variable
        ends in ``csh'', the commands are for <B>csh</B>, otherwise, they
        ends in ``csh'', the commands are for <B>csh</B>, otherwise, they
-       are  for  <B>sh</B>.   Note,  the  <B>csh</B> commands set and unset the
-       shell variable <B>noglob</B>, leaving it  unset.   The  following
-       line  in  the <B>.login</B> or <B>.profile</B> files will initialize the
+       are for <B>sh</B>.  Note, the <B>csh</B>  commands  set  and  unset  the
+       shell  variable  <B>noglob</B>,  leaving it unset.  The following
+       line in the <B>.login</B> or <B>.profile</B> files will  initialize  the
        environment correctly:
 
            eval `tset -s options ... `
        environment correctly:
 
            eval `tset -s options ... `
 <H2>TERMINAL TYPE MAPPING</H2><PRE>
        When the terminal is not hardwired into the system (or the
        current system information is incorrect) the terminal type
 <H2>TERMINAL TYPE MAPPING</H2><PRE>
        When the terminal is not hardwired into the system (or the
        current system information is incorrect) the terminal type
-       derived from the <I>/etc/ttys</I> file or the <B>TERM</B>  environmental
-       variable  is often something generic like <B>network</B>, <B>dialup</B>,
-       or <B>unknown</B>.  When <B>tset</B> is used in a startup script  it  is
-       often  desirable  to provide information about the type of
+       derived  from the <I>/etc/ttys</I> file or the <B>TERM</B> environmental
+       variable is often something generic like <B>network</B>,  <B>dialup</B>,
+       or  <B>unknown</B>.   When <B>tset</B> is used in a startup script it is
+       often desirable to provide information about the  type  of
        terminal used on such ports.
 
        terminal used on such ports.
 
-       The purpose of the -m option is to map from  some  set  of
-       conditions  to a terminal type, that is, to tell <B>tset</B> ``If
-       I'm on this port at a particular speed, guess that I'm  on
+       The  purpose  of  the -m option is to map from some set of
+       conditions to a terminal type, that is, to tell <B>tset</B>  ``If
+       I'm  on this port at a particular speed, guess that I'm on
        that kind of terminal''.
 
        The argument to the -m option consists of an optional port
        type, an optional operator, an optional baud rate specifi-
        cation, an optional colon (``:'') character and a terminal
        that kind of terminal''.
 
        The argument to the -m option consists of an optional port
        type, an optional operator, an optional baud rate specifi-
        cation, an optional colon (``:'') character and a terminal
-       type.  The port type is a string (delimited by either  the
+       type.   The port type is a string (delimited by either the
        operator or the colon character).  The operator may be any
        combination of ``&gt;'', ``&lt;'', ``@'', and ``!''; ``&gt;'' means
        operator or the colon character).  The operator may be any
        combination of ``&gt;'', ``&lt;'', ``@'', and ``!''; ``&gt;'' means
-       greater  than, ``&lt;'' means less than, ``@'' means equal to
+       greater than, ``&lt;'' means less than, ``@'' means equal  to
        and ``!'' inverts the sense of the test.  The baud rate is
        and ``!'' inverts the sense of the test.  The baud rate is
-       specified  as  a  number and is compared with the speed of
-       the standard error output (which  should  be  the  control
+       specified as a number and is compared with  the  speed  of
+       the  standard  error  output  (which should be the control
        terminal).  The terminal type is a string.
 
        If the terminal type is not specified on the command line,
        terminal).  The terminal type is a string.
 
        If the terminal type is not specified on the command line,
-       the -m mappings are applied to the terminal type.  If  the
-       port  type  and  baud rate match the mapping, the terminal
-       type specified in the mapping replaces the  current  type.
-       If  more than one mapping is specified, the first applica-
+       the  -m mappings are applied to the terminal type.  If the
+       port type and baud rate match the  mapping,  the  terminal
+       type  specified  in the mapping replaces the current type.
+       If more than one mapping is specified, the first  applica-
        ble mapping is used.
 
        ble mapping is used.
 
-       For   example,    consider    the    following    mapping:
+       For    example,    consider    the    following   mapping:
        <B>dialup&gt;9600:vt100</B>.  The port type is dialup , the operator
        <B>dialup&gt;9600:vt100</B>.  The port type is dialup , the operator
-       is &gt;, the baud rate specification is 9600, and the  termi-
+       is  &gt;, the baud rate specification is 9600, and the termi-
        nal type is vt100.  The result of this mapping is to spec-
        ify that if the terminal type is <B>dialup</B>, and the baud rate
        nal type is vt100.  The result of this mapping is to spec-
        ify that if the terminal type is <B>dialup</B>, and the baud rate
-       is  greater  than 9600 baud, a terminal type of <B>vt100</B> will
+       is greater than 9600 baud, a terminal type of  <B>vt100</B>  will
        be used.
 
        If no baud rate is specified, the terminal type will match
        any baud rate.  If no port type is specified, the terminal
        be used.
 
        If no baud rate is specified, the terminal type will match
        any baud rate.  If no port type is specified, the terminal
-       type  will  match  any  port  type.    For   example,   <B>-m</B>
+       type   will   match   any  port  type.   For  example,  <B>-m</B>
        <B>dialup:vt100</B>  <B>-m</B>  <B>:?xterm</B>  will  cause  any  dialup  port,
        regardless of baud rate, to match the terminal type vt100,
        <B>dialup:vt100</B>  <B>-m</B>  <B>:?xterm</B>  will  cause  any  dialup  port,
        regardless of baud rate, to match the terminal type vt100,
-       and  any  non-dialup  port type to match the terminal type
-       ?xterm.  Note, because of the leading question  mark,  the
-       user  will be queried on a default port as to whether they
+       and any non-dialup port type to match  the  terminal  type
+       ?xterm.   Note,  because of the leading question mark, the
+       user will be queried on a default port as to whether  they
        are actually using an xterm terminal.
 
        are actually using an xterm terminal.
 
-       No whitespace characters are permitted in  the  -m  option
-       argument.   Also,  to avoid problems with meta-characters,
-       it is suggested that the  entire  -m  option  argument  be
-       placed  within single quote characters, and that <B>csh</B> users
-       insert a backslash character (``\'') before  any  exclama-
+       No  whitespace  characters  are permitted in the -m option
+       argument.  Also, to avoid problems  with  meta-characters,
+       it  is  suggested  that  the  entire -m option argument be
+       placed within single quote characters, and that <B>csh</B>  users
+       insert  a  backslash character (``\'') before any exclama-
        tion marks (``!'').
 
 
 </PRE>
 <H2>HISTORY</H2><PRE>
        tion marks (``!'').
 
 
 </PRE>
 <H2>HISTORY</H2><PRE>
-       The  <B>tset</B> command appeared in BSD 3.0.  The <B>ncurses</B> imple-
-       mentation was lightly adapted from the 4.4BSD sources  for
+       The <B>tset</B> command appeared in BSD 3.0.  The <B>ncurses</B>  imple-
+       mentation  was lightly adapted from the 4.4BSD sources for
        a terminfo environment by Eric S. Raymond &lt;esr@snark.thyr-
        sus.com&gt;.
 
 
 </PRE>
 <H2>COMPATIBILITY</H2><PRE>
        a terminfo environment by Eric S. Raymond &lt;esr@snark.thyr-
        sus.com&gt;.
 
 
 </PRE>
 <H2>COMPATIBILITY</H2><PRE>
-       The <B>tset</B> utility has been provided  for  backward-compati-
-       bility  with  BSD  environments (under most modern UNIXes,
-       <B>/etc/inittab</B> and <B><A HREF="getty.1.html">getty(1)</A></B> can set <B>TERM</B>  appropriately  for
-       each  dial-up  line;  this  obviates  what was <B>tset</B>'s most
-       important use).  This implementation behaves  like  4.4BSD
+       The  <B>tset</B>  utility has been provided for backward-compati-
+       bility with BSD environments (under  most  modern  UNIXes,
+       <B>/etc/inittab</B>  and  <B><A HREF="getty.1.html">getty(1)</A></B> can set <B>TERM</B> appropriately for
+       each dial-up line; this  obviates  what  was  <B>tset</B>'s  most
+       important  use).   This implementation behaves like 4.4BSD
        tset, with a few exceptions specified here.
 
        tset, with a few exceptions specified here.
 
-       The  -S  option  of BSD tset no longer works; it prints an
+       The -S option of BSD tset no longer works;  it  prints  an
        error message to stderr and dies.  The -s option only sets
        error message to stderr and dies.  The -s option only sets
-       <B>TERM</B>,  not  <B>TERMCAP</B>.   Both  these changes are because the
-       <B>TERMCAP</B> variable is no longer  supported  under  terminfo-
+       <B>TERM</B>, not <B>TERMCAP</B>.  Both these  changes  are  because  the
+       <B>TERMCAP</B>  variable  is  no longer supported under terminfo-
        based <B>ncurses</B>, which makes <B>tset</B> <B>-S</B> useless (we made it die
        noisily rather than silently induce lossage).
 
        based <B>ncurses</B>, which makes <B>tset</B> <B>-S</B> useless (we made it die
        noisily rather than silently induce lossage).
 
-       There was an undocumented  4.4BSD  feature  that  invoking
+       There  was  an  undocumented  4.4BSD feature that invoking
        tset via a link named `TSET` (or via any other name begin-
        tset via a link named `TSET` (or via any other name begin-
-       ning with an upper-case letter) set the  terminal  to  use
+       ning  with  an  upper-case letter) set the terminal to use
        upper-case only.  This feature has been omitted.
 
        upper-case only.  This feature has been omitted.
 
-       The  -A,  -E,  -h, -u and -v options were deleted from the
-       <B>tset</B> utility in 4.4BSD. None of them  were  documented  in
+       The -A, -E, -h, -u and -v options were  deleted  from  the
+       <B>tset</B>  utility  in  4.4BSD. None of them were documented in
        4.3BSD and all are of limited utility at best. The -a, -d,
        and -p options are similarly not documented or useful, but
        4.3BSD and all are of limited utility at best. The -a, -d,
        and -p options are similarly not documented or useful, but
-       were  retained as they appear to be in widespread use.  It
-       is strongly recommended that  any  usage  of  these  three
-       options  be  changed to use the -m option instead.  The -n
-       option remains, but has no effect.  The -adnp options  are
+       were retained as they appear to be in widespread use.   It
+       is  strongly  recommended  that  any  usage of these three
+       options be changed to use the -m option instead.   The  -n
+       option  remains, but has no effect.  The -adnp options are
        therefore omitted from the usage summary above.
 
        therefore omitted from the usage summary above.
 
-       It  is  still  permissible  to  specify the -e, -i, and -k
-       options without arguments, although it is strongly  recom-
-       mended  that such usage be fixed to explicitly specify the
+       It is still permissible to specify  the  -e,  -i,  and  -k
+       options  without arguments, although it is strongly recom-
+       mended that such usage be fixed to explicitly specify  the
        character.
 
        character.
 
-       As of 4.4BSD, executing <B>tset</B> as <B>reset</B>  no  longer  implies
+       As  of  4.4BSD,  executing <B>tset</B> as <B>reset</B> no longer implies
        the -Q option.  Also, the interaction between the - option
        and the <I>terminal</I> argument in some historic implementations
        of <B>tset</B> has been removed.
 
 
        the -Q option.  Also, the interaction between the - option
        and the <I>terminal</I> argument in some historic implementations
        of <B>tset</B> has been removed.
 
 
+
 </PRE>
 <H2>ENVIRONMENT</H2><PRE>
        The <B>tset</B> command uses the <B>SHELL</B> and <B>TERM</B> environment vari-
 </PRE>
 <H2>ENVIRONMENT</H2><PRE>
        The <B>tset</B> command uses the <B>SHELL</B> and <B>TERM</B> environment vari-
 </PRE>
 <H2>FILES</H2><PRE>
        /etc/ttys
 </PRE>
 <H2>FILES</H2><PRE>
        /etc/ttys
-            system port name to terminal  type  mapping  database
+            system  port  name  to terminal type mapping database
             (BSD versions only).
 
             (BSD versions only).
 
-       @DATADIR@/terminfo
+       /usr/share/terminfo
             terminal capability database
 
 
             terminal capability database
 
 
 
 
 
 
 
 
-
-
-
-
 
 
 
 
 
 
index dd65638af9c8e964759468f251e4d1b46d42ac4f..7d9f20fd6ac07ba277755fe77e4672f73dc5a29f 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.28 2000/05/28 01:40:18 tom Exp $
+# $Id: Makefile.in,v 1.31 2000/10/14 17:57:02 Johnny.C.Lam Exp $
 ##############################################################################
 # Copyright (c) 1998-2000 Free Software Foundation, Inc.                     #
 #                                                                            #
 ##############################################################################
 # Copyright (c) 1998-2000 Free Software Foundation, Inc.                     #
 #                                                                            #
@@ -46,13 +46,15 @@ SHELL               = /bin/sh
 THIS           = Makefile
 
 MODEL          = @DFT_LWR_MODEL@
 THIS           = Makefile
 
 MODEL          = @DFT_LWR_MODEL@
-INSTALL_PREFIX = @INSTALL_PREFIX@
+DESTDIR                = @DESTDIR@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
 libdir         = @libdir@
 includedir     = @includedir@
 
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
 libdir         = @libdir@
 includedir     = @includedir@
 
+LIBTOOL                = @LIBTOOL@
+
 INSTALL                = @INSTALL@
 INSTALL_LIB    = @INSTALL@ @INSTALL_LIB@
 INSTALL_DATA   = @INSTALL_DATA@
 INSTALL                = @INSTALL@
 INSTALL_LIB    = @INSTALL@ @INSTALL_LIB@
 INSTALL_DATA   = @INSTALL_DATA@
@@ -72,6 +74,7 @@ CPPFLAGS      = @CPPFLAGS@ \
 
 CCFLAGS                = $(CPPFLAGS) $(CFLAGS)
 
 
 CCFLAGS                = $(CPPFLAGS) $(CFLAGS)
 
+CFLAGS_LIBTOOL = $(CCFLAGS)
 CFLAGS_NORMAL  = $(CCFLAGS)
 CFLAGS_DEBUG   = $(CCFLAGS) @CC_G_OPT@ -DTRACE
 CFLAGS_PROFILE = $(CCFLAGS) -pg
 CFLAGS_NORMAL  = $(CCFLAGS)
 CFLAGS_DEBUG   = $(CCFLAGS) @CC_G_OPT@ -DTRACE
 CFLAGS_PROFILE = $(CCFLAGS) -pg
@@ -79,7 +82,7 @@ CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
 
 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
 
 
 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
 
-LINK           = $(CC)
+LINK           = $(LIBTOOL) $(CC)
 LDFLAGS                = @LDFLAGS@ @LD_MODEL@ @LIBS@
 
 SHLIB_DIRS     = -L../lib -L$(libdir)
 LDFLAGS                = @LDFLAGS@ @LD_MODEL@ @LIBS@
 
 SHLIB_DIRS     = -L../lib -L$(libdir)
@@ -87,6 +90,8 @@ SHLIB_LIST    = $(SHLIB_DIRS) -lncurses@LIB_SUFFIX@ @SHLIB_LIST@
 
 MK_SHARED_LIB  = @MK_SHARED_LIB@
 
 
 MK_SHARED_LIB  = @MK_SHARED_LIB@
 
+NCURSES_MAJOR  = @NCURSES_MAJOR@
+NCURSES_MINOR  = @NCURSES_MINOR@
 REL_VERSION    = @cf_cv_rel_version@
 ABI_VERSION    = @cf_cv_abi_version@
 
 REL_VERSION    = @cf_cv_rel_version@
 ABI_VERSION    = @cf_cv_abi_version@
 
@@ -108,7 +113,7 @@ install ::  $(AUTO_SRC) $(LIBRARIES)
 
 sources :      $(AUTO_SRC)
 
 
 sources :      $(AUTO_SRC)
 
-$(INSTALL_PREFIX)$(libdir) :
+$(DESTDIR)$(libdir) :
        $(srcdir)/../mkinstalldirs $@
 
 # make copies to simplify include-paths while still keeping form's include
        $(srcdir)/../mkinstalldirs $@
 
 # make copies to simplify include-paths while still keeping form's include
@@ -127,8 +132,8 @@ FORM_PRIV_H = \
 tags:
        ctags *.[ch]
 
 tags:
        ctags *.[ch]
 
-TAGS:
-       etags *.[ch]
+@MAKE_UPPER_TAGS@TAGS:
+@MAKE_UPPER_TAGS@      etags *.[ch]
 
 mostlyclean ::
        -rm -f core tags TAGS *~ *.ln *.atac trace
 
 mostlyclean ::
        -rm -f core tags TAGS *~ *.ln *.atac trace
index 701d80f81f1120217a9c92c4b0ca942bbe9c2fd5..4ad69fb50a7db5606e14ec05e9e442cc6a41fd24 100644 (file)
@@ -13,7 +13,7 @@
 
 #include "form.priv.h"
 
 
 #include "form.priv.h"
 
-MODULE_ID("$Id: fty_enum.c,v 1.11 2000/03/19 01:09:56 Bruno.Haible Exp $")
+MODULE_ID("$Id: fty_enum.c,v 1.14 2000/10/18 09:28:19 juergen Exp $")
 
 typedef struct {
   char **kwds;
 
 typedef struct {
   char **kwds;
@@ -33,20 +33,21 @@ typedef struct {
 static void *Make_Enum_Type(va_list * ap)
 {
   enumARG *argp = (enumARG *)malloc(sizeof(enumARG));
 static void *Make_Enum_Type(va_list * ap)
 {
   enumARG *argp = (enumARG *)malloc(sizeof(enumARG));
-  char **kp;
-  int cnt=0;
 
   if (argp)
     {
 
   if (argp)
     {
+      int cnt = 0;
+      char **kp = (char **)0;
       int ccase, cunique;
       int ccase, cunique;
+
       argp->kwds        = va_arg(*ap,char **);
       ccase             = va_arg(*ap,int);
       cunique           = va_arg(*ap,int);
       argp->checkcase   = ccase   ? TRUE : FALSE;
       argp->checkunique = cunique ? TRUE : FALSE;
       argp->kwds        = va_arg(*ap,char **);
       ccase             = va_arg(*ap,int);
       cunique           = va_arg(*ap,int);
       argp->checkcase   = ccase   ? TRUE : FALSE;
       argp->checkunique = cunique ? TRUE : FALSE;
-    
+
       kp = argp->kwds;
       kp = argp->kwds;
-      while( (*kp++) ) cnt++;
+      while( kp && (*kp++) ) cnt++;
       argp->count = cnt;
     }
   return (void *)argp;
       argp->count = cnt;
     }
   return (void *)argp;
@@ -62,11 +63,12 @@ static void *Make_Enum_Type(va_list * ap)
 +--------------------------------------------------------------------------*/
 static void *Copy_Enum_Type(const void * argp)
 {
 +--------------------------------------------------------------------------*/
 static void *Copy_Enum_Type(const void * argp)
 {
-  const enumARG *ap = (const enumARG *)argp;
   enumARG *result = (enumARG *)0;
 
   if (argp)
     {
   enumARG *result = (enumARG *)0;
 
   if (argp)
     {
+      const enumARG *ap = (const enumARG *)argp;
+
       result = (enumARG *)malloc(sizeof(enumARG));
       if (result)
        *result = *ap;
       result = (enumARG *)malloc(sizeof(enumARG));
       if (result)
        *result = *ap;
@@ -165,14 +167,14 @@ static bool Check_Enum_Field(FIELD * field, const void  * argp)
   char *s, *t, *p;
   int res;
   
   char *s, *t, *p;
   int res;
   
-  while( (s=(*kwds++)) )
+  while( kwds && (s=(*kwds++)) )
     {
       if ((res=Compare((unsigned char *)s,bp,ccase))!=NOMATCH)
        {
          p=t=s; /* t is at least a partial match */
          if ((unique && res!=EXACT)) 
            {
     {
       if ((res=Compare((unsigned char *)s,bp,ccase))!=NOMATCH)
        {
          p=t=s; /* t is at least a partial match */
          if ((unique && res!=EXACT)) 
            {
-             while( (p = *kwds++) )
+             while( kwds && (p = *kwds++) )
                {
                  if ((res=Compare((unsigned char *)p,bp,ccase))!=NOMATCH)
                    {
                {
                  if ((res=Compare((unsigned char *)p,bp,ccase))!=NOMATCH)
                    {
@@ -218,18 +220,20 @@ static bool Next_Enum(FIELD * field, const void * argp)
   int cnt           = args->count;
   unsigned char *bp = (unsigned char *)field_buffer(field,0);
 
   int cnt           = args->count;
   unsigned char *bp = (unsigned char *)field_buffer(field,0);
 
-  while(cnt--)
-    {
-      if (Compare((unsigned char *)(*kwds++),bp,ccase)==EXACT) 
-       break;
-    }
-  if (cnt<=0)
-    kwds = args->kwds;
-  if ((cnt>=0) || (Compare((const unsigned char *)dummy,bp,ccase)==EXACT))
-    {
-      set_field_buffer(field,0,*kwds);
-      return TRUE;
-    }
+  if (kwds) {
+    while(cnt--)
+      {
+       if (Compare((unsigned char *)(*kwds++),bp,ccase)==EXACT) 
+         break;
+      }
+    if (cnt<=0)
+      kwds = args->kwds;
+    if ((cnt>=0) || (Compare((const unsigned char *)dummy,bp,ccase)==EXACT))
+      {
+       set_field_buffer(field,0,*kwds);
+       return TRUE;
+      }
+  }
   return FALSE;
 }
 
   return FALSE;
 }
 
@@ -252,20 +256,22 @@ static bool Previous_Enum(FIELD * field, const void * argp)
   bool ccase    = args->checkcase;
   unsigned char *bp = (unsigned char *)field_buffer(field,0);
 
   bool ccase    = args->checkcase;
   unsigned char *bp = (unsigned char *)field_buffer(field,0);
 
-  while(cnt--)
-    {
-      if (Compare((unsigned char *)(*kwds--),bp,ccase)==EXACT) 
-       break;
-    }
-
-  if (cnt<=0)
-    kwds  = &args->kwds[args->count-1];
-
-  if ((cnt>=0) || (Compare((const unsigned char *)dummy,bp,ccase)==EXACT))
-    {
-      set_field_buffer(field,0,*kwds);
-      return TRUE;
-    }
+  if (kwds) {
+    while(cnt--)
+      {
+       if (Compare((unsigned char *)(*kwds--),bp,ccase)==EXACT) 
+         break;
+      }
+    
+    if (cnt<=0)
+      kwds  = &args->kwds[args->count-1];
+    
+    if ((cnt>=0) || (Compare((const unsigned char *)dummy,bp,ccase)==EXACT))
+      {
+       set_field_buffer(field,0,*kwds);
+       return TRUE;
+      }
+  }
   return FALSE;
 }
 
   return FALSE;
 }
 
index 8e4435cc2b38e1209a4b126e753f4ee13f682968..b12370f032abdb90a1d0bfa3ec0dd5ec80bcfe6f 100644 (file)
@@ -29,7 +29,7 @@
 # Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995
 #    and: Eric S. Raymond <esr@snark.thyrsus.com>
 #
 # Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995
 #    and: Eric S. Raymond <esr@snark.thyrsus.com>
 #
-# $Id: Caps,v 1.25 1999/11/27 20:13:55 tom Exp $
+# $Id: Caps,v 1.30 2000/10/14 17:36:14 tom Exp $
 #
 # This is the master termcap/terminfo capability table.
 #
 #
 # This is the master termcap/terminfo capability table.
 #
@@ -334,7 +334,7 @@ cursor_down         cud1    str     do      YBCGE   down one line
 cursor_home            home    str     ho      YBCGE   home cursor (if no cup)
 cursor_invisible       civis   str     vi      YB-G-   make cursor invisible
 cursor_left            cub1    str     le      YBCGE   move left one space
 cursor_home            home    str     ho      YBCGE   home cursor (if no cup)
 cursor_invisible       civis   str     vi      YB-G-   make cursor invisible
 cursor_left            cub1    str     le      YBCGE   move left one space
-cursor_mem_address     mrcup   str     CM      YB-G-   memory relative cursor addressing
+cursor_mem_address     mrcup   str     CM      YB-G-   memory relative cursor addressing, move to row #1 columns #2
 cursor_normal          cnorm   str     ve      YBCGE   make cursor appear normal (undo civis/cvvis)
 cursor_right           cuf1    str     nd      YBCGE   non-destructive space (move right one space)
 cursor_to_ll           ll      str     ll      YBCGE   last line, first column (if no cup)
 cursor_normal          cnorm   str     ve      YBCGE   make cursor appear normal (undo civis/cvvis)
 cursor_right           cuf1    str     nd      YBCGE   non-destructive space (move right one space)
 cursor_to_ll           ll      str     ll      YBCGE   last line, first column (if no cup)
@@ -454,7 +454,7 @@ set_attributes              sgr     str     sa      YB-G-   define video attributes #1-#9 (PG9)
 set_tab                hts     str     st      YB-G-   set a tab in every row, current columns
 set_window             wind    str     wi      -B-GE   current window is lines #1-#2 cols #3-#4
 tab                    ht      str     ta      YBCGE   tab to next 8-space hardware tab stop
 set_tab                hts     str     st      YB-G-   set a tab in every row, current columns
 set_window             wind    str     wi      -B-GE   current window is lines #1-#2 cols #3-#4
 tab                    ht      str     ta      YBCGE   tab to next 8-space hardware tab stop
-to_status_line         tsl     str     ts      YB-G-   move to status line
+to_status_line         tsl     str     ts      YB-G-   move to status line, column #1
 underline_char         uc      str     uc      YBCG-   underline char and move past it
 up_half_line           hu      str     hu      YB-G-   half a line up
 init_prog              iprog   str     iP      -B---   path name of program for initialization
 underline_char         uc      str     uc      YBCG-   underline char and move past it
 up_half_line           hu      str     hu      YB-G-   half a line up
 init_prog              iprog   str     iP      -B---   path name of program for initialization
@@ -594,11 +594,11 @@ key_f62           kf62    str     Fq      ----E   F62 function key
 key_f63                kf63    str     Fr      ----E   F63 function key
 clr_bol                el1     str     cb      -----   Clear to beginning of line
 clear_margins          mgc     str     MC      -----   clear right and left soft margins
 key_f63                kf63    str     Fr      ----E   F63 function key
 clr_bol                el1     str     cb      -----   Clear to beginning of line
 clear_margins          mgc     str     MC      -----   clear right and left soft margins
-set_left_margin        smgl    str     ML      -----   set left soft margin at current column
+set_left_margin        smgl    str     ML      -----   set left soft margin at current column.  See smgl. (ML is not in BSD termcap).
 set_right_margin       smgr    str     MR      -----   set right soft margin at current column
 label_format           fln     str     Lf      -----   label format
 set_clock              sclk    str     SC      -----   set clock, #1 hrs #2 mins #3 secs
 set_right_margin       smgr    str     MR      -----   set right soft margin at current column
 label_format           fln     str     Lf      -----   label format
 set_clock              sclk    str     SC      -----   set clock, #1 hrs #2 mins #3 secs
-display_clock          dclk    str     DK      -----   display clock at (#1,#2)
+display_clock          dclk    str     DK      -----   display clock
 remove_clock           rmclk   str     RC      -----   remove clock
 create_window          cwin    str     CW      -----   define a window #1 from #2,#3 to #4,#5
 goto_window            wingo   str     WG      -----   go to window #1
 remove_clock           rmclk   str     RC      -----   remove clock
 create_window          cwin    str     CW      -----   define a window #1 from #2,#3 to #4,#5
 goto_window            wingo   str     WG      -----   go to window #1
@@ -633,11 +633,11 @@ set_background    setb    str     Sb      -----   Set background color #1
 #
 # SVr4 added these capabilities to support printers
 #
 #
 # SVr4 added these capabilities to support printers
 #
-change_char_pitch      cpi     str     ZA      -----   Change number of characters per inch
-change_line_pitch      lpi     str     ZB      -----   Change number of lines per inch
-change_res_horz        chr     str     ZC      -----   Change horizontal resolution
-change_res_vert        cvr     str     ZD      -----   Change vertical resolution
-define_char            defc    str     ZE      -----   Define a character
+change_char_pitch      cpi     str     ZA      -----   Change number of characters per inch to #1
+change_line_pitch      lpi     str     ZB      -----   Change number of lines per inch to #1
+change_res_horz        chr     str     ZC      -----   Change horizontal resolution to #1
+change_res_vert        cvr     str     ZD      -----   Change vertical resolution to #1
+define_char            defc    str     ZE      -----   Define a character #1, #2 dots wide, descender #3
 enter_doublewide_mode  swidm   str     ZF      -----   Enter double-wide mode
 enter_draft_quality    sdrfq   str     ZG      -----   Enter draft-quality mode
 enter_italics_mode     sitm    str     ZH      -----   Enter italic mode
 enter_doublewide_mode  swidm   str     ZF      -----   Enter double-wide mode
 enter_draft_quality    sdrfq   str     ZG      -----   Enter draft-quality mode
 enter_italics_mode     sitm    str     ZH      -----   Enter italic mode
@@ -661,24 +661,24 @@ micro_column_address      mhpa    str     ZY      -----   Like column_address in micro mode
 micro_down             mcud1   str     ZZ      -----   Like cursor_down in micro mode
 micro_left             mcub1   str     Za      -----   Like cursor_left in micro mode
 micro_right            mcuf1   str     Zb      -----   Like cursor_right in micro mode
 micro_down             mcud1   str     ZZ      -----   Like cursor_down in micro mode
 micro_left             mcub1   str     Za      -----   Like cursor_left in micro mode
 micro_right            mcuf1   str     Zb      -----   Like cursor_right in micro mode
-micro_row_address      mvpa    str     Zc      -----   Like row_address in micro mode
+micro_row_address      mvpa    str     Zc      -----   Like row_address #1 in micro mode
 micro_up               mcuu1   str     Zd      -----   Like cursor_up in micro mode
 order_of_pins          porder  str     Ze      -----   Match software bits to print-head pins
 parm_down_micro        mcud    str     Zf      -----   Like parm_down_cursor in micro mode
 parm_left_micro        mcub    str     Zg      -----   Like parm_left_cursor in micro mode
 parm_right_micro       mcuf    str     Zh      -----   Like parm_right_cursor in micro mode
 parm_up_micro          mcuu    str     Zi      -----   Like parm_up_cursor in micro mode
 micro_up               mcuu1   str     Zd      -----   Like cursor_up in micro mode
 order_of_pins          porder  str     Ze      -----   Match software bits to print-head pins
 parm_down_micro        mcud    str     Zf      -----   Like parm_down_cursor in micro mode
 parm_left_micro        mcub    str     Zg      -----   Like parm_left_cursor in micro mode
 parm_right_micro       mcuf    str     Zh      -----   Like parm_right_cursor in micro mode
 parm_up_micro          mcuu    str     Zi      -----   Like parm_up_cursor in micro mode
-select_char_set        scs     str     Zj      -----   Select character set
+select_char_set        scs     str     Zj      -----   Select character set, #1
 set_bottom_margin      smgb    str     Zk      -----   Set bottom margin at current line
 set_bottom_margin      smgb    str     Zk      -----   Set bottom margin at current line
-set_bottom_margin_parm smgbp   str     Zl      -----   Set bottom margin at line #1 or #2 lines from bottom
-set_left_margin_parm   smglp   str     Zm      -----   Set left (right) margin at column #1 (#2)
+set_bottom_margin_parm smgbp   str     Zl      -----   Set bottom margin at line #1 or (if smgtp is not given) #2 lines from bottom
+set_left_margin_parm   smglp   str     Zm      -----   Set left (right) margin at column #1
 set_right_margin_parm  smgrp   str     Zn      -----   Set right margin at column #1
 set_top_margin         smgt    str     Zo      -----   Set top margin at current line
 set_right_margin_parm  smgrp   str     Zn      -----   Set right margin at column #1
 set_top_margin         smgt    str     Zo      -----   Set top margin at current line
-set_top_margin_parm    smgtp   str     Zp      -----   Set top (bottom) margin at row #1 (#2)
+set_top_margin_parm    smgtp   str     Zp      -----   Set top (bottom) margin at row #1
 start_bit_image        sbim    str     Zq      -----   Start printing bit image graphics
 start_bit_image        sbim    str     Zq      -----   Start printing bit image graphics
-start_char_set_def     scsd    str     Zr      -----   Start character set definition
+start_char_set_def     scsd    str     Zr      -----   Start character set definition #1, with #2 characters in the set
 stop_bit_image         rbim    str     Zs      -----   Stop printing bit image graphics
 stop_bit_image         rbim    str     Zs      -----   Stop printing bit image graphics
-stop_char_set_def      rcsd    str     Zt      -----   End definition of character set
+stop_char_set_def      rcsd    str     Zt      -----   End definition of character set #1
 subscript_characters   subcs   str     Zu      -----   List of subscriptable characters
 superscript_characters supcs   str     Zv      -----   List of superscriptable characters
 these_cause_cr         docr    str     Zw      -----   Printing any of these characters causes CR
 subscript_characters   subcs   str     Zu      -----   List of subscriptable characters
 superscript_characters supcs   str     Zv      -----   List of superscriptable characters
 these_cause_cr         docr    str     Zw      -----   Printing any of these characters causes CR
@@ -697,13 +697,13 @@ zero_motion       zerom   str     Zx      -----   No motion for subsequent character
 #%lw25 lw6 lw2 lw18.
 #%\fBVariable  Cap-    TCap    Description\fR
 #%\fBString    name    Code\fR
 #%lw25 lw6 lw2 lw18.
 #%\fBVariable  Cap-    TCap    Description\fR
 #%\fBString    name    Code\fR
-char_set_names         csnm    str     Zy      -----   List of character set names
+char_set_names         csnm    str     Zy      -----   Produce #1'th item from list of character set names
 key_mouse              kmous   str     Km      -----   Mouse event has occurred
 mouse_info             minfo   str     Mi      -----   Mouse status information
 req_mouse_pos          reqmp   str     RQ      -----   Request mouse position
 key_mouse              kmous   str     Km      -----   Mouse event has occurred
 mouse_info             minfo   str     Mi      -----   Mouse status information
 req_mouse_pos          reqmp   str     RQ      -----   Request mouse position
-get_mouse              getm    str     Gm      -----   Curses should get button events
-set_a_foreground       setaf   str     AF      -----   Set foreground color using ANSI escape
-set_a_background       setab   str     AB      -----   Set background color using ANSI escape
+get_mouse              getm    str     Gm      -----   Curses should get button events, parameter #1 not documented.
+set_a_foreground       setaf   str     AF      -----   Set foreground color to #1, using ANSI escape
+set_a_background       setab   str     AB      -----   Set background color to #1, using ANSI escape
 pkey_plab              pfxl    str     xl      -----   Program function key #1 to type string #2 and show string #3
 device_type            devt    str     dv      -----   Indicate language/codeset support
 code_set_init          csin    str     ci      -----   Init sequence for multiple codesets
 pkey_plab              pfxl    str     xl      -----   Program function key #1 to type string #2 and show string #3
 device_type            devt    str     dv      -----   Indicate language/codeset support
 code_set_init          csin    str     ci      -----   Init sequence for multiple codesets
@@ -711,7 +711,7 @@ set0_des_seq        s0ds    str     s0      -----   Shift to code set 0 (EUC set 0, ASCII)
 set1_des_seq           s1ds    str     s1      -----   Shift to code set 1
 set2_des_seq           s2ds    str     s2      -----   Shift to code set 2
 set3_des_seq           s3ds    str     s3      -----   Shift to code set 3
 set1_des_seq           s1ds    str     s1      -----   Shift to code set 1
 set2_des_seq           s2ds    str     s2      -----   Shift to code set 2
 set3_des_seq           s3ds    str     s3      -----   Shift to code set 3
-set_lr_margin          smglr   str     ML      -----   Set both left and right margins to #1, #2
+set_lr_margin          smglr   str     ML      -----   Set both left and right margins to #1, #2.  (ML is not in BSD termcap).
 set_tb_margin          smgtb   str     MT      -----   Sets both top and bottom margins to #1, #2
 bit_image_repeat       birep   str     Xy      -----   Repeat bit image cell #1 #2 times
 bit_image_newline      binel   str     Zz      -----   Move to next row of the bit image
 set_tb_margin          smgtb   str     MT      -----   Sets both top and bottom margins to #1, #2
 bit_image_repeat       birep   str     Xy      -----   Repeat bit image cell #1 #2 times
 bit_image_newline      binel   str     Zz      -----   Move to next row of the bit image
@@ -724,7 +724,7 @@ set_page_length     slines  str     YZ      -----   Set page length to #1 lines
 #
 # SVr4 added these capabilities for direct PC-clone support
 #
 #
 # SVr4 added these capabilities for direct PC-clone support
 #
-display_pc_char        dispc   str     S1      -----   Display PC character
+display_pc_char        dispc   str     S1      -----   Display PC character #1
 enter_pc_charset_mode  smpch   str     S2      -----   Enter PC character display mode
 exit_pc_charset_mode   rmpch   str     S3      -----   Exit PC character display mode
 enter_scancode_mode    smsc    str     S4      -----   Enter PC scancode mode
 enter_pc_charset_mode  smpch   str     S2      -----   Enter PC character display mode
 exit_pc_charset_mode   rmpch   str     S3      -----   Exit PC character display mode
 enter_scancode_mode    smsc    str     S4      -----   Enter PC scancode mode
diff --git a/include/MKncurses_def.sh b/include/MKncurses_def.sh
new file mode 100755 (executable)
index 0000000..3ca08c3
--- /dev/null
@@ -0,0 +1,80 @@
+#! /bin/sh
+# $Id: MKncurses_def.sh,v 1.1 2000/09/02 17:37:35 tom Exp $
+##############################################################################
+# Copyright (c) 2000 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 "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# MKncurses_def.sh -- generate fallback definitions for ncurses_cfg.h
+#
+# Author: Thomas E. Dickey <dickey@herndon4.his.com> 2000
+#
+# Given the choice between constructs such as
+#
+#      #if defined(foo) && foo
+#      #if foo
+#
+# we chose the latter.  It is guaranteed by the language standard, and there
+# appear to be no broken compilers that do not honor that detail.  But some
+# people want to use gcc's -Wundef option (corresponding to one of the less
+# useful features in Watcom's compiler) to check for misspellings.  So we
+# generate a set of fallback definitions to quiet the warnings without making
+# the code ugly.
+#
+DEFS="${1-ncurses_defs}"
+cat <<EOF
+/*
+ * This file is generated by $0
+ */
+
+#ifndef NC_DEFINE_H
+#define NC_DEFINE_H 1
+
+EOF
+
+${AWK-awk} <$DEFS '
+!/^[@#]/ {
+       if ( NF == 1 )
+       {
+               print "#ifndef", $1
+               print "#define", $1, "0"
+               print "#endif"
+               print ""
+       } else if ( NF != 0 ) {
+               print "#ifndef", $1
+               printf "#define"
+               for (n = 1; n <= NF; n++) {
+                       printf " %s", $n
+               }
+               print ""
+               print "#endif"
+               print ""
+       }
+}
+END    {
+print "#endif /* NC_DEFINE_H */"
+       }
+'
index cbbc3e0d62eb48886b28a76a97486975a86cfb65..4c3365529816eaf170e344c3032b98fdd9a04c8d 100755 (executable)
@@ -1,4 +1,5 @@
 #!/bin/sh
 #!/bin/sh
+# $Id: MKparametrized.sh,v 1.5 2000/10/01 00:57:24 tom Exp $
 #
 # MKparametrized.sh -- generate indirection vectors for various sort methods
 #
 #
 # MKparametrized.sh -- generate indirection vectors for various sort methods
 #
@@ -10,7 +11,7 @@ cat <<EOF
 /*
  * parametrized.h --- is a termcap capability parametrized?
  *
 /*
  * parametrized.h --- is a termcap capability parametrized?
  *
- * Note: this file is generated using parametrized.sh, do not edit by hand.
+ * Note: this file is generated using MKparametrized.sh, do not edit by hand.
  * A value of -1 in the table means suppress both pad and % translations.
  * A value of 0 in the table means do pad but not % translations.
  * A value of 1 in the table means do both pad and % translations.
  * A value of -1 in the table means suppress both pad and % translations.
  * A value of 0 in the table means do pad but not % translations.
  * A value of 1 in the table means do both pad and % translations.
index 29c0d7cc452114d4f7283c57b87ca311842050e5..49190916d68185cec503656a2ace11dea49f03f8 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.23 2000/05/28 01:33:52 tom Exp $
+# $Id: Makefile.in,v 1.26 2000/09/02 17:53:40 tom Exp $
 ##############################################################################
 # Copyright (c) 1998 Free Software Foundation, Inc.                          #
 #                                                                            #
 ##############################################################################
 # Copyright (c) 1998 Free Software Foundation, Inc.                          #
 #                                                                            #
@@ -42,7 +42,7 @@
 SHELL          = /bin/sh
 THIS           = Makefile
 
 SHELL          = /bin/sh
 THIS           = Makefile
 
-INSTALL_PREFIX = @INSTALL_PREFIX@
+DESTDIR                = @DESTDIR@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
@@ -66,6 +66,7 @@ CONFIG_SRC = \
 # These files are generated by this makefile
 AUTO_SRC = \
        hashsize.h \
 # These files are generated by this makefile
 AUTO_SRC = \
        hashsize.h \
+       ncurses_def.h \
        parametrized.h \
        term.h
 
        parametrized.h \
        term.h
 
@@ -82,14 +83,17 @@ term.h: $(srcdir)/Caps MKterm.h.awk
 hashsize.h: $(srcdir)/Caps $(srcdir)/MKhashsize.sh
        sh $(srcdir)/MKhashsize.sh $(srcdir)/Caps >$@
 
 hashsize.h: $(srcdir)/Caps $(srcdir)/MKhashsize.sh
        sh $(srcdir)/MKhashsize.sh $(srcdir)/Caps >$@
 
+ncurses_def.h: $(srcdir)/ncurses_defs $(srcdir)/MKncurses_def.sh
+       AWK=$(AWK) sh $(srcdir)/MKncurses_def.sh $(srcdir)/ncurses_defs >$@
+
 parametrized.h: $(srcdir)/Caps $(srcdir)/MKparametrized.sh
        AWK=$(AWK) sh $(srcdir)/MKparametrized.sh $(srcdir)/Caps >$@
 
 tags:
        ctags *.[ch]
 
 parametrized.h: $(srcdir)/Caps $(srcdir)/MKparametrized.sh
        AWK=$(AWK) sh $(srcdir)/MKparametrized.sh $(srcdir)/Caps >$@
 
 tags:
        ctags *.[ch]
 
-TAGS:
-       etags *.[ch]
+@MAKE_UPPER_TAGS@TAGS:
+@MAKE_UPPER_TAGS@      etags *.[ch]
 
 mostlyclean ::
        -rm -f core tags TAGS *~ *.ln *.atac trace
 
 mostlyclean ::
        -rm -f core tags TAGS *~ *.ln *.atac trace
index b33995e8b67a9050eee973152ec4a10698398382..5b9e19be266d73d3bc81d5447d437db2321616ae 100644 (file)
@@ -31,7 +31,7 @@
  *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
  ****************************************************************************/
 
  *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
  ****************************************************************************/
 
-/* $Id: curses.h.in,v 1.93 2000/07/08 11:07:26 tom Exp $ */
+/* $Id: curses.h.in,v 1.96 2000/09/16 16:11:01 tom Exp $ */
 
 #ifndef __NCURSES_H
 #define __NCURSES_H
 
 #ifndef __NCURSES_H
 #define __NCURSES_H
@@ -357,13 +357,13 @@ extern int wresize (WINDOW *, int, int);
  * We cannot define these in ncurses_cfg.h, since they require parameters to be
  * passed (that's non-portable).
  */
  * We cannot define these in ncurses_cfg.h, since they require parameters to be
  * passed (that's non-portable).
  */
-#if    GCC_PRINTF
+#ifdef GCC_PRINTF
 #define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
 #else
 #define GCC_PRINTFLIKE(fmt,var) /*nothing*/
 #endif
 
 #define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
 #else
 #define GCC_PRINTFLIKE(fmt,var) /*nothing*/
 #endif
 
-#if    GCC_SCANF
+#ifdef GCC_SCANF
 #define GCC_SCANFLIKE(fmt,var)  __attribute__((format(scanf,fmt,var)))
 #else
 #define GCC_SCANFLIKE(fmt,var)  /*nothing*/
 #define GCC_SCANFLIKE(fmt,var)  __attribute__((format(scanf,fmt,var)))
 #else
 #define GCC_SCANFLIKE(fmt,var)  /*nothing*/
@@ -1343,6 +1343,7 @@ extern void trace(const unsigned int);
 #define TRACE_ICALLS   0x0200  /* trace internal/nested calls */
 #define TRACE_CCALLS   0x0400  /* trace per-character calls */
 #define TRACE_DATABASE 0x0800  /* trace read/write of terminfo/termcap data */
 #define TRACE_ICALLS   0x0200  /* trace internal/nested calls */
 #define TRACE_CCALLS   0x0400  /* trace per-character calls */
 #define TRACE_DATABASE 0x0800  /* trace read/write of terminfo/termcap data */
+#define TRACE_ATTRS    0x1000  /* trace attribute updates */
 #define TRACE_MAXIMUM  0xffff  /* maximum trace level */
 
 #if defined(TRACE) || defined(NCURSES_TEST)
 #define TRACE_MAXIMUM  0xffff  /* maximum trace level */
 
 #if defined(TRACE) || defined(NCURSES_TEST)
index baa31f687d1e17b365bb366a7149d547a0bdb06e..ef9694cb83ee8762cf8a52b5db674da2c1a694ed 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 #!/bin/sh
-# $Id: edit_cfg.sh,v 1.9 1998/02/11 12:13:46 tom Exp $
+# $Id: edit_cfg.sh,v 1.10 2000/09/09 20:29:58 tom Exp $
 ##############################################################################
 ##############################################################################
-# Copyright (c) 1998 Free Software Foundation, Inc.                          #
+# Copyright (c) 1998,2000 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 "Software"), #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
@@ -28,7 +28,7 @@
 # authorization.                                                             #
 ##############################################################################
 #
 # authorization.                                                             #
 ##############################################################################
 #
-# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997
+# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997,2000
 #
 # Edit the default value of the term.h file based on the autoconf-generated
 # values:
 #
 # Edit the default value of the term.h file based on the autoconf-generated
 # values:
@@ -43,7 +43,6 @@ for name in \
        HAVE_TCGETATTR \
        HAVE_TERMIOS_H \
        HAVE_TERMIO_H \
        HAVE_TCGETATTR \
        HAVE_TERMIOS_H \
        HAVE_TERMIO_H \
-       NCURSES_CONST \
        BROKEN_LINKER
 do
        mv $2 $BAK
        BROKEN_LINKER
 do
        mv $2 $BAK
index f80fb83f0cd11b71c6b38077990bed240ab11e8f..4d40dab8848b1e1f76f2e5614082a87f35f7ea38 100644 (file)
  *  Author: Thomas E. Dickey <dickey@clark.net> 1997                        *
  ****************************************************************************/
 /*
  *  Author: Thomas E. Dickey <dickey@clark.net> 1997                        *
  ****************************************************************************/
 /*
- * $Id: ncurses_cfg.hin,v 1.2 1998/02/11 12:13:46 tom Exp $
+ * $Id: ncurses_cfg.hin,v 1.3 2000/09/02 17:13:32 tom Exp $
  *
  * This is a template-file used to generate the "ncurses_cfg.h" file.
  *
  *
  * This is a template-file used to generate the "ncurses_cfg.h" file.
  *
- * Rather than list every definition, the configuration script substitutes
- * the definitions that it finds using 'sed'.  You need a patch (971222)
- * to autoconf 2.12 to do this.
+ * Rather than list every definition, the configuration script substitutes the
+ * definitions that it finds using 'sed'.  You need a patch (original date
+ * 971222) to autoconf 2.12 or 2.13 to do this.
+ *
+ * See:
+ *     http://dickey.his.com/autoconf/
+ *     ftp://dickey.his.com/autoconf/
  */
 #ifndef NC_CONFIG_H
 #define NC_CONFIG_H
 @DEFS@
 
  */
 #ifndef NC_CONFIG_H
 #define NC_CONFIG_H
 @DEFS@
 
+#include <ncurses_def.h>
+
        /* The C compiler may not treat these properly but C++ has to */
 #ifdef __cplusplus
 #undef const
        /* The C compiler may not treat these properly but C++ has to */
 #ifdef __cplusplus
 #undef const
diff --git a/include/ncurses_defs b/include/ncurses_defs
new file mode 100644 (file)
index 0000000..e4a391f
--- /dev/null
@@ -0,0 +1,151 @@
+# $Id: ncurses_defs,v 1.4 2000/10/08 01:04:00 tom Exp $
+##############################################################################
+# Copyright (c) 2000 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 "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# See "MKncurses_def.sh" for an explanation.
+#
+# (hint: don't try to define NDEBUG ;-)
+
+BROKEN_LINKER
+BSD_TPUTS
+CC_HAS_INLINE_FUNCS
+CC_HAS_PROTOS
+CPP_HAS_PARAM_INIT
+DECL_ERRNO
+ETIP_NEEDS_MATH_H
+GCC_NORETURN   /* nothing */
+GCC_UNUSED     /* nothing */
+HAVE_BIG_CORE
+HAVE_BSD_CGETENT
+HAVE_BUILTIN_H
+HAVE_DIRENT_H
+HAVE_ERRNO
+HAVE_FCNTL_H
+HAVE_FORM_H
+HAVE_GETCWD
+HAVE_GETEGID
+HAVE_GETEUID
+HAVE_GETOPT_H
+HAVE_GETTIMEOFDAY
+HAVE_GETTTYNAM
+HAVE_GPP_BUILTIN_H
+HAVE_GXX_BUILTIN_H
+HAVE_HAS_KEY
+HAVE_ISASCII
+HAVE_ISSETUGID
+HAVE_LIBDBMALLOC
+HAVE_LIBDMALLOC
+HAVE_LIBFORM
+HAVE_LIBGPM
+HAVE_LIBMENU
+HAVE_LIBPANEL
+HAVE_LIMITS_H
+HAVE_LINK
+HAVE_LOCALE_H
+HAVE_LONG_FILE_NAMES
+HAVE_MEMCCPY
+HAVE_MENU_H
+HAVE_MKSTEMP
+HAVE_NANOSLEEP
+HAVE_NC_ALLOC_H
+HAVE_PANEL_H
+HAVE_POLL
+HAVE_POLL_H
+HAVE_REGEXPR_H_FUNCS
+HAVE_REGEXP_H_FUNCS
+HAVE_REGEX_H_FUNCS
+HAVE_REMOVE
+HAVE_RESIZETERM
+HAVE_SELECT
+HAVE_SETBUF
+HAVE_SETBUFFER
+HAVE_SETVBUF
+HAVE_SIGACTION
+HAVE_SIGVEC
+HAVE_SIZECHANGE
+HAVE_STRDUP
+HAVE_STRSTR
+HAVE_SYMLINK
+HAVE_SYS_BSDTYPES_H
+HAVE_SYS_IOCTL_H
+HAVE_SYS_PARAM_H
+HAVE_SYS_POLL_H
+HAVE_SYS_SELECT_H
+HAVE_SYS_TERMIO_H
+HAVE_SYS_TIMES_H
+HAVE_SYS_TIME_H
+HAVE_SYS_TIME_SELECT
+HAVE_TCGETATTR
+HAVE_TCGETPGRP
+HAVE_TELL
+HAVE_TERMIOS_H
+HAVE_TERMIO_H
+HAVE_TIMES
+HAVE_TTYENT_H
+HAVE_TYPEINFO
+HAVE_TYPE_SIGACTION
+HAVE_UNISTD_H
+HAVE_UNLINK
+HAVE_USE_DEFAULT_COLORS
+HAVE_VFSCANF
+HAVE_VSNPRINTF
+HAVE_VSSCANF
+HAVE_WORKING_POLL
+HAVE_WRESIZE
+MIXEDCASE_FILENAMES
+NCURSES_EXPANDED
+NCURSES_EXT_FUNCS
+NCURSES_NOMACROS
+NCURSES_NO_PADDING
+NDEBUG
+NEED_PTEM_H
+NO_LEAKS
+PURE_TERMINFO
+RETSIGTYPE
+STDC_HEADERS
+SVR4_ACTION
+SVR4_TERMIO
+SYSTEM_NAME    "unknown"
+TERMINFO       "none"
+TYPEOF_CHTYPE
+USE_COLORFGBG
+USE_DATABASE
+USE_GETCAP
+USE_GETCAP_CACHE
+USE_HARD_TABS
+USE_HASHMAP
+USE_LINKS
+USE_MY_MEMMOVE
+USE_OK_BCOPY
+USE_RCS_IDS
+USE_SAFE_SPRINTF
+USE_SCROLL_HINTS
+USE_SIGWINCH
+USE_SYMLINKS
+USE_WIDEC_SUPPORT
+USE_XMC_SUPPORT
index 5c6c07a8e8d055a01117d1bc325e3628f209e401..21c62398e0bd5f841b6a87f2408bff9f25a2be74 100644 (file)
@@ -31,7 +31,7 @@
  *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
  ****************************************************************************/
 
  *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
  ****************************************************************************/
 
-/* $Id: termcap.h.in,v 1.10 1999/01/09 22:38:04 Uchiyama.Yasushi Exp $ */
+/* $Id: termcap.h.in,v 1.12 2000/10/08 01:06:37 tom Exp $ */
 
 #ifndef _NCU_TERMCAP_H
 #define _NCU_TERMCAP_H 1
 
 #ifndef _NCU_TERMCAP_H
 #define _NCU_TERMCAP_H 1
@@ -45,7 +45,6 @@ extern "C"
 #endif /* __cplusplus */
 
 #include <sys/types.h>
 #endif /* __cplusplus */
 
 #include <sys/types.h>
-@OSPEED_INCLUDES@ 
 
 #undef  NCURSES_CONST 
 #define NCURSES_CONST @NCURSES_CONST@ 
 
 #undef  NCURSES_CONST 
 #define NCURSES_CONST @NCURSES_CONST@ 
@@ -53,7 +52,7 @@ extern "C"
 extern char PC;
 extern char *UP;
 extern char *BC;
 extern char PC;
 extern char *UP;
 extern char *BC;
-extern @OSPEED_TYPE@ ospeed; 
+extern short ospeed; 
 
 #if !defined(_NCU_TERM_H)
 extern char *tgetstr(NCURSES_CONST char *, char **);
 
 #if !defined(_NCU_TERM_H)
 extern char *tgetstr(NCURSES_CONST char *, char **);
index 24f12bcc79be1f447777abcdb84081f62034d267..bba0c0ffbff40e44c7a5b00f44cb5eadd5a4ed5e 100644 (file)
@@ -32,9 +32,9 @@
  ****************************************************************************/
 
 /*
  ****************************************************************************/
 
 /*
+ * $Id: tic.h,v 1.35 2000/09/09 19:47:16 tom Exp $
  *     tic.h - Global variables and structures for the terminfo
  *                     compiler.
  *     tic.h - Global variables and structures for the terminfo
  *                     compiler.
- *
  */
 
 #ifndef __TIC_H
  */
 
 #ifndef __TIC_H
@@ -237,6 +237,9 @@ extern const struct name_table_entry        * const *_nc_get_hash_table(bool);
 #define TERMINFO "/usr/share/terminfo"
 #endif
 
 #define TERMINFO "/usr/share/terminfo"
 #endif
 
+/* access.c */
+extern char *_nc_basename(char *);
+
 /* comp_hash.c: name lookup */
 struct name_table_entry        const *_nc_find_entry(const char *,
                                    const struct name_table_entry *const *);
 /* comp_hash.c: name lookup */
 struct name_table_entry        const *_nc_find_entry(const char *,
                                    const struct name_table_entry *const *);
index a43bc25dee8b0437e9983b42e1f6bf004d7b17c6..0d7648acd7ae0352475404f9a8cf3ee42412bb15 100644 (file)
@@ -1,6 +1,6 @@
-# $Id: Makefile.in,v 1.26 2000/04/01 22:15:22 tom Exp $
+# $Id: Makefile.in,v 1.28 2000/08/19 19:15:44 tom Exp $
 ##############################################################################
 ##############################################################################
-# Copyright (c) 1998 Free Software Foundation, Inc.                          #
+# Copyright (c) 1998,2000 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 "Software"), #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
 
 SHELL          = /bin/sh
 
 
 SHELL          = /bin/sh
 
-INSTALL_PREFIX = @INSTALL_PREFIX@
+DESTDIR                = @DESTDIR@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
 datadir                = @datadir@
 mandir         = @mandir@
 
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
 datadir                = @datadir@
 mandir         = @mandir@
 
-ticdir         = $(datadir)/terminfo
-
 INSTALL                = @INSTALL@
 INSTALL_DATA   = @INSTALL_DATA@
 
 all \
 sources:       terminfo.5
 
 INSTALL                = @INSTALL@
 INSTALL_DATA   = @INSTALL_DATA@
 
 all \
 sources:       terminfo.5
 
-$(INSTALL_PREFIX)$(mandir) :
+$(DESTDIR)$(mandir) :
        $(srcdir)/../mkinstalldirs $@
 
        $(srcdir)/../mkinstalldirs $@
 
-EDITARGS = $(INSTALL_PREFIX)$(mandir) $(srcdir) terminfo.5 $(srcdir)/*.[0-9]*
+EDITARGS = $(DESTDIR)$(mandir) $(srcdir) terminfo.5 $(srcdir)/*.[0-9]*
 
 
-install install.man : terminfo.5 $(INSTALL_PREFIX)$(mandir)
+install install.man : terminfo.5 $(DESTDIR)$(mandir)
        sh ./edit_man.sh installing $(EDITARGS)
 
 uninstall uninstall.man :
        sh ./edit_man.sh installing $(EDITARGS)
 
 uninstall uninstall.man :
index 16dbe805537f3b2c8bbb4820dd7470c7b22b2348..40c09f5a213fb8207aa7fc7c9466d303336eca5f 100644 (file)
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: captoinfo.1m,v 1.14 2000/03/19 02:20:28 tom Exp $
+.\" $Id: captoinfo.1m,v 1.16 2000/08/13 01:56:49 tom Exp $
 .TH captoinfo 1M ""
 .ds n 5
 .TH captoinfo 1M ""
 .ds n 5
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
 .SH NAME
 \fBcaptoinfo\fR - convert a \fItermcap\fR description into a \fIterminfo\fR description
 .SH SYNOPSIS
 .SH NAME
 \fBcaptoinfo\fR - convert a \fItermcap\fR description into a \fIterminfo\fR description
 .SH SYNOPSIS
@@ -178,7 +178,7 @@ You can use other \fItic\fR options such as \fB-f\fR and  \fB-x\fR.
 The trace option isn't identical to SVr4's.  Under SVr4, instead of following
 the -v with a trace level n, you repeat it n times.
 .SH SEE ALSO
 The trace option isn't identical to SVr4's.  Under SVr4, instead of following
 the -v with a trace level n, you repeat it n times.
 .SH SEE ALSO
-\fBcurses\fR(3X), \fBinfocmp\fR(1M), \fBterminfo\fR(\*n)
+\fBcurses\fR(3X), \fB@INFOCMP@\fR(1M), \fBterminfo\fR(\*n)
 .SH AUTHOR
 Eric S. Raymond <esr@snark.thyrsus.com>
 .\"#
 .SH AUTHOR
 Eric S. Raymond <esr@snark.thyrsus.com>
 .\"#
index 71d2883b747e49190f30e8742e51924e6af0c00f..4c4991f1d1a375b883f43801a16ad89ea7b24f41 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
 .\"***************************************************************************
-.\" Copyright (c) 1998 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 1998,2000 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            *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" copy of this software and associated documentation files (the            *
@@ -26,7 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: clear.1,v 1.2 1998/03/11 21:12:53 juergen Exp $
+.\" $Id: clear.1,v 1.3 2000/07/15 23:59:35 china Exp $
 .TH clear 1 ""
 .ds n 5
 .SH NAME
 .TH clear 1 ""
 .ds n 5
 .SH NAME
@@ -39,7 +39,7 @@
 environment for the terminal type and then in the \fBterminfo\fR database to
 figure out how to clear the screen.
 .SH SEE ALSO
 environment for the terminal type and then in the \fBterminfo\fR database to
 figure out how to clear the screen.
 .SH SEE ALSO
-\fBtput\fR(1), \fBterminfo\fR(\*n)
+\fB@TPUT@\fR(1), \fBterminfo\fR(\*n)
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index 9116b773ae310174181ebbc5624787a2387bb786..ccf8cf82cfb720c2be57babcf7a9eee4b41f2249 100644 (file)
@@ -26,7 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_color.3x,v 1.15 2000/07/08 11:59:51 tom Exp $
+.\" $Id: curs_color.3x,v 1.16 2000/07/15 22:57:03 tom Exp $
 .TH curs_color 3X ""
 .SH NAME
 \fBstart_color\fR,
 .TH curs_color 3X ""
 .SH NAME
 \fBstart_color\fR,
@@ -207,7 +207,7 @@ background color for all terminals can be modified using the
 \fBcurses\fR(3X),
 \fBcurs_initscr\fR(3X),
 \fBcurs_attr\fR(3X),
 \fBcurses\fR(3X),
 \fBcurs_initscr\fR(3X),
 \fBcurs_attr\fR(3X),
-\fBdft_fgbg\fR(3X)
+\fBdefault_colors\fR(3X)
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index 16a3f80b27aa7bd04e6e8a6fd246012320f3379d..632fc38273d08ee59c4ae4e27731d21b1f0c7917 100644 (file)
@@ -28,8 +28,8 @@
 .\"
 .\" Author: Thomas E. Dickey <dickey@clark.net> 1999
 .\"
 .\"
 .\" Author: Thomas E. Dickey <dickey@clark.net> 1999
 .\"
-.\" $Id: curs_extend.3x,v 1.4 2000/07/01 16:43:11 tom Exp $
-.TH use_default_colors 3X ""
+.\" $Id: curs_extend.3x,v 1.6 2000/07/15 22:57:20 tom Exp $
+.TH curs_extend 3X ""
 .SH NAME
 \fBcurs_extend\fR:
 \fBcurses_version\fP,
 .SH NAME
 \fBcurs_extend\fR:
 \fBcurses_version\fP,
@@ -72,8 +72,8 @@ any code depending on them be conditioned using NCURSES_VERSION.
 \fBcurs_getch\fR(3X),
 \fBcurs_mouse\fR(3X),
 \fBcurs_print\fR(3X),
 \fBcurs_getch\fR(3X),
 \fBcurs_mouse\fR(3X),
 \fBcurs_print\fR(3X),
+\fBdefault_colors\fR(3X),
 \fBdefine_key\fR(3X),
 \fBdefine_key\fR(3X),
-\fBdft_fgbg\fR(3X),
 \fBkeybound\fR(3X),
 \fBkeyok\fR(3X),
 \fBresizeterm\fR(3X),
 \fBkeybound\fR(3X),
 \fBkeyok\fR(3X),
 \fBresizeterm\fR(3X),
index c0053315c255d3c3282c3c070949920e2b41f561..b7f3795d810104d92ee73e8bab0cc24a7c5d74fa 100644 (file)
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_scanw.3x,v 1.10 2000/07/01 20:06:29 tom Exp $
+.\" $Id: curs_scanw.3x,v 1.11 2000/07/15 21:48:17 tom Exp $
 .TH curs_scanw 3X ""
 .SH NAME
 \fBscanw\fR,
 \fBwscanw\fR,
 \fBmvscanw\fR,
 \fBmvwscanw\fR,
 .TH curs_scanw 3X ""
 .SH NAME
 \fBscanw\fR,
 \fBwscanw\fR,
 \fBmvscanw\fR,
 \fBmvwscanw\fR,
-\fBvwscanw\fR, \fBvw_scanw\fR - convert formatted input from a \fBcurses\fR widow
+\fBvwscanw\fR, \fBvw_scanw\fR - convert formatted input from a \fBcurses\fR window
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
 
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
 
index 9f5b13a4ec53d0fee8adf6f979fe7a2d310d24aa..a9dc57c7c7b3c44ebe00360af9e255f5cdbb93f3 100644 (file)
@@ -26,7 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_trace.3x,v 1.2 2000/07/08 12:42:51 tom Exp $
+.\" $Id: curs_trace.3x,v 1.3 2000/07/29 16:34:24 tom Exp $
 .TH curs_trace 3X ""
 .SH NAME
 \fB_tracef\fR,
 .TH curs_trace 3X ""
 .SH NAME
 \fB_tracef\fR,
@@ -122,6 +122,9 @@ trace per-character calls.
 TRACE_DATABASE
 trace read/write of terminfo/termcap data.
 .TP 5
 TRACE_DATABASE
 trace read/write of terminfo/termcap data.
 .TP 5
+TRACE_ATTRS
+trace changes to video attributes and colors.
+.TP 5
 TRACE_MAXIMUM
 maximum trace level, enables all of the separate trace features.
 
 TRACE_MAXIMUM
 maximum trace level, enables all of the separate trace features.
 
similarity index 96%
rename from man/dft_fgbg.3x
rename to man/default_colors.3x
index eedde7c3bbe5028a9c61f4492ae613621d6ae53f..9d6d97c9e803e3a806758e256be38f20f30afa95 100644 (file)
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" Author: Thomas E. Dickey <dickey@clark.net> 1997,1999
+.\" Author: Thomas E. Dickey <dickey@clark.net> 1997,1999,2000
 .\"
 .\"
-.\" $Id: dft_fgbg.3x,v 1.12 2000/07/04 22:31:56 tom Exp $
-.TH use_default_colors 3X ""
+.\" $Id: default_colors.3x,v 1.13 2000/07/15 22:06:50 tom Exp $
+.TH default_colors 3X ""
 .SH NAME
 .SH NAME
-\fBdft_fgbg\fR:
+\fBdefault_colors\fR:
 \fBuse_default_colors\fR,
 \fBassume_default_colors\fR \- use terminal's default colors
 ..
 \fBuse_default_colors\fR,
 \fBassume_default_colors\fR \- use terminal's default colors
 ..
index 4c5dcb6616f8d5e7e1443d6cb1d95e27893aaae9..d93ba281a1c89128916f828100526d5def3c04a6 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
 '\" t
 .\"***************************************************************************
-.\" Copyright (c) 1998 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 1998,2000 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            *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" copy of this software and associated documentation files (the            *
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: form_fieldtype.3x,v 1.7 1998/11/29 01:07:16 Rick.Ohnemus Exp $
-.TH form_field 3X ""
+.\" $Id: form_fieldtype.3x,v 1.8 2000/07/15 22:02:03 tom Exp $
+.TH form_fieldtype 3X ""
 .SH NAME
 \fBform_fieldtype\fR - define validation-field types
 .SH SYNOPSIS
 .SH NAME
 \fBform_fieldtype\fR - define validation-field types
 .SH SYNOPSIS
index a7449892d1289f530b96226df5450c37914774d1..1276cca5183780583daee35e904f432940c22b17 100644 (file)
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: infocmp.1m,v 1.25 2000/06/11 02:08:16 tom Exp $
+.\" $Id: infocmp.1m,v 1.27 2000/08/19 18:51:05 tom Exp $
 .TH infocmp 1M ""
 .ds n 5
 .TH infocmp 1M ""
 .ds n 5
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
 .SH NAME
 \fBinfocmp\fR - compare or print out \fIterminfo\fR descriptions
 .SH SYNOPSIS
 .SH NAME
 \fBinfocmp\fR - compare or print out \fIterminfo\fR descriptions
 .SH SYNOPSIS
@@ -171,7 +171,7 @@ were not needed.
 The location of the compiled \fBterminfo\fR database is taken from the
 environment variable \fBTERMINFO\fR .  If the variable is not defined, or the
 terminal is not found in that location, the system \fBterminfo\fR database,
 The location of the compiled \fBterminfo\fR database is taken from the
 environment variable \fBTERMINFO\fR .  If the variable is not defined, or the
 terminal is not found in that location, the system \fBterminfo\fR database,
-in \fB@DATADIR@/terminfo\fR, will be used.  The options \fB-A\fR
+in \fB@TERMINFO@\fR, will be used.  The options \fB-A\fR
 and \fB-B\fR may be used to override this location.  The \fB-A\fR option will
 set \fBTERMINFO\fR for the first \fItermname\fR and the \fB-B\fR option will
 set \fBTERMINFO\fR for the other \fItermnames\fR.  With this, it is possible to
 and \fB-B\fR may be used to override this location.  The \fB-A\fR option will
 set \fBTERMINFO\fR for the first \fItermname\fR and the \fB-B\fR option will
 set \fBTERMINFO\fR for the other \fItermnames\fR.  With this, it is possible to
@@ -245,7 +245,7 @@ This is mainly useful for testing and analysis, since the compiled
 descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo).
 .TP 5
 \fB-V\fR
 descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo).
 .TP 5
 \fB-V\fR
-prints out the version of the program in use on standard error and exits.
+reports the version of ncurses which was used in this program, and exits.
 .TP 5
 \fB-e\fR
 Dump the capabilities of the given terminal as a C initializer for a
 .TP 5
 \fB-e\fR
 Dump the capabilities of the given terminal as a C initializer for a
@@ -347,6 +347,7 @@ The
 \fB-G\fR,
 \fB-R\fR,
 \fB-T\fR,
 \fB-G\fR,
 \fB-R\fR,
 \fB-T\fR,
+\fB-V\fR,
 \fB-a\fR,
 \fB-e\fR,
 \fB-f\fR,
 \fB-a\fR,
 \fB-e\fR,
 \fB-f\fR,
index 867840da0edfb800a170d674e42a41bc543f3a65..ef8735b7be54062c2019fd4bffb4db171e2e7e8f 100644 (file)
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: infotocap.1m,v 1.2 2000/03/19 02:19:49 tom Exp $
+.\" $Id: infotocap.1m,v 1.3 2000/08/13 01:56:03 tom Exp $
 .TH infotocap 1M ""
 .ds n 5
 .TH infotocap 1M ""
 .ds n 5
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
 .SH NAME
 \fBinfotocap\fR - convert a \fIterminfo\fR description into a \fItermcap\fR description
 .SH SYNOPSIS
 .SH NAME
 \fBinfotocap\fR - convert a \fIterminfo\fR description into a \fItermcap\fR description
 .SH SYNOPSIS
index 8fc899811c729ee063ecd2e43c5058a10b526f40..b824861003c03ce51b5a0246dd2ec8950aba9419 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: man_db.renames,v 0.19 2000/07/08 12:11:31 tom Exp $
+# $Id: man_db.renames,v 0.20 2000/07/15 22:58:35 tom Exp $
 # Manual-page renamings for the man_db program
 #
 captoinfo.1m                   captoinfo.1
 # Manual-page renamings for the man_db program
 #
 captoinfo.1m                   captoinfo.1
@@ -46,8 +46,8 @@ curs_trace.3x                 trace.3ncurses
 curs_util.3x                   util.3ncurses
 curs_window.3x                 window.3ncurses
 curses.3x                      ncurses.3ncurses
 curs_util.3x                   util.3ncurses
 curs_window.3x                 window.3ncurses
 curses.3x                      ncurses.3ncurses
+default_colors.3x              default_colors.3ncurses
 define_key.3x                  define_key.3ncurses
 define_key.3x                  define_key.3ncurses
-dft_fgbg.3x                    use_default_colors.3ncurses
 form.3x                                form.3form
 form_cursor.3x                 cursor.3form
 form_data.3x                   data.3form
 form.3x                                form.3form
 form_cursor.3x                 cursor.3form
 form_data.3x                   data.3form
@@ -76,7 +76,7 @@ infotocap.1m                  infotocap.1
 keybound.3x                    keybound.3ncurses
 keyok.3x                       keyok.3ncurses
 menu.3x                                menu.3menu
 keybound.3x                    keybound.3ncurses
 keyok.3x                       keyok.3ncurses
 menu.3x                                menu.3menu
-menu_attribs.3x                        attribs.3menu
+menu_attributes.3x             attributes.3menu
 menu_cursor.3x                 cursor.3menu
 menu_driver.3x                 driver.3menu
 menu_format.3x                 format.3menu
 menu_cursor.3x                 cursor.3menu
 menu_driver.3x                 driver.3menu
 menu_format.3x                 format.3menu
index 92214195521817c3684dad90064754a98d132b91..e175148aab9a4e648e9d9be02e30a44f0e3522ba 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: manlinks.sed,v 1.7 2000/07/01 19:50:06 tom Exp $
+# $Id: manlinks.sed,v 1.9 2000/09/30 23:32:24 tom Exp $
 ##############################################################################
 # Copyright (c) 2000 Free Software Foundation, Inc.                          #
 #                                                                            #
 ##############################################################################
 # Copyright (c) 2000 Free Software Foundation, Inc.                          #
 #                                                                            #
@@ -53,11 +53,11 @@ s/\\-.*/ -/
 s/ /\
 /g
 }
 s/ /\
 /g
 }
-:syn
 /^\.SH_(SYNOPSIS/,/^\.SH_(DESCRIPTION/{
        /^#/d
        /^[^(]*$/d
 /^\.SH_(SYNOPSIS/,/^\.SH_(DESCRIPTION/{
        /^#/d
        /^[^(]*$/d
-       s/^\([^ (]\+ [*]*\)\+//g
+       s/^\([^ (]* [^ (]* [*]*\)//g
+       s/^\([^ (]* [*]*\)//g
        s/\.SH_(/.SH_/
        s/(.*//
        s/\.SH_/.SH_(/
        s/\.SH_(/.SH_/
        s/(.*//
        s/\.SH_/.SH_(/
index adbfffd92c7447e8835736047070d3ef5fa908a8..8279844a39e25e8dffca48338861700aba9edd7c 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
 '\" t
 .\"***************************************************************************
-.\" Copyright (c) 1998 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 1998,2000 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            *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" copy of this software and associated documentation files (the            *
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: menu.3x,v 1.13 1998/11/29 01:09:07 Rick.Ohnemus Exp $
+.\" $Id: menu.3x,v 1.14 2000/07/15 22:55:59 tom Exp $
 .TH menu 3X ""
 .SH NAME
 \fBmenu\fR - curses extension for programming menus
 .TH menu 3X ""
 .SH NAME
 \fBmenu\fR - curses extension for programming menus
@@ -77,18 +77,18 @@ item_term   \fBmenu_hook\fR(3X)
 item_userptr   \fBmitem_userptr\fR(3X)
 item_value     \fBmitem_value\fR(3X)
 item_visible   \fBmitem_visible\fR(3X)
 item_userptr   \fBmitem_userptr\fR(3X)
 item_value     \fBmitem_value\fR(3X)
 item_visible   \fBmitem_visible\fR(3X)
-menu_back      \fBmenu_attribs\fR(3X)
+menu_back      \fBmenu_attributes\fR(3X)
 menu_driver    \fBmenu_driver\fR(3X)
 menu_driver    \fBmenu_driver\fR(3X)
-menu_fore      \fBmenu_attribs\fR(3X)
+menu_fore      \fBmenu_attributes\fR(3X)
 menu_format    \fBmenu_format\fR(3X)
 menu_format    \fBmenu_format\fR(3X)
-menu_grey      \fBmenu_attribs\fR(3X)
+menu_grey      \fBmenu_attributes\fR(3X)
 menu_init      \fBmenu_hook\fR(3X)
 menu_items     \fBmenu_items\fR(3X)
 menu_mark      \fBmenu_mark\fR(3X)
 menu_opts      \fBmenu_opts\fR(3X)
 menu_opts_off  \fBmenu_opts\fR(3X)
 menu_opts_on   \fBmenu_opts\fR(3X)
 menu_init      \fBmenu_hook\fR(3X)
 menu_items     \fBmenu_items\fR(3X)
 menu_mark      \fBmenu_mark\fR(3X)
 menu_opts      \fBmenu_opts\fR(3X)
 menu_opts_off  \fBmenu_opts\fR(3X)
 menu_opts_on   \fBmenu_opts\fR(3X)
-menu_pad       \fBmenu_attribs\fR(3X)
+menu_pad       \fBmenu_attributes\fR(3X)
 menu_pattern   \fBmenu_pattern\fR(3X)
 menu_request_by_name   \fBmenu_requestname\fR(3X)
 menu_request_name      \fBmenu_requestname\fR(3X)
 menu_pattern   \fBmenu_pattern\fR(3X)
 menu_request_by_name   \fBmenu_requestname\fR(3X)
 menu_request_name      \fBmenu_requestname\fR(3X)
@@ -108,15 +108,15 @@ set_item_opts     \fBmitem_opts\fR(3X)
 set_item_term  \fBmenu_hook\fR(3X)
 set_item_userptr       \fBmitem_userptr\fR(3X)
 set_item_value \fBmitem_value\fR(3X)
 set_item_term  \fBmenu_hook\fR(3X)
 set_item_userptr       \fBmitem_userptr\fR(3X)
 set_item_value \fBmitem_value\fR(3X)
-set_menu_back  \fBmenu_attribs\fR(3X)
-set_menu_fore  \fBmenu_attribs\fR(3X)
+set_menu_back  \fBmenu_attributes\fR(3X)
+set_menu_fore  \fBmenu_attributes\fR(3X)
 set_menu_format        \fBmenu_format\fR(3X)
 set_menu_format        \fBmenu_format\fR(3X)
-set_menu_grey  \fBmenu_attribs\fR(3X)
+set_menu_grey  \fBmenu_attributes\fR(3X)
 set_menu_init  \fBmenu_hook\fR(3X)
 set_menu_items \fBmenu_items\fR(3X)
 set_menu_mark  \fBmenu_mark\fR(3X)
 set_menu_opts  \fBmitem_opts\fR(3X)
 set_menu_init  \fBmenu_hook\fR(3X)
 set_menu_items \fBmenu_items\fR(3X)
 set_menu_mark  \fBmenu_mark\fR(3X)
 set_menu_opts  \fBmitem_opts\fR(3X)
-set_menu_pad   \fBmenu_attribs\fR(3X)
+set_menu_pad   \fBmenu_attributes\fR(3X)
 set_menu_pattern       \fBmenu_pattern\fR(3X)
 set_menu_spacing       \fBmenu_spacing\fR(3X)
 set_menu_sub   \fBmenu_win\fR(3X)
 set_menu_pattern       \fBmenu_pattern\fR(3X)
 set_menu_spacing       \fBmenu_spacing\fR(3X)
 set_menu_sub   \fBmenu_win\fR(3X)
similarity index 98%
rename from man/menu_attribs.3x
rename to man/menu_attributes.3x
index 3577db53d6aae9ce50072fc2b44893e14d3b6811..82412609c9ab12b6a015206455c34e8ecfcb7662 100644 (file)
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: menu_attribs.3x,v 1.6 1998/11/29 01:09:20 Rick.Ohnemus Exp $
+.\" $Id: menu_attributes.3x,v 1.6 1998/11/29 01:09:20 Rick.Ohnemus Exp $
 .TH menu_attributes 3X ""
 .SH NAME
 \fBmenu_attributes\fR - color and attribute control for menus
 .TH menu_attributes 3X ""
 .SH NAME
 \fBmenu_attributes\fR - color and attribute control for menus
index 5aac8f2e9454ceafc0d841f13e516275674d2af7..3b36fa9a6df1671780602016aefda64749c40240 100644 (file)
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: ncurses.3x,v 1.40 2000/07/08 13:10:31 tom Exp $
+.\" $Id: ncurses.3x,v 1.44 2000/10/08 01:39:26 tom Exp $
 .hy 0
 .TH ncurses 3X ""
 .ds n 5
 .hy 0
 .TH ncurses 3X ""
 .ds n 5
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
 .SH NAME
 \fBncurses\fR - CRT screen handling and optimization package
 .SH SYNOPSIS
 .SH NAME
 \fBncurses\fR - CRT screen handling and optimization package
 .SH SYNOPSIS
@@ -214,7 +214,7 @@ addchnstr/\fBcurs_addchstr\fR(3X)
 addchstr/\fBcurs_addchstr\fR(3X)
 addnstr/\fBcurs_addstr\fR(3X)
 addstr/\fBcurs_addstr\fR(3X)
 addchstr/\fBcurs_addchstr\fR(3X)
 addnstr/\fBcurs_addstr\fR(3X)
 addstr/\fBcurs_addstr\fR(3X)
-assume_default_colors/\fBdft_fgbg\fR(3X)*
+assume_default_colors/\fBdefault_colors\fR(3X)*
 attr_get/\fBcurs_attr\fR(3X)
 attr_off/\fBcurs_attr\fR(3X)
 attr_on/\fBcurs_attr\fR(3X)
 attr_get/\fBcurs_attr\fR(3X)
 attr_off/\fBcurs_attr\fR(3X)
 attr_on/\fBcurs_attr\fR(3X)
@@ -447,7 +447,7 @@ unctrl/\fBcurs_util\fR(3X)
 ungetch/\fBcurs_getch\fR(3X)
 ungetmouse/\fBcurs_mouse\fR(3X)*
 untouchwin/\fBcurs_touch\fR(3X)
 ungetch/\fBcurs_getch\fR(3X)
 ungetmouse/\fBcurs_mouse\fR(3X)*
 untouchwin/\fBcurs_touch\fR(3X)
-use_default_colors/\fBdft_fgbg\fR(3X)*
+use_default_colors/\fBdefault_colors\fR(3X)*
 use_env/\fBcurs_util\fR(3X)
 use_extended_names/\fBcurs_extend\fR(3X)*
 vidattr/\fBcurs_terminfo\fR(3X)
 use_env/\fBcurs_util\fR(3X)
 use_extended_names/\fBcurs_extend\fR(3X)*
 vidattr/\fBcurs_terminfo\fR(3X)
@@ -694,7 +694,7 @@ directories listed in the TERMINFO_DIRS symbol
 -
 one or more directories whose names are configured and compiled into the
 ncurses library, e.g.,
 -
 one or more directories whose names are configured and compiled into the
 ncurses library, e.g.,
-@DATADIR@/terminfo
+@TERMINFO@
 .RE
 .TP 5
 TERMINFO_DIRS
 .RE
 .TP 5
 TERMINFO_DIRS
@@ -709,11 +709,16 @@ the TERMPATH symbol.
 This is a list of filenames separated by colons (i.e., ":").
 If the TERMPATH symbol is not set, \fBncurses\fR looks in the files
 /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap, in that order.
 This is a list of filenames separated by colons (i.e., ":").
 If the TERMPATH symbol is not set, \fBncurses\fR looks in the files
 /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap, in that order.
+.PP
+The library may be configured to disregard the following variables when the
+current user is the superuser (root), or if the application uses setuid or
+setgid permissions:
+$TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
 .SH FILES
 .TP 5
 @DATADIR@/tabset
 directory containing initialization files for the terminal capability database
 .SH FILES
 .TP 5
 @DATADIR@/tabset
 directory containing initialization files for the terminal capability database
-@DATADIR@/terminfo
+@TERMINFO@
 terminal capability database
 .SH SEE ALSO
 \fBterminfo\fR(\*n) and 3X pages whose names begin "curs_" for detailed routine
 terminal capability database
 .SH SEE ALSO
 \fBterminfo\fR(\*n) and 3X pages whose names begin "curs_" for detailed routine
index 046778a8cf9682b958df2c919d955c189bcf1be6..7ebecc00ff4608a539fd4862f794ab6fd6c7e314 100644 (file)
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: panel.3x,v 1.9 1998/03/11 21:12:53 juergen Exp $
+.\" $Id: panel.3x,v 1.10 2000/08/13 01:56:47 tom Exp $
 .TH panel 3X ""
 .ds n 5
 .TH panel 3X ""
 .ds n 5
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
 .SH NAME
 panel - panel stack extension for curses
 .SH SYNOPSIS
 .SH NAME
 panel - panel stack extension for curses
 .SH SYNOPSIS
index f79679db608d2bd473f178500f02ba3c4189e748..63a2d35f8411230632a0b9dd3f979b1e9e4edce4 100644 (file)
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: term.5,v 1.9 1998/03/11 21:12:53 juergen Exp $
+.\" $Id: term.5,v 1.10 2000/08/13 01:56:45 tom Exp $
 .TH TERM 5
 .ds n 5
 .TH TERM 5
 .ds n 5
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
 .SH NAME
 term \- format of compiled term file.
 .SH SYNOPSIS
 .SH NAME
 term \- format of compiled term file.
 .SH SYNOPSIS
index e8f81bb6f0d734ee6f431d050651251a130e4ff9..5a48c5a303d3ad846ff0930d93f71a12b6e6c85d 100644 (file)
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: term.7,v 1.11 1999/01/24 02:35:14 Todd.Miller Exp $
+.\" $Id: term.7,v 1.12 2000/08/13 01:56:42 tom Exp $
 .TH TERM 7
 .ds n 5
 .TH TERM 7
 .ds n 5
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
 .SH NAME
 term \- conventions for naming terminal types
 .SH DESCRIPTION
 .SH NAME
 term \- conventions for naming terminal types
 .SH DESCRIPTION
index 3118c1577fcfb97ead81bb93d4f267340c2886c5..36945ff2502b22ba9537e57dbab47c3cb58b7132 100644 (file)
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: terminfo.head,v 1.8 1998/03/11 21:12:53 juergen Exp $
+.\" $Id: terminfo.head,v 1.9 2000/08/13 01:56:40 tom Exp $
 .TH TERMINFO 5 "" "" "File Formats"
 .ds n 5
 .TH TERMINFO 5 "" "" "File Formats"
 .ds n 5
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
 .SH NAME
 terminfo \- terminal capability data base
 .SH SYNOPSIS
 .SH NAME
 terminfo \- terminal capability data base
 .SH SYNOPSIS
index 65a83c990cf2036d038fb0b01e6bf1f8538f352c..e39230f83863017d21e1fc3bc05263c6cd9363a7 100644 (file)
@@ -1,4 +1,4 @@
-.\" $Id: terminfo.tail,v 1.32 2000/04/15 20:04:58 tom Exp $
+.\" $Id: terminfo.tail,v 1.33 2000/10/14 14:06:50 tom Exp $
 .\" Beginning of terminfo.tail file
 .ps +1
 .PP
 .\" Beginning of terminfo.tail file
 .ps +1
 .PP
@@ -912,7 +912,8 @@ output
 .BR is2 ;
 set the margins using
 .BR mgc ,
 .BR is2 ;
 set the margins using
 .BR mgc ,
-.BR smgl and
+.BR smgl
+and
 .BR smgr ;
 set tabs using
 .B tbc
 .BR smgr ;
 set tabs using
 .B tbc
index 40f790ca0f38b89b8406bfdd180e33e4bcacc3cd..e3a095453d3ca422ecadcd69acb02fb033bcf580 100644 (file)
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: tic.1m,v 1.26 2000/03/19 02:18:18 tom Exp $
+.\" $Id: tic.1m,v 1.29 2000/08/19 18:51:05 tom Exp $
 .TH tic 1M ""
 .ds n 5
 .TH tic 1M ""
 .ds n 5
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
 .SH NAME
 \fBtic\fR - the \fIterminfo\fR entry-description compiler
 .SH SYNOPSIS
 .SH NAME
 \fBtic\fR - the \fIterminfo\fR entry-description compiler
 .SH SYNOPSIS
@@ -41,6 +41,7 @@ I\
 N\
 R\
 T\
 N\
 R\
 T\
+V\
 a\
 c\
 f\
 a\
 c\
 f\
@@ -147,6 +148,9 @@ eliminates size-restrictions on the generated text.
 This is mainly useful for testing and analysis, since the compiled
 descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo).
 .TP
 This is mainly useful for testing and analysis, since the compiled
 descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo).
 .TP
+\fB-V\fR
+reports the version of ncurses which was used in this program, and exits.
+.TP
 \fB-r\fR
 Force entry resolution (so there are no remaining tc capabilities) even
 when doing translation to termcap format.  This may be needed if you are
 \fB-r\fR
 Force entry resolution (so there are no remaining tc capabilities) even
 when doing translation to termcap format.  This may be needed if you are
@@ -267,6 +271,7 @@ The
 \fB-N\fR,
 \fB-R\fR,
 \fB-T\fR,
 \fB-N\fR,
 \fB-R\fR,
 \fB-T\fR,
+\fB-V\fR,
 \fB-a\fR,
 \fB-e\fR,
 \fB-f\fR,
 \fB-a\fR,
 \fB-e\fR,
 \fB-f\fR,
@@ -286,8 +291,8 @@ System V does not compile entries to or read entries from your
 \fB\*d/?/*\fR
 Compiled terminal description database.
 .SH SEE ALSO
 \fB\*d/?/*\fR
 Compiled terminal description database.
 .SH SEE ALSO
-\fBinfocmp\fR(1M), \fBcaptoinfo\fR(1M), \fBinfotocap\fR(1M), \fBtoe\fR(1M),
-\fBcurses\fR(3X), \fBterminfo\fR(\*n).
+\fB@INFOCMP@\fR(1M), \fB@CAPTOINFO@\fR(1M), \fB@INFOTOCAP@\fR(1M),
+\fB@TOE@\fR(1M), \fBcurses\fR(3X), \fBterminfo\fR(\*n).
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index ea277266db1acf90383e2e6adb4af2069778ae48..399cf614f3f31828b0e9fa8807022ba380082276 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
 .\"***************************************************************************
-.\" Copyright (c) 1998 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 1998,2000 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            *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" copy of this software and associated documentation files (the            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: toe.1m,v 1.7 1998/03/11 21:12:53 juergen Exp $
+.\" $Id: toe.1m,v 1.10 2000/08/19 18:51:05 tom Exp $
 .TH toe 1M ""
 .ds n 5
 .TH toe 1M ""
 .ds n 5
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
 .SH NAME
 \fBtoe\fR - table of (terminfo) entries
 .SH SYNOPSIS
 .SH NAME
 \fBtoe\fR - table of (terminfo) entries
 .SH SYNOPSIS
@@ -65,14 +65,14 @@ information showing \fBtoe\fR's progress.  The optional integer
 \fIn\fR is a number from 1 to 10, interpreted as for \fBtic\fR(1).
 .TP 5
 \fB-V\fR
 \fIn\fR is a number from 1 to 10, interpreted as for \fBtic\fR(1).
 .TP 5
 \fB-V\fR
-prints out the version of the program in use on standard error and exits.
+reports the version of ncurses which was used in this program, and exits.
 .SH FILES
 .TP 5
 \fB\*d/?/*\fR
 Compiled terminal description database.
 .SH SEE ALSO
 .SH FILES
 .TP 5
 \fB\*d/?/*\fR
 Compiled terminal description database.
 .SH SEE ALSO
-\fBtic\fR(1M), \fBinfocmp\fR(1M), \fBcaptoinfo\fR(1M), \fBinfotocap\fR(1M),
-\fBcurses\fR(3X), \fBterminfo\fR(\*n).
+\fB@TIC@\fR(1M), \fB@INFOCMP@\fR(1M), \fB@CAPTOINFO@\fR(1M),
+\fB@INFOTOCAP@\fR(1M), \fBcurses\fR(3X), \fBterminfo\fR(\*n).
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index 84b64b2588a19c82091773e8742171361063d9a7..898df1e606f50a5527d6d6a34c5694f2bc5e1385 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
 '\" t
 .\"***************************************************************************
-.\" Copyright (c) 1998 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 1998,2000 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            *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" copy of this software and associated documentation files (the            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: tput.1,v 1.12 1999/01/24 02:44:26 Jeffrey.C.Honig Exp $
+.\" $Id: tput.1,v 1.16 2000/09/09 20:43:33 tom Exp $
 .TH tput 1 ""
 .TH tput 1 ""
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
 .ds n 5
 .SH NAME
 .ds n 5
 .SH NAME
-\fBtput\fR - initialize a terminal or query terminfo database
+\fBtput\fR, \fBreset\fR - initialize a terminal or query terminfo database
 .SH SYNOPSIS
 \fBtput\fR [\fB-T\fR\fItype\fR] \fIcapname\fR [\fIparms\fR ... ]
 .br
 .SH SYNOPSIS
 \fBtput\fR [\fB-T\fR\fItype\fR] \fIcapname\fR [\fIparms\fR ... ]
 .br
@@ -44,6 +44,8 @@
 .br
 \fBtput -S\fR  \fB<<\fR
 .br
 .br
 \fBtput -S\fR  \fB<<\fR
 .br
+\fBtput -V\fR
+.br
 .SH DESCRIPTION
 The \fBtput\fR utility uses the \fBterminfo\fR database to make the
 values of terminal-dependent capabilities and information available to
 .SH DESCRIPTION
 The \fBtput\fR utility uses the \fBterminfo\fR database to make the
 values of terminal-dependent capabilities and information available to
@@ -85,6 +87,9 @@ instead of from the command line (see example).  Only one
 meaning of the \fB0\fR and \fB1\fR boolean and string exit codes (see the
 EXIT CODES section).
 .TP
 meaning of the \fB0\fR and \fB1\fR boolean and string exit codes (see the
 EXIT CODES section).
 .TP
+\fB-V\fR
+reports the version of ncurses which was used in this program, and exits.
+.TP
 \fBinit\fR
 If the \fBterminfo\fR database is present and an entry for the user's
 terminal exists (see \fB-T\fR\fItype\fR, above), the following will
 \fBinit\fR
 If the \fBterminfo\fR database is present and an entry for the user's
 terminal exists (see \fB-T\fR\fItype\fR, above), the following will
@@ -110,6 +115,10 @@ user's terminal exists (see \fB-T\fR\fItype\fR above), then the long name
 of the terminal will be put out.  The long name is the last
 name in the first line of the terminal's description in the
 \fBterminfo\fR database [see \fBterm\fR(5)].
 of the terminal will be put out.  The long name is the last
 name in the first line of the terminal's description in the
 \fBterminfo\fR database [see \fBterm\fR(5)].
+.PP
+If \fBtput\fR is invoked by a link named \fBreset\fR, this has the
+same effect as \fBtput reset\fR.
+See \fBtset\fR for comparison, which has similar behavior.
 .SH EXAMPLES
 .TP 5
 \fBtput init\fR
 .SH EXAMPLES
 .TP 5
 \fBtput init\fR
@@ -153,7 +162,8 @@ Send the sequence to move the cursor to row 23, column 4.
 Print the long name from the \fBterminfo\fR database for the
 type of terminal specified in the environmental
 variable \fBTERM\fR.
 Print the long name from the \fBterminfo\fR database for the
 type of terminal specified in the environmental
 variable \fBTERM\fR.
-.TP 0
+.PP
+.RS 5
 \fBtput -S <<!\fR
 .br
 \fB> clear\fR
 \fBtput -S <<!\fR
 .br
 \fB> clear\fR
@@ -163,6 +173,7 @@ variable \fBTERM\fR.
 \fB> bold\fR
 .br
 \fB> !\fR
 \fB> bold\fR
 .br
 \fB> !\fR
+.RE
 .TP 5
 \&
 This example shows tput processing several capabilities in one
 .TP 5
 \&
 This example shows tput processing several capabilities in one
@@ -187,47 +198,51 @@ sequences that set margins and tabs); for more
 information, see the "Tabs and Initialization"
 section of \fBterminfo\fR(4)
 .SH SEE ALSO
 information, see the "Tabs and Initialization"
 section of \fBterminfo\fR(4)
 .SH SEE ALSO
-\fBclear\fR(1), \fBstty\fR(1), \fBtabs\fR(\*n).  \fBprofile\fR(\*n),
+\fB@CLEAR@\fR(1), \fBstty\fR(1), \fBtabs\fR(\*n).  \fBprofile\fR(\*n),
 \fBterminfo\fR(4) in the \fISystem\fR \fIAdministrator\fR'\fIs\fR
 \fIReference\fR \fIManual\fR.  Chapter 10 of the
 \fIProgrammer\fR'\fIs\fR \fIGuide\fR.
 .SH EXIT CODES
 If \fIcapname\fR is of type boolean, a value of \fB0\fR is set for
 TRUE and \fB1\fR for FALSE unless the \fB-S\fR option is used.
 \fBterminfo\fR(4) in the \fISystem\fR \fIAdministrator\fR'\fIs\fR
 \fIReference\fR \fIManual\fR.  Chapter 10 of the
 \fIProgrammer\fR'\fIs\fR \fIGuide\fR.
 .SH EXIT CODES
 If \fIcapname\fR is of type boolean, a value of \fB0\fR is set for
 TRUE and \fB1\fR for FALSE unless the \fB-S\fR option is used.
-
+.PP
 If \fIcapname\fR is of type string, a value of \fB0\fR is set if the
 \fIcapname\fR is defined for this terminal \fItype\fR (the value of
 \fIcapname\fR is returned on standard output); a value of \fB1\fR is
 set if \fIcapname\fR is not defined for this terminal \fItype\fR (a
 null value is returned on standard output).
 If \fIcapname\fR is of type string, a value of \fB0\fR is set if the
 \fIcapname\fR is defined for this terminal \fItype\fR (the value of
 \fIcapname\fR is returned on standard output); a value of \fB1\fR is
 set if \fIcapname\fR is not defined for this terminal \fItype\fR (a
 null value is returned on standard output).
-
+.PP
 If \fIcapname\fR is of type boolean or string and the \fB-S\fR option
 is used, a value of \fB0\fR is returned to indicate that all lines
 were successful.  No indication of which line failed can be given so
 exit code \fB1\fR will never appear.  Exit codes \fB2\fR, \fB3\fR, and
 \fB4\fR retain their usual interpretation.
 If \fIcapname\fR is of type boolean or string and the \fB-S\fR option
 is used, a value of \fB0\fR is returned to indicate that all lines
 were successful.  No indication of which line failed can be given so
 exit code \fB1\fR will never appear.  Exit codes \fB2\fR, \fB3\fR, and
 \fB4\fR retain their usual interpretation.
-
+.PP
 If \fIcapname\fR is of type integer, a value of \fB0\fR is always set,
 whether or not \fIcapname\fR is defined for this terminal \fItype\fR.
 To determine if \fIcapname\fR is defined for this terminal \fItype\fR,
 the user must test the value of standard output.  A value of \fB-1\fR
 means that \fIcapname\fR is not defined for this terminal \fItype\fR.
 If \fIcapname\fR is of type integer, a value of \fB0\fR is always set,
 whether or not \fIcapname\fR is defined for this terminal \fItype\fR.
 To determine if \fIcapname\fR is defined for this terminal \fItype\fR,
 the user must test the value of standard output.  A value of \fB-1\fR
 means that \fIcapname\fR is not defined for this terminal \fItype\fR.
-
+.PP
 Any other exit code indicates an error; see the DIAGNOSTICS section.
 .SH DIAGNOSTICS
 \fBtput\fR prints the following error messages and sets the corresponding exit
 codes.
 Any other exit code indicates an error; see the DIAGNOSTICS section.
 .SH DIAGNOSTICS
 \fBtput\fR prints the following error messages and sets the corresponding exit
 codes.
-
+.PP
 .TS
 l l.
 exit code      error message
 .TS
 l l.
 exit code      error message
-\fB0\fR        (\fIcapname\fR is a numeric variable that is not specified in the
-       \fBterminfo\fR(\*n) database for this terminal type, e.g.
-       \fBtput -T450 lines\fR and \fBtput -T2621 xmc\fR)
+=
+\fB0\fR        T{
+(\fIcapname\fR is a numeric variable that is not specified in the
+\fBterminfo\fR(\*n) database for this terminal type, e.g.
+\fBtput -T450 lines\fR and \fBtput -T2621 xmc\fR)
+T}
 \fB1\fR        no error message is printed, see the \fBEXIT CODES\fR section.
 \fB2\fR        usage error
 \fB3\fR        unknown terminal \fItype\fR or no \fBterminfo\fR database
 \fB4\fR        unknown \fBterminfo\fR capability \fIcapname\fR
 \fB1\fR        no error message is printed, see the \fBEXIT CODES\fR section.
 \fB2\fR        usage error
 \fB3\fR        unknown terminal \fItype\fR or no \fBterminfo\fR database
 \fB4\fR        unknown \fBterminfo\fR capability \fIcapname\fR
+=
 .TE
 .SH PORTABILITY
 The \fBlongname\fR and \fB-S\fR options, and the parameter-substitution
 .TE
 .SH PORTABILITY
 The \fBlongname\fR and \fB-S\fR options, and the parameter-substitution
index 50d58e10957452a1cdab7131d71ec4925d4be68b..897d9edb5446b83e7d812dc43db0eaf88393bab4 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
 .\"***************************************************************************
-.\" Copyright (c) 1998 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 1998,2000 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            *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" copy of this software and associated documentation files (the            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: tset.1,v 1.8 1998/12/26 01:44:41 tom Exp $
+.\" $Id: tset.1,v 1.12 2000/09/09 20:33:07 tom Exp $
 .TH tset 1 ""
 .SH NAME
 .TH tset 1 ""
 .SH NAME
-\fBtset\fR - terminal initialization
+\fBtset\fR, \fBreset\fR - terminal initialization
 .SH SYNOPSIS
 .SH SYNOPSIS
-tset [-IQqrs] [-] [-e \fIch\fR] [-i \fIch\fR] [-k \fIch\fR] [-m \fImapping\fR] [\fIterminal\fR]
+tset [-IQVqrs] [-] [-e \fIch\fR] [-i \fIch\fR] [-k \fIch\fR] [-m \fImapping\fR] [\fIterminal\fR]
 .br
 .br
-reset [-IQqrs] [-] [-e \fIch\fR] [-i \fIch\fR] [-k \fIch\fR] [-m \fImapping\fR] [\fIterminal\fR]
+reset [-IQVqrs] [-] [-e \fIch\fR] [-i \fIch\fR] [-k \fIch\fR] [-m \fImapping\fR] [\fIterminal\fR]
 .SH DESCRIPTION
 \&\fBTset\fR initializes terminals.
 \fBTset\fR first determines the type of terminal that you are using.
 .SH DESCRIPTION
 \&\fBTset\fR initializes terminals.
 \fBTset\fR first determines the type of terminal that you are using.
@@ -92,6 +92,12 @@ Set the erase character to \fIch\fR.
 -I
 Do not send the terminal or tab initialization strings to the terminal.
 .TP 5
 -I
 Do not send the terminal or tab initialization strings to the terminal.
 .TP 5
+-Q
+Don't display any values for the erase, interrupt and line kill characters.
+.TP
+\fB-V\fR
+reports the version of ncurses which was used in this program, and exits.
+.TP 5
 -i
 Set the interrupt character to \fIch\fR.
 .TP 5
 -i
 Set the interrupt character to \fIch\fR.
 .TP 5
@@ -102,9 +108,6 @@ Set the line kill character to \fIch\fR.
 Specify a mapping from a port type to a terminal.
 See below for more information.
 .TP 5
 Specify a mapping from a port type to a terminal.
 See below for more information.
 .TP 5
--Q
-Don't display any values for the erase, interrupt and line kill characters.
-.TP 5
 -r
 Print the terminal type to the standard error output.
 .TP 5
 -r
 Print the terminal type to the standard error output.
 .TP 5
@@ -228,7 +231,7 @@ environment variables.
 /etc/ttys
 system port name to terminal type mapping database (BSD versions only).
 .TP 5
 /etc/ttys
 system port name to terminal type mapping database (BSD versions only).
 .TP 5
-@DATADIR@/terminfo
+@TERMINFO@
 terminal capability database
 .SH SEE ALSO
 csh(1),
 terminal capability database
 .SH SEE ALSO
 csh(1),
index 3d802c07fe69fe63fce201a400cb7dfd8fb25170..08f7dc258f1a707ebadb35a329da89d66e29c3aa 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.28 2000/05/28 01:40:08 tom Exp $
+# $Id: Makefile.in,v 1.31 2000/10/14 17:57:02 Johnny.C.Lam Exp $
 ##############################################################################
 # Copyright (c) 1998-2000 Free Software Foundation, Inc.                     #
 #                                                                            #
 ##############################################################################
 # Copyright (c) 1998-2000 Free Software Foundation, Inc.                     #
 #                                                                            #
@@ -46,13 +46,15 @@ SHELL               = /bin/sh
 THIS           = Makefile
 
 MODEL          = @DFT_LWR_MODEL@
 THIS           = Makefile
 
 MODEL          = @DFT_LWR_MODEL@
-INSTALL_PREFIX = @INSTALL_PREFIX@
+DESTDIR                = @DESTDIR@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
 libdir         = @libdir@
 includedir     = @includedir@
 
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
 libdir         = @libdir@
 includedir     = @includedir@
 
+LIBTOOL                = @LIBTOOL@
+
 INSTALL                = @INSTALL@
 INSTALL_LIB    = @INSTALL@ @INSTALL_LIB@
 INSTALL_DATA   = @INSTALL_DATA@
 INSTALL                = @INSTALL@
 INSTALL_LIB    = @INSTALL@ @INSTALL_LIB@
 INSTALL_DATA   = @INSTALL_DATA@
@@ -72,15 +74,15 @@ CPPFLAGS    = @CPPFLAGS@ \
 
 CCFLAGS                = $(CPPFLAGS) $(CFLAGS)
 
 
 CCFLAGS                = $(CPPFLAGS) $(CFLAGS)
 
+CFLAGS_LIBTOOL = $(CCFLAGS)
 CFLAGS_NORMAL  = $(CCFLAGS)
 CFLAGS_DEBUG   = $(CCFLAGS) @CC_G_OPT@ -DTRACE
 CFLAGS_PROFILE = $(CCFLAGS) -pg
 CFLAGS_NORMAL  = $(CCFLAGS)
 CFLAGS_DEBUG   = $(CCFLAGS) @CC_G_OPT@ -DTRACE
 CFLAGS_PROFILE = $(CCFLAGS) -pg
-
 CFLAGS_SHARED  = $(CCFLAGS) @CC_SHARED_OPTS@
 
 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
 
 CFLAGS_SHARED  = $(CCFLAGS) @CC_SHARED_OPTS@
 
 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
 
-LINK           = $(CC)
+LINK           = $(LIBTOOL) $(CC)
 LDFLAGS                = @LDFLAGS@ @LD_MODEL@ @LIBS@
 
 SHLIB_DIRS     = -L../lib -L$(libdir)
 LDFLAGS                = @LDFLAGS@ @LD_MODEL@ @LIBS@
 
 SHLIB_DIRS     = -L../lib -L$(libdir)
@@ -88,6 +90,8 @@ SHLIB_LIST    = $(SHLIB_DIRS) -lncurses@LIB_SUFFIX@ @SHLIB_LIST@
 
 MK_SHARED_LIB  = @MK_SHARED_LIB@
 
 
 MK_SHARED_LIB  = @MK_SHARED_LIB@
 
+NCURSES_MAJOR  = @NCURSES_MAJOR@
+NCURSES_MINOR  = @NCURSES_MINOR@
 REL_VERSION    = @cf_cv_rel_version@
 ABI_VERSION    = @cf_cv_abi_version@
 
 REL_VERSION    = @cf_cv_rel_version@
 ABI_VERSION    = @cf_cv_abi_version@
 
@@ -111,7 +115,7 @@ install ::  $(AUTO_SRC) $(LIBRARIES)
 
 sources :      $(AUTO_SRC)
 
 
 sources :      $(AUTO_SRC)
 
-$(INSTALL_PREFIX)$(libdir) :
+$(DESTDIR)$(libdir) :
        $(srcdir)/../mkinstalldirs $@
 
 # make copies to simplify include-paths while still keeping menu's include
        $(srcdir)/../mkinstalldirs $@
 
 # make copies to simplify include-paths while still keeping menu's include
@@ -134,8 +138,8 @@ MENU_PRIV_H = \
 tags:
        ctags *.[ch]
 
 tags:
        ctags *.[ch]
 
-TAGS:
-       etags *.[ch]
+@MAKE_UPPER_TAGS@TAGS:
+@MAKE_UPPER_TAGS@      etags *.[ch]
 
 mostlyclean ::
        -rm -f core tags TAGS *~ *.ln *.atac trace
 
 mostlyclean ::
        -rm -f core tags TAGS *~ *.ln *.atac trace
index 4b4a286a63a21314d4d383c9a87e143c84da6e04..5be728b1c5df73380ba186c5db09a9c7f6d31b39 100644 (file)
 #ifndef ETI_MENU
 #define ETI_MENU
 
 #ifndef ETI_MENU
 #define ETI_MENU
 
+#ifdef AMIGA
+#define TEXT TEXT_ncurses
+#endif
+
 #include <curses.h>
 #include <eti.h>
 
 #include <curses.h>
 #include <eti.h>
 
index c13f6c893a04a70559524e07eb744b4ccba8968d..6b1e8feee2c9c9e5f7094758aa91aa0433dc92b0 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998 Free Software Foundation, Inc.                        *
+ * Copyright (c) 1998,2000 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -56,7 +56,7 @@ extern int errno;
 
 #include <nc_alloc.h>
 
 
 #include <nc_alloc.h>
 
-#ifdef USE_RCS_IDS
+#if USE_RCS_IDS
 #define MODULE_ID(id) static const char Ident[] = id;
 #else
 #define MODULE_ID(id) /*nothing*/
 #define MODULE_ID(id) static const char Ident[] = id;
 #else
 #define MODULE_ID(id) /*nothing*/
index 2b6d2e62ea25c7cf2142275f21396e347b1aa2e9..4ea04461e7f13bec4f8d75940edbafa146b93205 100644 (file)
@@ -1,6 +1,6 @@
-# $Id: Makefile.in,v 1.20 1998/02/11 12:13:52 tom Exp $
+# $Id: Makefile.in,v 1.29 2000/09/30 20:01:10 tom Exp $
 ##############################################################################
 ##############################################################################
-# Copyright (c) 1998 Free Software Foundation, Inc.                          #
+# Copyright (c) 1998,2000 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 "Software"), #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
@@ -48,7 +48,8 @@ THIS          = Makefile
 CF_MFLAGS      = @cf_cv_makeflags@
 @SET_MAKE@
 
 CF_MFLAGS      = @cf_cv_makeflags@
 @SET_MAKE@
 
-INSTALL_PREFIX = @INSTALL_PREFIX@
+DESTDIR                = @DESTDIR@
+top_srcdir     = @top_srcdir@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
@@ -57,7 +58,8 @@ libdir                = @libdir@
 datadir                = @datadir@
 
 tabsetdir      = $(datadir)/tabset
 datadir                = @datadir@
 
 tabsetdir      = $(datadir)/tabset
-ticdir         = $(datadir)/terminfo
+ticdir         = @TERMINFO@
+source         = @TERMINFO_SRC@
 
 INSTALL                = @INSTALL@
 INSTALL_DATA   = @INSTALL_DATA@
 
 INSTALL                = @INSTALL@
 INSTALL_DATA   = @INSTALL_DATA@
@@ -69,29 +71,40 @@ sources:
 
 install: install.data
 
 
 install: install.data
 
-install.data:  $(INSTALL_PREFIX)$(libdir) \
-               $(INSTALL_PREFIX)$(ticdir) \
-               $(INSTALL_PREFIX)$(tabsetdir)
-       sh $(srcdir)/run_tic.sh $(bindir) $(srcdir) $(ticdir) $(INSTALL_PREFIX)
+install.data : $(DESTDIR)$(libdir) \
+               $(DESTDIR)$(ticdir) \
+               $(DESTDIR)$(tabsetdir)
+       DESTDIR=${DESTDIR} \
+       prefix=${prefix} \
+       exec_prefix=${exec_prefix} \
+       bindir=${bindir} \
+       top_srcdir=${top_srcdir} \
+       srcdir=${srcdir} \
+       datadir=${datadir} \
+       ticdir=${ticdir} \
+       source=${source} \
+       $(SHELL) ./run_tic.sh
        @cd $(srcdir)/tabset && \
        @cd $(srcdir)/tabset && \
-               sh -c 'for i in `echo * | fgrep -v CVS | fgrep -v RCS`; do \
-               echo installing $$i; \
-               $(INSTALL_DATA) $$i $(INSTALL_PREFIX)$(tabsetdir); done'
-
-$(INSTALL_PREFIX)$(libdir) \
-$(INSTALL_PREFIX)$(tabsetdir) \
-$(INSTALL_PREFIX)$(ticdir) :
+               $(SHELL) -c 'for i in * ; do \
+                       if test -f $$i ; then \
+                       echo installing $$i; \
+                       $(INSTALL_DATA) $$i $(DESTDIR)$(tabsetdir)/$$i; \
+                       fi; done'
+
+$(DESTDIR)$(libdir) \
+$(DESTDIR)$(tabsetdir) \
+$(DESTDIR)$(ticdir) :
        $(srcdir)/../mkinstalldirs $@
 
 uninstall: uninstall.data
 
 uninstall.data:
        $(srcdir)/../mkinstalldirs $@
 
 uninstall: uninstall.data
 
 uninstall.data:
-       -cd $(INSTALL_PREFIX)$(ticdir) && rm -rf *
-       -cd $(INSTALL_PREFIX)$(tabsetdir) && rm -rf *
+       -cd $(DESTDIR)$(ticdir) && rm -rf *
+       -cd $(DESTDIR)$(tabsetdir) && rm -rf *
 
 tags:
 
 
 tags:
 
-TAGS:
+@MAKE_UPPER_TAGS@TAGS:
 
 mostlyclean:
        -rm -f core tags TAGS *~ *.ln *.atac trace
 
 mostlyclean:
        -rm -f core tags TAGS *~ *.ln *.atac trace
@@ -99,7 +112,7 @@ mostlyclean:
 clean :: mostlyclean
 
 distclean: clean
 clean :: mostlyclean
 
 distclean: clean
-       -rm -f Makefile 
+       -rm -f Makefile run_tic.sh
 
 realclean: distclean
 
 
 realclean: distclean
 
index 7319f5d83cf8b2f4315971399c6f4b49f1b294f0..96625116168b18ed3329f7c5d71e6833d766d7c4 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: emx.src,v 1.6 1999/08/15 01:56:54 tom Exp $
+# $Id: emx.src,v 1.7 2000/08/27 02:16:08 jmcoopr Exp $
 # This is a reformatted copy of the terminfo source for OS/2 EMX from
 # Juan Jose Garcia Ripoll <worm@arrakis.es>.
 # http://www.arrakis.es/~worm/
 # This is a reformatted copy of the terminfo source for OS/2 EMX from
 # Juan Jose Garcia Ripoll <worm@arrakis.es>.
 # http://www.arrakis.es/~worm/
@@ -193,7 +193,7 @@ ansi.sys|ANSI.SYS 3.1 and later versions,
 #              kcub1           kb2             kcuf1
 #
 #              End=\0O         Down=\0P        NxPag=\0Q
 #              kcub1           kb2             kcuf1
 #
 #              End=\0O         Down=\0P        NxPag=\0Q
-#              kc1,kend        kcud1           kc3,knp
+#              kc1,kend        kcud1           kc3,knp
 #
 #              Ins=\0R         Del=\0S
 #              kich1           kdch1
 #
 #              Ins=\0R         Del=\0S
 #              kich1           kdch1
@@ -318,6 +318,19 @@ window|ANSI.SYS window,
        smso=\E[1;37;47m,
        smul=\E[1;31;47m,
        use=emx-base,
        smso=\E[1;37;47m,
        smul=\E[1;31;47m,
        use=emx-base,
+os2|OS/2-emx ANSI.SYS,
+       cuu=\E[%p1%dA,
+       cuu1=\E[A,
+       cud=\E[%p1%dB,
+       cud1=\E[B,
+       cuf=\E[%p1%dC,
+       cuf1=\E[C,
+       cub=\E[%p1%dD,
+       cub1=\E[D,
+       sc=\E[s,
+       rc=\E[u,
+       use=ansi,
+       use=mono,
 mono|ANSI.SYS mono,
        blink=\E[5m,
        bold=\E[1m,
 mono|ANSI.SYS mono,
        blink=\E[5m,
        bold=\E[1m,
index 7ddfe9b75ceba0089fce54efa6d239f9bce08377..14cf385a1cf77e703e5bd6a22ef5dda317af71d5 100644 (file)
@@ -14,7 +14,7 @@
 /* format braces inline */
 -br
 /* do not line up parentheses */
 /* format braces inline */
 -br
 /* do not line up parentheses */
--nlp
+-lp
 /* put the type of a procedure on the line before its name */
 -psl
 /* do not insert a space between procedure name and '(' */
 /* put the type of a procedure on the line before its name */
 -psl
 /* do not insert a space between procedure name and '(' */
old mode 100755 (executable)
new mode 100644 (file)
similarity index 77%
rename from misc/run_tic.sh
rename to misc/run_tic.in
index cdb6a5e..59ae327
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!@SHELL@
 ##############################################################################
 # Copyright (c) 1998,2000 Free Software Foundation, Inc.                     #
 #                                                                            #
 ##############################################################################
 # Copyright (c) 1998,2000 Free Software Foundation, Inc.                     #
 #                                                                            #
 # authorization.                                                             #
 ##############################################################################
 #
 # authorization.                                                             #
 ##############################################################################
 #
-# Author: Thomas E. Dickey <dickey@clark.net> 1996
+# Author: Thomas E. Dickey 1996,2000
 #
 #
-# $Id: run_tic.sh,v 1.12 2000/07/01 19:25:13 tom Exp $
+# $Id: run_tic.in,v 1.10 2000/10/09 22:57:35 tom Exp $
 # This script is used to install terminfo.src using tic.  We use a script
 # because the path checking is too awkward to do in a makefile.
 #
 # This script is used to install terminfo.src using tic.  We use a script
 # because the path checking is too awkward to do in a makefile.
 #
-# Parameters:
-#      $1 = nominal directory in which to find 'tic', i.e., $(bindir).
-#      $2 = source-directory, i.e., $(srcdir)
-#      $3 = destination-directory path, i.e., $(ticdir)
-#      $4 = install-prefix, if any
-#
 # Assumes:
 # Assumes:
-#      The leaf directory names (bin, lib, shared, tabset, terminfo)
+#      The leaf directory names (lib, tabset, terminfo)
 #
 echo '** Building terminfo database, please wait...'
 #
 #
 echo '** Building terminfo database, please wait...'
 #
-# Parameter parsing is primarily for debugging.  The script is designed to
-# be run from the misc/Makefile as
+# The script is designed to be run from the misc/Makefile as
 #      make install.data
 #      make install.data
-prefix=/usr/local
-if test $# != 0 ; then
-       bindir=$1
-       shift
-       PREFIX=`echo $bindir | sed -e 's/\/bin$//'`
-       test -n "$PREFIX" && test "x$PREFIX" != "x$bindir" && prefix=$PREFIX
-else
-       bindir=$prefix/bin
-fi
-
-if test $# != 0 ; then
-       srcdir=$1
-       shift
-else
-       srcdir=.
-fi
 
 
-if test $# != 0 ; then
-       ticdir=$1
-       shift
-else
-       ticdir=$prefix/share/terminfo
-fi
+: ${suffix=@PROG_EXT@}
+: ${DESTDIR=@DESTDIR@}
+: ${prefix=@prefix@}
+: ${exec_prefix=@exec_prefix@}
+: ${bindir=@bindir@}
+: ${top_srcdir=@top_srcdir@}
+: ${srcdir=@srcdir@}
+: ${datadir=@datadir@}
+: ${ticdir=@TERMINFO@}
+: ${source=@TERMINFO_SRC@}
+: ${LN_S="@LN_S@"}
 
 
-if test $# != 0 ; then
-       IP=$1
-       shift
-else
-       IP=""
-fi
+test -z "${DESTDIR}" && DESTDIR=
 
 # Allow tic to run either from the install-path, or from the build-directory
 case "$PATH" in
 
 # Allow tic to run either from the install-path, or from the build-directory
 case "$PATH" in
-:*) PATH=../progs:$IP$bindir$PATH ;;
-*) PATH=../progs:$IP$bindir:$PATH ;;
+:*) PATH=../progs:${DESTDIR}$bindir$PATH ;;
+*) PATH=../progs:${DESTDIR}$bindir:$PATH ;;
 esac
 export PATH
 
 esac
 export PATH
 
@@ -91,31 +68,30 @@ export PATH
 #
 NEWPATH=$PATH
 export NEWPATH
 #
 NEWPATH=$PATH
 export NEWPATH
-PROG_BIN_DIR=$IP$bindir
+PROG_BIN_DIR=${DESTDIR}$bindir
 export PROG_BIN_DIR
 
 export PROG_BIN_DIR
 
-TERMINFO=$IP$ticdir ; export TERMINFO
+TERMINFO=${DESTDIR}$ticdir ; export TERMINFO
 umask 022
 
 # Construct the name of the old (obsolete) pathname, e.g., /usr/lib/terminfo.
 umask 022
 
 # Construct the name of the old (obsolete) pathname, e.g., /usr/lib/terminfo.
-TICDIR=`echo $TERMINFO | sed -e 's/\/share\//\/lib\//'`
+TICDIR=`echo $TERMINFO | sed -e 's@/share/@/lib/@'`
 
 # Remove the old terminfo stuff; we don't care if it existed before, and it
 # would generate a lot of confusing error messages if we tried to overwrite it.
 # We explicitly remove its contents rather than the directory itself, in case
 # the directory is actually a symbolic link.
 
 # Remove the old terminfo stuff; we don't care if it existed before, and it
 # would generate a lot of confusing error messages if we tried to overwrite it.
 # We explicitly remove its contents rather than the directory itself, in case
 # the directory is actually a symbolic link.
-( rm -fr $TERMINFO/[0-9A-Za-z] 2>/dev/null )
+( cd $TERMINFO && rm -fr ? 2>/dev/null )
 
 # If we're not installing into /usr/share/, we'll have to adjust the location
 # of the tabset files in terminfo.src (which are in a parallel directory).
 
 # If we're not installing into /usr/share/, we'll have to adjust the location
 # of the tabset files in terminfo.src (which are in a parallel directory).
-TABSET=`echo $ticdir | sed -e 's/\/terminfo$/\/tabset/'`
-SRC=$srcdir/terminfo.src
+TABSET=`echo $ticdir | sed -e 's@/terminfo$@/tabset@'`
 if test "x$TABSET" != "x/usr/share/tabset" ; then
        echo '** adjusting tabset paths'
        TMP=${TMPDIR-/tmp}/$$
 if test "x$TABSET" != "x/usr/share/tabset" ; then
        echo '** adjusting tabset paths'
        TMP=${TMPDIR-/tmp}/$$
-       sed -e s:/usr/share/tabset:$TABSET:g $SRC >$TMP
+       sed -e s:/usr/share/tabset:$TABSET:g $source >$TMP
        trap "rm -f $TMP" 0 1 2 5 15
        trap "rm -f $TMP" 0 1 2 5 15
-       SRC=$TMP
+       source=$TMP
 fi
 
 cat <<EOF
 fi
 
 cat <<EOF
@@ -129,7 +105,7 @@ Running tic to install $TERMINFO ...
        problems for older ncurses applications.
 
 EOF
        problems for older ncurses applications.
 
 EOF
-if ( $srcdir/shlib tic -s $SRC )
+if ( $srcdir/shlib tic$suffix -s -o $TERMINFO $source )
 then
        echo '** built new '$TERMINFO
 else
 then
        echo '** built new '$TERMINFO
 else
@@ -155,14 +131,14 @@ if test "$TICDIR" != "$TERMINFO" ; then
                        echo "Otherwise, remove $TICDIR and link it to $TERMINFO."
                fi
        else
                        echo "Otherwise, remove $TICDIR and link it to $TERMINFO."
                fi
        else
-               cd $IP$prefix
+               cd ${DESTDIR}$prefix
                # Construct a symbolic link that only assumes $ticdir has the
                # same $prefix as the other installed directories.
                RELATIVE=`echo $ticdir|sed -e 's:^'$prefix'/::'`
                if test "$RELATIVE" != "$ticdir" ; then
                        RELATIVE=../`echo $ticdir|sed -e 's:^'$prefix'/::' -e 's:^/::'`
                fi
                # Construct a symbolic link that only assumes $ticdir has the
                # same $prefix as the other installed directories.
                RELATIVE=`echo $ticdir|sed -e 's:^'$prefix'/::'`
                if test "$RELATIVE" != "$ticdir" ; then
                        RELATIVE=../`echo $ticdir|sed -e 's:^'$prefix'/::' -e 's:^/::'`
                fi
-               if ( ln -s $RELATIVE $TICDIR )
+               if ( @LN_S@ $RELATIVE $TICDIR )
                then
                        echo '** linked '$TICDIR' for compatibility'
                fi
                then
                        echo '** linked '$TICDIR' for compatibility'
                fi
index c99b21325af569d6f7c5c7f3c5b279d823935baf..9e58d167e191029402f2c7fd8a28c2c7f19a2511 100644 (file)
@@ -5,7 +5,7 @@
 #      bug-ncurses@gnu.org
 #
 #      Version 10.2.1
 #      bug-ncurses@gnu.org
 #
 #      Version 10.2.1
-#      $Date: 2000/07/01 21:23:58 $
+#      $Date: 2000/09/24 02:29:16 $
 #      terminfo syntax
 #
 #      Eric S. Raymond         (current maintainer)
 #      terminfo syntax
 #
 #      Eric S. Raymond         (current maintainer)
@@ -1185,6 +1185,30 @@ qnx|qnx4|qnx console,
        rmso=\E), rmul=\E], rs1=\ER, setb=\E@%p1%Pb%gb%gf%d%d, 
        setf=\E@%p1%Pf%gb%gf%d%d, sgr0=\E}\E]\E>\E), smcup=\Ei, 
        smso=\E(, smul=\E[, 
        rmso=\E), rmul=\E], rs1=\ER, setb=\E@%p1%Pb%gb%gf%d%d, 
        setf=\E@%p1%Pf%gb%gf%d%d, sgr0=\E}\E]\E>\E), smcup=\Ei, 
        smso=\E(, smul=\E[, 
+#
+#
+qnxt|qnxt4|QNX4 terminal, 
+       crxm, use=qnx4, 
+#
+qnxm|QNX4 with mouse events, 
+       maddr#1, 
+       chr=\E/, cvr=\E", is1=\E/0t, mcub=\E/>1h, mcub1=\E/>7h, 
+       mcud=\E/>1h, mcud1=\E/>1l\E/>9h, mcuf=\E/>1h\E/>9l, 
+       mcuf1=\E/>7l, mcuu=\E/>6h, mcuu1=\E/>6l, rmicm=\E/>2l, 
+       smicm=\E/>2h, use=qnx4, 
+#
+qnxw|QNX4 windows, 
+       xvpa, use=qnxm, 
+#
+#      Monochrome QNX4 terminal or console. Setting this terminal type will
+#      allow an application running on a color console to behave as if it
+#      were a monochrome terminal. Output will be through stdout instead of
+#      console writes because the term routines will recognize that the
+#      terminal name starts with 'qnxt'.
+#
+qnxtmono|Monochrome QNX4 terminal or console, 
+       colors@, pairs@, 
+       scp@, use=qnx4, 
 
 # From: Federico Bianchi <bianchi@pc-arte2.arte.unipi.it>, 1 Jul 1998
 # (esr: commented out <scp> and <rmcup> to avoid warnings.)
 
 # From: Federico Bianchi <bianchi@pc-arte2.arte.unipi.it>, 1 Jul 1998
 # (esr: commented out <scp> and <rmcup> to avoid warnings.)
@@ -1194,6 +1218,72 @@ qnxt2|qnx 2.15 serial terminal,
        civis@, cnorm@, cvvis@, dch1@, ich1@, kRES@, kRPL@, kUND@, kspd@, 
        rep@, rmcup@, rmso=\E>, setb@, setf@, smcup@, smso=\E<, use=qnx4, 
 
        civis@, cnorm@, cvvis@, dch1@, ich1@, kRES@, kRPL@, kUND@, kspd@, 
        rep@, rmcup@, rmso=\E>, setb@, setf@, smcup@, smso=\E<, use=qnx4, 
 
+# QNX ANSI terminal definition
+qansi-g|QNX ANSI, 
+       am, eslok, hs, xon, 
+       colors#8, cols#80, it#8, lines#25, ncv#19, pairs#64, wsl#80, 
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~Oa, 
+       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, 
+       clear=\E[2J\E[H, cnorm=\E[?25h\E[?12l, cr=^M, 
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D, 
+       cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, 
+       cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, cuu1=\E[A, 
+       cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, 
+       dl=\E[%p1%dM, dl1=\E[1M, dsl=\E[r, ech=\E[%p1%dX, ed=\E[J, 
+       el=\E[K, el1=\E[1K\E[X, flash=\E[?5h$<200>\E[?5l, 
+       fsl=\E[?6h\E8, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, 
+       ich=\E[%p1%d@, ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L, 
+       ind=\E[S, indn=\E[%p1%dS, invis=\E[9m, 
+       is2=\E>\E[?1l\E[?7h\E[0;10;39;49m, is3=\E(B\E)0, 
+       kBEG=\ENn, kCAN=\E[s, kCMD=\E[t, kCPY=\ENs, kCRT=\ENt, 
+       kDL=\ENv, kEXT=\ENw, kFND=\ENx, kHLP=\ENy, kHOM=\E[h, 
+       kLFT=\E[d, kNXT=\E[u, kOPT=\ENz, kPRV=\E[v, kRIT=\E[c, 
+       kbs=^H, kcan=\E[S, kcbt=\E[Z, kclo=\ENc, kclr=\ENa, 
+       kcmd=\E[G, kcpy=\E[g, kctab=\E[z, kcub1=\E[D, kcud1=\E[B, 
+       kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[p, kend=\E[Y, 
+       kext=\E[y, kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EOA, 
+       kf13=\EOp, kf14=\EOq, kf15=\EOr, kf16=\EOs, kf17=\EOt, 
+       kf18=\EOu, kf19=\EOv, kf2=\EOQ, kf20=\EOw, kf21=\EOx, 
+       kf22=\EOy, kf23=\EOz, kf24=\EOa, kf25=\E[1~, kf26=\E[2~, 
+       kf27=\E[3~, kf28=\E[4~, kf29=\E[5~, kf3=\EOR, kf30=\E[6~, 
+       kf31=\E[7~, kf32=\E[8~, kf33=\E[9~, kf34=\E[10~, 
+       kf35=\E[11~, kf36=\E[12~, kf37=\E[17~, kf38=\E[18~, 
+       kf39=\E[19~, kf4=\EOS, kf40=\E[20~, kf41=\E[21~, 
+       kf42=\E[22~, kf43=\E[23~, kf44=\E[24~, kf45=\E[25~, 
+       kf46=\E[26~, kf47=\E[27~, kf48=\E[28~, kf5=\EOT, kf6=\EOU, 
+       kf7=\EOV, kf8=\EOW, kf9=\EOX, kfnd=\ENf, khlp=\ENh, 
+       khome=\E[H, khts=\ENb, kich1=\E[@, kil1=\E[`, kind=\E[a, 
+       kmov=\ENi, kmrk=\ENm, kmsg=\ENe, knp=\E[U, kopn=\ENo, 
+       kopt=\ENk, kpp=\E[V, kref=\ENl, kres=\ENp, krfr=\ENg, 
+       kri=\E[b, krpl=\ENr, krst=\ENj, ksav=\ENq, kslt=\E[T, 
+       ktbc=\ENd, kund=\ENu, ll=\E[99H, nel=\EE, op=\E[39;49m, 
+       rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\E[T, 
+       rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l, rmso=\E[27m, 
+       rmul=\E[24m, rs1=\017\E[?7h\E[0;39;49m$<2>\E>\E[?1l, 
+       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, 
+       setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, 
+       setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, 
+       sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, 
+       sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smso=\E[7m, 
+       smul=\E[4m, tbc=\E[2g, 
+       tsl=\E7\E1;24r\E[?6l\E[25;%i%p1%dH, 
+#
+qansi|QNX ansi with console writes, 
+       daisy, xhpa, use=qansi-g, 
+#
+qansi-t|QNX ansi without console writes, 
+       crxm, use=qansi, 
+#
+qansi-m|QNX ansi with mouse, 
+       maddr#1, 
+       chr=\E[, cvr=\E], is1=\E[0t, mcub=\E[>1h, mcub1=\E[>7h, 
+       mcud=\E[>1h, mcud1=\E[>1l\E[>9h, mcuf=\E[>1h\E[>9l, 
+       mcuf1=\E[>7l, mcuu=\E[>6h, mcuu1=\E[>6l, rmicm=\E[>2l, 
+       smicm=\E[>2h, use=qansi, 
+#
+qansi-w|QNX ansi for windows, 
+       xvpa, use=qansi-m, 
+
 #### NetBSD consoles
 #
 # pcvt termcap database entries (corresponding to release 3.31)
 #### NetBSD consoles
 #
 # pcvt termcap database entries (corresponding to release 3.31)
@@ -1352,7 +1442,7 @@ rcons|BSD rasterconsole,
 rcons-color|BSD rasterconsole with ANSI color, 
        bce, 
        colors#8, pairs#64, 
 rcons-color|BSD rasterconsole with ANSI color, 
        bce, 
        colors#8, pairs#64, 
-       op=\E[m, setab=\E[4%dm, setaf=\E[3%dm, use=rcons, 
+       op=\E[m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=rcons, 
 
 # mgterm -- MGL/MGL2, MobileGear Graphic Library
 # for PocketBSD,PocketLinux,NetBSD/{hpcmips,mac68k}
 
 # mgterm -- MGL/MGL2, MobileGear Graphic Library
 # for PocketBSD,PocketLinux,NetBSD/{hpcmips,mac68k}
@@ -2171,7 +2261,7 @@ vt420pc|DEC VT420 w/PC keyboard,
 
 vt420pcdos|DEC VT420 w/PC for DOS Merge, 
        lines#25, 
 
 vt420pcdos|DEC VT420 w/PC for DOS Merge, 
        lines#25, 
-       dispc=%?%p2%{19}%=%t\E\023\021%e%p2%{32}%<%t\E%p2%c%e%p2%{127}%=%t\E\177%e%p2%c%;, 
+       dispc=%?%p1%{19}%=%t\E\023\021%e%p1%{32}%<%t\E%p1%c%e%p1%{127}%=%t\E\177%e%p1%c%;, 
        pctrm@, 
        rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sgr@, 
        sgr0=\E[m, smsc=\E[?1;2r\E[34h, use=vt420pc, 
        pctrm@, 
        rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sgr@, 
        sgr0=\E[m, smsc=\E[?1;2r\E[34h, use=vt420pc, 
@@ -2450,7 +2540,7 @@ xterm-r6|xterm-old|xterm X11R6 version,
        kslt=\E[4~, meml=\El, memu=\Em, rc=\E8, rev=\E[7m, ri=\EM, 
        rmacs=^O, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, 
        rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, 
        kslt=\E[4~, meml=\El, memu=\Em, rc=\E8, rev=\E[7m, ri=\EM, 
        rmacs=^O, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, 
        rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, 
-       rs2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, sc=\E7, 
+       rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>, sc=\E7, 
        sgr0=\E[m, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h, 
        smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, 
        u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, 
        sgr0=\E[m, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h, 
        smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, 
        u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, 
@@ -2483,7 +2573,7 @@ xterm-xf86-v32|xterm terminal emulator (XFree86 3.2 Window System),
        memu=\Em, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmam=\E[?7l, 
        rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E[?1l\E>, 
        rmso=\E[27m, rmul=\E[24m, rs1=^O, 
        memu=\Em, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmam=\E[?7l, 
        rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E[?1l\E>, 
        rmso=\E[27m, rmul=\E[24m, rs1=^O, 
-       rs2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, sc=\E7, 
+       rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>, sc=\E7, 
        setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, 
        setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, 
        sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, 
        setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, 
        setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, 
        sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, 
@@ -2510,7 +2600,7 @@ xterm-xf86-v333|xterm terminal emulator (XFree86 3.3.3 Window System),
        sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, 
        smcup=\E[?1048h\E[?1047h, use=xterm-xf86-v33, 
 
        sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, 
        smcup=\E[?1048h\E[?1047h, use=xterm-xf86-v33, 
 
-# This beta version will probably be released in XFree86 4.0.
+# This version was released in XFree86 4.0.
 xterm-xf86-v40|xterm terminal emulator (XFree86 4.0 Window System), 
        npc, 
        kDC=\E[3;5~, kEND=\EO5F, kHOM=\EO5H, kIC=\E[2;5~, 
 xterm-xf86-v40|xterm terminal emulator (XFree86 4.0 Window System), 
        npc, 
        kDC=\E[3;5~, kEND=\EO5F, kHOM=\EO5H, kIC=\E[2;5~, 
@@ -2531,7 +2621,54 @@ xterm-xf86-v40|xterm terminal emulator (XFree86 4.0 Window System),
        smcup=\E[?1049h, use=xterm-xf86-v333, 
 
 xterm-xfree86|xterm-new|xterm terminal emulator (XFree86 4.0 Window System), 
        smcup=\E[?1049h, use=xterm-xf86-v333, 
 
 xterm-xfree86|xterm-new|xterm terminal emulator (XFree86 4.0 Window System), 
-       use=xterm-xf86-v40, 
+       npc, 
+       kDC=\E[3;5~, kEND=\EO5F, kHOM=\EO5H, kIC=\E[2;5~, 
+       kLFT=\EO5D, kNXT=\E[6;5~, kPRV=\E[5;5~, kRIT=\EO5C, 
+       kb2=\EOE, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, 
+       kcuu1=\EOA, kend=\EOF, kent=\EOM, kf1=\EOP, kf10=\E[21~, 
+       kf11=\E[23~, kf12=\E[24~, kf13=\EO2P, kf14=\EO2Q, 
+       kf15=\EO2R, kf16=\EO2S, kf17=\E[15;2~, kf18=\E[17;2~, 
+       kf19=\E[18;2~, kf2=\EOQ, kf20=\E[19;2~, kf21=\E[20;2~, 
+       kf22=\E[21;2~, kf23=\E[23;2~, kf24=\E[24;2~, kf25=\EO5P, 
+       kf26=\EO5Q, kf27=\EO5R, kf28=\EO5S, kf29=\E[15;5~, 
+       kf3=\EOR, kf30=\E[17;5~, kf31=\E[18;5~, kf32=\E[19;5~, 
+       kf33=\E[20;5~, kf34=\E[21;5~, kf35=\E[23;5~, 
+       kf36=\E[24;5~, kf37=\EO6P, kf38=\EO6Q, kf39=\EO6R, 
+       kf4=\EOS, kf40=\EO6S, kf41=\E[15;6~, kf42=\E[17;6~, 
+       kf43=\E[18;6~, kf44=\E[19;6~, kf45=\E[20;6~, 
+       kf46=\E[21;6~, kf47=\E[23;6~, kf48=\E[24;6~, kf5=\E[15~, 
+       kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\EOH, 
+       kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, 
+       use=xterm-basic, 
+#
+# This chunk is used for building the VT220/Sun/PC keyboard variants.
+xterm-basic|xterm terminal emulator - common (XFree86), 
+       am, bce, km, mc5i, mir, msgr, xenl, 
+       colors#8, cols#80, it#8, lines#24, pairs#64, 
+       acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
+       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, 
+       clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, 
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, 
+       cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, 
+       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, 
+       dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, 
+       ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0, 
+       flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG, 
+       ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, 
+       ind=^J, invis=\E[8m, is2=\E[!p\E[?3;4l\E[4l\E>, kbs=^H, 
+       kdch1=\E[3~, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, meml=\El, 
+       memu=\Em, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, 
+       rmam=\E[?7l, rmcup=\E[?1049l, rmir=\E[4l, rmkx=\E[?1l\E>, 
+       rmso=\E[27m, rmul=\E[24m, rs1=\Ec, 
+       rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7, setab=\E[4%p1%dm, 
+       setaf=\E[3%p1%dm, 
+       setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, 
+       setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, 
+       sgr=\E[0%?%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, 
+       sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[?1049h, 
+       smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, 
+       tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, 
+       vpa=\E[%i%p1%dd, 
 
 # From: David J. MacKenzie <djm@va.pubnix.com>, 14 Nov 1997
 xterm-xi|xterm on XI Graphics Accelerated X under BSD/OS 3.1, 
 
 # From: David J. MacKenzie <djm@va.pubnix.com>, 14 Nov 1997
 xterm-xi|xterm on XI Graphics Accelerated X under BSD/OS 3.1, 
@@ -2539,17 +2676,17 @@ xterm-xi|xterm on XI Graphics Accelerated X under BSD/OS 3.1,
 
 # This is one of the variants of XFree86 3.3 xterm, updated for 4.0 (T.Dickey)
 xterm-16color|xterm with 16 colors like aixterm, 
 
 # This is one of the variants of XFree86 3.3 xterm, updated for 4.0 (T.Dickey)
 xterm-16color|xterm with 16 colors like aixterm, 
-       colors#16, pairs#256, 
+       colors#16, ncv#32, pairs#256, 
        setab=\E[%?%p1%{8}%<%t%p1%{40}%+%e%p1%{92}%+%;%dm, 
        setaf=\E[%?%p1%{8}%<%t%p1%{30}%+%e%p1%{82}%+%;%dm, 
        setb=%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m, 
        setf=%p1%{8}%/%{6}%*%{3}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m, 
        setab=\E[%?%p1%{8}%<%t%p1%{40}%+%e%p1%{92}%+%;%dm, 
        setaf=\E[%?%p1%{8}%<%t%p1%{30}%+%e%p1%{82}%+%;%dm, 
        setb=%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m, 
        setf=%p1%{8}%/%{6}%*%{3}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m, 
-       use=xterm-xf86-v40
+       use=xterm-xfree86
 
 # These variants of XFree86 3.9.16 xterm are built as a configure option.
 xterm-256color|xterm with 256 colors, 
        ccc, 
 
 # These variants of XFree86 3.9.16 xterm are built as a configure option.
 xterm-256color|xterm with 256 colors, 
        ccc, 
-       colors#256, pairs#256, 
+       colors#256, ncv#32, pairs#256, 
        initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\, 
        setab=\E[48;5;%p1%dm, setaf=\E[38;5;%p1%dm, 
        setb=\E[48;5;%p1%dm, setf=\E[38;5;%p1%dm, 
        initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\, 
        setab=\E[48;5;%p1%dm, setaf=\E[38;5;%p1%dm, 
        setb=\E[48;5;%p1%dm, setf=\E[38;5;%p1%dm, 
@@ -2583,7 +2720,7 @@ xterm-8bit|xterm terminal emulator 8-bit controls (X Window System),
        invis=\2338m, 
        is2=\E7\E G\233r\233m\233?7h\233?1;3;4;6l\2334l\E8\E>, 
        ka1=\217w, ka3=\217u, kb2=\217y, kbeg=\217E, kbs=^H, 
        invis=\2338m, 
        is2=\E7\E G\233r\233m\233?7h\233?1;3;4;6l\2334l\E8\E>, 
        ka1=\217w, ka3=\217u, kb2=\217y, kbeg=\217E, kbs=^H, 
-       kc1=\217q, kc3=\217s, kcub1=\217D, kcud1=\217B, 
+       kc1=\217q, kc3=\217s, kcbt=\233Z, kcub1=\217D, kcud1=\217B, 
        kcuf1=\217C, kcuu1=\217A, kdch1=\2333~, kend=\2334~, 
        kent=\217M, kf1=\23311~, kf10=\23321~, kf11=\23323~, 
        kf12=\23324~, kf13=\23325~, kf14=\23326~, kf15=\23328~, 
        kcuf1=\217C, kcuu1=\217A, kdch1=\2333~, kend=\2334~, 
        kent=\217M, kf1=\23311~, kf10=\23321~, kf11=\23323~, 
        kf12=\23324~, kf13=\23325~, kf14=\23326~, kf15=\23328~, 
@@ -2596,11 +2733,11 @@ xterm-8bit|xterm terminal emulator 8-bit controls (X Window System),
        ri=\215, rmacs=^O, rmam=\233?7l, rmcup=\233?1049l, 
        rmir=\2334l, rmkx=\233?1l\E>, rmso=\23327m, rmul=\23324m, 
        rs1=\Ec, 
        ri=\215, rmacs=^O, rmam=\233?7l, rmcup=\233?1049l, 
        rmir=\2334l, rmkx=\233?1l\E>, rmso=\23327m, rmul=\23324m, 
        rs1=\Ec, 
-       rs2=\E7\E[62"p\E G\233r\233m\233?7h\233?1;3;4;6l\2334l\E8\E>, 
+       rs2=\E[62"p\E G\E7\233r\E8\233m\233?7h\233?1;3;4;6l\2334l\E>, 
        sc=\E7, setab=\2334%p1%dm, setaf=\2333%p1%dm, 
        setb=\2334%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, 
        setf=\2333%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, 
        sc=\E7, setab=\2334%p1%dm, setaf=\2333%p1%dm, 
        setb=\2334%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, 
        setf=\2333%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, 
-       sgr=\2330%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, 
+       sgr=\2330%?%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, 
        sgr0=\233m^O, smacs=^N, smam=\233?7h, smcup=\233?1049h, 
        smir=\2334h, smkx=\233?1h\E=, smso=\2337m, smul=\2334m, 
        tbc=\2333g, u6=\233[%i%d;%dR, u7=\E[6n, u8=\233[?1;2c, 
        sgr0=\233m^O, smacs=^N, smam=\233?7h, smcup=\233?1049h, 
        smir=\2334h, smkx=\233?1h\E=, smso=\2337m, smul=\2334m, 
        tbc=\2333g, u6=\233[%i%d;%dR, u7=\E[6n, u8=\233[?1;2c, 
@@ -2610,18 +2747,38 @@ xterm-hp|XFree86 xterm with hpterm function keys,
        kclr=\EJ, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, 
        kdch1=\EP, kend=\EF, kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es, 
        kf5=\Et, kf6=\Eu, kf7=\Ev, kf8=\Ew, khome=\Eh, kich1=\EQ, 
        kclr=\EJ, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, 
        kdch1=\EP, kend=\EF, kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es, 
        kf5=\Et, kf6=\Eu, kf7=\Ev, kf8=\Ew, khome=\Eh, kich1=\EQ, 
-       knp=\ES, kpp=\ET, use=xterm-xfree86, 
-
+       knp=\ES, kpp=\ET, use=xterm-basic, 
+
+xterm-sco|XFree86 xterm with SCO function keys, 
+       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kend=\E[F, 
+       kf1=\E[M, kf10=\E[V, kf11=\E[W, kf12=\E[X, kf13=\E[Y, 
+       kf15=\E[a, kf16=\E[b, kf17=\E[c, kf18=\E[d, kf19=\E[e, 
+       kf2=\E[N, kf20=\E[f, kf21=\E[g, kf22=\E[h, kf23=\E[i, 
+       kf24=\E[j, kf25=\E[k, kf26=\E[l, kf27=\E[m, kf28=\E[n, 
+       kf29=\E[o, kf3=\E[O, kf30=\E[p, kf31=\E[q, kf32=\E[r, 
+       kf33=\E[s, kf34=\E[t, kf35=\E[u, kf4=\E[P, kf5=\E[Q, 
+       kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H, 
+       kich1=\E[L, knp=\E[G, kpp=\E[I, use=xterm-basic, 
+
+# The xterm-xfree86 description has all of the features, but is not completely
+# compatible with vt220.  If you are using a Sun or PC keyboard, set the
+# sunKeyboard resource to true:
+#      + maps the editing keypad
+#      + interprets control-function-key as a second array of keys, so a
+#        12-fkey keyboard can support vt220's 20-fkeys.
+#      + maps numeric keypad "+" to ",".
+#      + uses DEC-style control sequences for the application keypad.
+#        
 xterm-vt220|XFree86 xterm emulating vt220, 
 xterm-vt220|XFree86 xterm emulating vt220, 
-       ka1=\EOw, ka3=\EOy, kbeg=\EOu, kbs=^H, kc1=\EOq, kc3=\EOs
-       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
-       kdch1=\E[3~, kend=\E[4~, kent=\EOM, kf1=\EOP, kf10=\E[21~, 
-       kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, 
-       kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~
-       kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS
-       kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, 
-       khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, 
-       use=xterm-xfree86
+       ka1=\EOw, ka3=\EOy, kbeg=\EOu, kc1=\EOq, kc3=\EOs, kcbt=\E[Z
+       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[4~, 
+       kent=\EOM, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, 
+       kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, 
+       kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ
+       kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf5=\E[15~, kf6=\E[17~
+       kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~, 
+       kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, 
+       use=xterm-basic
 
 xterm-vt52|XFree86 xterm emulating dec vt52, 
        cols#80, it#8, lines#24, 
 
 xterm-vt52|XFree86 xterm emulating dec vt52, 
        cols#80, it#8, lines#24, 
@@ -2670,6 +2827,8 @@ kterm|kterm kanji terminal emulator (X window system),
        acsc@, csr=\E[%i%p1%d;%p2%dr, dsl=\E[?H, enacs@, fsl=\E[?F, 
        kmous=\E[M, rc=\E8, rmacs@, sc=\E7, smacs@, 
        tsl=\E[?E\E[?%i%dT, use=xterm-r6, use=ecma+color, 
        acsc@, csr=\E[%i%p1%d;%p2%dr, dsl=\E[?H, enacs@, fsl=\E[?F, 
        kmous=\E[M, rc=\E8, rmacs@, sc=\E7, smacs@, 
        tsl=\E[?E\E[?%i%dT, use=xterm-r6, use=ecma+color, 
+kterm-color|kterm-co|kterm with ANSI colors, 
+       ncv@, use=kterm, use=ecma+color, 
 # See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
 xterm-nic|xterm with ich/ich1 suppressed for non-curses programs, 
        ich@, ich1@, use=xterm, 
 # See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
 xterm-nic|xterm with ich/ich1 suppressed for non-curses programs, 
        ich@, ich1@, use=xterm, 
@@ -3028,6 +3187,8 @@ eterm|gnu emacs term.el terminal emulation,
 #      G0   (bool)  Terminal can deal with ISO 2022  font  selection sequences.
 #      AX   (bool)  Does  understand ANSI set default fg/bg color
 #                   (\E[39m / \E[49m).
 #      G0   (bool)  Terminal can deal with ISO 2022  font  selection sequences.
 #      AX   (bool)  Does  understand ANSI set default fg/bg color
 #                   (\E[39m / \E[49m).
+#      S0   (str)   Switch charset 'G0' to the specified charset.
+#      E0   (str)   Switch charset 'G0' back to standard charset.
 screen|VT 100/ANSI X3.64 virtual terminal, 
        OTbs, OTpt, am, km, mir, msgr, xenl, G0, 
        colors#8, cols#80, it#8, lines#24, pairs#64, 
 screen|VT 100/ANSI X3.64 virtual terminal, 
        OTbs, OTpt, am, km, mir, msgr, xenl, G0, 
        colors#8, cols#80, it#8, lines#24, pairs#64, 
@@ -3048,8 +3209,8 @@ screen|VT 100/ANSI X3.64 virtual terminal,
        kpp=\E[5~, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, 
        rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[23m, rmul=\E[24m, 
        rs2=\Ec, sc=\E7, sgr0=\E[m, smacs=^N, smir=\E[4h, 
        kpp=\E[5~, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, 
        rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[23m, rmul=\E[24m, 
        rs2=\Ec, sc=\E7, sgr0=\E[m, smacs=^N, smir=\E[4h, 
-       smkx=\E[?1h\E=, smso=\E[3m, smul=\E[4m, tbc=\E[3g, 
-       use=ecma+color, 
+       smkx=\E[?1h\E=, smso=\E[3m, smul=\E[4m, tbc=\E[3g, E0=\E(B, 
+       S0=\E(%p1%c, use=ecma+color, 
 
 screen-w|VT 100/ANSI X3.64 virtual terminal with 132 cols, 
        cols#132, use=screen, 
 
 screen-w|VT 100/ANSI X3.64 virtual terminal with 132 cols, 
        cols#132, use=screen, 
@@ -3141,7 +3302,7 @@ ncsa-m|ncsa-vt220-8|NCSA Telnet 2.6 for Macintosh in vt220-8 mode,
        rc=\E8, rev=\E[7m, rf=/usr/share/tabset/vt100, ri=\EM, 
        rmacs=^O, rmam=\E[?7l, rmcup=\E[2J\E8, rmir=\E[4l, 
        rmso=\E[27m, rmul=\E[24m, 
        rc=\E8, rev=\E[7m, rf=/usr/share/tabset/vt100, ri=\EM, 
        rmacs=^O, rmam=\E[?7l, rmcup=\E[2J\E8, rmir=\E[4l, 
        rmso=\E[27m, rmul=\E[24m, 
-       rs2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>, sc=\E7, 
+       rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;4;6l\E[4l\E>, sc=\E7, 
        sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;, 
        sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E7, 
        smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g, tsl=\E]0;, 
        sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;, 
        sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E7, 
        smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g, tsl=\E]0;, 
@@ -3169,9 +3330,10 @@ ncsa-vt220|NCSA Telnet using vt220-compatible function keys,
 
 #### Pilot Pro Palm-Top
 #
 
 #### Pilot Pro Palm-Top
 #
-# From: Jason Downs <downsj@downsj.com>, 15 Jun 1997 (Top Gun Telnet's author)
+# Termcap for Top Gun Telnet and SSH on the Palm Pilot.
+# http://www.isaac.cs.berkeley.edu/pilot/tgtelnet.html
 pilot|tgtelnet|Top Gun Telnet on the Palm Pilot Professional, 
 pilot|tgtelnet|Top Gun Telnet on the Palm Pilot Professional, 
-       am, xenl, 
+       OTbs, am, xenl, 
        cols#39, lines#16, 
        bel=^G, clear=\Ec, cr=^M, cub1=^H, cud1=^J, 
        cup=\Em%p1%{32}%+%c%p2%{32}%+%c, home=\Em\s\s, ht=^I, 
        cols#39, lines#16, 
        bel=^G, clear=\Ec, cr=^M, cub1=^H, cud1=^J, 
        cup=\Em%p1%{32}%+%c%p2%{32}%+%c, home=\Em\s\s, ht=^I, 
@@ -3702,7 +3864,7 @@ pcmw|PC running Microsoft Works,
 altos2|alt2|altos-2|altos II, 
        cols#80, it#8, lines#24, xmc#0, 
        clear=\E[H\E[2J, cr=^M, cub1=^H, cud1=\E[1B, cuf1=\E[1C, 
 altos2|alt2|altos-2|altos II, 
        cols#80, it#8, lines#24, xmc#0, 
        clear=\E[H\E[2J, cr=^M, cub1=^H, cud1=\E[1B, cuf1=\E[1C, 
-       cup=\E[%i%p1%d;%p2%dH, cuu1=\E[1A, dch1=\E[P, dl=\E[M, 
+       cup=\E[%i%p1%d;%p2%dH, cuu1=\E[1A, dch1=\E[P, dl1=\E[M, 
        ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@, 
        if=/usr/share/tabset/vt100, il1=\E[L, ind=^J, 
        is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, kDL=^Am\r, 
        ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@, 
        if=/usr/share/tabset/vt100, il1=\E[L, ind=^J, 
        is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, kDL=^Am\r, 
@@ -3743,7 +3905,7 @@ altos7|alt7|altos VII,
        acsc=j5k3l2m1n8q\:t4u9v=w0x6, blink=\EG2, bold=\EGt, 
        clear=\E+^^, cr=^M, cub1=^H, cud1=^J, cuf1=^L, 
        cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, 
        acsc=j5k3l2m1n8q\:t4u9v=w0x6, blink=\EG2, bold=\EGt, 
        clear=\E+^^, cr=^M, cub1=^H, cud1=^J, cuf1=^L, 
        cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, 
-       dim=\EGp, dl=\ER, ed=\EY, el=\ET, home=^^, ht=^I, il1=\EE, 
+       dim=\EGp, dl1=\ER, ed=\EY, el=\ET, home=^^, ht=^I, il1=\EE, 
        ind=^J, invis=\EG1, 
        is2=\E`\:\Ee(\EO\Ee6\Ec41\E~4\Ec21\Eu\E~2, kDL=^Am\r, 
        kEOL=^An\r, kbs=^H, kcbt=^AK\r, kclr=^AL\r, kcub1=^H, 
        ind=^J, invis=\EG1, 
        is2=\E`\:\Ee(\EO\Ee6\Ec41\E~4\Ec21\Eu\E~2, kDL=^Am\r, 
        kEOL=^An\r, kbs=^H, kcbt=^AK\r, kclr=^AL\r, kcub1=^H, 
@@ -4356,12 +4518,12 @@ bobcat|sbobcat|HP 9000 model 300 console,
        am, da, db, mir, xhp, 
        cols#128, it#8, lines#47, xmc#0, 
        cbt=\Ei, clear=\EH\EJ, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC, 
        am, da, db, mir, xhp, 
        cols#128, it#8, lines#47, xmc#0, 
        cbt=\Ei, clear=\EH\EJ, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC, 
-       cup=\E&a%dy%dC$<6/>, cuu1=\EA, dch1=\EP, dl1=\EM$<10*/>
-       ed=\EJ, el=\EK, hpa=\E&a%dC$<6/>, ht=^I, il1=\EL$<10*/>
-       ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA
-       khome=\Eh, nel=^M^J, rmir=\ER, rmkx=\E&s0A, rmso=\E&d@
-       rmul=\E&d@, sgr0=\E&d@, smir=\EQ, smkx=\E&s1A, smso=\E&dB
-       smul=\E&dD, vpa=\E&a%dY$<6/>, 
+       cup=\E&a%p1%dy%p2%dC$<6/>, cuu1=\EA, dch1=\EP
+       dl1=\EM$<10*/>, ed=\EJ, el=\EK, hpa=\E&a%p1%dC$<6/>, ht=^I
+       il1=\EL$<10*/>, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB
+       kcuf1=\EC, kcuu1=\EA, khome=\Eh, nel=^M^J, rmir=\ER
+       rmkx=\E&s0A, rmso=\E&d@, rmul=\E&d@, sgr0=\E&d@, smir=\EQ
+       smkx=\E&s1A, smso=\E&dB, smul=\E&dD, vpa=\E&a%p1%dY$<6/>, 
 gator-t|HP 9000 model 237 emulating extra-tall AAA, 
        lines#94, use=gator, 
 gator|HP 9000 model 237 emulating AAA, 
 gator-t|HP 9000 model 237 emulating extra-tall AAA, 
        lines#94, use=gator, 
 gator|HP 9000 model 237 emulating AAA, 
@@ -4783,7 +4945,7 @@ pt100|pt200|wren|fenix|prime pt100/pt200,
        cbt=\E[Z, clear=\E?, cr=^M, cub=\E[%p1%dD, cub1=^H, 
        cud=\E[%p1%dB, cud1=\ED, cuf=\E[%p1%dC, cuf1=\E[C, 
        cup=\E0%p1%{33}%+%c%p2%{33}%+%c, cuu=\E[%p1%dA, 
        cbt=\E[Z, clear=\E?, cr=^M, cub=\E[%p1%dD, cub1=^H, 
        cud=\E[%p1%dB, cud1=\ED, cuf=\E[%p1%dC, cuf1=\E[C, 
        cup=\E0%p1%{33}%+%c%p2%{33}%+%c, cuu=\E[%p1%dA, 
-       cuu1=\EM, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[M, 
+       cuu1=\EM, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl1=\E[M, 
        ed=\E[J\E[r, el=\E[K\E[t, flash=\E$$<200/>\E$P, 
        home=\E$B, ht=^I, il1=\E[L\E[t, ind=^J, kbs=^H, kcub1=\E[D, 
        kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E$A, nel=^M^J, 
        ed=\E[J\E[r, el=\E[K\E[t, flash=\E$$<200/>\E$P, 
        home=\E$B, ht=^I, il1=\E[L\E[t, ind=^J, kbs=^H, kcub1=\E[D, 
        kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E$A, nel=^M^J, 
@@ -5168,7 +5330,7 @@ tvi921|televideo model 921 with sysline same as page & real vi function,
        if=/usr/share/tabset/stdcrt, il1=\EE, ind=^J, invis@, 
        is2=\El\E"\EF1\E.3\017\EA\E<, kbs=^H, kclr=^Z, kcub1=^H, 
        kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER$<1*/>, 
        if=/usr/share/tabset/stdcrt, il1=\EE, ind=^J, invis@, 
        is2=\El\E"\EF1\E.3\017\EA\E<, kbs=^H, kclr=^Z, kcub1=^H, 
        kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER$<1*/>, 
-       ked=\EY, kel=\ET, kich1=\EQ, kil1=\EE, nel=^M^J, rmacs=\E%, 
+       ked=\EY, kel=\ET, kich1=\EQ, kil1=\EE, nel=^M^J, rmacs=\E%%
        rmir=, smacs=\E$, smir=, tsl=\Ef\EG0, use=adm+sgr, 
 # without the beeper
 # (tvi92B: removed :ko=bt: before translation, I see no backtab cap;
        rmir=, smacs=\E$, smir=, tsl=\Ef\EG0, use=adm+sgr, 
 # without the beeper
 # (tvi92B: removed :ko=bt: before translation, I see no backtab cap;
@@ -5184,7 +5346,7 @@ tvi92B|televideo model 921 with sysline same as page & real vi function & no bee
        invis@, is2=\El\E"\EF1\E.3\017\EA\E<, kbs=^H, kclr=^Z, 
        kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, 
        kdl1=\ER$<1*/>, ked=\EY, kel=\ET, kich1=\EQ, kil1=\EE, 
        invis@, is2=\El\E"\EF1\E.3\017\EA\E<, kbs=^H, kclr=^Z, 
        kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, 
        kdl1=\ER$<1*/>, ked=\EY, kel=\ET, kich1=\EQ, kil1=\EE, 
-       nel=^M^J, rmacs=\E%, smacs=\E$, tsl=\Ef\EG0, use=adm+sgr, 
+       nel=^M^J, rmacs=\E%%, smacs=\E$, tsl=\Ef\EG0, use=adm+sgr, 
 # (tvi92D: removed :ko=bt: before translation, I see no backtab cap -- esr)
 tvi92D|tvi92B with DTR instead of XON/XOFF & better padding, 
        dl1=\ER$<2*/>, il1=\EE$<2*/>, 
 # (tvi92D: removed :ko=bt: before translation, I see no backtab cap -- esr)
 tvi92D|tvi92B with DTR instead of XON/XOFF & better padding, 
        dl1=\ER$<2*/>, il1=\EE$<2*/>, 
@@ -5553,7 +5715,7 @@ tvi955|televideo 955,
        civis=\E.0, cnorm=\E.2, cud1=^V, cup=\E[%i%p1%d;%p2%dH, 
        cvvis=\E.1, dim=\E[=5h, ind@, invis=\EG1, 
        is2=\E[=3l\EF1\Ed\EG0\E[=5l\E%\El, kctab=\E2, khts=\E1, 
        civis=\E.0, cnorm=\E.2, cud1=^V, cup=\E[%i%p1%d;%p2%dH, 
        cvvis=\E.1, dim=\E[=5h, ind@, invis=\EG1, 
        is2=\E[=3l\EF1\Ed\EG0\E[=5l\E%\El, kctab=\E2, khts=\E1, 
-       knp=\EK, kpp=\EJ, krmir=\EQ, ktbc=\E3, mc0=\EP, rmacs=\E%, 
+       knp=\EK, kpp=\EJ, krmir=\EQ, ktbc=\E3, mc0=\EP, rmacs=\E%%
        rmam=\E[=7l, rmxon=^N, 
        rs1=\EDF\EC\Eg\Er\EO\E'\E(\Ew\EX\Ee \017\E0P\E6\0\E0p\E4\0\Ef\r, 
        sgr0=\EG0\E[=5l, smacs=\E$, smam=\E[=7h, smxon=^O, 
        rmam=\E[=7l, rmxon=^N, 
        rs1=\EDF\EC\Eg\Er\EO\E'\E(\Ew\EX\Ee \017\E0P\E6\0\E0p\E4\0\Ef\r, 
        sgr0=\EG0\E[=5l, smacs=\E$, smam=\E[=7h, smxon=^O, 
@@ -5640,7 +5802,7 @@ tvi9065|televideo 9065,
        pln=\E_%p1%{63}%+%c%p2%s\r, prot=\E&, 
        rep=\E[%p2%db%p1%c, rev=\EG4, 
        rf=/usr/share/tabset/stdcrt, ri=\Ej, rin=\E[%p1%dT, 
        pln=\E_%p1%{63}%+%c%p2%s\r, prot=\E&, 
        rep=\E[%p2%db%p1%c, rev=\EG4, 
        rf=/usr/share/tabset/stdcrt, ri=\Ej, rin=\E[%p1%dT, 
-       rmacs=\E%, rmam=\E[=7l, rmcup=\E.3\Er\E[1;25r\E[25;0H, 
+       rmacs=\E%%, rmam=\E[=7l, rmcup=\E.3\Er\E[1;25r\E[25;0H, 
        rmdc=\0, rmir=\Er, rmln=\E[4;1v, rmso=\EG0, rmul=\EG0, 
        rmxon=^N, rs1=\EC\EDF\E[0;0v\E[8;1v\E[=65l, 
        rs2=\E.b\E[10;20v\E[14;1v\E[3;0v\E[7;0v\E[=11.h\E[=12.h\E[=13.h\E[=14.h\E[=15l\E[=20h\E[=60l\E[=61h\E[=9l\E[=10l\E[=21l\E[=23l\E[=3l\E_40\E_50\En\Ew\Ee \Ex0\0\0\Ex1\0\0\Ex2\0\0\Ex3\0\0\Ex4\0\0\E1, 
        rmdc=\0, rmir=\Er, rmln=\E[4;1v, rmso=\EG0, rmul=\EG0, 
        rmxon=^N, rs1=\EC\EDF\E[0;0v\E[8;1v\E[=65l, 
        rs2=\E.b\E[10;20v\E[14;1v\E[3;0v\E[7;0v\E[=11.h\E[=12.h\E[=13.h\E[=14.h\E[=15l\E[=20h\E[=60l\E[=61h\E[=9l\E[=10l\E[=21l\E[=23l\E[=3l\E_40\E_50\En\Ew\Ee \Ex0\0\0\Ex1\0\0\Ex2\0\0\Ex3\0\0\Ex4\0\0\E1, 
@@ -7158,9 +7320,9 @@ vt320-k3|MS-Kermit 3.00's vt320 emulation,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
        bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, 
        clear=\E[H\E[J, cmdch=\E, cnorm=\E[?25h, cr=^M, 
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
        bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, 
        clear=\E[H\E[J, cmdch=\E, cnorm=\E[?25h, cr=^M, 
-       csr=\E[%i%p1%d;%p1%dr, cub=\E[%p1%dD, cub1=^H, 
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, 
        cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, 
        cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, 
-       cup=\E[%i%p1%d;%p1%dH, cuu=\E[%p1%dA, cuu1=\E[A, 
+       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, 
        dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, 
        dsl=\E[0$~, ech=\E[%p1%dX, ed=\E[J, el=\E[K, 
        flash=\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l, 
        dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, 
        dsl=\E[0$~, ech=\E[%p1%dX, ed=\E[J, el=\E[K, 
        flash=\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l, 
@@ -7313,6 +7475,43 @@ rbcomm-w|IBM PC with RBcomm in 132 column mode,
        is2=\017\035\E(B\E)0\E[?7h\E[?3h\E[>8g, kbs=^H, 
        kcub1=^H, kcud1=^J, nel=^M^J, use=rbcomm, 
 
        is2=\017\035\E(B\E)0\E[?7h\E[?3h\E[>8g, kbs=^H, 
        kcub1=^H, kcud1=^J, nel=^M^J, use=rbcomm, 
 
+######## LCD DISPLAYS
+#
+
+#### Matrix Orbital
+# from: Eric Z. Ayers  (eric@ale.org)
+#
+# Matrix Orbital 20x4 LCD display
+# Command Character is 0xFE (decimal 254, octal 376)
+#
+# On this device, cursor addressability isn't possible.  The LCD expects:
+#      0xfe G <col> <row> 
+#      for cup: %p1 == row and %p2 is column
+#
+# This line:
+#      cup=\376G%p2%c%p1%c
+# LOOKS like it will work, but sometimes only one of the two numbers is sent. 
+# See the terminfo (5) manpage commented regarding 'Terminals which use "%c"'.
+# 
+# Alas, there is no cursor upline capability on this display.
+#
+# These entries add some 'sanity stuff' to the clear function.  That is, it
+# does a 'clear' and also turns OFF auto scroll, turns ON Auto Line Wrapping,
+# and turns off the cursor blinking and stuff like that.
+#
+# NOTE: calling 'beep' turns on the backlight (bell)
+# NOTE: calling 'flash' turns it on and back off (visual bell)
+#
+MtxOrb| Generic Matrix Orbital LCD display, 
+       bel=\376B^A, clear=\376X\376C\376R\376K\376T, 
+       cnorm=\376K\376T, cub1=\376L, cuf1=\376M, 
+       flash=\376B\001$<200>\376F, home=\376H, 
+MtxOrb204| 20x4 Matrix Orbital LCD display, 
+       cols#20, lines#4, use=MtxOrb, 
+MtxOrb162| 16x2 Matrix Orbital LCD display, 
+       cols#16, lines#2, use=MtxOrb, 
+# The end
+
 ######## OLDER TERMINAL TYPES
 #
 # This section is devoted to older commercial terminal brands that are now
 ######## OLDER TERMINAL TYPES
 #
 # This section is devoted to older commercial terminal brands that are now
@@ -7568,7 +7767,7 @@ att4418|att5418|AT&T 5418 80 cols,
        cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[1P, dim=\E[2m, 
        dl=\E[%p1%dM, dl1=\E[M, ed=\E[0J, el=\E[0K, home=\E[H, 
        ich=\E[%p1%d@, ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L, ind=^J, 
        cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[1P, dim=\E[2m, 
        dl=\E[%p1%dM, dl1=\E[M, ed=\E[0J, el=\E[0K, home=\E[H, 
        ich=\E[%p1%d@, ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L, ind=^J, 
-       is1=\E[?3l, is2=\E)0\E?6l\E?5l, kclr=\E[%, kcub1=\E@, 
+       is1=\E[?3l, is2=\E)0\E?6l\E?5l, kclr=\E[%%, kcub1=\E@, 
        kcud1=\EU, kcuf1=\EA, kcuu1=\ES, kent=\E[, kf1=\E[h, 
        kf10=\E[m, kf11=\E[n, kf12=\E[o, kf13=\E[H, kf14=\E[I, 
        kf15=\E[J, kf18=\E[K, kf19=\E[L, kf2=\E[i, kf20=\E[E, 
        kcud1=\EU, kcuf1=\EA, kcuu1=\ES, kent=\E[, kf1=\E[h, 
        kf10=\E[m, kf11=\E[n, kf12=\E[o, kf13=\E[H, kf14=\E[I, 
        kf15=\E[J, kf18=\E[K, kf19=\E[L, kf2=\E[i, kf20=\E[E, 
@@ -7960,7 +8159,7 @@ att605|AT&T 605 80 column 102key keyboard,
 att605-pc|ATT 605 in pc term mode, 
        acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263, 
        cbt=\E[Z, cub1=\E[D, cud1=\E[B, cuf1=\E[C, cuu1=\E[A, 
 att605-pc|ATT 605 in pc term mode, 
        acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263, 
        cbt=\E[Z, cub1=\E[D, cud1=\E[B, cuf1=\E[C, cuu1=\E[A, 
-       dch1=\E[P, dl1=\E[M, ich1=\E[@, il=\E[L, il1=\E[L, kcbt=\E[Z, 
+       dch1=\E[P, dl1=\E[M, ich1=\E[@, il1=\E[L, kcbt=\E[Z, 
        kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, 
        kdl1=\E[M, kend=\E[F, kf1=\E[M, kf10=\E[V, kf2=\E[N, 
        kf3=\E[O, kf4=\E[P, kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, 
        kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, 
        kdl1=\E[M, kend=\E[F, kf1=\E[M, kf10=\E[V, kf2=\E[N, 
        kf3=\E[O, kf4=\E[P, kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, 
@@ -9965,7 +10164,7 @@ dgkeys+11|Private entry describing 11 minimal-subset DG mode special keys,
        kf20=^^i, kf21=^^j, kf22=^^k, kf23=^^1, kf24=^^2, kf25=^^3, 
        kf26=^^4, kf27=^^5, kf28=^^6, kf29=^^7, kf3=^^s, kf30=^^8, 
        kf31=^^9, kf32=^^\:, kf33=^^;, kf34=^^!, kf35=^^", kf36=^^#, 
        kf20=^^i, kf21=^^j, kf22=^^k, kf23=^^1, kf24=^^2, kf25=^^3, 
        kf26=^^4, kf27=^^5, kf28=^^6, kf29=^^7, kf3=^^s, kf30=^^8, 
        kf31=^^9, kf32=^^\:, kf33=^^;, kf34=^^!, kf35=^^", kf36=^^#, 
-       kf37=^^$, kf38=^^%, kf39=^^&, kf4=^^t, kf40=^^', kf41=^^(, 
+       kf37=^^$, kf38=^^%%, kf39=^^&, kf4=^^t, kf40=^^', kf41=^^(, 
        kf42=^^), kf43=^^*, kf44=^^+, kf5=^^u, kf6=^^v, kf7=^^w, 
        kf8=^^x, kf9=^^y, khome=^H, 
 
        kf42=^^), kf43=^^*, kf44=^^+, kf5=^^u, kf6=^^v, kf7=^^w, 
        kf8=^^x, kf9=^^y, khome=^H, 
 
@@ -9978,7 +10177,7 @@ dgkeys+15|Private entry describing 15 DG mode special keys,
        kf30=^^`, kf31=^^1, kf32=^^2, kf33=^^3, kf34=^^4, kf35=^^5, 
        kf36=^^6, kf37=^^7, kf38=^^8, kf39=^^9, kf4=^^t, kf40=^^\:, 
        kf41=^^;, kf42=^^<, kf43=^^=, kf44=^^>, kf45=^^0, kf46=^^!, 
        kf30=^^`, kf31=^^1, kf32=^^2, kf33=^^3, kf34=^^4, kf35=^^5, 
        kf36=^^6, kf37=^^7, kf38=^^8, kf39=^^9, kf4=^^t, kf40=^^\:, 
        kf41=^^;, kf42=^^<, kf43=^^=, kf44=^^>, kf45=^^0, kf46=^^!, 
-       kf47=^^", kf48=^^#, kf49=^^$, kf5=^^u, kf50=^^%, kf51=^^&, 
+       kf47=^^", kf48=^^#, kf49=^^$, kf5=^^u, kf50=^^%%, kf51=^^&, 
        kf52=^^', kf53=^^(, kf54=^^), kf55=^^*, kf56=^^+, kf57=^^\,, 
        kf58=^^-, kf59=^^., kf6=^^v, kf60=^^\s, kf7=^^w, kf8=^^x, 
        kf9=^^y, 
        kf52=^^', kf53=^^(, kf54=^^), kf55=^^*, kf56=^^+, kf57=^^\,, 
        kf58=^^-, kf59=^^., kf6=^^v, kf60=^^\s, kf7=^^w, kf8=^^x, 
        kf9=^^y, 
@@ -10888,7 +11087,7 @@ f100|freedom|freedom100|freedom model 100,
        kcuf1=^L, kcuu1=^K, kf1=^A@\r, kf10=^AI\r, kf2=^AA\r, 
        kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, 
        kf8=^AG\r, kf9=^AH\r, khome=^^, ri=\Ej, rmacs=\E$, rmir=\Er, 
        kcuf1=^L, kcuu1=^K, kf1=^A@\r, kf10=^AI\r, kf2=^AA\r, 
        kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, 
        kf8=^AG\r, kf9=^AH\r, khome=^^, ri=\Ej, rmacs=\E$, rmir=\Er, 
-       smacs=\E%, smir=\Eq, tbc=\E3, tsl=\Eg\Ef, 
+       smacs=\E%%, smir=\Eq, tbc=\E3, tsl=\Eg\Ef, 
        vpa=\E[%p1%{32}%+%c, use=adm+sgr, 
 f100-rv|freedom-rv|freedom 100 in reverse video, 
        flash=\Ed$<200>\Eb, is2=\Eg\Ef\r\Eb, use=f100, 
        vpa=\E[%p1%{32}%+%c, use=adm+sgr, 
 f100-rv|freedom-rv|freedom 100 in reverse video, 
        flash=\Ed$<200>\Eb, is2=\Eg\Ef\r\Eb, use=f100, 
@@ -11915,10 +12114,10 @@ icl6404|kds7372|icl6402|kds6402|ICL 6404 aka Kokusai Display Systems 7372,
        cnorm=\E.3, cr=^M, 
        csr=\E!%+%p1%{32}%+%p2%{32} cud1=\026, cuf1=^L, 
        cup=\E=%p1%{32}%+%c%p2%{80}%m%{32}%+%c%p2%{80}%>%{32}%+%c, 
        cnorm=\E.3, cr=^M, 
        csr=\E!%+%p1%{32}%+%p2%{32} cud1=\026, cuf1=^L, 
        cup=\E=%p1%{32}%+%c%p2%{80}%m%{32}%+%c%p2%{80}%>%{32}%+%c, 
-       cuu1=^K, cvvis=\E.1, dch=\EW, dl1=\ER, home=^^, ht=^I, hts=\E1
-       il1=\EE, invis=\E[1ZZ, is1=\EC\E.3\EDF\EV1\Eg\E[0ZZ, 
-       nel=^_, rev=\E[4ZZ, rmir=\Er
-       rmso=\E[%gh%{4}%^%Ph%gh%dZZ, 
+       cuu1=^K, cvvis=\E.1, dch1=\EW, dl1=\ER, home=^^, ht=^I
+       hts=\E1, il1=\EE, invis=\E[1ZZ, 
+       is1=\EC\E.3\EDF\EV1\Eg\E[0ZZ, nel=^_, rev=\E[4ZZ
+       rmir=\Er, rmso=\E[%gh%{4}%^%Ph%gh%dZZ, 
        rmul=\E[%gh%{8}%^%Ph%gh%dZZ, rs2=\Eo1, 
        sgr=\E[%{0}%?%p1%t%{4}%|%;%?%p2%t%{8}%|%;%?%p3%t%{4}%|%;%?%p4%t%{2}%|%;%?%p7%t%{1}%|%;ZZ, 
        sgr0=\E[0ZZ, smir=\Eq, smso=\E[8ZZ, smul=\E[8ZZ, tbc=\E3, 
        rmul=\E[%gh%{8}%^%Ph%gh%dZZ, rs2=\Eo1, 
        sgr=\E[%{0}%?%p1%t%{4}%|%;%?%p2%t%{8}%|%;%?%p3%t%{4}%|%;%?%p4%t%{2}%|%;%?%p7%t%{1}%|%;ZZ, 
        sgr0=\E[0ZZ, smir=\Eq, smso=\E[8ZZ, smul=\E[8ZZ, tbc=\E3, 
@@ -11945,7 +12144,7 @@ intext|Interactive Systems Corporation modified owl 1200,
        kcub1=^_, kcud1=^J, kcuf1=^^, kcuu1=^\, kf0=^VJ\r, kf1=^VA\r, 
        kf2=^VB\r, kf3=^VC\r, kf4=^VD\r, kf5=^VE\r, kf6=^VF\r, 
        kf7=^VG\r, kf8=^VH\r, kf9=^VI\r, khome=^Z, rmir=^V<, 
        kcub1=^_, kcud1=^J, kcuf1=^^, kcuu1=^\, kf0=^VJ\r, kf1=^VA\r, 
        kf2=^VB\r, kf3=^VC\r, kf4=^VD\r, kf5=^VE\r, kf6=^VF\r, 
        kf7=^VG\r, kf8=^VH\r, kf9=^VI\r, khome=^Z, rmir=^V<, 
-       rmkx=^V9, rmso=^V#\s, smir=^V;, smkx=\036\:\264\026%, 
+       rmkx=^V9, rmso=^V#\s, smir=^V;, smkx=\036\:\264\026%%
        smso=^V$\,, 
 intext2|intextii|INTERACTIVE modified owl 1251, 
        am, bw, ul, 
        smso=^V$\,, 
 intext2|intextii|INTERACTIVE modified owl 1251, 
        am, bw, ul, 
@@ -12065,7 +12264,7 @@ kt7ix|kimtron model kt-7 or 70 in IX mode,
        ked=\EY, kel=\ET, kend=\EY, kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, 
        kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, 
        kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ, kil1=\EE, knp=\EJ, 
        ked=\EY, kel=\ET, kend=\EY, kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, 
        kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, 
        kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ, kil1=\EE, knp=\EJ, 
-       nel=^M^J, pulse=\EK, rmacs=\E%, rmir=, rmso=\EG0, rmul=\EG0, 
+       nel=^M^J, pulse=\EK, rmacs=\E%%, rmir=, rmso=\EG0, rmul=\EG0, 
        sgr0=\EG0, smacs=\E$, smir=, smso=\EG4, smul=\EG8, tsl=\Ef, 
 
 #### Microdata/MDIS
        sgr0=\EG0, smacs=\E$, smir=, smso=\EG4, smul=\EG8, tsl=\Ef, 
 
 #### Microdata/MDIS
@@ -12511,7 +12710,7 @@ ergo4000|microterm ergo 4000,
        bel=^G, clear=\E[H\E[2J$<80>, cr=^M, cub1=^H, cud1=\E[B, 
        cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, 
        dch1=\E[1P$<80>, dl1=\E[1M$<5*>, ed=\E[0J$<15>, 
        bel=^G, clear=\E[H\E[2J$<80>, cr=^M, cub1=^H, cud1=\E[B, 
        cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, 
        dch1=\E[1P$<80>, dl1=\E[1M$<5*>, ed=\E[0J$<15>, 
-       el=\E[0K$<13>, ht=^I, il=\E[1L$<5*>, ind=\ED$<20*>, 
+       el=\E[0K$<13>, ht=^I, il1=\E[1L$<5*>, ind=\ED$<20*>, 
        is2=\E<\E=\E[?1l\E[?4l\E[?5l\E[?7h\E[?8h$<300>, 
        kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, 
        kf2=\EOQ, kf3=\EOR, kf4=\EOS, lf1=pf1, lf2=pf2, lf3=pf3, 
        is2=\E<\E=\E[?1l\E[?4l\E[?5l\E[?7h\E[?8h$<300>, 
        kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, 
        kf2=\EOQ, kf3=\EOR, kf4=\EOS, lf1=pf1, lf2=pf2, lf3=pf3, 
@@ -14051,7 +14250,7 @@ apple-videx3|vapple|Apple II with 80 col card,
        clear=\Ev, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, 
        cuu1=\EA, el=\Ex, home=\EH, kcub1=\ED, kcud1=\EB, kcuf1=\EC, 
        kcuu1=\EA, kf0=\EP, kf1=\EQ, kf2=\ER, kf3=\E\s, kf4=\E!, 
        clear=\Ev, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, 
        cuu1=\EA, el=\Ex, home=\EH, kcub1=\ED, kcud1=\EB, kcuf1=\EC, 
        kcuu1=\EA, kf0=\EP, kf1=\EQ, kf2=\ER, kf3=\E\s, kf4=\E!, 
-       kf5=\E", kf6=\E#, kf7=\E$, kf8=\E%, kf9=\E&, khome=\EH, 
+       kf5=\E", kf6=\E#, kf7=\E$, kf8=\E%%, kf9=\E&, khome=\EH, 
 #From: decvax!cbosgd!cbdkc1!mww Mike Warren via BRL
 aepro|Apple II+ running ASCII Express Pro--vt52, 
        OTbs, 
 #From: decvax!cbosgd!cbdkc1!mww Mike Warren via BRL
 aepro|Apple II+ running ASCII Express Pro--vt52, 
        OTbs, 
@@ -14277,6 +14476,34 @@ amiga-8bit|Amiga ANSI using 8-bit controls,
        acsc=, dl=\233%p1%dM, dl1=\233M, il=\233%p1%dL, il1=\233L, 
        ind=\204, indn@, ri=\215, rin@, use=amiga-h, 
 
        acsc=, dl=\233%p1%dM, dl1=\233M, il=\233%p1%dL, il1=\233L, 
        ind=\204, indn@, ri=\215, rin@, use=amiga-h, 
 
+# From: Ruediger Kuhlmann <terminfo@ruediger-kuhlmann.de>, 18 Jul 2000
+# requires use of appropriate preferences settings.
+amiga-vnc|Amiga using VNC console (black on light gray), 
+       am, da, db, msgr, ndscr, 
+       btns#1, colors#16, cols#80, lines#24, lm#0, ncv#0, pairs#256, 
+       bel=^G, blink=\E[7;2m, bold=\E[1m, civis=\E[0p, 
+       clear=\E[H\E[J, cnorm=\E[p\E[>?6l, cr=^M, 
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D, 
+       cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, 
+       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, 
+       cvvis=\E[>?6h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, 
+       dl=\E[%p1%dM, dl1=\E[1M, ed=\E[J, el=\E[K, flash=^G, 
+       ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[1L, ind=\ED, 
+       indn=\E[%p1%dS, invis=\E8m, 
+       is2=\E[>?2;18l\E[>?26;?6;20;>?15;?7;>?22;>?8h, 
+       kbs=^H, kcbt=\233Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, 
+       kcuu1=\E[A, kdch1=\177, kf0=\E[9~, kf1=\E[0~, kf2=\E[1~, 
+       kf3=\E[2~, kf4=\E[3~, kf5=\E[4~, kf6=\E[5~, kf7=\E[6~, 
+       kf8=\E[7~, kf9=\E[8~, khlp=\E[?~, khome=\E[44~, kll=\E[45~, 
+       kmous=\E[M, knp=\E[42~, kpp=\E[41~, nel=\EE, oc=\E[0m, 
+       rev=\E[7m, ri=\EM, rin=\E[%p1%dT, rmcup=\E[?7h\E[r\E[J, 
+       rmkx=\E[?1l, rmso=\E[21m, rmul=\E[24m, rs1=\Ec, 
+       rs2=\E[>?2;18l\E[>?26;?6;20;>?15;?7;>?22;>?8h, 
+       setab=\E[%?%p1%{8}%>%t%'F'%p1%+%d%e4%p1%d%;m, 
+       setaf=\E[%?%p1%{8}%>%t%'2'%p1%+%d%e3%p1%d%;m, 
+       sgr0=\E[0m\017\E[30;85;>15m, smcup=\E[?7h, smkx=\E[?1h, 
+       smso=\E[1m, smul=\E[4m, 
+
 # Commodore B-128 microcomputer from Doug Tyrol <det@HEL-ACE.ARPA>
 #      I'm trying to write a termcap for a commodore b-128, and I'm
 # having a little trouble. I've had to map most of my control characters
 # Commodore B-128 microcomputer from Doug Tyrol <det@HEL-ACE.ARPA>
 #      I'm trying to write a termcap for a commodore b-128, and I'm
 # having a little trouble. I've had to map most of my control characters
@@ -14515,15 +14742,15 @@ m2-nam|minitel|minitel-2|minitel-2-nam|France Telecom Minitel 2 mode te'le'infor
        cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, 
        cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, 
        dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, flash=^G, fsl=^J, 
        cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, 
        cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, 
        dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, flash=^G, fsl=^J, 
-       home=\E[H, ht=^I, il=\E[%p1%dL, il1=\E[L, ind=^J, indn=^J
-       ip=$<7/>, is1=\E\:1}\Ec\E[?4l\E[12h, is2=\Ec\E[12h\E)0, 
+       home=\E[H, ht=^I, il=\E[%p1%dL, il1=\E[L, ind=^J, ip=$<7/>
+       is1=\E\:1}\Ec\E[?4l\E[12h, is2=\Ec\E[12h\E)0, 
        is3=\E[?3l kbs=\010, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, 
        kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[M, kf0=\EOp, 
        kf1=\EOq, kf10=\EOp, kf2=\EOr, kf3=\EOs, kf4=\EOt, kf5=\EOu, 
        kf6=\EOv, kf7=\EOw, kf8=\EOx, kf9=\EOy, khome=\E[H, 
        kich1=\E[4h, kil1=\E[4l, knp=\EOn, kpp=\EOR, ll=\E[24;80H, 
        is3=\E[?3l kbs=\010, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, 
        kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[M, kf0=\EOp, 
        kf1=\EOq, kf10=\EOp, kf2=\EOr, kf3=\EOs, kf4=\EOt, kf5=\EOu, 
        kf6=\EOv, kf7=\EOw, kf8=\EOx, kf9=\EOy, khome=\E[H, 
        kich1=\E[4h, kil1=\E[4l, knp=\EOn, kpp=\EOR, ll=\E[24;80H, 
-       mc0=\E[i, nel=^M^J, rc=\E8, rev=\E[7m, ri=\EM, rin=\EM
-       rmacs=^O, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, 
+       mc0=\E[i, nel=^M^J, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O
+       rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, 
        rs1=\Ec\E[?4l\E[12h, rs2=\Ec\E)0, sc=\E7, sgr0=\E[m, 
        smacs=^N, smir=\E[4h, smso=\E[7m, smul=\E[4m, tsl=^_@A, 
        u6=\E[%i%d;%dR, u7=\E[6n, 
        rs1=\Ec\E[?4l\E[12h, rs2=\Ec\E)0, sc=\E7, sgr0=\E[m, 
        smacs=^N, smir=\E[4h, smso=\E[7m, smul=\E[4m, tsl=^_@A, 
        u6=\E[%i%d;%dR, u7=\E[6n, 
@@ -15892,8 +16119,8 @@ mt70|mt-70|Morrow MD-70; native Morrow mode,
        kf17=^Af\r, kf18=^Ag\r, kf19=^Ah\r, kf2=^AA\r, kf20=^Ai\r, 
        kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, 
        kf8=^AG\r, kf9=^AH\r, khlp=^AO\r, khome=^AN\r, nel=^_, 
        kf17=^Af\r, kf18=^Ag\r, kf19=^Ah\r, kf2=^AA\r, kf20=^Ai\r, 
        kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, 
        kf8=^AG\r, kf9=^AH\r, khlp=^AO\r, khome=^AN\r, nel=^_, 
-       rmacs=\E%, rmcup=, smacs=\E$, smcup=\E"2\EG0\E], smul=\EG1
-       tbc=\E0, use=adm+sgr, 
+       rmacs=\E%%, rmcup=, smacs=\E$, smcup=\E"2\EG0\E]
+       smul=\EG1, tbc=\E0, use=adm+sgr, 
 
 #### Motorola
 #
 
 #### Motorola
 #
@@ -16891,7 +17118,7 @@ opus3n1+|Esprit Opus3n1+ in wy60 mode with ANSI arrow keys,
        sgr0=\E(\EH\003\EG0\EcD, smacs=\EH^B, smam=\Ed/, 
        smcup=\Ezz&\E[A\177\Ezz'\E[B\177\Ezz(\E[D\177\Ezz)\E[C\177\Ezz<\E[Q\177, 
        smir=\Eq, smln=\EA10, smxon=\Ec21, tbc=\E0, tsl=\Ez(, 
        sgr0=\E(\EH\003\EG0\EcD, smacs=\EH^B, smam=\Ed/, 
        smcup=\Ezz&\E[A\177\Ezz'\E[B\177\Ezz(\E[D\177\Ezz)\E[C\177\Ezz<\E[Q\177, 
        smir=\Eq, smln=\EA10, smxon=\Ec21, tbc=\E0, tsl=\Ez(, 
-       uc=\EG8%p1%c\EG0, use=adm+sgr, 
+       uc=\EG8\EG0, use=adm+sgr, 
 teletec|Teletec Datascreen, 
        OTbs, am, 
        cols#80, lines#24, 
 teletec|Teletec Datascreen, 
        OTbs, am, 
        cols#80, lines#24, 
@@ -18346,6 +18573,30 @@ v3220|LANPAR Vision II model 3220/3221/3222,
 # 2000/7/1
 #      * add Eterm (Michael Jennings)
 #
 # 2000/7/1
 #      * add Eterm (Michael Jennings)
 #
+# 2000-07-18
+#       * add amiga-vnc entry.
+#
+# 2000-08-12
+#      * correct description of Top Gun Telnet.
+#      * add kterm-color
+#
+# 2000-08-26
+#      * add qansi* entries from QNX ftp site.
+#
+# 2000-09-16
+#      * add Matrix Orbital entries by Eric Z. Ayers).
+#      * add xterm-basic, xterm-sco entries, update related entries to XFree86
+#        4.0.1c -TD
+#
+# 2000-09-17
+#      * add S0, E0 extensions to screen's entry -TD
+#
+# 2000-09-23
+#      * several corrections based on tic's new parameter-checking code -TD
+#      * modify xterm-r6 and similar rs2 sequences which had \E7...\E8
+#        bracketing sequences that reset video attributes (\E8 would restore
+#        them) -TD
+#
 # The following sets edit modes for GNU EMACS.
 # Local Variables:
 # fill-prefix:"\t"
 # The following sets edit modes for GNU EMACS.
 # Local Variables:
 # fill-prefix:"\t"
index 63ec24b475f65ac16e37f250b166682d510026bd..c14219cd529a85b61ea70f2db6faa35f48e49413 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: mk-1st.awk,v 1.44 2000/07/07 00:27:51 tom Exp $
+# $Id: mk-1st.awk,v 1.46 2000/10/14 17:57:02 Johnny.C.Lam Exp $
 ##############################################################################
 # Copyright (c) 1998,2000 Free Software Foundation, Inc.                     #
 #                                                                            #
 ##############################################################################
 # Copyright (c) 1998,2000 Free Software Foundation, Inc.                     #
 #                                                                            #
@@ -183,30 +183,30 @@ END       {
                                print  ""
                                print  "install \\"
                                print  "install.libs \\"
                                print  ""
                                print  "install \\"
                                print  "install.libs \\"
-                               printf "install.%s :: $(INSTALL_PREFIX)$(libdir) ../lib/%s\n", name, end_name
-                               printf "\t@echo installing ../lib/%s as $(INSTALL_PREFIX)$(libdir)/%s\n", end_name, end_name
-                               printf "\t-@rm -f $(INSTALL_PREFIX)$(libdir)/%s\n", end_name
-                               printf "\t$(INSTALL_LIB) ../lib/%s $(INSTALL_PREFIX)$(libdir)/%s\n", end_name, end_name
-                               sharedlinks("$(INSTALL_PREFIX)$(libdir)")
+                               printf "install.%s :: $(DESTDIR)$(libdir) ../lib/%s\n", name, end_name
+                               printf "\t@echo installing ../lib/%s as $(DESTDIR)$(libdir)/%s\n", end_name, end_name
+                               printf "\t-@rm -f $(DESTDIR)$(libdir)/%s\n", end_name
+                               printf "\t$(INSTALL_LIB) ../lib/%s $(DESTDIR)$(libdir)/%s\n", end_name, end_name
+                               sharedlinks("$(DESTDIR)$(libdir)")
                                if ( overwrite == "yes" && name == "ncurses" )
                                {
                                        ovr_name = sprintf("libcurses%s", suffix)
                                        printf "\t@echo linking %s to %s\n", end_name, ovr_name
                                if ( overwrite == "yes" && name == "ncurses" )
                                {
                                        ovr_name = sprintf("libcurses%s", suffix)
                                        printf "\t@echo linking %s to %s\n", end_name, ovr_name
-                                       printf "\tcd $(INSTALL_PREFIX)$(libdir) && (rm -f %s; $(LN_S) %s %s; )\n", ovr_name, end_name, ovr_name
+                                       printf "\tcd $(DESTDIR)$(libdir) && (rm -f %s; $(LN_S) %s %s; )\n", ovr_name, end_name, ovr_name
                                }
                                if ( ldconfig != "" ) {
                                }
                                if ( ldconfig != "" ) {
-                                       printf "\t- test -z \"$(INSTALL_PREFIX)\" && %s\n", ldconfig
+                                       printf "\t- test -z \"$(DESTDIR)\" && %s\n", ldconfig
                                }
                                print  ""
                                print  "uninstall \\"
                                print  "uninstall.libs \\"
                                printf "uninstall.%s ::\n", name
                                }
                                print  ""
                                print  "uninstall \\"
                                print  "uninstall.libs \\"
                                printf "uninstall.%s ::\n", name
-                               printf "\t@echo uninstalling $(INSTALL_PREFIX)$(libdir)/%s\n", end_name
-                               removelinks("$(INSTALL_PREFIX)$(libdir)")
+                               printf "\t@echo uninstalling $(DESTDIR)$(libdir)/%s\n", end_name
+                               removelinks("$(DESTDIR)$(libdir)")
                                if ( overwrite == "yes" && name == "ncurses" )
                                {
                                        ovr_name = sprintf("libcurses%s", suffix)
                                if ( overwrite == "yes" && name == "ncurses" )
                                {
                                        ovr_name = sprintf("libcurses%s", suffix)
-                                       printf "\t-@rm -f $(INSTALL_PREFIX)$(libdir)/%s\n", ovr_name
+                                       printf "\t-@rm -f $(DESTDIR)$(libdir)/%s\n", ovr_name
                                }
                                if ( rmSoLocs == "yes" ) {
                                        print  ""
                                }
                                if ( rmSoLocs == "yes" ) {
                                        print  ""
@@ -215,6 +215,29 @@ END        {
                                        printf "\t-@rm -f so_locations\n"
                                }
                        }
                                        printf "\t-@rm -f so_locations\n"
                                }
                        }
+                       else if ( MODEL == "LIBTOOL" )
+                       {
+                               if ( $2 == "c++" ) {
+                                       compile="CXX"
+                               } else {
+                                       compile="CC"
+                               }
+                               end_name = lib_name;
+                               printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS
+                               printf "\tcd ../lib && $(LIBTOOL) $(%s) -o %s $(%s_OBJS:.o=.lo) -rpath $(DESTDIR)$(libdir) -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR)\n", compile, lib_name, OBJS
+                               print  ""
+                               print  "install \\"
+                               print  "install.libs \\"
+                               printf "install.%s :: $(DESTDIR)$(libdir) ../lib/%s\n", name, lib_name
+                               printf "\t@echo installing ../lib/%s as $(DESTDIR)$(libdir)/%s\n", lib_name, lib_name
+                               printf "\tcd ../lib; $(LIBTOOL) $(INSTALL_DATA) %s $(DESTDIR)$(libdir)\n", lib_name
+                               print  ""
+                               print  "uninstall \\"
+                               print  "uninstall.libs \\"
+                               printf "uninstall.%s ::\n", name
+                               printf "\t@echo uninstalling $(DESTDIR)$(libdir)/%s\n", lib_name
+                               printf "\t-@$(LIBTOOL) rm -f $(DESTDIR)$(libdir)/%s\n", lib_name
+                       }
                        else
                        {
                                end_name = lib_name;
                        else
                        {
                                end_name = lib_name;
@@ -228,36 +251,36 @@ END       {
                                print  ""
                                print  "install \\"
                                print  "install.libs \\"
                                print  ""
                                print  "install \\"
                                print  "install.libs \\"
-                               printf "install.%s :: $(INSTALL_PREFIX)$(libdir) ../lib/%s\n", name, lib_name
-                               printf "\t@echo installing ../lib/%s as $(INSTALL_PREFIX)$(libdir)/%s\n", lib_name, lib_name
-                               printf "\t$(INSTALL_DATA) ../lib/%s $(INSTALL_PREFIX)$(libdir)/%s\n", lib_name, lib_name
+                               printf "install.%s :: $(DESTDIR)$(libdir) ../lib/%s\n", name, lib_name
+                               printf "\t@echo installing ../lib/%s as $(DESTDIR)$(libdir)/%s\n", lib_name, lib_name
+                               printf "\t$(INSTALL_DATA) ../lib/%s $(DESTDIR)$(libdir)/%s\n", lib_name, lib_name
                                if ( overwrite == "yes" && lib_name == "libncurses.a" )
                                {
                                        printf "\t@echo linking libcurses.a to libncurses.a\n"
                                if ( overwrite == "yes" && lib_name == "libncurses.a" )
                                {
                                        printf "\t@echo linking libcurses.a to libncurses.a\n"
-                                       printf "\t-@rm -f $(INSTALL_PREFIX)$(libdir)/libcurses.a\n"
-                                       printf "\t(cd $(INSTALL_PREFIX)$(libdir) && $(LN_S) libncurses.a libcurses.a)\n"
+                                       printf "\t-@rm -f $(DESTDIR)$(libdir)/libcurses.a\n"
+                                       printf "\t(cd $(DESTDIR)$(libdir) && $(LN_S) libncurses.a libcurses.a)\n"
                                }
                                }
-                               printf "\t$(RANLIB) $(INSTALL_PREFIX)$(libdir)/%s\n", lib_name
+                               printf "\t$(RANLIB) $(DESTDIR)$(libdir)/%s\n", lib_name
                                if ( target == "vxworks" )
                                {
                                if ( target == "vxworks" )
                                {
-                                       printf "\t@echo installing ../lib/lib%s.o as $(INSTALL_PREFIX)$(libdir)/lib%s.o\n", name, name
-                                       printf "\t$(INSTALL_DATA) ../lib/lib%s.o $(INSTALL_PREFIX)$(libdir)/lib%s.o\n", name, name
+                                       printf "\t@echo installing ../lib/lib%s.o as $(DESTDIR)$(libdir)/lib%s.o\n", name, name
+                                       printf "\t$(INSTALL_DATA) ../lib/lib%s.o $(DESTDIR)$(libdir)/lib%s.o\n", name, name
                                }
                                print  ""
                                print  "uninstall \\"
                                print  "uninstall.libs \\"
                                printf "uninstall.%s ::\n", name
                                }
                                print  ""
                                print  "uninstall \\"
                                print  "uninstall.libs \\"
                                printf "uninstall.%s ::\n", name
-                               printf "\t@echo uninstalling $(INSTALL_PREFIX)$(libdir)/%s\n", lib_name
-                               printf "\t-@rm -f $(INSTALL_PREFIX)$(libdir)/%s\n", lib_name
+                               printf "\t@echo uninstalling $(DESTDIR)$(libdir)/%s\n", lib_name
+                               printf "\t-@rm -f $(DESTDIR)$(libdir)/%s\n", lib_name
                                if ( overwrite == "yes" && lib_name == "libncurses.a" )
                                {
                                        printf "\t@echo linking libcurses.a to libncurses.a\n"
                                if ( overwrite == "yes" && lib_name == "libncurses.a" )
                                {
                                        printf "\t@echo linking libcurses.a to libncurses.a\n"
-                                       printf "\t-@rm -f $(INSTALL_PREFIX)$(libdir)/libcurses.a\n"
+                                       printf "\t-@rm -f $(DESTDIR)$(libdir)/libcurses.a\n"
                                }
                                if ( target == "vxworks" )
                                {
                                }
                                if ( target == "vxworks" )
                                {
-                                       printf "\t@echo uninstalling $(INSTALL_PREFIX)$(libdir)/lib%s.o\n", name
-                                       printf "\t-@rm -f $(INSTALL_PREFIX)$(libdir)/lib%s.o\n", name
+                                       printf "\t@echo uninstalling $(DESTDIR)$(libdir)/lib%s.o\n", name
+                                       printf "\t-@rm -f $(DESTDIR)$(libdir)/lib%s.o\n", name
                                }
                        }
                        print ""
                                }
                        }
                        print ""
@@ -266,14 +289,23 @@ END       {
                        print ""
                        print "mostlyclean::"
                        printf "\t-rm -f $(%s_OBJS)\n", OBJS
                        print ""
                        print "mostlyclean::"
                        printf "\t-rm -f $(%s_OBJS)\n", OBJS
+                       if ( MODEL == "LIBTOOL" ) {
+                               printf "\t-rm -f $(%s_OBJS:.o=.lo)\n", OBJS
+                       }
                }
                else if ( found == 2 )
                {
                        print ""
                        print "mostlyclean::"
                        printf "\t-rm -f $(%s_OBJS)\n", OBJS
                }
                else if ( found == 2 )
                {
                        print ""
                        print "mostlyclean::"
                        printf "\t-rm -f $(%s_OBJS)\n", OBJS
+                       if ( MODEL == "LIBTOOL" ) {
+                               printf "\t-rm -f $(%s_OBJS:.o=.lo)\n", OBJS
+                       }
                        print ""
                        print "clean ::"
                        printf "\t-rm -f $(%s_OBJS)\n", OBJS
                        print ""
                        print "clean ::"
                        printf "\t-rm -f $(%s_OBJS)\n", OBJS
+                       if ( MODEL == "LIBTOOL" ) {
+                               printf "\t-rm -f $(%s_OBJS:.o=.lo)\n", OBJS
+                       }
                }
        }
                }
        }
index e90f16d038827c21c1097b01de971187693d1c98..45def01202e390093790645cc01c34f0a6d0fc5d 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: mk-2nd.awk,v 1.12 2000/04/01 20:50:36 tom Exp $
+# $Id: mk-2nd.awk,v 1.13 2000/10/14 17:57:02 Johnny.C.Lam Exp $
 ##############################################################################
 # Copyright (c) 1998 Free Software Foundation, Inc.                          #
 #                                                                            #
 ##############################################################################
 # Copyright (c) 1998 Free Software Foundation, Inc.                          #
 #                                                                            #
@@ -100,9 +100,9 @@ BEGIN       {
                                        dir = $3 "/"
                                        sub("^\\$\\(srcdir\\)/","",dir);
                                        sub("^\\./","",dir);
                                        dir = $3 "/"
                                        sub("^\\$\\(srcdir\\)/","",dir);
                                        sub("^\\./","",dir);
-                                       printf "\t%scd ../%s; $(%s) $(CFLAGS_%s) -c ../%s/%s%s%s", atsign, model, compile, MODEL, name, dir, $1, suffix
+                                       printf "\t%scd ../%s; $(LIBTOOL) $(%s) $(CFLAGS_%s) -c ../%s/%s%s%s", atsign, model, compile, MODEL, name, dir, $1, suffix
                                } else
                                } else
-                                       printf "\t%scd ../%s; $(%s) $(CFLAGS_%s) -c %s/%s%s", atsign, model, compile, MODEL, $3, $1, suffix
+                                       printf "\t%scd ../%s; $(LIBTOOL) $(%s) $(CFLAGS_%s) -c %s/%s%s", atsign, model, compile, MODEL, $3, $1, suffix
                        } else {
                                printf "%s", $1
                                for (n = 2; n <= NF; n++) printf " %s", $n
                        } else {
                                printf "%s", $1
                                for (n = 2; n <= NF; n++) printf " %s", $n
index 41b66f69732b9c126c86f8b499ed0d4d92a20e27..208b819d6a57449f07e158ee2fd59ec29c272667 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.66 2000/05/28 01:39:56 tom Exp $
+# $Id: Makefile.in,v 1.71 2000/10/14 22:55:35 tom Exp $
 ##############################################################################
 # Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.                #
 #                                                                            #
 ##############################################################################
 # Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.                #
 #                                                                            #
@@ -54,7 +54,7 @@ CF_MFLAGS     = @cf_cv_makeflags@
 @SET_MAKE@
 
 MODEL          = @DFT_LWR_MODEL@
 @SET_MAKE@
 
 MODEL          = @DFT_LWR_MODEL@
-INSTALL_PREFIX = @INSTALL_PREFIX@
+DESTDIR                = @DESTDIR@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
@@ -62,7 +62,7 @@ libdir                = @libdir@
 includedir     = @includedir@
 datadir                = @datadir@
 
 includedir     = @includedir@
 datadir                = @datadir@
 
-ticdir         = $(datadir)/terminfo
+LIBTOOL                = @LIBTOOL@
 
 INSTALL                = @INSTALL@
 INSTALL_LIB    = @INSTALL@ @INSTALL_LIB@
 
 INSTALL                = @INSTALL@
 INSTALL_LIB    = @INSTALL@ @INSTALL_LIB@
@@ -80,7 +80,7 @@ CFLAGS                = @CFLAGS@
 
 INCDIR         = $(srcdir)/../include
 CPPFLAGS       = -I../ncurses -I$(srcdir) @CPPFLAGS@ \
 
 INCDIR         = $(srcdir)/../include
 CPPFLAGS       = -I../ncurses -I$(srcdir) @CPPFLAGS@ \
-                 -DHAVE_CONFIG_H -DTERMINFO=\"$(ticdir)\"
+                 -DHAVE_CONFIG_H
 
 CCFLAGS                = $(CPPFLAGS) $(CFLAGS)
 
 
 CCFLAGS                = $(CPPFLAGS) $(CFLAGS)
 
@@ -88,6 +88,7 @@ HOSTCC                = @BUILD_CC@
 HOSTCCFLAGS    = @CFLAGS@ $(CPPFLAGS)
 HOSTLDFLAGS    = @LDFLAGS@ @LIBS@
 
 HOSTCCFLAGS    = @CFLAGS@ $(CPPFLAGS)
 HOSTLDFLAGS    = @LDFLAGS@ @LIBS@
 
+CFLAGS_LIBTOOL = $(CCFLAGS)
 CFLAGS_NORMAL  = $(CCFLAGS)
 CFLAGS_DEBUG   = $(CCFLAGS) @CC_G_OPT@ -DTRACE
 CFLAGS_PROFILE = $(CCFLAGS) -pg
 CFLAGS_NORMAL  = $(CCFLAGS)
 CFLAGS_DEBUG   = $(CCFLAGS) @CC_G_OPT@ -DTRACE
 CFLAGS_PROFILE = $(CCFLAGS) -pg
@@ -95,7 +96,7 @@ CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
 
 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
 
 
 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
 
-LINK           = $(CC)
+LINK           = $(LIBTOOL) $(CC)
 LDFLAGS                = @LDFLAGS@ @LD_MODEL@ @LIBS@
 
 SHLIB_DIRS     = -L../lib -L$(libdir)
 LDFLAGS                = @LDFLAGS@ @LD_MODEL@ @LIBS@
 
 SHLIB_DIRS     = -L../lib -L$(libdir)
@@ -104,6 +105,8 @@ TINFO_LIST  = $(SHLIB_DIRS) @TINFO_LIST@
 
 MK_SHARED_LIB  = @MK_SHARED_LIB@
 
 
 MK_SHARED_LIB  = @MK_SHARED_LIB@
 
+NCURSES_MAJOR  = @NCURSES_MAJOR@
+NCURSES_MINOR  = @NCURSES_MINOR@
 REL_VERSION    = @cf_cv_rel_version@
 ABI_VERSION    = @cf_cv_abi_version@
 
 REL_VERSION    = @cf_cv_rel_version@
 ABI_VERSION    = @cf_cv_abi_version@
 
@@ -150,7 +153,7 @@ libs ::             $(AUTO_SRC) ../lib $(LIBRARIES)
 
 sources:       $(AUTO_SRC)
 
 
 sources:       $(AUTO_SRC)
 
-$(INSTALL_PREFIX)$(libdir) :
+$(DESTDIR)$(libdir) :
        $(srcdir)/../mkinstalldirs $@
 
 ../lib : ; mkdir $@
        $(srcdir)/../mkinstalldirs $@
 
 ../lib : ; mkdir $@
@@ -202,8 +205,8 @@ make_hash$x : \
 tags:
        ctags *.[ch]
 
 tags:
        ctags *.[ch]
 
-TAGS:
-       etags *.[ch]
+@MAKE_UPPER_TAGS@TAGS:
+@MAKE_UPPER_TAGS@      etags *.[ch]
 
 mostlyclean ::
        -rm -f core tags TAGS *~ *.ln *.atac trace
 
 mostlyclean ::
        -rm -f core tags TAGS *~ *.ln *.atac trace
@@ -213,6 +216,7 @@ clean :: mostlyclean
        -rm -f $(AUTO_SRC)
        -rm -f make_keys$x
        -rm -f make_hash$x
        -rm -f $(AUTO_SRC)
        -rm -f make_keys$x
        -rm -f make_hash$x
+       -rm -rf .libs
 
 distclean :: clean
        -rm -f Makefile
 
 distclean :: clean
        -rm -f Makefile
index 0a29c6085f62bad34fa6571e7a46ae2b437e8a70..3377940070350896d6b9ce96b7a46b1cdd8a0d50 100755 (executable)
@@ -2,7 +2,7 @@
 #
 # MKlib_gen.sh -- generate sources from curses.h macro definitions
 #
 #
 # MKlib_gen.sh -- generate sources from curses.h macro definitions
 #
-# ($Id: MKlib_gen.sh,v 1.11 1998/01/17 14:16:52 Juan.Jose.Garcia.Ripoll Exp $)
+# ($Id: MKlib_gen.sh,v 1.12 2000/07/29 16:30:11 tom Exp $)
 #
 # The XSI Curses standard requires all curses entry points to exist as
 # functions, even though many definitions would normally be shadowed
 #
 # The XSI Curses standard requires all curses entry points to exist as
 # functions, even though many definitions would normally be shadowed
@@ -113,6 +113,11 @@ BEGIN      {
                print "\n"
        skip=1;
 
                print "\n"
        skip=1;
 
+       if ( $1 == "chtype" ) {
+               returnType = "Char";
+       } else {
+               returnType = "Code";
+       }
        print "M_" $2
        print $0;
        print "{";
        print "M_" $2
        print $0;
        print "{";
@@ -200,7 +205,7 @@ BEGIN       {
        if (match($0, "^void"))
                call = ""
        else if (dotrace)
        if (match($0, "^void"))
                call = ""
        else if (dotrace)
-               call = "returnCode( ";
+               call = sprintf("return%s( ", returnType);
        else
                call = "%%return ";
 
        else
                call = "%%return ";
 
index 0a72165910f3c0ce03d05348070a29970f4bcf89..59a3bae81c8cd91319b4dd5c2660521121ba01d8 100644 (file)
@@ -40,7 +40,7 @@
 
 #include <curses.priv.h>
 
 
 #include <curses.priv.h>
 
-MODULE_ID("$Id: lib_addstr.c,v 1.17 2000/04/29 21:15:55 tom Exp $")
+MODULE_ID("$Id: lib_addstr.c,v 1.18 2000/07/29 16:42:41 tom Exp $")
 
 int
 waddnstr(WINDOW *win, const char *const astr, int n)
 
 int
 waddnstr(WINDOW *win, const char *const astr, int n)
@@ -51,7 +51,7 @@ waddnstr(WINDOW *win, const char *const astr, int n)
     T((T_CALLED("waddnstr(%p,%s,%d)"), win, _nc_visbuf(astr), n));
 
     if (win && (str != 0)) {
     T((T_CALLED("waddnstr(%p,%s,%d)"), win, _nc_visbuf(astr), n));
 
     if (win && (str != 0)) {
-       T(("... current %s", _traceattr(win->_attrs)));
+       TR(TRACE_VIRTPUT | TRACE_ATTRS, ("... current %s", _traceattr(win->_attrs)));
        TR(TRACE_VIRTPUT, ("str is not null"));
        code = OK;
        if (n < 0)
        TR(TRACE_VIRTPUT, ("str is not null"));
        code = OK;
        if (n < 0)
index 71bee42487cd9c19ae0cfe102b92af1aba4f8a78..492194babbfbb7de35b1204bbb20737bb487667c 100644 (file)
@@ -41,7 +41,7 @@
 #include <term.h>
 #include <tic.h>
 
 #include <term.h>
 #include <tic.h>
 
-MODULE_ID("$Id: lib_color.c,v 1.51 2000/05/20 20:09:22 tom Exp $")
+MODULE_ID("$Id: lib_color.c,v 1.53 2000/09/02 18:02:15 tom Exp $")
 
 /*
  * These should be screen structure members.  They need to be globals for
 
 /*
  * These should be screen structure members.  They need to be globals for
@@ -85,7 +85,7 @@ static const color_t hls_palette[] =
 };
 /* *INDENT-ON* */
 
 };
 /* *INDENT-ON* */
 
-#ifdef NCURSES_EXT_FUNCS
+#if NCURSES_EXT_FUNCS
 /*
  * These are called from _nc_do_color(), which in turn is called from
  * vidattr - so we have to assume that SP may be null.
 /*
  * These are called from _nc_do_color(), which in turn is called from
  * vidattr - so we have to assume that SP may be null.
@@ -265,7 +265,7 @@ init_pair(short pair, short f, short b)
 
     if ((pair < 0) || (pair >= COLOR_PAIRS))
        returnCode(ERR);
 
     if ((pair < 0) || (pair >= COLOR_PAIRS))
        returnCode(ERR);
-#ifdef NCURSES_EXT_FUNCS
+#if NCURSES_EXT_FUNCS
     if (SP->_default_color) {
        if (f < 0)
            f = C_MASK;
     if (SP->_default_color) {
        if (f < 0)
            f = C_MASK;
@@ -438,7 +438,7 @@ _nc_do_color(int old_pair, int pair, bool reverse, int (*outc) (int))
        pair_content(old_pair, &old_fg, &old_bg);
        if ((fg == C_MASK && old_fg != C_MASK)
            || (bg == C_MASK && old_bg != C_MASK)) {
        pair_content(old_pair, &old_fg, &old_bg);
        if ((fg == C_MASK && old_fg != C_MASK)
            || (bg == C_MASK && old_bg != C_MASK)) {
-#ifdef NCURSES_EXT_FUNCS
+#if NCURSES_EXT_FUNCS
            /*
             * A minor optimization - but extension.  If "AX" is specified in
             * the terminal description, treat it as screen's indicator of ECMA
            /*
             * A minor optimization - but extension.  If "AX" is specified in
             * the terminal description, treat it as screen's indicator of ECMA
@@ -458,7 +458,7 @@ _nc_do_color(int old_pair, int pair, bool reverse, int (*outc) (int))
            return;
     }
 
            return;
     }
 
-#ifdef NCURSES_EXT_FUNCS
+#if NCURSES_EXT_FUNCS
     if (fg == C_MASK)
        fg = default_fg();
     if (bg == C_MASK)
     if (fg == C_MASK)
        fg = default_fg();
     if (bg == C_MASK)
@@ -471,7 +471,7 @@ _nc_do_color(int old_pair, int pair, bool reverse, int (*outc) (int))
        bg = xx;
     }
 
        bg = xx;
     }
 
-    T(("setting colors: pair = %d, fg = %d, bg = %d", pair, fg, bg));
+    TR(TRACE_ATTRS, ("setting colors: pair = %d, fg = %d, bg = %d", pair, fg, bg));
 
     if (fg != C_MASK) {
        set_foreground_color(fg, outc);
 
     if (fg != C_MASK) {
        set_foreground_color(fg, outc);
index d9fc5c28dc0112a7d27d59b3b756ae00bb5051b9..3870e875f32289ebe2fe335dfd9c9eff72b385fc 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998 Free Software Foundation, Inc.                        *
+ * Copyright (c) 1998,2000 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
 #include <curses.priv.h>
 #include <ctype.h>
 
 #include <curses.priv.h>
 #include <ctype.h>
 
-MODULE_ID("$Id: lib_colorset.c,v 1.5 1999/05/16 17:13:43 juergen Exp $")
+MODULE_ID("$Id: lib_colorset.c,v 1.6 2000/07/29 16:37:19 tom Exp $")
 
 
-int wcolor_set(WINDOW *win, short color_pair_number, void *opts)
+int
+wcolor_set(WINDOW *win, short color_pair_number, void *opts)
 {
 {
-       T((T_CALLED("wcolor_set(%p,%d)"), win, color_pair_number));
-       if (win && !opts && (color_pair_number >= 0) && (color_pair_number < COLOR_PAIRS)) {
-               T(("... current %ld", (long) PAIR_NUMBER(win->_attrs)));
-               toggle_attr_on(win->_attrs,COLOR_PAIR(color_pair_number));
-               returnCode(OK);
-       } else
-               returnCode(ERR);
+    T((T_CALLED("wcolor_set(%p,%d)"), win, color_pair_number));
+    if (win
+       && !opts
+       && (color_pair_number >= 0)
+       && (color_pair_number < COLOR_PAIRS)) {
+       TR(TRACE_ATTRS, ("... current %ld", (long) PAIR_NUMBER(win->_attrs)));
+       toggle_attr_on(win->_attrs, COLOR_PAIR(color_pair_number));
+       returnCode(OK);
+    } else
+       returnCode(ERR);
 }
 }
-
-
index c5a5dc3ea588858bab4344acc197358f306fb18c..f67bf9a35f7725eb2f8b65219c2d461fe4cf1058 100644 (file)
 
 #include <curses.priv.h>
 
 
 #include <curses.priv.h>
 
-MODULE_ID("$Id: lib_getch.c,v 1.48 2000/07/08 11:21:51 tom Exp $")
+MODULE_ID("$Id: lib_getch.c,v 1.50 2000/10/09 23:53:57 Ilya.Zakharevich Exp $")
 
 #include <fifo_defs.h>
 
 int ESCDELAY = 1000;           /* max interval betw. chars in funkeys, in millisecs */
 
 
 #include <fifo_defs.h>
 
 int ESCDELAY = 1000;           /* max interval betw. chars in funkeys, in millisecs */
 
-#ifdef USE_EMX_MOUSE
-#  include <sys/select.h>
-static int
-kbd_mouse_read(unsigned char *p)
-{
-    fd_set fdset;
-    int nums = SP->_ifd + 1;
-
-    for (;;) {
-       FD_ZERO(&fdset);
-       FD_SET(SP->_ifd, &fdset);
-       if (SP->_checkfd >= 0) {
-           FD_SET(SP->_checkfd, &fdset);
-           if (SP->_checkfd >= nums)
-               nums = SP->_checkfd + 1;
-       }
-       if (SP->_mouse_fd >= 0) {
-           FD_SET(SP->_mouse_fd, &fdset);
-           if (SP->_mouse_fd >= nums)
-               nums = SP->_mouse_fd + 1;
-       }
-       if (select(nums, &fdset, NULL, NULL, NULL) >= 0) {
-           int n;
-
-           if (SP->_mouse_fd >= 0
-               && FD_ISSET(SP->_mouse_fd, &fdset)) {   /* Prefer mouse */
-               n = read(SP->_mouse_fd, p, 1);
-           } else {
-               n = read(SP->_ifd, p, 1);
-           }
-           return n;
-       }
-       if (errno != EINTR) {
-           return -1;
-       }
-    }
-}
-#endif /* USE_EMX_MOUSE */
-
 static inline int
 fifo_peek(void)
 {
     int ch = SP->_fifo[peek];
 static inline int
 fifo_peek(void)
 {
     int ch = SP->_fifo[peek];
-    T(("peeking at %d", peek));
+    TR(TRACE_IEVENT, ("peeking at %d", peek));
 
     p_inc();
     return ch;
 
     p_inc();
     return ch;
@@ -100,7 +61,7 @@ fifo_pull(void)
 {
     int ch;
     ch = SP->_fifo[head];
 {
     int ch;
     ch = SP->_fifo[head];
-    T(("pulling %d from %d", ch, head));
+    TR(TRACE_IEVENT, ("pulling %d from %d", ch, head));
 
     if (peek == head) {
        h_inc();
 
     if (peek == head) {
        h_inc();
@@ -129,7 +90,7 @@ fifo_push(void)
     errno = 0;
 #endif
 
     errno = 0;
 #endif
 
-#if USE_GPM_SUPPORT
+#if USE_GPM_SUPPORT || defined(USE_EMX_MOUSE)
     if ((SP->_mouse_fd >= 0)
        && (_nc_timed_wait(3, -1, (int *) 0) & 2)) {
        SP->_mouse_event(SP);
     if ((SP->_mouse_fd >= 0)
        && (_nc_timed_wait(3, -1, (int *) 0) & 2)) {
        SP->_mouse_event(SP);
@@ -139,11 +100,7 @@ fifo_push(void)
 #endif
     {
        unsigned char c2 = 0;
 #endif
     {
        unsigned char c2 = 0;
-#ifdef USE_EMX_MOUSE
-       n = kbd_mouse_read(&c2);
-#else
        n = read(SP->_ifd, &c2, 1);
        n = read(SP->_ifd, &c2, 1);
-#endif
        ch = c2 & 0xff;
     }
 
        ch = c2 & 0xff;
     }
 
@@ -162,17 +119,17 @@ fifo_push(void)
 #endif
 
     if ((n == -1) || (n == 0)) {
 #endif
 
     if ((n == -1) || (n == 0)) {
-       T(("read(%d,&ch,1)=%d, errno=%d", SP->_ifd, n, errno));
+       TR(TRACE_IEVENT, ("read(%d,&ch,1)=%d, errno=%d", SP->_ifd, n, errno));
        ch = ERR;
     }
        ch = ERR;
     }
-    T(("read %d characters", n));
+    TR(TRACE_IEVENT, ("read %d characters", n));
 
     SP->_fifo[tail] = ch;
     SP->_fifohold = 0;
     if (head == -1)
        head = peek = tail;
     t_inc();
 
     SP->_fifo[tail] = ch;
     SP->_fifohold = 0;
     if (head == -1)
        head = peek = tail;
     t_inc();
-    T(("pushed %#x at %d", ch, tail));
+    TR(TRACE_IEVENT, ("pushed %#x at %d", ch, tail));
 #ifdef TRACE
     if (_nc_tracing & TRACE_IEVENT)
        _nc_fifo_dump();
 #ifdef TRACE
     if (_nc_tracing & TRACE_IEVENT)
        _nc_fifo_dump();
@@ -223,7 +180,7 @@ wgetch(WINDOW *win)
     if (head == -1 && !SP->_raw && !SP->_cbreak) {
        char buf[MAXCOLUMNS], *sp;
 
     if (head == -1 && !SP->_raw && !SP->_cbreak) {
        char buf[MAXCOLUMNS], *sp;
 
-       T(("filling queue in cooked mode"));
+       TR(TRACE_IEVENT, ("filling queue in cooked mode"));
 
        wgetnstr(win, buf, MAXCOLUMNS);
 
 
        wgetnstr(win, buf, MAXCOLUMNS);
 
@@ -241,13 +198,13 @@ wgetch(WINDOW *win)
     if (!win->_notimeout && (win->_delay >= 0 || SP->_cbreak > 1)) {
        int delay;
 
     if (!win->_notimeout && (win->_delay >= 0 || SP->_cbreak > 1)) {
        int delay;
 
-       T(("timed delay in wgetch()"));
+       TR(TRACE_IEVENT, ("timed delay in wgetch()"));
        if (SP->_cbreak > 1)
            delay = (SP->_cbreak - 1) * 100;
        else
            delay = win->_delay;
 
        if (SP->_cbreak > 1)
            delay = (SP->_cbreak - 1) * 100;
        else
            delay = win->_delay;
 
-       T(("delay is %d milliseconds", delay));
+       TR(TRACE_IEVENT, ("delay is %d milliseconds", delay));
 
        if (head == -1)         /* fifo is empty */
            if (!_nc_timed_wait(3, delay, (int *) 0))
 
        if (head == -1)         /* fifo is empty */
            if (!_nc_timed_wait(3, delay, (int *) 0))
index 59db16d1aea640570feb10af601ed6704d06c2df..3b85635039798abc655864baac28b9dfd589e581 100644 (file)
@@ -84,7 +84,7 @@
 #endif
 #endif
 
 #endif
 #endif
 
-MODULE_ID("$Id: lib_mouse.c,v 1.52 2000/06/29 23:02:26 tom Exp $")
+MODULE_ID("$Id: lib_mouse.c,v 1.55 2000/10/10 00:07:28 Ilya.Zakharevich Exp $")
 
 #define MY_TRACE TRACE_ICALLS|TRACE_IEVENT
 
 
 #define MY_TRACE TRACE_ICALLS|TRACE_IEVENT
 
@@ -130,8 +130,8 @@ _trace_slot(const char *tag)
 
     for (ep = events; ep < events + EV_MAX; ep++)
        _tracef("mouse event queue slot %ld = %s",
 
     for (ep = events; ep < events + EV_MAX; ep++)
        _tracef("mouse event queue slot %ld = %s",
-           (long) (ep - events),
-           _tracemouse(ep));
+               (long) (ep - events),
+               _tracemouse(ep));
 }
 #endif
 
 }
 #endif
 
@@ -154,7 +154,7 @@ write_event(int down, int button, int x, int y)
     char buf[6];
     unsigned long ignore;
 
     char buf[6];
     unsigned long ignore;
 
-    strcpy(buf, key_mouse);
+    strncpy(buf, key_mouse, 3);        /* should be "\033[M" */
     buf[3] = ' ' + (button - 1) + (down ? 0 : 0x40);
     buf[4] = ' ' + x - LEFT_COL + 1;
     buf[5] = ' ' + y - TOP_ROW + 1;
     buf[3] = ' ' + (button - 1) + (down ? 0 : 0x40);
     buf[4] = ' ' + x - LEFT_COL + 1;
     buf[5] = ' ' + y - TOP_ROW + 1;
@@ -169,20 +169,27 @@ mouse_server(unsigned long ignored GCC_UNUSED)
     MOUEVENTINFO mouev;
     HMOU hmou;
     unsigned short mask = MOUSE_BN1_DOWN | MOUSE_BN2_DOWN | MOUSE_BN3_DOWN;
     MOUEVENTINFO mouev;
     HMOU hmou;
     unsigned short mask = MOUSE_BN1_DOWN | MOUSE_BN2_DOWN | MOUSE_BN3_DOWN;
+    int nbuttons = 3;
     int oldstate = 0;
     int oldstate = 0;
-    char errmess[] = "Unexpected termination of mouse thread\r\n";
-    unsigned long ignore;
+    char err[80];
+    unsigned long rc;
 
     /* open the handle for the mouse */
     if (MouOpen(NULL, &hmou) == 0) {
 
     /* open the handle for the mouse */
     if (MouOpen(NULL, &hmou) == 0) {
-
-       if (MouSetEventMask(&mask, hmou) == 0
-           && MouDrawPtr(hmou) == 0) {
-
+       rc = MouSetEventMask(&mask, hmou);
+       if (rc) {               /* retry with 2 buttons */
+           mask = MOUSE_BN1_DOWN | MOUSE_BN2_DOWN;
+           rc = MouSetEventMask(&mask, hmou);
+           nbuttons = 2;
+       }
+       if (rc == 0 && MouDrawPtr(hmou) == 0) {
            for (;;) {
                /* sit and wait on the event queue */
            for (;;) {
                /* sit and wait on the event queue */
-               if (MouReadEventQue(&mouev, &fWait, hmou))
+               rc = MouReadEventQue(&mouev, &fWait, hmou);
+               if (rc) {
+                   sprintf(err, "Error reading mouse queue, rc=%lu.\r\n", rc);
                    break;
                    break;
+               }
                if (!mouse_activated)
                    goto finish;
 
                if (!mouse_activated)
                    goto finish;
 
@@ -195,24 +202,27 @@ mouse_server(unsigned long ignored GCC_UNUSED)
                 */
                if ((mouev.fs ^ oldstate) & MOUSE_BN1_DOWN)
                    write_event(mouev.fs & MOUSE_BN1_DOWN,
                 */
                if ((mouev.fs ^ oldstate) & MOUSE_BN1_DOWN)
                    write_event(mouev.fs & MOUSE_BN1_DOWN,
-                       mouse_buttons[1], mouev.col, mouev.row);
+                               mouse_buttons[1], mouev.col, mouev.row);
                if ((mouev.fs ^ oldstate) & MOUSE_BN2_DOWN)
                    write_event(mouev.fs & MOUSE_BN2_DOWN,
                if ((mouev.fs ^ oldstate) & MOUSE_BN2_DOWN)
                    write_event(mouev.fs & MOUSE_BN2_DOWN,
-                       mouse_buttons[3], mouev.col, mouev.row);
+                               mouse_buttons[3], mouev.col, mouev.row);
                if ((mouev.fs ^ oldstate) & MOUSE_BN3_DOWN)
                    write_event(mouev.fs & MOUSE_BN3_DOWN,
                if ((mouev.fs ^ oldstate) & MOUSE_BN3_DOWN)
                    write_event(mouev.fs & MOUSE_BN3_DOWN,
-                       mouse_buttons[2], mouev.col, mouev.row);
+                               mouse_buttons[2], mouev.col, mouev.row);
 
              finish:
                oldstate = mouev.fs;
            }
 
              finish:
                oldstate = mouev.fs;
            }
-       }
+       } else
+           sprintf(err, "Error setting event mask, buttons=%d, rc=%lu.\r\n",
+                   nbuttons, rc);
 
 
-       DosWrite(2, errmess, strlen(errmess), &ignore);
+       DosWrite(2, err, strlen(err), &rc);
        MouClose(hmou);
     }
     DosExit(EXIT_THREAD, 0L);
 }
        MouClose(hmou);
     }
     DosExit(EXIT_THREAD, 0L);
 }
+
 static void
 server_state(const int state)
 {                              /* It would be nice to implement pointer-off and stop looping... */
 static void
 server_state(const int state)
 {                              /* It would be nice to implement pointer-off and stop looping... */
@@ -248,8 +258,10 @@ initialize_mousetype(void)
        && strstr(cur_term->type.term_names, "xterm") == 0
        && key_mouse) {
        int handles[2];
        && strstr(cur_term->type.term_names, "xterm") == 0
        && key_mouse) {
        int handles[2];
+
        if (pipe(handles) < 0) {
            perror("mouse pipe error");
        if (pipe(handles) < 0) {
            perror("mouse pipe error");
+           return;
        } else {
            int rc;
 
        } else {
            int rc;
 
@@ -270,9 +282,10 @@ initialize_mousetype(void)
            setmode(handles[1], O_BINARY);
            /* Do not use CRT functions, we may single-threaded. */
            rc = DosCreateThread((unsigned long *) &mouse_thread,
            setmode(handles[1], O_BINARY);
            /* Do not use CRT functions, we may single-threaded. */
            rc = DosCreateThread((unsigned long *) &mouse_thread,
-               mouse_server, 0, 0, 8192);
+                                mouse_server, 0, 0, 8192);
            if (rc) {
                printf("mouse thread error %d=%#x", rc, rc);
            if (rc) {
                printf("mouse thread error %d=%#x", rc, rc);
+               return;
            } else {
                mousetype = M_XTERM;
                return;
            } else {
                mousetype = M_XTERM;
                return;
@@ -359,6 +372,23 @@ _nc_mouse_event(SCREEN * sp GCC_UNUSED)
     }
 #endif
 
     }
 #endif
 
+#ifdef USE_EMX_MOUSE
+    if (SP->_mouse_fd >= 0
+       && (_nc_timed_wait(3, 0, (int *) 0) & 2) != 0) {
+       char kbuf[3];
+
+       int i, res = read(M_FD(sp), &kbuf, 3);  /* Eat the prefix */
+       if (res != 3)
+           printf("Got %d chars instead of 3 for prefix.\n", res);
+       for (i = 0; i < res; i++) {
+           if (kbuf[i] != key_mouse[i])
+               printf("Got char %d instead of %d for prefix.\n",
+                      (int) kbuf[i], (int) key_mouse[i]);
+       }
+       return TRUE;
+    }
+#endif /* USE_EMX_MOUSE */
+
     /* xterm: never have to query, mouse events are in the keyboard stream */
     return (FALSE);            /* no event waiting */
 }
     /* xterm: never have to query, mouse events are in the keyboard stream */
     return (FALSE);            /* no event waiting */
 }
@@ -419,7 +449,7 @@ _nc_mouse_inline(SCREEN * sp)
        kbuf[3] = '\0';
 
        TR(TRACE_IEVENT,
        kbuf[3] = '\0';
 
        TR(TRACE_IEVENT,
-           ("_nc_mouse_inline sees the following xterm data: '%s'", kbuf));
+          ("_nc_mouse_inline sees the following xterm data: '%s'", kbuf));
 
        eventp->id = 0;         /* there's only one mouse... */
 
 
        eventp->id = 0;         /* there's only one mouse... */
 
@@ -457,8 +487,8 @@ _nc_mouse_inline(SCREEN * sp)
             */
            eventp->bstate =
                (BUTTON1_RELEASED |
             */
            eventp->bstate =
                (BUTTON1_RELEASED |
-               BUTTON2_RELEASED |
-               BUTTON3_RELEASED);
+                BUTTON2_RELEASED |
+                BUTTON3_RELEASED);
            /*
             * ...however, because there are no kinds of mouse events under
             * xterm that can intervene between press and release, we can
            /*
             * ...however, because there are no kinds of mouse events under
             * xterm that can intervene between press and release, we can
@@ -488,9 +518,9 @@ _nc_mouse_inline(SCREEN * sp)
        eventp->x = (kbuf[1] - ' ') - 1;
        eventp->y = (kbuf[2] - ' ') - 1;
        TR(MY_TRACE,
        eventp->x = (kbuf[1] - ' ') - 1;
        eventp->y = (kbuf[2] - ' ') - 1;
        TR(MY_TRACE,
-           ("_nc_mouse_inline: primitive mouse-event %s has slot %ld",
-               _tracemouse(eventp),
-               (long) (eventp - events)));
+          ("_nc_mouse_inline: primitive mouse-event %s has slot %ld",
+           _tracemouse(eventp),
+           (long) (eventp - events)));
 
        /* bump the next-free pointer into the circular list */
        eventp = NEXT(eventp);
 
        /* bump the next-free pointer into the circular list */
        eventp = NEXT(eventp);
@@ -514,7 +544,7 @@ mouse_activate(bool on)
 
        switch (mousetype) {
        case M_XTERM:
 
        switch (mousetype) {
        case M_XTERM:
-#ifdef NCURSES_EXT_FUNCS
+#if NCURSES_EXT_FUNCS
            keyok(KEY_MOUSE, on);
 #endif
            TPUTS_TRACE("xterm mouse initialization");
            keyok(KEY_MOUSE, on);
 #endif
            TPUTS_TRACE("xterm mouse initialization");
@@ -598,9 +628,9 @@ _nc_mouse_parse(int runcount)
      */
     if (runcount == 1) {
        TR(MY_TRACE,
      */
     if (runcount == 1) {
        TR(MY_TRACE,
-           ("_nc_mouse_parse: returning simple mouse event %s at slot %ld",
-               _tracemouse(prev),
-               (long) (prev - events)));
+          ("_nc_mouse_parse: returning simple mouse event %s at slot %ld",
+           _tracemouse(prev),
+           (long) (prev - events)));
        return (prev->id >= 0)
            ? ((prev->bstate & eventmask) ? TRUE : FALSE)
            : FALSE;
        return (prev->id >= 0)
            ? ((prev->bstate & eventmask) ? TRUE : FALSE)
            : FALSE;
@@ -616,9 +646,9 @@ _nc_mouse_parse(int runcount)
     if (_nc_tracing & TRACE_IEVENT) {
        _trace_slot("before mouse press/release merge:");
        _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
     if (_nc_tracing & TRACE_IEVENT) {
        _trace_slot("before mouse press/release merge:");
        _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
-           (long) (runp - events),
-           (long) ((eventp - events) + (EV_MAX - 1)) % EV_MAX,
-           runcount);
+               (long) (runp - events),
+               (long) ((eventp - events) + (EV_MAX - 1)) % EV_MAX,
+               runcount);
     }
 #endif /* TRACE */
 
     }
 #endif /* TRACE */
 
@@ -664,9 +694,9 @@ _nc_mouse_parse(int runcount)
     if (_nc_tracing & TRACE_IEVENT) {
        _trace_slot("before mouse click merge:");
        _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
     if (_nc_tracing & TRACE_IEVENT) {
        _trace_slot("before mouse click merge:");
        _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
-           (long) (runp - events),
-           (long) ((eventp - events) + (EV_MAX - 1)) % EV_MAX,
-           runcount);
+               (long) (runp - events),
+               (long) ((eventp - events) + (EV_MAX - 1)) % EV_MAX,
+               runcount);
     }
 #endif /* TRACE */
 
     }
 #endif /* TRACE */
 
@@ -700,7 +730,7 @@ _nc_mouse_parse(int runcount)
 
                /* merge click events forward */
                if ((ep->bstate &
 
                /* merge click events forward */
                if ((ep->bstate &
-                       (BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED))
+                    (BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED))
                    && (follower->bstate &
                        (BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED))) {
                    if ((eventmask & BUTTON1_DOUBLE_CLICKED)
                    && (follower->bstate &
                        (BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED))) {
                    if ((eventmask & BUTTON1_DOUBLE_CLICKED)
@@ -727,9 +757,9 @@ _nc_mouse_parse(int runcount)
 
                /* merge double-click events forward */
                if ((ep->bstate &
 
                /* merge double-click events forward */
                if ((ep->bstate &
-                       (BUTTON1_DOUBLE_CLICKED
-                           | BUTTON2_DOUBLE_CLICKED
-                           | BUTTON3_DOUBLE_CLICKED))
+                    (BUTTON1_DOUBLE_CLICKED
+                     | BUTTON2_DOUBLE_CLICKED
+                     | BUTTON3_DOUBLE_CLICKED))
                    && (follower->bstate &
                        (BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED))) {
                    if ((eventmask & BUTTON1_TRIPLE_CLICKED)
                    && (follower->bstate &
                        (BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED))) {
                    if ((eventmask & BUTTON1_TRIPLE_CLICKED)
@@ -761,9 +791,9 @@ _nc_mouse_parse(int runcount)
     if (_nc_tracing & TRACE_IEVENT) {
        _trace_slot("before mouse event queue compaction:");
        _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
     if (_nc_tracing & TRACE_IEVENT) {
        _trace_slot("before mouse event queue compaction:");
        _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
-           (long) (runp - events),
-           (long) ((eventp - events) + (EV_MAX - 1)) % EV_MAX,
-           runcount);
+               (long) (runp - events),
+               (long) ((eventp - events) + (EV_MAX - 1)) % EV_MAX,
+               runcount);
     }
 #endif /* TRACE */
 
     }
 #endif /* TRACE */
 
@@ -779,16 +809,16 @@ _nc_mouse_parse(int runcount)
     if (_nc_tracing & TRACE_IEVENT) {
        _trace_slot("after mouse event queue compaction:");
        _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
     if (_nc_tracing & TRACE_IEVENT) {
        _trace_slot("after mouse event queue compaction:");
        _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
-           (long) (runp - events),
-           (long) ((eventp - events) + (EV_MAX - 1)) % EV_MAX,
-           runcount);
+               (long) (runp - events),
+               (long) ((eventp - events) + (EV_MAX - 1)) % EV_MAX,
+               runcount);
     }
     for (ep = runp; ep != eventp; ep = NEXT(ep))
        if (ep->id != INVALID_EVENT)
            TR(MY_TRACE,
     }
     for (ep = runp; ep != eventp; ep = NEXT(ep))
        if (ep->id != INVALID_EVENT)
            TR(MY_TRACE,
-               ("_nc_mouse_parse: returning composite mouse event %s at slot %ld",
-                   _tracemouse(ep),
-                   (long) (ep - events)));
+              ("_nc_mouse_parse: returning composite mouse event %s at slot %ld",
+               _tracemouse(ep),
+               (long) (ep - events)));
 #endif /* TRACE */
 
     /* after all this, do we have a valid event? */
 #endif /* TRACE */
 
     /* after all this, do we have a valid event? */
@@ -847,8 +877,8 @@ getmouse(MEVENT * aevent)
        *aevent = *prev;
 
        TR(TRACE_IEVENT, ("getmouse: returning event %s from slot %ld",
        *aevent = *prev;
 
        TR(TRACE_IEVENT, ("getmouse: returning event %s from slot %ld",
-               _tracemouse(prev),
-               (long) (prev - events)));
+                         _tracemouse(prev),
+                         (long) (prev - events)));
 
        prev->id = INVALID_EVENT;       /* so the queue slot becomes free */
        returnCode(OK);
 
        prev->id = INVALID_EVENT;       /* so the queue slot becomes free */
        returnCode(OK);
@@ -888,12 +918,12 @@ mousemask(mmask_t newmask, mmask_t * oldmask)
     if (mousetype != M_NONE) {
        eventmask = newmask &
            (BUTTON_ALT | BUTTON_CTRL | BUTTON_SHIFT
     if (mousetype != M_NONE) {
        eventmask = newmask &
            (BUTTON_ALT | BUTTON_CTRL | BUTTON_SHIFT
-           | BUTTON1_PRESSED | BUTTON1_RELEASED | BUTTON1_CLICKED
-           | BUTTON1_DOUBLE_CLICKED | BUTTON1_TRIPLE_CLICKED
-           | BUTTON2_PRESSED | BUTTON2_RELEASED | BUTTON2_CLICKED
-           | BUTTON2_DOUBLE_CLICKED | BUTTON2_TRIPLE_CLICKED
-           | BUTTON3_PRESSED | BUTTON3_RELEASED | BUTTON3_CLICKED
-           | BUTTON3_DOUBLE_CLICKED | BUTTON3_TRIPLE_CLICKED);
+            | BUTTON1_PRESSED | BUTTON1_RELEASED | BUTTON1_CLICKED
+            | BUTTON1_DOUBLE_CLICKED | BUTTON1_TRIPLE_CLICKED
+            | BUTTON2_PRESSED | BUTTON2_RELEASED | BUTTON2_CLICKED
+            | BUTTON2_DOUBLE_CLICKED | BUTTON2_TRIPLE_CLICKED
+            | BUTTON3_PRESSED | BUTTON3_RELEASED | BUTTON3_CLICKED
+            | BUTTON3_DOUBLE_CLICKED | BUTTON3_TRIPLE_CLICKED);
 
        mouse_activate(eventmask != 0);
 
 
        mouse_activate(eventmask != 0);
 
@@ -910,9 +940,9 @@ wenclose(const WINDOW *win, int y, int x)
     if (win) {
        y -= win->_yoffset;
        return ((win->_begy <= y &&
     if (win) {
        y -= win->_yoffset;
        return ((win->_begy <= y &&
-               win->_begx <= x &&
-               (win->_begx + win->_maxx) >= x &&
-               (win->_begy + win->_maxy) >= y) ? TRUE : FALSE);
+                win->_begx <= x &&
+                (win->_begx + win->_maxx) >= x &&
+                (win->_begy + win->_maxy) >= y) ? TRUE : FALSE);
     }
     return FALSE;
 }
     }
     return FALSE;
 }
index 08e35cf501822152e7bdd4c423d5a66b4ffb7586..7da4069b5b8505271bc6380ce51f33911de7b501 100644 (file)
 
 #include <curses.priv.h>
 
 
 #include <curses.priv.h>
 
-#if defined(SVR4_TERMIO) && !defined(_POSIX_SOURCE)
+#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
 #define _POSIX_SOURCE
 #endif
 
 #include <term.h>              /* clear_screen, cup & friends, cur_term */
 #include <tic.h>
 
 #define _POSIX_SOURCE
 #endif
 
 #include <term.h>              /* clear_screen, cup & friends, cur_term */
 #include <tic.h>
 
-MODULE_ID("$Id: lib_newterm.c,v 1.46 2000/07/01 22:26:22 tom Exp $")
+MODULE_ID("$Id: lib_newterm.c,v 1.48 2000/09/02 18:11:42 tom Exp $")
 
 #ifndef ONLCR                  /* Allows compilation under the QNX 4.2 OS */
 #define ONLCR 0
 
 #ifndef ONLCR                  /* Allows compilation under the QNX 4.2 OS */
 #define ONLCR 0
@@ -191,17 +191,21 @@ newterm(NCURSES_CONST char *name, FILE * ofp, FILE * ifp)
     SP->_use_rmso = SGR0_TEST(exit_standout_mode);
     SP->_use_rmul = SGR0_TEST(exit_underline_mode);
 
     SP->_use_rmso = SGR0_TEST(exit_standout_mode);
     SP->_use_rmul = SGR0_TEST(exit_underline_mode);
 
-#ifdef USE_WIDEC_SUPPORT
+#if USE_WIDEC_SUPPORT
     /*
      * XFree86 xterm can be configured to support UTF-8 based on environment
      * variable settings.
      */
     {
        char *s;
     /*
      * XFree86 xterm can be configured to support UTF-8 based on environment
      * variable settings.
      */
     {
        char *s;
-       if (((s = getenv("LC_ALL")) != 0
-               || (s = getenv("LC_CTYPE")) != 0
-               || (s = getenv("LANG")) != 0)
-           && strstr(s, "UTF-8") != 0) {
+       s = getenv("LC_ALL");
+       if (s == NULL || *s == '\0') {
+           s = getenv("LC_CTYPE");
+           if (s == NULL || *s == '\0') {
+               s = getenv("LANG");
+           }
+       }
+       if (s != NULL && *s != '\0' && strstr(s, "UTF-8") != NULL) {
            SP->_outch = _nc_utf8_outch;
        }
     }
            SP->_outch = _nc_utf8_outch;
        }
     }
index de0182f4269148b393f05d1463c3b0e0a0db1c52..831e3255d8420e4f456f75de89963910db61d42a 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998 Free Software Foundation, Inc.                        *
+ * Copyright (c) 1998,2000 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
 
 #include <curses.priv.h>
 
 
 #include <curses.priv.h>
 
-#if defined(SVR4_TERMIO) && !defined(_POSIX_SOURCE)
+#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
 #define _POSIX_SOURCE
 #endif
 
 #define _POSIX_SOURCE
 #endif
 
-#include <term.h>      /* lines, columns, cur_term */
+#include <term.h>              /* lines, columns, cur_term */
 
 
-MODULE_ID("$Id: lib_restart.c,v 1.2 1999/07/24 20:10:04 tom Exp $")
+MODULE_ID("$Id: lib_restart.c,v 1.3 2000/09/02 18:09:44 tom Exp $")
 
 
-int restartterm(NCURSES_CONST char *termp, int filenum, int *errret)
+int
+restartterm(NCURSES_CONST char *termp, int filenum, int *errret)
 {
 {
-int saveecho = SP->_echo;
-int savecbreak = SP->_cbreak;
-int saveraw = SP->_raw;
-int savenl = SP->_nl;
+    int saveecho = SP->_echo;
+    int savecbreak = SP->_cbreak;
+    int saveraw = SP->_raw;
+    int savenl = SP->_nl;
 
 
-       T((T_CALLED("restartterm(%s,%d,%p)"), termp, filenum, errret));
+    T((T_CALLED("restartterm(%s,%d,%p)"), termp, filenum, errret));
 
 
-       setupterm(termp, filenum, errret);
+    setupterm(termp, filenum, errret);
 
 
-       if (saveecho)
-               echo();
-       else
-               noecho();
+    if (saveecho)
+       echo();
+    else
+       noecho();
 
 
-       if (savecbreak) {
-               cbreak();
-               noraw();
-       } else if (saveraw) {
-               nocbreak();
-               raw();
-       } else {
-               nocbreak();
-               noraw();
-       }
-       if (savenl)
-               nl();
-       else
-               nonl();
+    if (savecbreak) {
+       cbreak();
+       noraw();
+    } else if (saveraw) {
+       nocbreak();
+       raw();
+    } else {
+       nocbreak();
+       noraw();
+    }
+    if (savenl)
+       nl();
+    else
+       nonl();
 
 
-       reset_prog_mode();
+    reset_prog_mode();
 
 #if USE_SIZECHANGE
 
 #if USE_SIZECHANGE
-       _nc_update_screensize();
+    _nc_update_screensize();
 #endif
 
 #endif
 
-       returnCode(OK);
+    returnCode(OK);
 }
 }
index b4d547fcf514ec6471f475351157e4cef0920196..15dd6d3f505db05c0b52fd72bb555f20d3e55f23 100644 (file)
@@ -43,7 +43,7 @@
 #include <term.h>              /* cur_term */
 #include <tic.h>
 
 #include <term.h>              /* cur_term */
 #include <tic.h>
 
-MODULE_ID("$Id: lib_set_term.c,v 1.55 2000/07/02 00:22:18 tom Exp $")
+MODULE_ID("$Id: lib_set_term.c,v 1.58 2000/10/04 22:05:48 tom Exp $")
 
 SCREEN *
 set_term(SCREEN * screenp)
 
 SCREEN *
 set_term(SCREEN * screenp)
@@ -171,7 +171,7 @@ no_mouse_wrap(SCREEN * sp GCC_UNUSED)
 {
 }
 
 {
 }
 
-#if defined(NCURSES_EXT_FUNCS) && defined(USE_COLORFGBG)
+#if NCURSES_EXT_FUNCS && USE_COLORFGBG
 static char *
 extract_fgbg(char *src, int *result)
 {
 static char *
 extract_fgbg(char *src, int *result)
 {
@@ -220,17 +220,45 @@ _nc_setupscreen(short slines, short const scolumns, FILE * output)
     SP->_endwin = TRUE;
     SP->_ofp = output;
     SP->_cursor = -1;          /* cannot know real cursor shape */
     SP->_endwin = TRUE;
     SP->_ofp = output;
     SP->_cursor = -1;          /* cannot know real cursor shape */
-#ifdef NCURSES_NO_PADDING
+
+#if NCURSES_NO_PADDING
     SP->_no_padding = getenv("NCURSES_NO_PADDING") != 0;
     TR(TRACE_CHARPUT | TRACE_MOVE, ("padding will%s be used",
            SP->_no_padding ? " not" : ""));
 #endif
     SP->_no_padding = getenv("NCURSES_NO_PADDING") != 0;
     TR(TRACE_CHARPUT | TRACE_MOVE, ("padding will%s be used",
            SP->_no_padding ? " not" : ""));
 #endif
-#ifdef NCURSES_EXT_FUNCS
+
+#if NCURSES_EXT_FUNCS
     SP->_default_color = FALSE;
     SP->_has_sgr_39_49 = FALSE;
     SP->_default_color = FALSE;
     SP->_has_sgr_39_49 = FALSE;
+
+    /*
+     * Set our assumption of the terminal's default foreground and background
+     * colors.  The curs_color man-page states that we can assume that the
+     * background is black.  The origin of this assumption appears to be
+     * terminals that displayed colored text, but no colored backgrounds, e.g.,
+     * the first colored terminals around 1980.  More recent ones with better
+     * technology can display not only colored backgrounds, but all
+     * combinations.  So a terminal might be something other than "white" on
+     * black (green/black looks monochrome too), but black on white or even
+     * on ivory.
+     *
+     * White-on-black is the simplest thing to use for monochrome.  Almost
+     * all applications that use color paint both text and background, so
+     * the distinction is moot.  But a few do not - which is why we leave this
+     * configurable (a better solution is to use assume_default_colors() for
+     * the rare applications that do require that sort of appearance, since
+     * is appears that more users expect to be able to make a white-on-black
+     * or black-on-white display under control of the application than not).
+     */
+#ifdef USE_ASSUMED_COLOR
     SP->_default_fg = COLOR_WHITE;
     SP->_default_bg = COLOR_BLACK;
     SP->_default_fg = COLOR_WHITE;
     SP->_default_bg = COLOR_BLACK;
-#ifdef USE_COLORFGBG
+#else
+    SP->_default_fg = C_MASK;
+    SP->_default_bg = C_MASK;
+#endif
+
+#if USE_COLORFGBG
     /*
      * If rxvt's $COLORFGBG variable is set, use it to specify the assumed
      * default colors.  Note that rxvt (mis)uses bold colors, equating a bold
     /*
      * If rxvt's $COLORFGBG variable is set, use it to specify the assumed
      * default colors.  Note that rxvt (mis)uses bold colors, equating a bold
index 119c731ebe3b92ba9979224c2e2bbe2c82bacc67..765220799a50689851b80164e658f10ad367cb3a 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998 Free Software Foundation, Inc.                        *
+ * Copyright (c) 1998,2000 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
 
 #include <curses.priv.h>
 
 
 #include <curses.priv.h>
 
-MODULE_ID("$Id: lib_winch.c,v 1.1 1998/11/14 22:06:09 tom Exp $")
+MODULE_ID("$Id: lib_winch.c,v 1.2 2000/07/29 16:41:44 tom Exp $")
 
 
-chtype winch(WINDOW *win)
+chtype
+winch(WINDOW *win)
 {
 {
-       T((T_CALLED("winch(%p)"), win));
-       if (win != 0) {
-               returnCode(win->_line[win->_cury].text[win->_curx]);
-       } else {
-               returnCode(0);
-       }
+    T((T_CALLED("winch(%p)"), win));
+    if (win != 0) {
+       returnChar(win->_line[win->_cury].text[win->_curx]);
+    } else {
+       returnChar(0);
+    }
 }
 }
index d3d5f296ef8b5f4cab04fc4b6ab5b4e6e4df45cc..d82e3aad752a2efa26e9b7ebda40a1699308ed1c 100644 (file)
@@ -33,7 +33,7 @@
 
 
 /*
 
 
 /*
- * $Id: curses.priv.h,v 1.162 2000/06/24 21:06:10 tom Exp $
+ * $Id: curses.priv.h,v 1.168 2000/10/08 01:24:59 tom Exp $
  *
  *     curses.priv.h
  *
  *
  *     curses.priv.h
  *
@@ -99,7 +99,7 @@ extern int errno;
 /* Some systems have a broken 'select()', but workable 'poll()'.  Use that */
 #if HAVE_WORKING_POLL
 #define USE_FUNC_POLL 1
 /* Some systems have a broken 'select()', but workable 'poll()'.  Use that */
 #if HAVE_WORKING_POLL
 #define USE_FUNC_POLL 1
-#ifdef HAVE_POLL_H
+#if HAVE_POLL_H
 #include <poll.h>
 #else
 #include <sys/poll.h>
 #include <poll.h>
 #else
 #include <sys/poll.h>
@@ -134,7 +134,7 @@ extern int errno;
  * If we don't have signals to support it, don't add a sigwinch handler.
  * In any case, resizing is an extended feature.  Use it if we've got it.
  */
  * If we don't have signals to support it, don't add a sigwinch handler.
  * In any case, resizing is an extended feature.  Use it if we've got it.
  */
-#ifndef NCURSES_EXT_FUNCS
+#if !NCURSES_EXT_FUNCS
 #undef HAVE_SIZECHANGE
 #endif
 
 #undef HAVE_SIZECHANGE
 #endif
 
@@ -144,6 +144,17 @@ extern int errno;
 #undef USE_SIGWINCH
 #endif
 
 #undef USE_SIGWINCH
 #endif
 
+/*
+ * If desired, one can configure this, disabling environment variables that
+ * point to custom terminfo/termcap locations.
+ */
+#ifdef USE_ROOT_ENVIRON
+#define use_terminfo_vars() 1
+#else
+#define use_terminfo_vars() _nc_env_access()
+extern int _nc_env_access(void);
+#endif
+
 /*
  * Not all platforms have memmove; some have an equivalent bcopy.  (Some may
  * have neither).
 /*
  * Not all platforms have memmove; some have an equivalent bcopy.  (Some may
  * have neither).
@@ -288,7 +299,7 @@ struct screen {
        SLK             *_slk;          /* ptr to soft key struct / NULL    */
         int             slk_format;     /* selected format for this screen  */
        /* cursor movement costs; units are 10ths of milliseconds */
        SLK             *_slk;          /* ptr to soft key struct / NULL    */
         int             slk_format;     /* selected format for this screen  */
        /* cursor movement costs; units are 10ths of milliseconds */
-#ifdef NCURSES_NO_PADDING
+#if NCURSES_NO_PADDING
        int             _no_padding;    /* flag to set if padding disabled  */
 #endif
        int             _char_padding;  /* cost of character put            */
        int             _no_padding;    /* flag to set if padding disabled  */
 #endif
        int             _char_padding;  /* cost of character put            */
@@ -329,9 +340,7 @@ struct screen {
        int             _ip_cost;       /* cost of (insert_padding)         */
        /* used in lib_mvcur.c */
        char *          _address_cursor;
        int             _ip_cost;       /* cost of (insert_padding)         */
        /* used in lib_mvcur.c */
        char *          _address_cursor;
-       int             _carriage_return_length;
-       int             _cursor_home_length;
-       int             _cursor_to_ll_length;
+       /* used in tty_update.c */
        int             _scrolling;     /* 1 if terminal's smart enough to  */
 
        /* used in lib_color.c */
        int             _scrolling;     /* 1 if terminal's smart enough to  */
 
        /* used in lib_color.c */
@@ -339,7 +348,7 @@ struct screen {
        int             _color_count;   /* count of colors in palette        */
        unsigned short  *_color_pairs;  /* screen's color pair list          */
        int             _pair_count;    /* count of color pairs              */
        int             _color_count;   /* count of colors in palette        */
        unsigned short  *_color_pairs;  /* screen's color pair list          */
        int             _pair_count;    /* count of color pairs              */
-#ifdef NCURSES_EXT_FUNCS
+#if NCURSES_EXT_FUNCS
        bool            _default_color; /* use default colors                */
        bool            _has_sgr_39_49; /* has ECMA default color support    */
        int             _default_fg;    /* assumed default foreground        */
        bool            _default_color; /* use default colors                */
        bool            _has_sgr_39_49; /* has ECMA default color support    */
        int             _default_fg;    /* assumed default foreground        */
@@ -407,7 +416,7 @@ struct screen {
 
 extern SCREEN *_nc_screen_chain;
 
 
 extern SCREEN *_nc_screen_chain;
 
-#ifdef NCURSES_NOMACROS
+#if NCURSES_NOMACROS
 #include <nomacros.h>
 #endif
 
 #include <nomacros.h>
 #endif
 
@@ -530,12 +539,14 @@ typedef   struct {
 #define TPUTS_TRACE(s) _nc_tputs_trace = s;
 #define TRACE_RETURN(value,type) return _nc_retrace_##type(value)
 #define returnAttr(code) TRACE_RETURN(code,attr_t)
 #define TPUTS_TRACE(s) _nc_tputs_trace = s;
 #define TRACE_RETURN(value,type) return _nc_retrace_##type(value)
 #define returnAttr(code) TRACE_RETURN(code,attr_t)
+#define returnChar(code) TRACE_RETURN(code,chtype)
 #define returnCode(code) TRACE_RETURN(code,int)
 #define returnPtr(code)  TRACE_RETURN(code,ptr)
 #define returnVoid       T((T_RETURN(""))); return
 #define returnWin(code)  TRACE_RETURN(code,win)
 extern WINDOW * _nc_retrace_win(WINDOW *);
 extern attr_t _nc_retrace_attr_t(attr_t);
 #define returnCode(code) TRACE_RETURN(code,int)
 #define returnPtr(code)  TRACE_RETURN(code,ptr)
 #define returnVoid       T((T_RETURN(""))); return
 #define returnWin(code)  TRACE_RETURN(code,win)
 extern WINDOW * _nc_retrace_win(WINDOW *);
 extern attr_t _nc_retrace_attr_t(attr_t);
+extern attr_t _nc_retrace_chtype(chtype);
 extern char *_nc_retrace_ptr(char *);
 extern const char *_nc_tputs_trace;
 extern int _nc_retrace_int(int);
 extern char *_nc_retrace_ptr(char *);
 extern const char *_nc_tputs_trace;
 extern int _nc_retrace_int(int);
@@ -546,6 +557,7 @@ extern void _nc_fifo_dump(void);
 #define TR(n, a)
 #define TPUTS_TRACE(s)
 #define returnAttr(code) return code
 #define TR(n, a)
 #define TPUTS_TRACE(s)
 #define returnAttr(code) return code
+#define returnChar(code) return code
 #define returnCode(code) return code
 #define returnPtr(code)  return code
 #define returnVoid       return
 #define returnCode(code) return code
 #define returnPtr(code)  return code
 #define returnVoid       return
@@ -568,7 +580,7 @@ extern const char *_nc_visbuf2(int, const char *);
       (S) = ((S) & ALL_BUT_COLOR) | (at);\
    else\
       (S) |= (at);\
       (S) = ((S) & ALL_BUT_COLOR) | (at);\
    else\
       (S) |= (at);\
-   T(("new attribute is %s", _traceattr((S))));}
+   TR(TRACE_ATTRS, ("new attribute is %s", _traceattr((S))));}
 
 
 #define toggle_attr_off(S,at) {\
 
 
 #define toggle_attr_off(S,at) {\
@@ -583,7 +595,7 @@ extern const char *_nc_visbuf2(int, const char *);
       else /* leave color alone */\
         (S) &= ~(at);\
    }\
       else /* leave color alone */\
         (S) &= ~(at);\
    }\
-   T(("new attribute is %s", _traceattr((S))));}
+   TR(TRACE_ATTRS, ("new attribute is %s", _traceattr((S))));}
 
 #define DelCharCost(count) \
                ((parm_dch != 0) \
 
 #define DelCharCost(count) \
                ((parm_dch != 0) \
@@ -607,7 +619,8 @@ extern const char *_nc_visbuf2(int, const char *);
                                vidattr(AttrOf(c)); \
                                if (magic_cookie_glitch > 0 \
                                 && XMC_CHANGES((chg ^ SP->_current_attr))) { \
                                vidattr(AttrOf(c)); \
                                if (magic_cookie_glitch > 0 \
                                 && XMC_CHANGES((chg ^ SP->_current_attr))) { \
-                                       T(("%s @%d before glitch %d,%d", \
+                                       TR(TRACE_ATTRS, \
+                                               ("%s @%d before glitch %d,%d", \
                                                __FILE__, __LINE__, \
                                                SP->_cursrow, \
                                                SP->_curscol)); \
                                                __FILE__, __LINE__, \
                                                SP->_cursrow, \
                                                SP->_curscol)); \
@@ -619,7 +632,7 @@ extern const char *_nc_visbuf2(int, const char *);
                                vidattr(AttrOf(c))
 #endif
 
                                vidattr(AttrOf(c))
 #endif
 
-#if defined(NCURSES_EXPANDED) && defined(NCURSES_EXT_FUNCS)
+#if NCURSES_EXPANDED && NCURSES_EXT_FUNCS
 
 #undef  toggle_attr_on
 #define toggle_attr_on(S,at) _nc_toggle_attr_on(&(S), at)
 
 #undef  toggle_attr_on
 #define toggle_attr_on(S,at) _nc_toggle_attr_on(&(S), at)
@@ -678,14 +691,40 @@ extern void _nc_screen_init(void);
 extern void _nc_screen_resume(void);
 extern void _nc_screen_wrap(void);
 
 extern void _nc_screen_resume(void);
 extern void _nc_screen_wrap(void);
 
+/* lib_mouse.c */
+extern int _nc_has_mouse(void);
+
+/* lib_mvcur.c */
+#define INFINITY       1000000 /* cost: too high to use */
+
+typedef struct {
+    char *s_head;
+    char *s_tail;
+    size_t s_size;
+} string_desc;
+
+/* strings.c */
+extern string_desc *_nc_str_init(string_desc * dst, char *src, size_t len);
+extern string_desc *_nc_str_null(string_desc * dst, size_t len);
+extern string_desc *_nc_str_copy(string_desc * dst, string_desc * src);
+extern bool _nc_safe_strcat(string_desc * dst, const char *src);
+extern bool _nc_safe_strcpy(string_desc * dst, const char *src);
+
+extern void _nc_mvcur_init(void);
+extern void _nc_mvcur_resume(void);
+extern void _nc_mvcur_wrap(void);
+
+extern int _nc_scrolln(int, int, int, int);
+
+extern void _nc_screen_init(void);
+extern void _nc_screen_resume(void);
+extern void _nc_screen_wrap(void);
+
 #if !HAVE_STRSTR
 #define strstr _nc_strstr
 extern char *_nc_strstr(const char *, const char *);
 #endif
 
 #if !HAVE_STRSTR
 #define strstr _nc_strstr
 extern char *_nc_strstr(const char *, const char *);
 #endif
 
-/* lib_mouse.c */
-extern int _nc_has_mouse(void);
-
 /* safe_sprintf.c */
 extern char * _nc_printf_string(const char *fmt, va_list ap);
 
 /* safe_sprintf.c */
 extern char * _nc_printf_string(const char *fmt, va_list ap);
 
@@ -731,7 +770,7 @@ extern void _nc_trace_tries(struct tries *tree);
 extern void _nc_update_screensize(void);
 #endif
 
 extern void _nc_update_screensize(void);
 #endif
 
-#ifdef USE_WIDEC_SUPPORT
+#if USE_WIDEC_SUPPORT
 extern int _nc_utf8_outch(int);
 #endif
 
 extern int _nc_utf8_outch(int);
 #endif
 
@@ -750,10 +789,6 @@ extern int *_nc_oldnums;
  * On systems with a broken linker, define 'SP' as a function to force the
  * linker to pull in the data-only module with 'SP'.
  */
  * On systems with a broken linker, define 'SP' as a function to force the
  * linker to pull in the data-only module with 'SP'.
  */
-#ifndef BROKEN_LINKER
-#define BROKEN_LINKER 0
-#endif
-
 #if BROKEN_LINKER
 #define SP _nc_screen()
 extern SCREEN *_nc_screen(void);
 #if BROKEN_LINKER
 #define SP _nc_screen()
 extern SCREEN *_nc_screen(void);
index 82f3e06fdcf3bc38d3a51a2b5bd74bdbe0a92c42..280325ace2c55350b50c474138604eef79754b38 100644 (file)
@@ -1728,6 +1728,11 @@ char     *_tracechtype(
                chtype  ch)
                { return(*(char **)0); }
 
                chtype  ch)
                { return(*(char **)0); }
 
+#undef _nc_retrace_chtype
+attr_t _nc_retrace_chtype(
+               attr_t  code)
+               { return(*(attr_t *)0); }
+
 /* ./trace/lib_tracedmp.c */
 
 #undef _tracedump
 /* ./trace/lib_tracedmp.c */
 
 #undef _tracedump
@@ -1949,11 +1954,6 @@ void     _nc_toggle_attr_off(
                attr_t  at)
                { /* void */ }
 
                attr_t  at)
                { /* void */ }
 
-#undef _nc_can_clear_with
-int    _nc_can_clear_with(
-               chtype  ch)
-               { return(*(int *)0); }
-
 #undef _nc_DelCharCost
 int    _nc_DelCharCost(
                int     count)
 #undef _nc_DelCharCost
 int    _nc_DelCharCost(
                int     count)
@@ -2067,12 +2067,21 @@ int     wresize(
 
 /* ./tinfo/access.c */
 
 
 /* ./tinfo/access.c */
 
+#undef _nc_basename
+char   *_nc_basename(
+               char    *path)
+               { return(*(char **)0); }
+
 #undef _nc_access
 int    _nc_access(
                const char *path, 
                int     mode)
                { return(*(int *)0); }
 
 #undef _nc_access
 int    _nc_access(
                const char *path, 
                int     mode)
                { return(*(int *)0); }
 
+#undef _nc_env_access
+int    _nc_env_access(void)
+               { return(*(int *)0); }
+
 /* ./tinfo/add_tries.c */
 
 #undef _nc_add_to_try
 /* ./tinfo/add_tries.c */
 
 #undef _nc_add_to_try
@@ -2391,8 +2400,8 @@ void      _nc_init_acs(void)
 #include <termcap.h>
 
 struct speed {
 #include <termcap.h>
 
 struct speed {
-       speed_t s;
-       int sp;
+    int s;     
+    int sp;    
 };
 
 #undef _nc_baudrate
 };
 
 #undef _nc_baudrate
@@ -2654,6 +2663,14 @@ char     *tgetstr(
                char    **area)
                { return(*(char **)0); }
 
                char    **area)
                { return(*(char **)0); }
 
+/* ./tinfo/lib_termname.c */
+
+#undef termname
+char   *termname(void)
+               { return(*(char **)0); }
+
+/* ./tinfo/lib_tgoto.c */
+
 #undef tgoto
 char   *tgoto(
                const char *string, 
 #undef tgoto
 char   *tgoto(
                const char *string, 
@@ -2661,12 +2678,6 @@ char     *tgoto(
                int     y)
                { return(*(char **)0); }
 
                int     y)
                { return(*(char **)0); }
 
-/* ./tinfo/lib_termname.c */
-
-#undef termname
-char   *termname(void)
-               { return(*(char **)0); }
-
 /* ./tinfo/lib_ti.c */
 
 #undef tigetflag
 /* ./tinfo/lib_ti.c */
 
 #undef tigetflag
@@ -2686,9 +2697,12 @@ char     *tigetstr(
 
 /* ./tinfo/lib_tparm.c */
 
 
 /* ./tinfo/lib_tparm.c */
 
-typedef union {
-       unsigned int    num;
-       char           *str;
+typedef struct {
+    union {
+       unsigned int num;
+       char *str;
+    } data;
+    bool num_type;
 } stack_frame;
 
 #undef tparm
 } stack_frame;
 
 #undef tparm
@@ -2702,7 +2716,7 @@ char      *tparm(
 #undef PC
 char   PC;
 #undef ospeed
 #undef PC
 char   PC;
 #undef ospeed
-speed_t        ospeed;
+short  ospeed;
 #undef _nc_nulls_sent
 int    _nc_nulls_sent;
 
 #undef _nc_nulls_sent
 int    _nc_nulls_sent;
 
@@ -2930,6 +2944,39 @@ void     _nc_set_buffer(
                bool    buffered)
                { /* void */ }
 
                bool    buffered)
                { /* void */ }
 
+/* ./tinfo/strings.c */
+
+#undef _nc_str_init
+string_desc *_nc_str_init(
+               string_desc *dst, 
+               char    *src, 
+               size_t  len)
+               { return(*(string_desc **)0); }
+
+#undef _nc_str_null
+string_desc *_nc_str_null(
+               string_desc *dst, 
+               size_t  len)
+               { return(*(string_desc **)0); }
+
+#undef _nc_str_copy
+string_desc *_nc_str_copy(
+               string_desc *dst, 
+               string_desc *src)
+               { return(*(string_desc **)0); }
+
+#undef _nc_safe_strcat
+bool   _nc_safe_strcat(
+               string_desc *dst, 
+               const char *src)
+               { return(*(bool *)0); }
+
+#undef _nc_safe_strcpy
+bool   _nc_safe_strcpy(
+               string_desc *dst, 
+               const char *src)
+               { return(*(bool *)0); }
+
 /* ./trace/trace_buf.c */
 
 typedef struct {
 /* ./trace/trace_buf.c */
 
 typedef struct {
index 12ed6a5f6abab16cd7839ca8a374b69d82df1184..eb84a07e51f08419d8a84f59b5797cc89cbf8561 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: modules,v 1.72 2000/02/13 01:03:28 tom Exp $
+# $Id: modules,v 1.74 2000/10/03 08:51:18 tom Exp $
 ##############################################################################
 # Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.                #
 #                                                                            #
 ##############################################################################
 # Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.                #
 #                                                                            #
@@ -167,6 +167,7 @@ lib_raw     lib             $(tinfo)        ../include/term.h
 lib_setup      lib             $(tinfo)        ../include/term.h $(INCDIR)/term_entry.h
 lib_termcap    lib             $(tinfo)        ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h $(INCDIR)/capdefaults.c
 lib_termname   lib             $(tinfo)        $(INCDIR)/tic.h
 lib_setup      lib             $(tinfo)        ../include/term.h $(INCDIR)/term_entry.h
 lib_termcap    lib             $(tinfo)        ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h $(INCDIR)/capdefaults.c
 lib_termname   lib             $(tinfo)        $(INCDIR)/tic.h
+lib_tgoto      lib             $(tinfo)        ../include/term.h $(INCDIR)/tic.h
 lib_ti         lib             $(tinfo)        ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h
 lib_tparm      lib             $(tinfo)        ../include/term.h $(INCDIR)/tic.h
 lib_tputs      lib             $(tinfo)        ../include/term.h $(INCDIR)/tic.h
 lib_ti         lib             $(tinfo)        ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h
 lib_tparm      lib             $(tinfo)        ../include/term.h $(INCDIR)/tic.h
 lib_tputs      lib             $(tinfo)        ../include/term.h $(INCDIR)/tic.h
@@ -181,6 +182,7 @@ parse_entry lib             $(tinfo)        ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic
 read_entry     lib             $(tinfo)        ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h
 read_termcap   lib             $(tinfo)        ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h
 setbuf         lib             $(tinfo)
 read_entry     lib             $(tinfo)        ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h
 read_termcap   lib             $(tinfo)        ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h
 setbuf         lib             $(tinfo)
+strings                lib             $(tinfo)
 trace_buf      lib             $(trace)
 trace_tries    lib             $(trace)
 unctrl         lib             .
 trace_buf      lib             $(trace)
 trace_tries    lib             $(trace)
 unctrl         lib             .
index 54e549497c942646c1deba0b2133026c9fa42c37..6fbe9217604556aec637c048d8d66825c20b1100 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998 Free Software Foundation, Inc.                        *
+ * Copyright (c) 1998,2000 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  ****************************************************************************/
 
 /****************************************************************************
  ****************************************************************************/
 
 /****************************************************************************
- *  Author: Thomas E. Dickey <dickey@clark.net> 1998                        *
+ *  Author: Thomas E. Dickey <dickey@clark.net> 1998,2000                   *
  ****************************************************************************/
 
  ****************************************************************************/
 
-
 #include <curses.priv.h>
 #include <curses.priv.h>
+#include <tic.h>
 
 
-MODULE_ID("$Id: access.c,v 1.1 1998/07/25 20:17:09 tom Exp $")
+MODULE_ID("$Id: access.c,v 1.4 2000/10/08 01:25:06 tom Exp $")
 
 
-int _nc_access(const char *path, int mode)
+char *
+_nc_basename(char *path)
 {
 {
-       if (access(path, mode) < 0) {
-               if ((mode & W_OK) != 0
-                && errno == ENOENT) {
-                       char head[PATH_MAX];
-                       char *leaf = strrchr(strcpy(head, path), '/');
-                       if (leaf == 0)
-                               leaf = head;
-                       *leaf = '\0';
-                       if (head == leaf)
-                               (void)strcpy(head, ".");
-                       return access(head, R_OK|W_OK|X_OK);
-               }
-               return -1;
+    char *result = strrchr(path, '/');
+#ifdef __EMX__
+    if (result == 0)
+       result = strrchr(path, '\\');
+#endif
+    if (result == 0)
+       result = path;
+    else
+       result++;
+    return result;
+}
+
+int
+_nc_access(const char *path, int mode)
+{
+    if (access(path, mode) < 0) {
+       if ((mode & W_OK) != 0
+           && errno == ENOENT
+           && strlen(path) < PATH_MAX) {
+           char head[PATH_MAX];
+           char *leaf = _nc_basename(strcpy(head, path));
+
+           if (leaf == 0)
+               leaf = head;
+           *leaf = '\0';
+           if (head == leaf)
+               (void) strcpy(head, ".");
+
+           return access(head, R_OK | W_OK | X_OK);
        }
        }
-       return 0;
+       return -1;
+    }
+    return 0;
+}
+
+#ifndef USE_ROOT_ENVIRON
+/*
+ * Returns true if we allow application to use environment variables that are
+ * used for searching lists of directories, etc.
+ */
+int
+_nc_env_access(void)
+{
+#if HAVE_ISSETUGID
+    if (issetugid())
+       return FALSE;
+#elif HAVE_GETEUID && HAVE_GETEGID
+    if (getuid() != geteuid()
+     || getgid() != getegid())
+       return FALSE;
+#endif
+    return getuid() != 0;      /* ...finally, disallow root */
 }
 }
+#endif
index 660381a32b5f036100398457ba33678a8f4b8ca1..eac7c80f0328e458042394b9056aea957d25622e 100644 (file)
@@ -43,7 +43,7 @@
 #include <tic.h>
 #include <term_entry.h>
 
 #include <tic.h>
 #include <term_entry.h>
 
-MODULE_ID("$Id: alloc_ttype.c,v 1.8 2000/03/25 17:03:11 tom Exp $")
+MODULE_ID("$Id: alloc_ttype.c,v 1.10 2000/08/12 21:56:24 tom Exp $")
 
 #if NCURSES_XNAMES
 /*
 
 #if NCURSES_XNAMES
 /*
@@ -54,7 +54,7 @@ static int
 merge_names(char **dst, char **a, int na, char **b, int nb)
 {
     int n = 0;
 merge_names(char **dst, char **a, int na, char **b, int nb)
 {
     int n = 0;
-    while (na && nb) {
+    while (na > 0 && nb > 0) {
        int cmp = strcmp(*a, *b);
        if (cmp < 0) {
            dst[n++] = *a++;
        int cmp = strcmp(*a, *b);
        if (cmp < 0) {
            dst[n++] = *a++;
@@ -93,7 +93,7 @@ find_name(char **table, int length, char *name)
 
 static void
 realign_data(TERMTYPE * to, char **ext_Names, int ext_Booleans, int
 
 static void
 realign_data(TERMTYPE * to, char **ext_Names, int ext_Booleans, int
-    ext_Numbers, int ext_Strings)
+            ext_Numbers, int ext_Strings)
 {
     int n, m, base;
     int limit = (to->ext_Booleans + to->ext_Numbers + to->ext_Strings);
 {
     int n, m, base;
     int limit = (to->ext_Booleans + to->ext_Numbers + to->ext_Strings);
@@ -102,8 +102,8 @@ realign_data(TERMTYPE * to, char **ext_Names, int ext_Booleans, int
        to->num_Booleans += (ext_Booleans - to->ext_Booleans);
        to->Booleans = typeRealloc(char, to->num_Booleans, to->Booleans);
        for (n = to->ext_Booleans - 1,
        to->num_Booleans += (ext_Booleans - to->ext_Booleans);
        to->Booleans = typeRealloc(char, to->num_Booleans, to->Booleans);
        for (n = to->ext_Booleans - 1,
-           m = ext_Booleans - 1,
-           base = to->num_Booleans - (m + 1); m >= 0; m--) {
+            m = ext_Booleans - 1,
+            base = to->num_Booleans - (m + 1); m >= 0; m--) {
            if (find_name(to->ext_Names, limit, ext_Names[m])) {
                to->Booleans[base + m] = to->Booleans[base + n--];
            } else {
            if (find_name(to->ext_Names, limit, ext_Names[m])) {
                to->Booleans[base + m] = to->Booleans[base + n--];
            } else {
@@ -116,8 +116,8 @@ realign_data(TERMTYPE * to, char **ext_Names, int ext_Booleans, int
        to->num_Numbers += (ext_Numbers - to->ext_Numbers);
        to->Numbers = typeRealloc(short, to->num_Numbers, to->Numbers);
        for (n = to->ext_Numbers - 1,
        to->num_Numbers += (ext_Numbers - to->ext_Numbers);
        to->Numbers = typeRealloc(short, to->num_Numbers, to->Numbers);
        for (n = to->ext_Numbers - 1,
-           m = ext_Numbers - 1,
-           base = to->num_Numbers - (m + 1); m >= 0; m--) {
+            m = ext_Numbers - 1,
+            base = to->num_Numbers - (m + 1); m >= 0; m--) {
            if (find_name(to->ext_Names, limit, ext_Names[m + ext_Booleans])) {
                to->Numbers[base + m] = to->Numbers[base + n--];
            } else {
            if (find_name(to->ext_Names, limit, ext_Names[m + ext_Booleans])) {
                to->Numbers[base + m] = to->Numbers[base + n--];
            } else {
@@ -130,8 +130,8 @@ realign_data(TERMTYPE * to, char **ext_Names, int ext_Booleans, int
        to->num_Strings += (ext_Strings - to->ext_Strings);
        to->Strings = typeRealloc(char *, to->num_Strings, to->Strings);
        for (n = to->ext_Strings - 1,
        to->num_Strings += (ext_Strings - to->ext_Strings);
        to->Strings = typeRealloc(char *, to->num_Strings, to->Strings);
        for (n = to->ext_Strings - 1,
-           m = ext_Strings - 1,
-           base = to->num_Strings - (m + 1); m >= 0; m--) {
+            m = ext_Strings - 1,
+            base = to->num_Strings - (m + 1); m >= 0; m--) {
            if (find_name(to->ext_Names, limit, ext_Names[m + ext_Booleans + ext_Numbers])) {
                to->Strings[base + m] = to->Strings[base + n--];
            } else {
            if (find_name(to->ext_Names, limit, ext_Names[m + ext_Booleans + ext_Numbers])) {
                to->Strings[base + m] = to->Strings[base + n--];
            } else {
@@ -235,7 +235,7 @@ _nc_ext_data_index(TERMTYPE * tp, int n, int token_type)
  * Adjust tables to remove (not free) an extended name and its corresponding
  * data.
  */
  * Adjust tables to remove (not free) an extended name and its corresponding
  * data.
  */
-static void
+static bool
 _nc_del_ext_name(TERMTYPE * tp, char *name, int token_type)
 {
     int j;
 _nc_del_ext_name(TERMTYPE * tp, char *name, int token_type)
 {
     int j;
@@ -270,7 +270,9 @@ _nc_del_ext_name(TERMTYPE * tp, char *name, int token_type)
            tp->num_Strings -= 1;
            break;
        }
            tp->num_Strings -= 1;
            break;
        }
+       return TRUE;
     }
     }
+    return FALSE;
 }
 
 /*
 }
 
 /*
@@ -345,14 +347,22 @@ adjust_cancels(TERMTYPE * to, TERMTYPE * from)
 
        if (to->Strings[j + j_str] == CANCELLED_STRING) {
            if ((k = _nc_find_ext_name(from, to->ext_Names[j], BOOLEAN)) >= 0) {
 
        if (to->Strings[j + j_str] == CANCELLED_STRING) {
            if ((k = _nc_find_ext_name(from, to->ext_Names[j], BOOLEAN)) >= 0) {
-               _nc_del_ext_name(to, name, STRING);
-               k = _nc_ins_ext_name(to, name, BOOLEAN);
-               to->Booleans[k] = FALSE;
+               if (_nc_del_ext_name(to, name, STRING)
+                   || _nc_del_ext_name(to, name, NUMBER)) {
+                   k = _nc_ins_ext_name(to, name, BOOLEAN);
+                   to->Booleans[k] = FALSE;
+               } else {
+                   j++;
+               }
            } else if ((k = _nc_find_ext_name(from, to->ext_Names[j],
            } else if ((k = _nc_find_ext_name(from, to->ext_Names[j],
-               NUMBER)) >= 0) {
-               _nc_del_ext_name(to, name, STRING);
-               k = _nc_ins_ext_name(to, name, NUMBER);
-               to->Numbers[k] = CANCELLED_NUMERIC;
+                                             NUMBER)) >= 0) {
+               if (_nc_del_ext_name(to, name, STRING)
+                   || _nc_del_ext_name(to, name, BOOLEAN)) {
+                   k = _nc_ins_ext_name(to, name, NUMBER);
+                   to->Numbers[k] = CANCELLED_NUMERIC;
+               } else {
+                   j++;
+               }
            }
        } else {
            j++;
            }
        } else {
            j++;
@@ -371,7 +381,7 @@ _nc_align_termtype(TERMTYPE * to, TERMTYPE * from)
     int ext_Booleans, ext_Numbers, ext_Strings;
 
     DEBUG(2, ("align_termtype to(%d:%s), from(%d:%s)", na, to->term_names,
     int ext_Booleans, ext_Numbers, ext_Strings;
 
     DEBUG(2, ("align_termtype to(%d:%s), from(%d:%s)", na, to->term_names,
-           nb, from->term_names));
+             nb, from->term_names));
 
     if (na != 0 || nb != 0) {
        if ((na == nb)          /* check if the arrays are equivalent */
 
     if (na != 0 || nb != 0) {
        if ((na == nb)          /* check if the arrays are equivalent */
@@ -402,26 +412,26 @@ _nc_align_termtype(TERMTYPE * to, TERMTYPE * from)
            adjust_cancels(from, to);
 
        ext_Booleans = merge_names(ext_Names,
            adjust_cancels(from, to);
 
        ext_Booleans = merge_names(ext_Names,
-           to->ext_Names,
-           to->ext_Booleans,
-           from->ext_Names,
-           from->ext_Booleans);
+                                  to->ext_Names,
+                                  to->ext_Booleans,
+                                  from->ext_Names,
+                                  from->ext_Booleans);
        ext_Numbers = merge_names(ext_Names + ext_Booleans,
        ext_Numbers = merge_names(ext_Names + ext_Booleans,
-           to->ext_Names
-           + to->ext_Booleans,
-           to->ext_Numbers,
-           from->ext_Names
-           + from->ext_Booleans,
-           from->ext_Numbers);
+                                 to->ext_Names
+                                 + to->ext_Booleans,
+                                 to->ext_Numbers,
+                                 from->ext_Names
+                                 + from->ext_Booleans,
+                                 from->ext_Numbers);
        ext_Strings = merge_names(ext_Names + ext_Numbers + ext_Booleans,
        ext_Strings = merge_names(ext_Names + ext_Numbers + ext_Booleans,
-           to->ext_Names
-           + to->ext_Booleans
-           + to->ext_Numbers,
-           to->ext_Strings,
-           from->ext_Names
-           + from->ext_Booleans
-           + from->ext_Numbers,
-           from->ext_Strings);
+                                 to->ext_Names
+                                 + to->ext_Booleans
+                                 + to->ext_Numbers,
+                                 to->ext_Strings,
+                                 from->ext_Names
+                                 + from->ext_Booleans
+                                 + from->ext_Numbers,
+                                 from->ext_Strings);
        /*
         * Now we must reallocate the Booleans, etc., to allow the data to be
         * overlaid.
        /*
         * Now we must reallocate the Booleans, etc., to allow the data to be
         * overlaid.
@@ -431,7 +441,7 @@ _nc_align_termtype(TERMTYPE * to, TERMTYPE * from)
            FreeIfNeeded(to->ext_Names);
            to->ext_Names = ext_Names;
            DEBUG(2, ("realigned %d extended names for '%s' (to)",
            FreeIfNeeded(to->ext_Names);
            to->ext_Names = ext_Names;
            DEBUG(2, ("realigned %d extended names for '%s' (to)",
-                   NUM_EXT_NAMES(to), to->term_names));
+                     NUM_EXT_NAMES(to), to->term_names));
        }
        if (nb != (ext_Booleans + ext_Numbers + ext_Strings)) {
            nb = (ext_Booleans + ext_Numbers + ext_Strings);
        }
        if (nb != (ext_Booleans + ext_Numbers + ext_Strings)) {
            nb = (ext_Booleans + ext_Numbers + ext_Strings);
@@ -439,7 +449,7 @@ _nc_align_termtype(TERMTYPE * to, TERMTYPE * from)
            from->ext_Names = typeRealloc(char *, nb, from->ext_Names);
            memcpy(from->ext_Names, ext_Names, sizeof(char *) * nb);
            DEBUG(2, ("realigned %d extended names for '%s' (from)",
            from->ext_Names = typeRealloc(char *, nb, from->ext_Names);
            memcpy(from->ext_Names, ext_Names, sizeof(char *) * nb);
            DEBUG(2, ("realigned %d extended names for '%s' (from)",
-                   NUM_EXT_NAMES(from), from->term_names));
+                     NUM_EXT_NAMES(from), from->term_names));
        }
     }
 }
        }
     }
 }
index ca58bb5746e76ebed0c670789a84f097c50d175c..ecb2f5834d834d77b9d44217af736a08c2253eed 100644 (file)
@@ -52,7 +52,7 @@
 #include <tic.h>
 #include <term_entry.h>
 
 #include <tic.h>
 #include <term_entry.h>
 
-MODULE_ID("$Id: comp_parse.c,v 1.40 2000/04/15 16:57:08 tom Exp $")
+MODULE_ID("$Id: comp_parse.c,v 1.42 2000/10/14 17:50:45 Bernhard.Rosenkraenzer Exp $")
 
 static void sanity_check(TERMTYPE *);
 void (*_nc_check_termtype) (TERMTYPE *) = sanity_check;
 
 static void sanity_check(TERMTYPE *);
 void (*_nc_check_termtype) (TERMTYPE *) = sanity_check;
@@ -122,26 +122,29 @@ _nc_free_entries(ENTRY * headp)
     }
 }
 
     }
 }
 
+static char *
+force_bar(char *dst, char *src)
+{
+    if (strchr(src, '|') == 0) {
+       size_t len = strlen(src);
+       if (len > MAX_NAME_SIZE)
+           len = MAX_NAME_SIZE;
+       (void) strncpy(dst, src, len);
+       (void) strcpy(dst + len, "|");
+       src = dst;
+    }
+    return src;
+}
+
 bool
 _nc_entry_match(char *n1, char *n2)
 /* do any of the aliases in a pair of terminal names match? */
 {
     char *pstart, *qstart, *pend, *qend;
 bool
 _nc_entry_match(char *n1, char *n2)
 /* do any of the aliases in a pair of terminal names match? */
 {
     char *pstart, *qstart, *pend, *qend;
-    char nc1[MAX_NAME_SIZE + 1], nc2[MAX_NAME_SIZE + 1];
+    char nc1[MAX_NAME_SIZE + 2], nc2[MAX_NAME_SIZE + 2];
 
 
-    if (strchr(n1, '|') == 0) {
-       (void) strncpy(nc1, n1, sizeof(nc1) - 2);
-       nc1[sizeof(nc1) - 2] = '\0';
-       (void) strcat(nc1, "|");
-       n1 = nc1;
-    }
-
-    if (strchr(n2, '|') == 0) {
-       (void) strncpy(nc2, n2, sizeof(nc2) - 2);
-       nc2[sizeof(nc2) - 2] = '\0';
-       (void) strcat(nc2, "|");
-       n2 = nc2;
-    }
+    n1 = force_bar(nc1, n1);
+    n2 = force_bar(nc2, n2);
 
     for (pstart = n1; (pend = strchr(pstart, '|')); pstart = pend + 1)
        for (qstart = n2; (qend = strchr(qstart, '|')); qstart = qend + 1)
 
     for (pstart = n1; (pend = strchr(pstart, '|')); pstart = pend + 1)
        for (qstart = n2; (qend = strchr(qstart, '|')); qstart = qend + 1)
index 56ba1d1a5a59e3b4b3dcb5ae54f5927e71e0d215..e1118f6f9ea927188f41e6c1c468c4723b9c89eb 100644 (file)
@@ -50,7 +50,7 @@
 #include <term_entry.h>
 #include <tic.h>
 
 #include <term_entry.h>
 #include <tic.h>
 
-MODULE_ID("$Id: comp_scan.c,v 1.45 2000/07/08 00:43:55 tom Exp $")
+MODULE_ID("$Id: comp_scan.c,v 1.47 2000/09/24 01:15:17 tom Exp $")
 
 /*
  * Maximum length of string capability we'll accept before raising an error.
 
 /*
  * Maximum length of string capability we'll accept before raising an error.
@@ -80,8 +80,8 @@ static char separator;                /* capability separator */
 static int pushtype;           /* type of pushback token */
 static char pushname[MAX_NAME_SIZE + 1];
 
 static int pushtype;           /* type of pushback token */
 static char pushname[MAX_NAME_SIZE + 1];
 
-#ifdef NCURSES_EXT_FUNCS
-bool _nc_disable_period = FALSE; /* used by tic -a option */
+#if NCURSES_EXT_FUNCS
+bool _nc_disable_period = FALSE;       /* used by tic -a option */
 #endif
 
 static int last_char(void);
 #endif
 
 static int last_char(void);
@@ -153,7 +153,7 @@ _nc_get_token(void)
 
        _nc_set_type(pushname);
        DEBUG(3, ("pushed-back token: `%s', class %d",
 
        _nc_set_type(pushname);
        DEBUG(3, ("pushed-back token: `%s', class %d",
-               _nc_curr_token.tk_name, pushtype));
+                 _nc_curr_token.tk_name, pushtype));
 
        pushtype = NO_PUSHBACK;
        pushname[0] = '\0';
 
        pushtype = NO_PUSHBACK;
        pushname[0] = '\0';
@@ -180,10 +180,10 @@ _nc_get_token(void)
            ch = next_char();
 
        if (ch == '.'
            ch = next_char();
 
        if (ch == '.'
-#ifdef NCURSES_EXT_FUNCS
-        && !_nc_disable_period
+#if NCURSES_EXT_FUNCS
+           && !_nc_disable_period
 #endif
 #endif
-       ) {
+           ) {
            dot_flag = TRUE;
            DEBUG(8, ("dot-flag set"));
 
            dot_flag = TRUE;
            DEBUG(8, ("dot-flag set"));
 
@@ -198,12 +198,12 @@ _nc_get_token(void)
 
        /* have to make some punctuation chars legal for terminfo */
        if (!isalnum(ch)
 
        /* have to make some punctuation chars legal for terminfo */
        if (!isalnum(ch)
-#ifdef NCURSES_EXT_FUNCS
-        && !(ch == '.' && _nc_disable_period)
+#if NCURSES_EXT_FUNCS
+           && !(ch == '.' && _nc_disable_period)
 #endif
 #endif
-        && !strchr(terminfo_punct, (char) ch)) {
+           && !strchr(terminfo_punct, (char) ch)) {
            _nc_warning("Illegal character (expected alphanumeric or %s) - %s",
            _nc_warning("Illegal character (expected alphanumeric or %s) - %s",
-               terminfo_punct, unctrl(ch));
+                       terminfo_punct, unctrl(ch));
            _nc_panic_mode(separator);
            goto start_token;
        }
            _nc_panic_mode(separator);
            goto start_token;
        }
@@ -338,7 +338,7 @@ _nc_get_token(void)
            case '@':
                if ((ch = next_char()) != separator)
                    _nc_warning("Missing separator after `%s', have %s",
            case '@':
                if ((ch = next_char()) != separator)
                    _nc_warning("Missing separator after `%s', have %s",
-                       buffer, unctrl(ch));
+                               buffer, unctrl(ch));
                _nc_curr_token.tk_name = buffer;
                type = CANCEL;
                break;
                _nc_curr_token.tk_name = buffer;
                type = CANCEL;
                break;
@@ -391,30 +391,30 @@ _nc_get_token(void)
        switch (type) {
        case BOOLEAN:
            _tracef("Token: Boolean; name='%s'",
        switch (type) {
        case BOOLEAN:
            _tracef("Token: Boolean; name='%s'",
-               _nc_curr_token.tk_name);
+                   _nc_curr_token.tk_name);
            break;
 
        case NUMBER:
            _tracef("Token: Number;  name='%s', value=%d",
            break;
 
        case NUMBER:
            _tracef("Token: Number;  name='%s', value=%d",
-               _nc_curr_token.tk_name,
-               _nc_curr_token.tk_valnumber);
+                   _nc_curr_token.tk_name,
+                   _nc_curr_token.tk_valnumber);
            break;
 
        case STRING:
            _tracef("Token: String;  name='%s', value=%s",
            break;
 
        case STRING:
            _tracef("Token: String;  name='%s', value=%s",
-               _nc_curr_token.tk_name,
-               _nc_visbuf(_nc_curr_token.tk_valstring));
+                   _nc_curr_token.tk_name,
+                   _nc_visbuf(_nc_curr_token.tk_valstring));
            break;
 
        case CANCEL:
            _tracef("Token: Cancel; name='%s'",
            break;
 
        case CANCEL:
            _tracef("Token: Cancel; name='%s'",
-               _nc_curr_token.tk_name);
+                   _nc_curr_token.tk_name);
            break;
 
        case NAMES:
 
            _tracef("Token: Names; value='%s'",
            break;
 
        case NAMES:
 
            _tracef("Token: Names; value='%s'",
-               _nc_curr_token.tk_name);
+                   _nc_curr_token.tk_name);
            break;
 
        case EOF:
            break;
 
        case EOF:
@@ -571,7 +571,7 @@ _nc_trans_string(char *ptr, char *last)
 
                default:
                    _nc_warning("Illegal character %s in \\ sequence",
 
                default:
                    _nc_warning("Illegal character %s in \\ sequence",
-                       unctrl(ch));
+                               unctrl(ch));
                    *(ptr++) = (char) ch;
                }               /* endswitch (ch) */
            }                   /* endelse (ch < '0' ||  ch > '7') */
                    *(ptr++) = (char) ch;
                }               /* endswitch (ch) */
            }                   /* endelse (ch < '0' ||  ch > '7') */
@@ -621,7 +621,7 @@ _nc_push_token(int tokclass)
     _nc_get_type(pushname);
 
     DEBUG(3, ("pushing token: `%s', class %d",
     _nc_get_type(pushname);
 
     DEBUG(3, ("pushing token: `%s', class %d",
-           _nc_curr_token.tk_name, pushtype));
+             _nc_curr_token.tk_name, pushtype));
 }
 
 /*
 }
 
 /*
@@ -736,7 +736,7 @@ next_char(void)
        } while
            (bufstart != NULL && line[0] == '#');
 
        } while
            (bufstart != NULL && line[0] == '#');
 
-       if (bufstart == NULL)
+       if (bufstart == NULL || *bufstart == 0)
            return (EOF);
 
        while (iswhite(*bufptr))
            return (EOF);
 
        while (iswhite(*bufptr))
@@ -749,10 +749,19 @@ next_char(void)
        if ((len = strlen(bufptr)) > 1) {
            if (bufptr[len - 1] == '\n'
                && bufptr[len - 2] == '\r') {
        if ((len = strlen(bufptr)) > 1) {
            if (bufptr[len - 1] == '\n'
                && bufptr[len - 2] == '\r') {
-               bufptr[len - 2] = '\n';
-               bufptr[len - 1] = '\0';
+               len--;
+               bufptr[len - 1] = '\n';
+               bufptr[len] = '\0';
            }
        }
            }
        }
+
+       /*
+        * If we don't have a trailing newline, it's because the line is simply
+        * too long.  Give up.  (FIXME:  We could instead reallocate the line
+        * buffer and allow arbitrary-length lines).
+        */
+       if (len == 0 || (bufptr[len - 1] != '\n'))
+           return (EOF);
     }
 
     first_column = (bufptr == bufstart);
     }
 
     first_column = (bufptr == bufstart);
@@ -782,7 +791,7 @@ end_of_stream(void)
 /* are we at end of input? */
 {
     return ((yyin ? feof(yyin) : (bufptr && *bufptr == '\0'))
 /* are we at end of input? */
 {
     return ((yyin ? feof(yyin) : (bufptr && *bufptr == '\0'))
-       ? TRUE : FALSE);
+           ? TRUE : FALSE);
 }
 
 /* comp_scan.c ends here */
 }
 
 /* comp_scan.c ends here */
index 7aa4ca112e5ad51a56ace2c7caed0f740edd5f1d..69b8a96ffcff745a0ce855cf1a54b7869b63312d 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998 Free Software Foundation, Inc.                        *
+ * Copyright (c) 1998,2000 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -27,7 +27,7 @@
  ****************************************************************************/
 
 /****************************************************************************
  ****************************************************************************/
 
 /****************************************************************************
- *  Author: Thomas E. Dickey <dickey@clark.net> 1998                        *
+ *  Author: Thomas E. Dickey <dickey@clark.net> 1998,2000                   *
  ****************************************************************************/
 
 /*
  ****************************************************************************/
 
 /*
@@ -37,7 +37,7 @@
 #include <curses.priv.h>
 #include <tic.h>
 
 #include <curses.priv.h>
 #include <tic.h>
 
-MODULE_ID("$Id: home_terminfo.c,v 1.2 1999/02/27 19:58:46 tom Exp $")
+MODULE_ID("$Id: home_terminfo.c,v 1.3 2000/10/04 02:31:53 tom Exp $");
 
 #define my_length (strlen(home) + sizeof(PRIVATE_INFO))
 
 
 #define my_length (strlen(home) + sizeof(PRIVATE_INFO))
 
@@ -46,17 +46,20 @@ MODULE_ID("$Id: home_terminfo.c,v 1.2 1999/02/27 19:58:46 tom Exp $")
 char *
 _nc_home_terminfo(void)
 {
 char *
 _nc_home_terminfo(void)
 {
-       char *home;
-       static char *temp = 0;
+    char *home;
+    static char *temp = 0;
 
 
+    if (use_terminfo_vars()) {
        if (temp == 0) {
        if (temp == 0) {
-               if ((home = getenv("HOME")) != 0
-                && my_length <= PATH_MAX) {
-                       temp = typeMalloc(char, my_length);
-                       if (temp == 0)
-                               _nc_err_abort("Out of memory");
-                       (void) sprintf(temp, PRIVATE_INFO, home);
-               }
+           if ((home = getenv("HOME")) != 0
+               && my_length <= PATH_MAX) {
+               temp = typeMalloc(char, my_length);
+               if (temp == 0)
+                   _nc_err_abort("Out of memory");
+               (void) sprintf(temp, PRIVATE_INFO, home);
+           }
        }
        return temp;
        }
        return temp;
+    }
+    return 0;
 }
 }
index 4077ba384076bf11775bb95c727ebeca6239c524..0d7fa27bcc3da457cec3b7097d8ddb65275ca9c0 100644 (file)
  *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
  ****************************************************************************/
 
  *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
  ****************************************************************************/
 
-
 /*
  *     lib_baudrate.c
  *
  */
 
 #include <curses.priv.h>
 /*
  *     lib_baudrate.c
  *
  */
 
 #include <curses.priv.h>
-#include <term.h>      /* cur_term, pad_char */
-#include <termcap.h>   /* ospeed */
+#include <term.h>              /* cur_term, pad_char */
+#include <termcap.h>           /* ospeed */
 
 
-MODULE_ID("$Id: lib_baudrate.c,v 1.15 1999/01/31 03:05:25 tom Exp $")
+MODULE_ID("$Id: lib_baudrate.c,v 1.17 2000/10/08 00:59:08 tom Exp $")
 
 /*
  *     int
 
 /*
  *     int
@@ -52,117 +51,118 @@ MODULE_ID("$Id: lib_baudrate.c,v 1.15 1999/01/31 03:05:25 tom Exp $")
  */
 
 struct speed {
  */
 
 struct speed {
-       speed_t s;
-       int sp;
+    int s;     /* value for 'ospeed' is an index */
+    int sp;    /* the actual speed */
 };
 
 };
 
-static struct speed const speeds[] = {
-       {B0, 0},
-       {B50, 50},
-       {B75, 75},
-       {B110, 110},
-       {B134, 134},
-       {B150, 150},
-       {B200, 200},
-       {B300, 300},
-       {B600, 600},
-       {B1200, 1200},
-       {B1800, 1800},
-       {B2400, 2400},
-       {B4800, 4800},
-       {B9600, 9600},
+static struct speed const speeds[] =
+{
+    {B0, 0},
+    {B50, 50},
+    {B75, 75},
+    {B110, 110},
+    {B134, 134},
+    {B150, 150},
+    {B200, 200},
+    {B300, 300},
+    {B600, 600},
+    {B1200, 1200},
+    {B1800, 1800},
+    {B2400, 2400},
+    {B4800, 4800},
+    {B9600, 9600},
 #ifdef B19200
 #ifdef B19200
-       {B19200, 19200},
+    {B19200, 19200},
 #else
 #ifdef EXTA
 #else
 #ifdef EXTA
-       {EXTA, 19200},
+    {EXTA, 19200},
 #endif
 #endif
 #ifdef B38400
 #endif
 #endif
 #ifdef B38400
-       {B38400, 38400},
+    {B38400, 38400},
 #else
 #ifdef EXTB
 #else
 #ifdef EXTB
-       {EXTB, 38400},
+    {EXTB, 38400},
 #endif
 #endif
 #ifdef B57600
 #endif
 #endif
 #ifdef B57600
-       {B57600, 57600},
+    {B57600, 57600},
 #endif
 #ifdef B115200
 #endif
 #ifdef B115200
-       {B115200, 115200},
+    {B115200, 115200},
 #endif
 #ifdef B230400
 #endif
 #ifdef B230400
-       {B230400, 230400},
+    {B230400, 230400},
 #endif
 #ifdef B460800
 #endif
 #ifdef B460800
-       {B460800, 460800},
+    {B460800, 460800},
 #endif
 };
 
 #endif
 };
 
-int _nc_baudrate(int OSpeed)
+int
+_nc_baudrate(int OSpeed)
 {
 {
-       static int last_OSpeed;
-       static int last_baudrate;
-
-       int result;
-       unsigned i;
-
-       if (OSpeed == last_OSpeed) {
-               result = last_baudrate;
-       } else {
-               result = ERR;
-               if (OSpeed >= 0) {
-                       for (i = 0; i < SIZEOF(speeds); i++) {
-                               if (speeds[i].s == (speed_t)OSpeed) {
-                                       result = speeds[i].sp;
-                                       break;
-                               }
-                       }
+    static int last_OSpeed;
+    static int last_baudrate;
+
+    int result;
+    unsigned i;
+
+    if (OSpeed == last_OSpeed) {
+       result = last_baudrate;
+    } else {
+       result = ERR;
+       if (OSpeed >= 0) {
+           for (i = 0; i < SIZEOF(speeds); i++) {
+               if (speeds[i].s == OSpeed) {
+                   result = speeds[i].sp;
+                   break;
                }
                }
-               last_baudrate = result;
+           }
        }
        }
-       return (result);
+       last_baudrate = result;
+    }
+    return (result);
 }
 
 }
 
-
-int _nc_ospeed(int BaudRate)
+int
+_nc_ospeed(int BaudRate)
 {
 {
-       speed_t result = 1;
-       unsigned i;
-
-       if (BaudRate >= 0) {
-               for (i = 0; i < SIZEOF(speeds); i++) {
-                       if (speeds[i].sp == BaudRate) {
-                               result = speeds[i].s;
-                               break;
-                       }
-               }
+    int result = 1;
+    unsigned i;
+
+    if (BaudRate >= 0) {
+       for (i = 0; i < SIZEOF(speeds); i++) {
+           if (speeds[i].sp == BaudRate) {
+               result = speeds[i].s;
+               break;
+           }
        }
        }
-       return (result);
+    }
+    return (result);
 }
 
 int
 baudrate(void)
 {
 }
 
 int
 baudrate(void)
 {
-int result;
+    int result;
 
 
-       T((T_CALLED("baudrate()")));
+    T((T_CALLED("baudrate()")));
 
 
-       /*
-        * In debugging, allow the environment symbol to override when we're
-        * redirecting to a file, so we can construct repeatable test-cases
-        * that take into account costs that depend on baudrate.
-        */
+    /*
+     * In debugging, allow the environment symbol to override when we're
+     * redirecting to a file, so we can construct repeatable test-cases
+     * that take into account costs that depend on baudrate.
+     */
 #ifdef TRACE
 #ifdef TRACE
-       if (SP && !isatty(fileno(SP->_ofp))
-        && getenv("BAUDRATE") != 0) {
-               int ret;
-               if ((ret = _nc_getenv_num("BAUDRATE")) <= 0)
-                       ret = 9600;
-               ospeed = _nc_ospeed(ret);
-               returnCode(ret);
-       }
-       else
+    if (SP && !isatty(fileno(SP->_ofp))
+       && getenv("BAUDRATE") != 0) {
+       int ret;
+       if ((ret = _nc_getenv_num("BAUDRATE")) <= 0)
+           ret = 9600;
+       ospeed = _nc_ospeed(ret);
+       returnCode(ret);
+    } else
 #endif
 
 #ifdef TERMIOS
 #endif
 
 #ifdef TERMIOS
@@ -170,9 +170,9 @@ int result;
 #else
        ospeed = cur_term->Nttyb.sg_ospeed;
 #endif
 #else
        ospeed = cur_term->Nttyb.sg_ospeed;
 #endif
-       result = _nc_baudrate(ospeed);
-       if (cur_term != 0)
-               cur_term->_baudrate = result;
+    result = _nc_baudrate(ospeed);
+    if (cur_term != 0)
+       cur_term->_baudrate = result;
 
 
-       returnCode(result);
+    returnCode(result);
 }
 }
index b58602af72bbec024892408cc4fa5874406222d7..fc3dc42bca41710d38f39676f7a670df23ca3eec 100644 (file)
@@ -42,7 +42,7 @@
 
 #include <term.h>
 
 
 #include <term.h>
 
-MODULE_ID("$Id: lib_options.c,v 1.39 2000/03/12 00:19:11 tom Exp $")
+MODULE_ID("$Id: lib_options.c,v 1.40 2000/09/02 18:02:05 tom Exp $")
 
 int
 idlok(WINDOW *win, bool flag)
 
 int
 idlok(WINDOW *win, bool flag)
@@ -206,7 +206,7 @@ typeahead(int fd)
 **
 */
 
 **
 */
 
-#ifdef NCURSES_EXT_FUNCS
+#if NCURSES_EXT_FUNCS
 static int
 has_key_internal(int keycode, struct tries *tp)
 {
 static int
 has_key_internal(int keycode, struct tries *tp)
 {
index 6033ed9c10c3a7bb4bea477c9e85958e96488c67..6df95714a9b17923872ec8a6e2e6cbec4ecbb965 100644 (file)
@@ -48,9 +48,9 @@
 #include <curses.priv.h>
 #include <term.h>              /* cur_term */
 
 #include <curses.priv.h>
 #include <term.h>              /* cur_term */
 
-MODULE_ID("$Id: lib_raw.c,v 1.7 2000/02/13 01:01:26 tom Exp $")
+MODULE_ID("$Id: lib_raw.c,v 1.8 2000/09/02 18:08:48 tom Exp $")
 
 
-#if defined(SVR4_TERMIO) && !defined(_POSIX_SOURCE)
+#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
 #define _POSIX_SOURCE
 #endif
 
 #define _POSIX_SOURCE
 #endif
 
index 50c330eb5739a1e030d98feff067d0760e76dd65..1fd0d48f3cc8a41d49ebbd954951c540890477b9 100644 (file)
 #include <tic.h>               /* for MAX_NAME_SIZE */
 #include <term_entry.h>
 
 #include <tic.h>               /* for MAX_NAME_SIZE */
 #include <term_entry.h>
 
-#if defined(SVR4_TERMIO) && !defined(_POSIX_SOURCE)
+#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
 #define _POSIX_SOURCE
 #endif
 
 #include <term.h>              /* lines, columns, cur_term */
 
 #define _POSIX_SOURCE
 #endif
 
 #include <term.h>              /* lines, columns, cur_term */
 
-MODULE_ID("$Id: lib_setup.c,v 1.59 2000/02/13 01:01:26 tom Exp $")
+MODULE_ID("$Id: lib_setup.c,v 1.60 2000/09/02 18:13:12 tom Exp $")
 
 /****************************************************************************
  *
 
 /****************************************************************************
  *
@@ -245,7 +245,7 @@ grab_entry(const char *const tn, TERMTYPE * const tp)
 
     if ((status = _nc_read_entry(tn, filename, tp)) != 1) {
 
 
     if ((status = _nc_read_entry(tn, filename, tp)) != 1) {
 
-#ifndef PURE_TERMINFO
+#if !PURE_TERMINFO
        /*
         * Try falling back on the termcap file.
         * Note:  allowing this call links the entire terminfo/termcap
        /*
         * Try falling back on the termcap file.
         * Note:  allowing this call links the entire terminfo/termcap
index c47400132fa8c5aa644e643b73017efb616e55dc..ecec2865fbae7359fd07015dddeddd3ebe143396 100644 (file)
@@ -39,7 +39,7 @@
 #define __INTERNAL_CAPS_VISIBLE
 #include <term_entry.h>
 
 #define __INTERNAL_CAPS_VISIBLE
 #include <term_entry.h>
 
-MODULE_ID("$Id: lib_termcap.c,v 1.36 2000/02/13 01:01:26 tom Exp $")
+MODULE_ID("$Id: lib_termcap.c,v 1.37 2000/09/16 20:30:16 tom Exp $")
 
 /*
    some of the code in here was contributed by:
 
 /*
    some of the code in here was contributed by:
@@ -190,19 +190,3 @@ tgetstr(NCURSES_CONST char *id, char **area)
     }
     returnPtr(NULL);
 }
     }
     returnPtr(NULL);
 }
-
-/*
- *     char *
- *     tgoto(string, x, y)
- *
- *     Retained solely for upward compatibility.  Note the intentional
- *     reversing of the last two arguments.
- *
- */
-
-char *
-tgoto(const char *string, int x, int y)
-{
-    T((T_CALLED("tgoto(%s,%d,%d)"), string, x, y));
-    returnPtr(tparm((NCURSES_CONST char *) string, y, x));
-}
diff --git a/ncurses/tinfo/lib_tgoto.c b/ncurses/tinfo/lib_tgoto.c
new file mode 100644 (file)
index 0000000..73557eb
--- /dev/null
@@ -0,0 +1,197 @@
+/****************************************************************************
+ * Copyright (c) 2000 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            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *  Author: Thomas E. Dickey                                                *
+ ****************************************************************************/
+
+#include <curses.priv.h>
+
+#include <ctype.h>
+#include <termcap.h>
+
+MODULE_ID("$Id: lib_tgoto.c,v 1.2 2000/09/24 00:19:14 tom Exp $")
+
+#if !PURE_TERMINFO
+static bool
+is_termcap(const char *string)
+{
+    bool result = TRUE;
+
+    while ((*string != '\0') && result) {
+       if (*string == '%') {
+           switch (*++string) {
+           case 'p':
+               result = FALSE;
+               break;
+           case '\0':
+               string--;
+               break;
+           }
+       } else if (string[0] == '$' && string[1] == '<') {
+           result = FALSE;
+       }
+       string++;
+    }
+    return result;
+}
+
+static char *
+tgoto_internal(const char *string, int x, int y)
+{
+    static char *result;
+    static size_t length;
+
+    int swap_arg;
+    int param[3];
+    size_t used = 0;
+    size_t need = 10;
+    int *value = param;
+    bool need_BC = FALSE;
+
+    if (BC)
+       need += strlen(BC);
+
+    param[0] = y;
+    param[1] = x;
+    param[2] = 0;
+
+    while (*string != 0) {
+       if ((used + need) > length) {
+           length += (used + need);
+           if ((result = _nc_doalloc(result, length)) == 0) {
+               length = 0;
+               break;
+           }
+       }
+       if (*string == '%') {
+           char *fmt = 0;
+
+           switch (*++string) {
+           case '\0':
+               string--;
+               break;
+           case 'd':
+               fmt = "%d";
+               break;
+           case '2':
+               fmt = "%02d";
+               *value %= 100;
+               break;
+           case '3':
+               fmt = "%03d";
+               *value %= 1000;
+               break;
+           case '+':
+               *value += (*++string & 0xff);
+               /* FALLTHRU */
+           case '.':
+               /*
+                * Guard against tputs() seeing a truncated string.  The
+                * termcap documentation refers to a similar fixup for \n
+                * and \r, but I don't see that it could work -TD
+                */
+               if (*value == 0) {
+                   if (BC != 0) {
+                       *value += 1;
+                       need_BC = TRUE;
+                   } else {
+                       *value = 0200;  /* tputs will treat this as \0 */
+                   }
+               }
+               result[used++] = *value++;
+               break;
+           case '%':
+               result[used++] = *string;
+               break;
+           case 'r':
+               swap_arg = param[0];
+               param[0] = param[1];
+               param[1] = swap_arg;
+               break;
+           case 'i':
+               param[0] += 1;
+               param[1] += 1;
+               break;
+           case '>':
+               if (*value > string[1])
+                   *value += string[2];
+               string += 2;
+               break;
+           case 'n':           /* Datamedia 2500 */
+               param[0] ^= 0140;
+               param[1] ^= 0140;
+               break;
+           case 'B':           /* BCD */
+               *value = 16 * (*value / 10) + (*value % 10);
+               break;
+           case 'D':           /* Reverse coding (Delta Data) */
+               *value -= 2 * (*value / 16);
+               break;
+           }
+           if (fmt != 0) {
+               sprintf(result + used, fmt, *value++);
+               used += strlen(result + used);
+               fmt = 0;
+           }
+           if (value - param > 2) {
+               value = param + 2;
+               *value = 0;
+           }
+       } else {
+           result[used++] = *string;
+       }
+       string++;
+    }
+    if (need_BC) {
+       strcpy(result + used, BC);
+       used += strlen(BC);
+    }
+    result[used] = '\0';
+    return result;
+}
+#endif
+
+/*
+ * Retained solely for upward compatibility.  Note the intentional reversing of
+ * the last two arguments when invoking tparm().
+ */
+char *
+tgoto(const char *string, int x, int y)
+{
+    char *result;
+
+    T((T_CALLED("tgoto(%s, %d, %d)"), _nc_visbuf(string), x, y));
+#if !PURE_TERMINFO
+    if (is_termcap(string))
+       result = tgoto_internal(string, x, y);
+    else
+#endif
+       result = tparm((NCURSES_CONST char *) string, y, x);
+    returnPtr(result);
+}
index 71b82916a356e405a4bab93694fc6de3e5824543..52352c9a3d30dd5222019eb6bc55e698f90610e5 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998 Free Software Foundation, Inc.                        *
+ * Copyright (c) 1998,2000 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -31,7 +31,6 @@
  *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
  ****************************************************************************/
 
  *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
  ****************************************************************************/
 
-
 /*
  *     tparm.c
  *
 /*
  *     tparm.c
  *
@@ -43,7 +42,7 @@
 #include <term.h>
 #include <tic.h>
 
 #include <term.h>
 #include <tic.h>
 
-MODULE_ID("$Id: lib_tparm.c,v 1.39 1999/06/06 00:04:55 tom Exp $")
+MODULE_ID("$Id: lib_tparm.c,v 1.48 2000/10/14 17:45:00 Sergei.Ivanov Exp $")
 
 /*
  *     char *
 
 /*
  *     char *
@@ -74,6 +73,8 @@ MODULE_ID("$Id: lib_tparm.c,v 1.39 1999/06/06 00:04:55 tom Exp $")
  *          %s        print pop() like %s in printf()
  *           %[[:]flags][width[.precision]][doxXs]
  *                     as in printf, flags are [-+#] and space
  *          %s        print pop() like %s in printf()
  *           %[[:]flags][width[.precision]][doxXs]
  *                     as in printf, flags are [-+#] and space
+ *                     The ':' is used to avoid making %+ or %-
+ *                     patterns (see below).
  *
  *          %p[1-9]   push ith parm
  *          %P[a-z]   set dynamic variable [a-z] to pop()
  *
  *          %p[1-9]   push ith parm
  *          %P[a-z]   set dynamic variable [a-z] to pop()
@@ -105,481 +106,635 @@ MODULE_ID("$Id: lib_tparm.c,v 1.39 1999/06/06 00:04:55 tom Exp $")
 
 #define STACKSIZE      20
 
 
 #define STACKSIZE      20
 
-typedef union {
-       unsigned int    num;
-       char           *str;
+typedef struct {
+    union {
+       unsigned int num;
+       char *str;
+    } data;
+    bool num_type;
 } stack_frame;
 
 } stack_frame;
 
-static  stack_frame    stack[STACKSIZE];
-static int     stack_ptr;
+static stack_frame stack[STACKSIZE];
+static int stack_ptr;
+
 #ifdef TRACE
 static const char *tname;
 #endif /* TRACE */
 
 #ifdef TRACE
 static const char *tname;
 #endif /* TRACE */
 
-static char  *out_buff;
+static char *out_buff;
 static size_t out_size;
 static size_t out_used;
 
 #if NO_LEAKS
 static size_t out_size;
 static size_t out_used;
 
 #if NO_LEAKS
-void _nc_free_tparm(void)
+void
+_nc_free_tparm(void)
 {
 {
-       if (out_buff != 0) {
-               FreeAndNull(out_buff);
-               out_size = 0;
-               out_used = 0;
-       }
+    if (out_buff != 0) {
+       FreeAndNull(out_buff);
+       out_size = 0;
+       out_used = 0;
+    }
 }
 #endif
 
 }
 #endif
 
-static void really_get_space(size_t need)
+static void
+really_get_space(size_t need)
 {
 {
-       out_size = need * 2;
-       out_buff = typeRealloc(char, out_size, out_buff);
-       if (out_buff == 0)
-               _nc_err_abort("Out of memory");
+    out_size = need * 2;
+    out_buff = typeRealloc(char, out_size, out_buff);
+    if (out_buff == 0)
+       _nc_err_abort("Out of memory");
 }
 
 }
 
-static inline void get_space(size_t need)
+static inline void
+get_space(size_t need)
 {
 {
-       need += out_used;
-       if (need > out_size)
-               really_get_space(need);
+    need += out_used;
+    if (need > out_size)
+       really_get_space(need);
 }
 
 }
 
-static inline void save_text(const char *fmt, char *s, int len)
+static inline void
+save_text(const char *fmt, const char *s, int len)
 {
 {
-       size_t s_len = strlen(s);
-       if (len > (int)s_len)
-               s_len = len;
+    size_t s_len = strlen(s);
+    if (len > (int) s_len)
+       s_len = len;
 
 
-       get_space(s_len + 1);
+    get_space(s_len + 1);
 
 
-       (void)sprintf(out_buff+out_used, fmt, s);
-       out_used += strlen(out_buff+out_used);
+    (void) sprintf(out_buff + out_used, fmt, s);
+    out_used += strlen(out_buff + out_used);
 }
 
 }
 
-static inline void save_number(const char *fmt, int number, int len)
+static inline void
+save_number(const char *fmt, int number, int len)
 {
 {
-       if (len < 30)
-               len = 30; /* actually log10(MAX_INT)+1 */
+    if (len < 30)
+       len = 30;               /* actually log10(MAX_INT)+1 */
 
 
-       get_space(len + 1);
+    get_space(len + 1);
 
 
-       (void)sprintf(out_buff+out_used, fmt, number);
-       out_used += strlen(out_buff+out_used);
+    (void) sprintf(out_buff + out_used, fmt, number);
+    out_used += strlen(out_buff + out_used);
 }
 
 }
 
-static inline void save_char(int c)
+static inline void
+save_char(int c)
 {
 {
-       if (c == 0)
-               c = 0200;
-       get_space(1);
-       out_buff[out_used++] = c;
+    if (c == 0)
+       c = 0200;
+    get_space(1);
+    out_buff[out_used++] = c;
 }
 
 }
 
-static inline void npush(int x)
+static inline void
+npush(int x)
 {
 {
-       if (stack_ptr < STACKSIZE) {
-               stack[stack_ptr].num = x;
-               stack_ptr++;
-       }
+    if (stack_ptr < STACKSIZE) {
+       stack[stack_ptr].num_type = TRUE;
+       stack[stack_ptr].data.num = x;
+       stack_ptr++;
+    }
 }
 
 }
 
-static inline int npop(void)
+static inline int
+npop(void)
 {
 {
-       return   (stack_ptr > 0  ?  stack[--stack_ptr].num  :  0);
+    int result = 0;
+    if (stack_ptr > 0) {
+       stack_ptr--;
+       if (stack[stack_ptr].num_type)
+           result = stack[stack_ptr].data.num;
+    }
+    return result;
 }
 
 }
 
-static inline char *spop(void)
+static inline void
+spush(char *x)
 {
 {
-       static char dummy[] = "";       /* avoid const-cast */
-       return   (stack_ptr > 0  ?  stack[--stack_ptr].str  :  dummy);
+    if (stack_ptr < STACKSIZE) {
+       stack[stack_ptr].num_type = FALSE;
+       stack[stack_ptr].data.str = x;
+       stack_ptr++;
+    }
 }
 
 }
 
-static inline const char *parse_format(const char *s, char *format, int *len)
+static inline char *
+spop(void)
 {
 {
-       bool done = FALSE;
-       bool allowminus = FALSE;
-       bool dot = FALSE;
-       int prec  = 0;
-       int width = 0;
+    static char dummy[] = "";  /* avoid const-cast */
+    char *result = dummy;
+    if (stack_ptr > 0) {
+       stack_ptr--;
+       if (!stack[stack_ptr].num_type && stack[stack_ptr].data.str != 0)
+           result = stack[stack_ptr].data.str;
+    }
+    return result;
+}
 
 
-       *len = 0;
-       *format++ = '%';
-       while (*s != '\0' && !done) {
-               switch (*s) {
-               case 'c':       /* FALLTHRU */
-               case 'd':       /* FALLTHRU */
-               case 'o':       /* FALLTHRU */
-               case 'x':       /* FALLTHRU */
-               case 'X':       /* FALLTHRU */
-               case 's':
-                       *format++ = *s;
-                       done = TRUE;
-                       break;
-               case '.':
-                       *format++ = *s++;
-                       dot = TRUE;
-                       break;
-               case '#':
-                       *format++ = *s++;
-                       break;
-               case ' ':
-                       *format++ = *s++;
-                       break;
-               case ':':
-                       s++;
-                       allowminus = TRUE;
-                       break;
-               case '-':
-                       if (allowminus) {
-                               *format++ = *s++;
-                       } else {
-                               done = TRUE;
-                       }
-                       break;
-               default:
-                       if (isdigit(*s)) {
-                               if (dot)
-                                       prec  = (prec * 10) + (*s - '0');
-                               else
-                                       width = (width * 10) + (*s - '0');
-                               *format++ = *s++;
-                       } else {
-                               done = TRUE;
-                       }
-               }
+static inline const char *
+parse_format(const char *s, char *format, int *len)
+{
+    bool done = FALSE;
+    bool allowminus = FALSE;
+    bool dot = FALSE;
+    bool err = FALSE;
+    char *fmt = format;
+    int prec = 0;
+    int width = 0;
+    int value = 0;
+
+    *len = 0;
+    *format++ = '%';
+    while (*s != '\0' && !done) {
+       switch (*s) {
+       case 'c':               /* FALLTHRU */
+       case 'd':               /* FALLTHRU */
+       case 'o':               /* FALLTHRU */
+       case 'x':               /* FALLTHRU */
+       case 'X':               /* FALLTHRU */
+       case 's':
+           *format++ = *s;
+           done = TRUE;
+           break;
+       case '.':
+           *format++ = *s++;
+           if (dot) {
+               err = TRUE;
+           } else {
+               dot = TRUE;
+               prec = value;
+           }
+           value = 0;
+           break;
+       case '#':
+           *format++ = *s++;
+           break;
+       case ' ':
+           *format++ = *s++;
+           break;
+       case ':':
+           s++;
+           allowminus = TRUE;
+           break;
+       case '-':
+           if (allowminus) {
+               *format++ = *s++;
+           } else {
+               done = TRUE;
+           }
+           break;
+       default:
+           if (isdigit(*s)) {
+               value = (value * 10) + (*s - '0');
+               if (value > 10000)
+                   err = TRUE;
+               *format++ = *s++;
+           } else {
+               done = TRUE;
+           }
        }
        }
-       *format = '\0';
-       /* return maximum string length in print */
-       *len = (prec > width) ? prec : width;
-       return s;
+    }
+
+    /*
+     * If we found an error, ignore (and remove) the flags.
+     */
+    if (err) {
+       prec = width = value = 0;
+       format = fmt;
+       *format++ = '%';
+       *format++ = *s;
+    }
+
+    if (dot)
+       width = value;
+    else
+       prec = value;
+
+    *format = '\0';
+    /* return maximum string length in print */
+    *len = (prec > width) ? prec : width;
+    return s;
 }
 
 #define isUPPER(c) ((c) >= 'A' && (c) <= 'Z')
 #define isLOWER(c) ((c) >= 'a' && (c) <= 'z')
 
 }
 
 #define isUPPER(c) ((c) >= 'A' && (c) <= 'Z')
 #define isLOWER(c) ((c) >= 'a' && (c) <= 'z')
 
-static inline char *tparam_internal(const char *string, va_list ap)
+static inline char *
+tparam_internal(const char *string, va_list ap)
 {
 #define NUM_VARS 26
 {
 #define NUM_VARS 26
-int    param[9];
-int    popcount;
-int    number;
-int    len;
-int    level;
-int    x, y;
-int    i;
-register const char *cp;
-static size_t len_fmt;
-static char *format;
-static int dynamic_var[NUM_VARS];
-static int static_vars[NUM_VARS];
-
-       out_used = 0;
-       if (string == NULL)
-               return NULL;
-
-       /*
-        * Find the highest parameter-number referred to in the format string.
-        * Use this value to limit the number of arguments copied from the
-        * variable-length argument list.
-        */
-       for (cp = string, popcount = number = 0; *cp != '\0'; cp++) {
-               if (cp[0] == '%' && cp[1] != '\0') {
-                       switch (cp[1]) {
-                       case '%':
-                               cp++;
-                               break;
-                       case 'i':
-                               if (popcount < 2)
-                                       popcount = 2;
-                               break;
-                       case 'p':
-                               cp++;
-                               if (cp[1] >= '1' && cp[1] <= '9') {
-                                       int c = cp[1] - '0';
-                                       if (c > popcount)
-                                               popcount = c;
-                               }
-                               break;
-                       case '0': case '1': case '2': case '3': case '4':
-                       case '5': case '6': case '7': case '8': case '9':
-                       case 'd': case 'c': case 's':
-                               ++number;
-                               break;
-                       }
+    char *p_is_s[9];
+    int param[9];
+    int lastpop;
+    int popcount;
+    int number;
+    int len;
+    int level;
+    int x, y;
+    int i;
+    size_t len2;
+    register const char *cp;
+    static size_t len_fmt;
+    static char dummy[] = "";
+    static char *format;
+    static int dynamic_var[NUM_VARS];
+    static int static_vars[NUM_VARS];
+
+    out_used = 0;
+    if (string == NULL)
+       return NULL;
+
+    if ((len2 = strlen(string)) > len_fmt) {
+       len_fmt = len2 + len_fmt + 2;
+       if ((format = typeRealloc(char, len_fmt, format)) == 0)
+             return 0;
+    }
+
+    /*
+     * Find the highest parameter-number referred to in the format string.
+     * Use this value to limit the number of arguments copied from the
+     * variable-length argument list.
+     */
+
+    number = 0;
+    lastpop = -1;
+    popcount = 0;
+    memset(p_is_s, 0, sizeof(p_is_s));
+
+    /*
+     * Analyze the string to see how many parameters we need from the varargs
+     * list, and what their types are.  We will only accept string parameters
+     * if they appear as a %l or %s format following an explicit parameter
+     * reference (e.g., %p2%s).  All other parameters are numbers.
+     *
+     * 'number' counts coarsely the number of pop's we see in the string, and
+     * 'popcount' shows the highest parameter number in the string.  We would
+     * like to simply use the latter count, but if we are reading termcap
+     * strings, there may be cases that we cannot see the explicit parameter
+     * numbers.
+     */
+    for (cp = string; (cp - string) < (int) len2;) {
+       if (*cp == '%') {
+           cp++;
+           cp = parse_format(cp, format, &len);
+           switch (*cp) {
+           default:
+               break;
+
+           case 'd':           /* FALLTHRU */
+           case 'o':           /* FALLTHRU */
+           case 'x':           /* FALLTHRU */
+           case 'X':           /* FALLTHRU */
+           case 'c':           /* FALLTHRU */
+               number++;
+               lastpop = -1;
+               break;
+
+           case 'l':
+           case 's':
+               if (lastpop > 0)
+                   p_is_s[lastpop - 1] = dummy;
+               ++number;
+               break;
+
+           case 'p':
+               cp++;
+               i = (*cp - '0');
+               if (i >= 0 && i <= 9) {
+                   lastpop = i;
+                   if (lastpop > popcount)
+                       popcount = lastpop;
                }
                }
+               break;
+
+           case 'P':
+           case 'g':
+               cp++;
+               break;
+
+           case S_QUOTE:
+               cp += 2;
+               lastpop = -1;
+               break;
+
+           case L_BRACE:
+               cp++;
+               while (*cp >= '0' && *cp <= '9') {
+                   cp++;
+               }
+               break;
+
+           case '+':
+           case '-':
+           case '*':
+           case '/':
+           case 'm':
+           case 'A':
+           case 'O':
+           case '&':
+           case '|':
+           case '^':
+           case '=':
+           case '<':
+           case '>':
+           case '!':
+           case '~':
+               lastpop = -1;
+               number += 2;
+               break;
+
+           case 'i':
+               lastpop = -1;
+               if (popcount < 2)
+                   popcount = 2;
+               break;
+           }
        }
        }
-       if ((size_t)(cp - string) > len_fmt) {
-               len_fmt = (cp - string) + len_fmt + 2;
-               if ((format = typeRealloc(char, len_fmt, format)) == 0)
-                       return 0;
-       }
-
-       if (number > 9) number = 9;
-       for (i = 0; i < max(popcount, number); i++) {
-               /*
-                * FIXME: potential loss here if sizeof(int) != sizeof(char *).
-                * A few caps (such as plab_norm) have string-valued parms.
-                */
-               param[i] = va_arg(ap, int);
-       }
+       if (*cp != '\0')
+           cp++;
+    }
 
 
+    if (number > 9)
+       number = 9;
+    for (i = 0; i < max(popcount, number); i++) {
        /*
        /*
-        * This is a termcap compatibility hack.  If there are no explicit pop
-        * operations in the string, load the stack in such a way that
-        * successive pops will grab successive parameters.  That will make
-        * the expansion of (for example) \E[%d;%dH work correctly in termcap
-        * style, which means tparam() will expand termcap strings OK.
+        * A few caps (such as plab_norm) have string-valued parms.
+        * We'll have to assume that the caller knows the difference, since
+        * a char* and an int may not be the same size on the stack.
         */
         */
-       stack_ptr = 0;
-       if (popcount == 0) {
-               popcount = number;
-               for (i = number - 1; i >= 0; i--)
-                       npush(param[i]);
+       if (p_is_s[i] != 0) {
+           p_is_s[i] = va_arg(ap, char *);
+       } else {
+           param[i] = va_arg(ap, int);
        }
        }
-
+    }
+
+    /*
+     * This is a termcap compatibility hack.  If there are no explicit pop
+     * operations in the string, load the stack in such a way that
+     * successive pops will grab successive parameters.  That will make
+     * the expansion of (for example) \E[%d;%dH work correctly in termcap
+     * style, which means tparam() will expand termcap strings OK.
+     */
+    stack_ptr = 0;
+    if (popcount == 0) {
+       popcount = number;
+       for (i = number - 1; i >= 0; i--)
+           npush(param[i]);
+    }
 #ifdef TRACE
 #ifdef TRACE
-       if (_nc_tracing & TRACE_CALLS) {
-               for (i = 0; i < popcount; i++)
-                       save_number(", %d", param[i], 0);
-               _tracef(T_CALLED("%s(%s%s)"), tname, _nc_visbuf(string), out_buff);
-               out_used = 0;
+    if (_nc_tracing & TRACE_CALLS) {
+       for (i = 0; i < popcount; i++) {
+           if (p_is_s[i] != 0)
+               save_text(", %s", _nc_visbuf(p_is_s[i]), 0);
+           else
+               save_number(", %d", param[i], 0);
        }
        }
+       _tracef(T_CALLED("%s(%s%s)"), tname, _nc_visbuf(string), out_buff);
+       out_used = 0;
+    }
 #endif /* TRACE */
 
 #endif /* TRACE */
 
-       while (*string) {
-               if (*string != '%') {
-                       save_char(*string);
-               } else {
-                       string++;
-                       string = parse_format(string, format, &len);
-                       switch (*string) {
-                       default:
-                               break;
-                       case '%':
-                               save_char('%');
-                               break;
-
-                       case 'd':       /* FALLTHRU */
-                       case 'o':       /* FALLTHRU */
-                       case 'x':       /* FALLTHRU */
-                       case 'X':       /* FALLTHRU */
-                       case 'c':
-                               save_number(format, npop(), len);
-                               break;
-
-                       case 'l':
-                               save_number("%d", strlen(spop()), 0);
-                               break;
-
-                       case 's':
-                               save_text(format, spop(), len);
-                               break;
-
-                       case 'p':
-                               string++;
-                               if (*string >= '1'  &&  *string <= '9')
-                                       npush(param[*string - '1']);
-                               break;
-
-                       case 'P':
-                               string++;
-                               if (isUPPER(*string)) {
-                                       i = (*string - 'A');
-                                       static_vars[i] = npop();
-                               } else if (isLOWER(*string)) {
-                                       i = (*string - 'a');
-                                       dynamic_var[i] = npop();
-                               }
-                               break;
-
-                       case 'g':
-                               string++;
-                               if (isUPPER(*string)) {
-                                       i = (*string - 'A');
-                                       npush(static_vars[i]);
-                               } else if (isLOWER(*string)) {
-                                       i = (*string - 'a');
-                                       npush(dynamic_var[i]);
-                               }
-                               break;
-
-                       case S_QUOTE:
-                               string++;
-                               npush(*string);
-                               string++;
-                               break;
-
-                       case L_BRACE:
-                               number = 0;
-                               string++;
-                               while (*string >= '0'  &&  *string <= '9') {
-                                       number = number * 10 + *string - '0';
-                                       string++;
-                               }
-                               npush(number);
-                               break;
-
-                       case '+':
-                               npush(npop() + npop());
-                               break;
-
-                       case '-':
-                               y = npop();
-                               x = npop();
-                               npush(x - y);
-                               break;
-
-                       case '*':
-                               npush(npop() * npop());
-                               break;
-
-                       case '/':
-                               y = npop();
-                               x = npop();
-                               npush(y ? (x / y) : 0);
-                               break;
-
-                       case 'm':
-                               y = npop();
-                               x = npop();
-                               npush(y ? (x % y) : 0);
-                               break;
-
-                       case 'A':
-                               npush(npop() && npop());
-                               break;
-
-                       case 'O':
-                               npush(npop() || npop());
-                               break;
-
-                       case '&':
-                               npush(npop() & npop());
-                               break;
-
-                       case '|':
-                               npush(npop() | npop());
-                               break;
-
-                       case '^':
-                               npush(npop() ^ npop());
-                               break;
-
-                       case '=':
-                               y = npop();
-                               x = npop();
-                               npush(x == y);
-                               break;
-
-                       case '<':
-                               y = npop();
-                               x = npop();
-                               npush(x < y);
-                               break;
+    while (*string) {
+       if (*string != '%') {
+           save_char(*string);
+       } else {
+           string++;
+           string = parse_format(string, format, &len);
+           switch (*string) {
+           default:
+               break;
+           case '%':
+               save_char('%');
+               break;
+
+           case 'd':           /* FALLTHRU */
+           case 'o':           /* FALLTHRU */
+           case 'x':           /* FALLTHRU */
+           case 'X':           /* FALLTHRU */
+           case 'c':           /* FALLTHRU */
+               save_number(format, npop(), len);
+               break;
+
+           case 'l':
+               save_number("%d", strlen(spop()), 0);
+               break;
+
+           case 's':
+               save_text(format, spop(), len);
+               break;
+
+           case 'p':
+               string++;
+               i = (*string - '1');
+               if (i >= 0 && i < 9) {
+                   if (p_is_s[i])
+                       spush(p_is_s[i]);
+                   else
+                       npush(param[i]);
+               }
+               break;
 
 
-                       case '>':
-                               y = npop();
-                               x = npop();
-                               npush(x > y);
-                               break;
+           case 'P':
+               string++;
+               if (isUPPER(*string)) {
+                   i = (*string - 'A');
+                   static_vars[i] = npop();
+               } else if (isLOWER(*string)) {
+                   i = (*string - 'a');
+                   dynamic_var[i] = npop();
+               }
+               break;
 
 
-                       case '!':
-                               npush(! npop());
-                               break;
+           case 'g':
+               string++;
+               if (isUPPER(*string)) {
+                   i = (*string - 'A');
+                   npush(static_vars[i]);
+               } else if (isLOWER(*string)) {
+                   i = (*string - 'a');
+                   npush(dynamic_var[i]);
+               }
+               break;
 
 
-                       case '~':
-                               npush(~ npop());
-                               break;
+           case S_QUOTE:
+               string++;
+               npush(*string);
+               string++;
+               break;
 
 
-                       case 'i':
-                               param[0]++;
-                               param[1]++;
+           case L_BRACE:
+               number = 0;
+               string++;
+               while (*string >= '0' && *string <= '9') {
+                   number = number * 10 + *string - '0';
+                   string++;
+               }
+               npush(number);
+               break;
+
+           case '+':
+               npush(npop() + npop());
+               break;
+
+           case '-':
+               y = npop();
+               x = npop();
+               npush(x - y);
+               break;
+
+           case '*':
+               npush(npop() * npop());
+               break;
+
+           case '/':
+               y = npop();
+               x = npop();
+               npush(y ? (x / y) : 0);
+               break;
+
+           case 'm':
+               y = npop();
+               x = npop();
+               npush(y ? (x % y) : 0);
+               break;
+
+           case 'A':
+               npush(npop() && npop());
+               break;
+
+           case 'O':
+               npush(npop() || npop());
+               break;
+
+           case '&':
+               npush(npop() & npop());
+               break;
+
+           case '|':
+               npush(npop() | npop());
+               break;
+
+           case '^':
+               npush(npop() ^ npop());
+               break;
+
+           case '=':
+               y = npop();
+               x = npop();
+               npush(x == y);
+               break;
+
+           case '<':
+               y = npop();
+               x = npop();
+               npush(x < y);
+               break;
+
+           case '>':
+               y = npop();
+               x = npop();
+               npush(x > y);
+               break;
+
+           case '!':
+               npush(!npop());
+               break;
+
+           case '~':
+               npush(~npop());
+               break;
+
+           case 'i':
+               if (p_is_s[0] == 0)
+                   param[0]++;
+               if (p_is_s[1] == 0)
+                   param[1]++;
+               break;
+
+           case '?':
+               break;
+
+           case 't':
+               x = npop();
+               if (!x) {
+                   /* scan forward for %e or %; at level zero */
+                   string++;
+                   level = 0;
+                   while (*string) {
+                       if (*string == '%') {
+                           string++;
+                           if (*string == '?')
+                               level++;
+                           else if (*string == ';') {
+                               if (level > 0)
+                                   level--;
+                               else
+                                   break;
+                           } else if (*string == 'e' && level == 0)
                                break;
                                break;
+                       }
 
 
-                       case '?':
-                               break;
+                       if (*string)
+                           string++;
+                   }
+               }
+               break;
 
 
-                       case 't':
-                               x = npop();
-                               if (!x) {
-                                       /* scan forward for %e or %; at level zero */
-                                       string++;
-                                       level = 0;
-                                       while (*string) {
-                                               if (*string == '%') {
-                                                       string++;
-                                                       if (*string == '?')
-                                                               level++;
-                                                       else if (*string == ';') {
-                                                               if (level > 0)
-                                                                       level--;
-                                                               else
-                                                                       break;
-                                                       }
-                                                       else if (*string == 'e'  && level == 0)
-                                                               break;
-                                               }
-
-                                               if (*string)
-                                                       string++;
-                                       }
-                               }
+           case 'e':
+               /* scan forward for a %; at level zero */
+               string++;
+               level = 0;
+               while (*string) {
+                   if (*string == '%') {
+                       string++;
+                       if (*string == '?')
+                           level++;
+                       else if (*string == ';') {
+                           if (level > 0)
+                               level--;
+                           else
                                break;
                                break;
+                       }
+                   }
 
 
-                       case 'e':
-                               /* scan forward for a %; at level zero */
-                               string++;
-                               level = 0;
-                               while (*string) {
-                                       if (*string == '%') {
-                                               string++;
-                                               if (*string == '?')
-                                                       level++;
-                                               else if (*string == ';') {
-                                                       if (level > 0)
-                                                               level--;
-                                                       else
-                                                               break;
-                                               }
-                                       }
-
-                                       if (*string)
-                                               string++;
-                               }
-                               break;
+                   if (*string)
+                       string++;
+               }
+               break;
 
 
-                       case ';':
-                               break;
+           case ';':
+               break;
 
 
-                       } /* endswitch (*string) */
-               } /* endelse (*string == '%') */
+           }                   /* endswitch (*string) */
+       }                       /* endelse (*string == '%') */
 
 
-               if (*string == '\0')
-                       break;
+       if (*string == '\0')
+           break;
 
 
-               string++;
-       } /* endwhile (*string) */
+       string++;
+    }                          /* endwhile (*string) */
 
 
-       if (out_buff == 0 && (out_buff = typeCalloc(char,1)) == NULL)
-               return(NULL);
-       out_buff[out_used] = '\0';
+    get_space(1);
+    out_buff[out_used] = '\0';
 
 
-       T((T_RETURN("%s"), _nc_visbuf(out_buff)));
-       return(out_buff);
+    T((T_RETURN("%s"), _nc_visbuf(out_buff)));
+    return (out_buff);
 }
 
 }
 
-char *tparm(NCURSES_CONST char *string, ...)
+char *
+tparm(NCURSES_CONST char *string,...)
 {
 {
-va_list        ap;
-char *result;
+    va_list ap;
+    char *result;
 
 
-       va_start(ap, string);
+    va_start(ap, string);
 #ifdef TRACE
 #ifdef TRACE
-       tname = "tparm";
+    tname = "tparm";
 #endif /* TRACE */
 #endif /* TRACE */
-       result = tparam_internal(string, ap);
-       va_end(ap);
-       return result;
+    result = tparam_internal(string, ap);
+    va_end(ap);
+    return result;
 }
 }
index f17d8382e921e6f0fcc60a8714917d6b8917214f..93eebf88691f3528e140ed72d4ba4b8d9a3a546f 100644 (file)
 #include <termcap.h>           /* ospeed */
 #include <tic.h>
 
 #include <termcap.h>           /* ospeed */
 #include <tic.h>
 
-MODULE_ID("$Id: lib_tputs.c,v 1.47 2000/05/27 23:08:41 tom Exp $")
+MODULE_ID("$Id: lib_tputs.c,v 1.51 2000/10/08 00:22:24 tom Exp $")
 
 char PC = 0;                   /* used by termcap library */
 
 char PC = 0;                   /* used by termcap library */
-speed_t ospeed = 0;            /* used by termcap library */
+short ospeed = 0;              /* used by termcap library */
 
 int _nc_nulls_sent = 0;                /* used by 'tack' program */
 
 
 int _nc_nulls_sent = 0;                /* used by 'tack' program */
 
@@ -78,7 +78,7 @@ delay_output(int ms)
 void
 _nc_flush(void)
 {
 void
 _nc_flush(void)
 {
-    (void)fflush(NC_OUTPUT);
+    (void) fflush(NC_OUTPUT);
 }
 
 int
 }
 
 int
@@ -102,7 +102,7 @@ _nc_outch(int ch)
     return OK;
 }
 
     return OK;
 }
 
-#ifdef USE_WIDEC_SUPPORT
+#if USE_WIDEC_SUPPORT
 /*
  * Reference: The Unicode Standard 2.0
  *
 /*
  * Reference: The Unicode Standard 2.0
  *
@@ -120,20 +120,20 @@ _nc_utf8_outch(int ch)
     int result[7], *ptr;
     int count = 0;
 
     int result[7], *ptr;
     int count = 0;
 
-    if (ch < 0x80)
+    if ((unsigned int) ch < 0x80)
        count = 1;
        count = 1;
-    else if (ch < 0x800)
+    else if ((unsigned int) ch < 0x800)
        count = 2;
        count = 2;
-    else if (ch < 0x10000)
+    else if ((unsigned int) ch < 0x10000)
        count = 3;
        count = 3;
-    else if (ch < 0x200000)
+    else if ((unsigned int) ch < 0x200000)
        count = 4;
        count = 4;
-    else if (ch < 0x4000000)
+    else if ((unsigned int) ch < 0x4000000)
        count = 5;
        count = 5;
-    else if (ch <= 0x7FFFFFFF)
+    else if ((unsigned int) ch <= 0x7FFFFFFF)
        count = 6;
     else {
        count = 6;
     else {
-       count = 2;
+       count = 3;
        ch = 0xFFFD;
     }
     ptr = result + count;
        ch = 0xFFFD;
     }
     ptr = result + count;
@@ -141,20 +141,26 @@ _nc_utf8_outch(int ch)
     case 6:
        *--ptr = (ch | otherMark) & byteMask;
        ch >>= 6;
     case 6:
        *--ptr = (ch | otherMark) & byteMask;
        ch >>= 6;
+       /* FALLTHRU */
     case 5:
        *--ptr = (ch | otherMark) & byteMask;
        ch >>= 6;
     case 5:
        *--ptr = (ch | otherMark) & byteMask;
        ch >>= 6;
+       /* FALLTHRU */
     case 4:
        *--ptr = (ch | otherMark) & byteMask;
        ch >>= 6;
     case 4:
        *--ptr = (ch | otherMark) & byteMask;
        ch >>= 6;
+       /* FALLTHRU */
     case 3:
        *--ptr = (ch | otherMark) & byteMask;
        ch >>= 6;
     case 3:
        *--ptr = (ch | otherMark) & byteMask;
        ch >>= 6;
+       /* FALLTHRU */
     case 2:
        *--ptr = (ch | otherMark) & byteMask;
        ch >>= 6;
     case 2:
        *--ptr = (ch | otherMark) & byteMask;
        ch >>= 6;
+       /* FALLTHRU */
     case 1:
        *--ptr = (ch | firstMark[count]);
     case 1:
        *--ptr = (ch | firstMark[count]);
+       break;
     }
     while (count--)
        _nc_outch(*ptr++);
     }
     while (count--)
        _nc_outch(*ptr++);
@@ -174,7 +180,7 @@ tputs(const char *string, int affcnt, int (*outc) (int))
     bool always_delay;
     bool normal_delay;
     int number;
     bool always_delay;
     bool normal_delay;
     int number;
-#ifdef BSD_TPUTS
+#if BSD_TPUTS
     int trailpad;
 #endif /* BSD_TPUTS */
 
     int trailpad;
 #endif /* BSD_TPUTS */
 
@@ -188,7 +194,7 @@ tputs(const char *string, int affcnt, int (*outc) (int))
            (void) sprintf(addrbuf, "%p", outc);
        if (_nc_tputs_trace) {
            _tracef("tputs(%s = %s, %d, %s) called", _nc_tputs_trace,
            (void) sprintf(addrbuf, "%p", outc);
        if (_nc_tputs_trace) {
            _tracef("tputs(%s = %s, %d, %s) called", _nc_tputs_trace,
-               _nc_visbuf(string), affcnt, addrbuf);
+                   _nc_visbuf(string), affcnt, addrbuf);
        } else {
            _tracef("tputs(%s, %d, %s) called", _nc_visbuf(string), affcnt, addrbuf);
        }
        } else {
            _tracef("tputs(%s, %d, %s) called", _nc_visbuf(string), affcnt, addrbuf);
        }
@@ -207,13 +213,13 @@ tputs(const char *string, int affcnt, int (*outc) (int))
        normal_delay =
            !xon_xoff
            && padding_baud_rate
        normal_delay =
            !xon_xoff
            && padding_baud_rate
-#ifdef NCURSES_NO_PADDING
+#if NCURSES_NO_PADDING
            && (SP == 0 || !(SP->_no_padding))
 #endif
            && (_nc_baudrate(ospeed) >= padding_baud_rate);
     }
 
            && (SP == 0 || !(SP->_no_padding))
 #endif
            && (_nc_baudrate(ospeed) >= padding_baud_rate);
     }
 
-#ifdef BSD_TPUTS
+#if BSD_TPUTS
     /*
      * This ugly kluge deals with the fact that some ancient BSD programs
      * (like nethack) actually do the likes of tputs("50") to get delays.
     /*
      * This ugly kluge deals with the fact that some ancient BSD programs
      * (like nethack) actually do the likes of tputs("50") to get delays.
@@ -304,7 +310,7 @@ tputs(const char *string, int affcnt, int (*outc) (int))
        string++;
     }
 
        string++;
     }
 
-#ifdef BSD_TPUTS
+#if BSD_TPUTS
     /*
      * Emit any BSD-style prefix padding that we've accumulated now.
      */
     /*
      * Emit any BSD-style prefix padding that we've accumulated now.
      */
index 1aff562d0dd681d2aa7564c08cfd1b8d436705b7..24bf3c37f584bd9bd6edb0d66e60e8ba936bfb2a 100644 (file)
@@ -47,7 +47,7 @@
 #define __INTERNAL_CAPS_VISIBLE
 #include <term_entry.h>
 
 #define __INTERNAL_CAPS_VISIBLE
 #include <term_entry.h>
 
-MODULE_ID("$Id: parse_entry.c,v 1.44 2000/04/30 00:17:42 tom Exp $")
+MODULE_ID("$Id: parse_entry.c,v 1.48 2000/10/03 09:38:48 tom Exp $")
 
 #ifdef LINT
 static short const parametrized[] =
 
 #ifdef LINT
 static short const parametrized[] =
@@ -200,7 +200,7 @@ _nc_parse_entry(struct entry *entryp, int literal, bool silent)
 {
     int token_type;
     struct name_table_entry const *entry_ptr;
 {
     int token_type;
     struct name_table_entry const *entry_ptr;
-    char *ptr, namecpy[MAX_NAME_SIZE + 1];
+    char *ptr, *base;
 
     token_type = _nc_get_token();
 
 
     token_type = _nc_get_token();
 
@@ -235,22 +235,22 @@ _nc_parse_entry(struct entry *entryp, int literal, bool silent)
     _nc_set_type(_nc_first_name(entryp->tterm.term_names));
 
     /* check for overly-long names and aliases */
     _nc_set_type(_nc_first_name(entryp->tterm.term_names));
 
     /* check for overly-long names and aliases */
-    (void) strncpy(namecpy, entryp->tterm.term_names, MAX_NAME_SIZE);
-    namecpy[MAX_NAME_SIZE] = '\0';
-    if ((ptr = strrchr(namecpy, '|')) != (char *) 0)
-       *ptr = '\0';
-    ptr = strtok(namecpy, "|");
-    if (strlen(ptr) > MAX_ALIAS)
-       _nc_warning("primary name may be too long");
-    while ((ptr = strtok((char *) 0, "|")) != (char *) 0)
-       if (strlen(ptr) > MAX_ALIAS)
-           _nc_warning("alias `%s' may be too long", ptr);
+    for (base = entryp->tterm.term_names; (ptr = strchr(base, '|')) != 0;
+        base = ptr + 1) {
+       if (ptr - base > MAX_ALIAS) {
+           _nc_warning("%s `%.*s' may be too long",
+                       (base == entryp->tterm.term_names)
+                       ? "primary name"
+                       : "alias",
+                       ptr - base, base);
+       }
+    }
 
     entryp->nuses = 0;
 
     for (token_type = _nc_get_token();
 
     entryp->nuses = 0;
 
     for (token_type = _nc_get_token();
-       token_type != EOF && token_type != NAMES;
-       token_type = _nc_get_token()) {
+        token_type != EOF && token_type != NAMES;
+        token_type = _nc_get_token()) {
        if (strcmp(_nc_curr_token.tk_name, "use") == 0
            || strcmp(_nc_curr_token.tk_name, "tc") == 0) {
            entryp->uses[entryp->nuses].name = _nc_save_str(_nc_curr_token.tk_valstring);
        if (strcmp(_nc_curr_token.tk_name, "use") == 0
            || strcmp(_nc_curr_token.tk_name, "tc") == 0) {
            entryp->uses[entryp->nuses].name = _nc_save_str(_nc_curr_token.tk_valstring);
@@ -259,7 +259,7 @@ _nc_parse_entry(struct entry *entryp, int literal, bool silent)
        } else {
            /* normal token lookup */
            entry_ptr = _nc_find_entry(_nc_curr_token.tk_name,
        } else {
            /* normal token lookup */
            entry_ptr = _nc_find_entry(_nc_curr_token.tk_name,
-               _nc_syntax ? _nc_cap_hash_table : _nc_info_hash_table);
+                                      _nc_syntax ? _nc_cap_hash_table : _nc_info_hash_table);
 
            /*
             * Our kluge to handle aliasing.  The reason it's done
 
            /*
             * Our kluge to handle aliasing.  The reason it's done
@@ -277,14 +277,14 @@ _nc_parse_entry(struct entry *entryp, int literal, bool silent)
                        if (strcmp(ap->from, _nc_curr_token.tk_name) == 0) {
                            if (ap->to == (char *) 0) {
                                _nc_warning("%s (%s termcap extension) ignored",
                        if (strcmp(ap->from, _nc_curr_token.tk_name) == 0) {
                            if (ap->to == (char *) 0) {
                                _nc_warning("%s (%s termcap extension) ignored",
-                                   ap->from, ap->source);
+                                           ap->from, ap->source);
                                goto nexttok;
                            }
 
                            entry_ptr = _nc_find_entry(ap->to, _nc_cap_hash_table);
                            if (entry_ptr && !silent)
                                _nc_warning("%s (%s termcap extension) aliased to %s",
                                goto nexttok;
                            }
 
                            entry_ptr = _nc_find_entry(ap->to, _nc_cap_hash_table);
                            if (entry_ptr && !silent)
                                _nc_warning("%s (%s termcap extension) aliased to %s",
-                                   ap->from, ap->source, ap->to);
+                                           ap->from, ap->source, ap->to);
                            break;
                        }
                } else {        /* if (_nc_syntax == SYN_TERMINFO) */
                            break;
                        }
                } else {        /* if (_nc_syntax == SYN_TERMINFO) */
@@ -292,14 +292,14 @@ _nc_parse_entry(struct entry *entryp, int literal, bool silent)
                        if (strcmp(ap->from, _nc_curr_token.tk_name) == 0) {
                            if (ap->to == (char *) 0) {
                                _nc_warning("%s (%s terminfo extension) ignored",
                        if (strcmp(ap->from, _nc_curr_token.tk_name) == 0) {
                            if (ap->to == (char *) 0) {
                                _nc_warning("%s (%s terminfo extension) ignored",
-                                   ap->from, ap->source);
+                                           ap->from, ap->source);
                                goto nexttok;
                            }
 
                            entry_ptr = _nc_find_entry(ap->to, _nc_info_hash_table);
                            if (entry_ptr && !silent)
                                _nc_warning("%s (%s terminfo extension) aliased to %s",
                                goto nexttok;
                            }
 
                            entry_ptr = _nc_find_entry(ap->to, _nc_info_hash_table);
                            if (entry_ptr && !silent)
                                _nc_warning("%s (%s terminfo extension) aliased to %s",
-                                   ap->from, ap->source, ap->to);
+                                           ap->from, ap->source, ap->to);
                            break;
                        }
 
                            break;
                        }
 
@@ -316,7 +316,8 @@ _nc_parse_entry(struct entry *entryp, int literal, bool silent)
            if (entry_ptr == NOTFOUND
                && _nc_user_definable
                && (entry_ptr = _nc_extend_names(entryp,
            if (entry_ptr == NOTFOUND
                && _nc_user_definable
                && (entry_ptr = _nc_extend_names(entryp,
-                       _nc_curr_token.tk_name, token_type)) != 0) {
+                                                _nc_curr_token.tk_name,
+                                                token_type)) != 0) {
                if (_nc_tracing >= DEBUG_LEVEL(1))
                    _nc_warning("extended capability '%s'", _nc_curr_token.tk_name);
            }
                if (_nc_tracing >= DEBUG_LEVEL(1))
                    _nc_warning("extended capability '%s'", _nc_curr_token.tk_name);
            }
@@ -326,7 +327,7 @@ _nc_parse_entry(struct entry *entryp, int literal, bool silent)
            if (entry_ptr == NOTFOUND) {
                if (!silent)
                    _nc_warning("unknown capability '%s'",
            if (entry_ptr == NOTFOUND) {
                if (!silent)
                    _nc_warning("unknown capability '%s'",
-                       _nc_curr_token.tk_name);
+                               _nc_curr_token.tk_name);
                continue;
            }
 
                continue;
            }
 
@@ -345,12 +346,14 @@ _nc_parse_entry(struct entry *entryp, int literal, bool silent)
                /* tell max_attributes from arrow_key_map */
                if (token_type == NUMBER && !strcmp("ma", _nc_curr_token.tk_name))
                    entry_ptr = _nc_find_type_entry("ma", NUMBER,
                /* tell max_attributes from arrow_key_map */
                if (token_type == NUMBER && !strcmp("ma", _nc_curr_token.tk_name))
                    entry_ptr = _nc_find_type_entry("ma", NUMBER,
-                       _nc_get_table(_nc_syntax != 0));
+                                                   _nc_get_table(_nc_syntax
+                                                                 != 0));
 
                /* map terminfo's string MT to MT */
                else if (token_type == STRING && !strcmp("MT", _nc_curr_token.tk_name))
                    entry_ptr = _nc_find_type_entry("MT", STRING,
 
                /* map terminfo's string MT to MT */
                else if (token_type == STRING && !strcmp("MT", _nc_curr_token.tk_name))
                    entry_ptr = _nc_find_type_entry("MT", STRING,
-                       _nc_get_table(_nc_syntax != 0));
+                                                   _nc_get_table(_nc_syntax
+                                                                 != 0));
 
                /* treat strings without following "=" as empty strings */
                else if (token_type == BOOLEAN && entry_ptr->nte_type == STRING)
 
                /* treat strings without following "=" as empty strings */
                else if (token_type == BOOLEAN && entry_ptr->nte_type == STRING)
@@ -374,7 +377,7 @@ _nc_parse_entry(struct entry *entryp, int literal, bool silent)
                            break;
                        }
                        _nc_warning("wrong type used for %s capability '%s'",
                            break;
                        }
                        _nc_warning("wrong type used for %s capability '%s'",
-                           type_name, _nc_curr_token.tk_name);
+                                   type_name, _nc_curr_token.tk_name);
                    }
                    continue;
                }
                    }
                    continue;
                }
@@ -411,8 +414,8 @@ _nc_parse_entry(struct entry *entryp, int literal, bool silent)
                ptr = _nc_curr_token.tk_valstring;
                if (_nc_syntax == SYN_TERMCAP)
                    ptr = _nc_captoinfo(_nc_curr_token.tk_name,
                ptr = _nc_curr_token.tk_valstring;
                if (_nc_syntax == SYN_TERMCAP)
                    ptr = _nc_captoinfo(_nc_curr_token.tk_name,
-                       ptr,
-                       parametrized[entry_ptr->nte_index]);
+                                       ptr,
+                                       parametrized[entry_ptr->nte_index]);
                entryp->tterm.Strings[entry_ptr->nte_index] = _nc_save_str(ptr);
                break;
 
                entryp->tterm.Strings[entry_ptr->nte_index] = _nc_save_str(ptr);
                break;
 
@@ -479,14 +482,14 @@ _nc_capcmp(const char *s, const char *t)
        if (s[0] == '$' && s[1] == '<') {
            for (s += 2;; s++)
                if (!(isdigit(*s) || *s == '.' || *s == '*' || *s == '/' ||
        if (s[0] == '$' && s[1] == '<') {
            for (s += 2;; s++)
                if (!(isdigit(*s) || *s == '.' || *s == '*' || *s == '/' ||
-                       *s == '>'))
+                     *s == '>'))
                    break;
        }
 
        if (t[0] == '$' && t[1] == '<') {
            for (t += 2;; t++)
                if (!(isdigit(*t) || *t == '.' || *t == '*' || *t == '/' ||
                    break;
        }
 
        if (t[0] == '$' && t[1] == '<') {
            for (t += 2;; t++)
                if (!(isdigit(*t) || *t == '.' || *t == '*' || *t == '/' ||
-                       *t == '>'))
+                     *t == '>'))
                    break;
        }
 
                    break;
        }
 
@@ -503,6 +506,26 @@ _nc_capcmp(const char *s, const char *t)
     }
 }
 
     }
 }
 
+static void
+append_acs0(string_desc *dst, int code, int src)
+{
+    if (src != 0) {
+       char temp[3];
+       temp[0] = code;
+       temp[1] = src;
+       temp[2] = 0;
+       _nc_safe_strcat(dst, temp);
+    }
+}
+
+static void
+append_acs(string_desc *dst, int code, char *src)
+{
+    if (src != 0 && strlen(src) == 1) {
+       append_acs0(dst, code, *src);
+    }
+}
+
 /*
  * The ko capability, if present, consists of a comma-separated capability
  * list.  For each capability, we may assume there is a keycap that sends the
 /*
  * The ko capability, if present, consists of a comma-separated capability
  * list.  For each capability, we may assume there is a keycap that sends the
@@ -563,11 +586,11 @@ static const char C_HT[] = "\t";
 #undef CUR
 #define CUR tp->
 
 #undef CUR
 #define CUR tp->
 
-static
-void
+static void
 postprocess_termcap(TERMTYPE * tp, bool has_base)
 {
     char buf[MAX_LINE * 2 + 2];
 postprocess_termcap(TERMTYPE * tp, bool has_base)
 {
     char buf[MAX_LINE * 2 + 2];
+    string_desc result;
 
     /*
      * TERMCAP DEFAULTS AND OBSOLETE-CAPABILITY TRANSLATIONS
 
     /*
      * TERMCAP DEFAULTS AND OBSOLETE-CAPABILITY TRANSLATIONS
@@ -632,17 +655,15 @@ postprocess_termcap(TERMTYPE * tp, bool has_base)
                } else
                    newline = _nc_save_str(C_LF);
            } else if (PRESENT(carriage_return) && PRESENT(scroll_forward)) {
                } else
                    newline = _nc_save_str(C_LF);
            } else if (PRESENT(carriage_return) && PRESENT(scroll_forward)) {
-               strncpy(buf, carriage_return, MAX_LINE - 2);
-               buf[MAX_LINE - 1] = '\0';
-               strncat(buf, scroll_forward, MAX_LINE - strlen(buf) - 1);
-               buf[MAX_LINE] = '\0';
-               newline = _nc_save_str(buf);
+               _nc_str_init(&result, buf, sizeof(buf));
+               if (_nc_safe_strcat(&result, carriage_return)
+                && _nc_safe_strcat(&result, scroll_forward))
+                   newline = _nc_save_str(buf);
            } else if (PRESENT(carriage_return) && PRESENT(cursor_down)) {
            } else if (PRESENT(carriage_return) && PRESENT(cursor_down)) {
-               strncpy(buf, carriage_return, MAX_LINE - 2);
-               buf[MAX_LINE - 1] = '\0';
-               strncat(buf, cursor_down, MAX_LINE - strlen(buf) - 1);
-               buf[MAX_LINE] = '\0';
-               newline = _nc_save_str(buf);
+               _nc_str_init(&result, buf, sizeof(buf));
+               if (_nc_safe_strcat(&result, carriage_return)
+                && _nc_safe_strcat(&result, cursor_down))
+                   newline = _nc_save_str(buf);
            }
        }
     }
            }
        }
     }
@@ -695,7 +716,7 @@ postprocess_termcap(TERMTYPE * tp, bool has_base)
        else {
            if (tab && _nc_capcmp(tab, C_HT))
                _nc_warning("hardware tabs with a non-^I tab string %s",
        else {
            if (tab && _nc_capcmp(tab, C_HT))
                _nc_warning("hardware tabs with a non-^I tab string %s",
-                   _nc_visbuf(tab));
+                           _nc_visbuf(tab));
            else {
                if (WANTED(tab))
                    tab = _nc_save_str(C_HT);
            else {
                if (WANTED(tab))
                    tab = _nc_save_str(C_HT);
@@ -708,7 +729,8 @@ postprocess_termcap(TERMTYPE * tp, bool has_base)
      * isn't from mytinfo...
      */
     if (PRESENT(other_non_function_keys)) {
      * isn't from mytinfo...
      */
     if (PRESENT(other_non_function_keys)) {
-       char *dp, *cp = strtok(other_non_function_keys, ",");
+       char *base = other_non_function_keys;
+       char *bp, *cp, *dp;
        struct name_table_entry const *from_ptr;
        struct name_table_entry const *to_ptr;
        assoc const *ap;
        struct name_table_entry const *from_ptr;
        struct name_table_entry const *to_ptr;
        assoc const *ap;
@@ -717,15 +739,21 @@ postprocess_termcap(TERMTYPE * tp, bool has_base)
 
        /* we're going to use this for a special case later */
        dp = strchr(other_non_function_keys, 'i');
 
        /* we're going to use this for a special case later */
        dp = strchr(other_non_function_keys, 'i');
-       foundim = dp && dp[1] == 'm';
+       foundim = (dp != 0) && (dp[1] == 'm');
 
        /* look at each comma-separated capability in the ko string... */
 
        /* look at each comma-separated capability in the ko string... */
-       do {
+       for (base = other_non_function_keys;
+            (cp = strchr(base, ',')) != 0;
+            base = cp + 1) {
+           size_t len = cp - base;
+
            for (ap = ko_xlate; ap->from; ap++)
            for (ap = ko_xlate; ap->from; ap++)
-               if (strcmp(ap->from, cp) == 0)
+               if (len == strlen(ap->from)
+                   && strncmp(ap->from, base, len) == 0)
                    break;
            if (!ap->to) {
                    break;
            if (!ap->to) {
-               _nc_warning("unknown capability `%s' in ko string", cp);
+               _nc_warning("unknown capability `%.*s' in ko string",
+                           (int) len, base);
                continue;
            } else if (ap->to == CANCELLED_STRING)      /* ignore it */
                continue;
                continue;
            } else if (ap->to == CANCELLED_STRING)      /* ignore it */
                continue;
@@ -748,11 +776,11 @@ postprocess_termcap(TERMTYPE * tp, bool has_base)
                 * string; that's just an inefficiency.
                 */
                if (strcmp(
                 * string; that's just an inefficiency.
                 */
                if (strcmp(
-                       tp->Strings[from_ptr->nte_index],
-                       tp->Strings[to_ptr->nte_index]) != 0)
+                             tp->Strings[from_ptr->nte_index],
+                             tp->Strings[to_ptr->nte_index]) != 0)
                    _nc_warning("%s (%s) already has an explicit value %s, ignoring ko",
                    _nc_warning("%s (%s) already has an explicit value %s, ignoring ko",
-                       ap->to, ap->from,
-                       _nc_visbuf(tp->Strings[to_ptr->nte_index]));
+                               ap->to, ap->from,
+                               _nc_visbuf(tp->Strings[to_ptr->nte_index]));
                continue;
            }
 
                continue;
            }
 
@@ -760,22 +788,18 @@ postprocess_termcap(TERMTYPE * tp, bool has_base)
             * The magic moment -- copy the mapped key string over,
             * stripping out padding.
             */
             * The magic moment -- copy the mapped key string over,
             * stripping out padding.
             */
-           dp = buf2;
-           for (cp = tp->Strings[from_ptr->nte_index]; *cp; cp++) {
-               if (cp[0] == '$' && cp[1] == '<') {
-                   while (*cp && *cp != '>')
-                       if (!*cp)
-                           break;
-                       else
-                           ++cp;
+           for (dp = buf2, bp = tp->Strings[from_ptr->nte_index]; *bp; bp++) {
+               if (bp[0] == '$' && bp[1] == '<') {
+                   while (*bp && *bp != '>') {
+                       ++bp;
+                   }
                } else
                } else
-                   *dp++ = *cp;
+                   *dp++ = *bp;
            }
            *dp++ = '\0';
 
            tp->Strings[to_ptr->nte_index] = _nc_save_str(buf2);
            }
            *dp++ = '\0';
 
            tp->Strings[to_ptr->nte_index] = _nc_save_str(buf2);
-       } while
-           ((cp = strtok((char *) 0, ",")) != 0);
+       }
 
        /*
         * Note: ko=im and ko=ic both want to grab the `Insert'
 
        /*
         * Note: ko=im and ko=ic both want to grab the `Insert'
@@ -812,74 +836,36 @@ postprocess_termcap(TERMTYPE * tp, bool has_base)
        PRESENT(acs_hline) ||
        PRESENT(acs_vline) ||
        PRESENT(acs_plus)) {
        PRESENT(acs_hline) ||
        PRESENT(acs_vline) ||
        PRESENT(acs_plus)) {
-       char buf2[MAX_TERMCAP_LENGTH], *bp = buf2;
-
-       if (acs_chars) {
-           (void) strcpy(bp, acs_chars);
-           bp += strlen(bp);
-       }
-
-       if (acs_ulcorner && acs_ulcorner[1] == '\0') {
-           *bp++ = 'l';
-           *bp++ = *acs_ulcorner;
-       }
-       if (acs_llcorner && acs_llcorner[1] == '\0') {
-           *bp++ = 'm';
-           *bp++ = *acs_llcorner;
-       }
-       if (acs_urcorner && acs_urcorner[1] == '\0') {
-           *bp++ = 'k';
-           *bp++ = *acs_urcorner;
-       }
-       if (acs_lrcorner && acs_lrcorner[1] == '\0') {
-           *bp++ = 'j';
-           *bp++ = *acs_lrcorner;
-       }
-       if (acs_ltee && acs_ltee[1] == '\0') {
-           *bp++ = 't';
-           *bp++ = *acs_ltee;
-       }
-       if (acs_rtee && acs_rtee[1] == '\0') {
-           *bp++ = 'u';
-           *bp++ = *acs_rtee;
-       }
-       if (acs_btee && acs_btee[1] == '\0') {
-           *bp++ = 'v';
-           *bp++ = *acs_btee;
-       }
-       if (acs_ttee && acs_ttee[1] == '\0') {
-           *bp++ = 'w';
-           *bp++ = *acs_ttee;
-       }
-       if (acs_hline && acs_hline[1] == '\0') {
-           *bp++ = 'q';
-           *bp++ = *acs_hline;
-       }
-       if (acs_vline && acs_vline[1] == '\0') {
-           *bp++ = 'x';
-           *bp++ = *acs_vline;
-       }
-       if (acs_plus) {
-           *bp++ = 'n';
-           strcpy(bp, acs_plus);
-           bp = buf2 + strlen(buf2);
-       }
-
-       if (bp != buf2) {
-           *bp++ = '\0';
+       char buf2[MAX_TERMCAP_LENGTH];
+
+       _nc_str_init(&result, buf2, sizeof(buf2));
+       _nc_safe_strcat(&result, acs_chars);
+
+       append_acs (&result, 'j', acs_lrcorner);
+       append_acs (&result, 'k', acs_urcorner);
+       append_acs (&result, 'l', acs_ulcorner);
+       append_acs (&result, 'm', acs_llcorner);
+       append_acs (&result, 'n', acs_plus);
+       append_acs (&result, 'q', acs_hline);
+       append_acs (&result, 't', acs_ltee);
+       append_acs (&result, 'u', acs_rtee);
+       append_acs (&result, 'v', acs_btee);
+       append_acs (&result, 'w', acs_ttee);
+       append_acs (&result, 'x', acs_vline);
+
+       if (buf2[0]) {
            acs_chars = _nc_save_str(buf2);
            _nc_warning("acsc string synthesized from XENIX capabilities");
        }
     } else if (acs_chars == 0
            acs_chars = _nc_save_str(buf2);
            _nc_warning("acsc string synthesized from XENIX capabilities");
        }
     } else if (acs_chars == 0
-           && enter_alt_charset_mode != 0
-       && exit_alt_charset_mode != 0) {
+              && enter_alt_charset_mode != 0
+              && exit_alt_charset_mode != 0) {
        acs_chars =
            _nc_save_str("``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~");
     }
 }
 
        acs_chars =
            _nc_save_str("``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~");
     }
 }
 
-static
-void
+static void
 postprocess_terminfo(TERMTYPE * tp)
 {
     /*
 postprocess_terminfo(TERMTYPE * tp)
 {
     /*
@@ -891,60 +877,25 @@ postprocess_terminfo(TERMTYPE * tp)
      * Translate AIX forms characters.
      */
     if (PRESENT(box_chars_1)) {
      * Translate AIX forms characters.
      */
     if (PRESENT(box_chars_1)) {
-       char buf2[MAX_TERMCAP_LENGTH], *bp = buf2;
-
-       if (acs_chars) {
-           (void) strcpy(bp, acs_chars);
-           bp += strlen(bp);
-       }
-
-       if (box_chars_1[0]) {   /* ACS_ULCORNER */
-           *bp++ = 'l';
-           *bp++ = box_chars_1[0];
-       }
-       if (box_chars_1[1]) {   /* ACS_HLINE */
-           *bp++ = 'q';
-           *bp++ = box_chars_1[1];
-       }
-       if (box_chars_1[2]) {   /* ACS_URCORNER */
-           *bp++ = 'k';
-           *bp++ = box_chars_1[2];
-       }
-       if (box_chars_1[3]) {   /* ACS_VLINE */
-           *bp++ = 'x';
-           *bp++ = box_chars_1[3];
-       }
-       if (box_chars_1[4]) {   /* ACS_LRCORNER */
-           *bp++ = 'j';
-           *bp++ = box_chars_1[4];
-       }
-       if (box_chars_1[5]) {   /* ACS_LLCORNER */
-           *bp++ = 'm';
-           *bp++ = box_chars_1[5];
-       }
-       if (box_chars_1[6]) {   /* ACS_TTEE */
-           *bp++ = 'w';
-           *bp++ = box_chars_1[6];
-       }
-       if (box_chars_1[7]) {   /* ACS_RTEE */
-           *bp++ = 'u';
-           *bp++ = box_chars_1[7];
-       }
-       if (box_chars_1[8]) {   /* ACS_BTEE */
-           *bp++ = 'v';
-           *bp++ = box_chars_1[8];
-       }
-       if (box_chars_1[9]) {   /* ACS_LTEE */
-           *bp++ = 't';
-           *bp++ = box_chars_1[9];
-       }
-       if (box_chars_1[10]) {  /* ACS_PLUS */
-           *bp++ = 'n';
-           *bp++ = box_chars_1[10];
-       }
-
-       if (bp != buf2) {
-           *bp++ = '\0';
+       char buf2[MAX_TERMCAP_LENGTH];
+       string_desc result;
+
+       _nc_str_init(&result, buf2, sizeof(buf2));
+       _nc_safe_strcat(&result, acs_chars);
+
+       append_acs0 (&result, 'l', box_chars_1[0]);     /* ACS_ULCORNER */
+       append_acs0 (&result, 'q', box_chars_1[1]);     /* ACS_HLINE */
+       append_acs0 (&result, 'k', box_chars_1[2]);     /* ACS_URCORNER */
+       append_acs0 (&result, 'x', box_chars_1[3]);     /* ACS_VLINE */
+       append_acs0 (&result, 'j', box_chars_1[4]);     /* ACS_LRCORNER */
+       append_acs0 (&result, 'm', box_chars_1[5]);     /* ACS_LLCORNER */
+       append_acs0 (&result, 'w', box_chars_1[6]);     /* ACS_TTEE */
+       append_acs0 (&result, 'u', box_chars_1[7]);     /* ACS_RTEE */
+       append_acs0 (&result, 'v', box_chars_1[8]);     /* ACS_BTEE */
+       append_acs0 (&result, 't', box_chars_1[9]);     /* ACS_LTEE */
+       append_acs0 (&result, 'n', box_chars_1[10]);    /* ACS_PLUS */
+
+       if (buf2[0]) {
            acs_chars = _nc_save_str(buf2);
            _nc_warning("acsc string synthesized from AIX capabilities");
            box_chars_1 = ABSENT_STRING;
            acs_chars = _nc_save_str(buf2);
            _nc_warning("acsc string synthesized from AIX capabilities");
            box_chars_1 = ABSENT_STRING;
@@ -963,8 +914,7 @@ postprocess_terminfo(TERMTYPE * tp)
  * up in _nc_info_table, which is organized so that the nte_index fields are
  * sorted, but the nte_type fields are not necessarily grouped together.
  */
  * up in _nc_info_table, which is organized so that the nte_index fields are
  * sorted, but the nte_type fields are not necessarily grouped together.
  */
-static
-struct name_table_entry const *
+static struct name_table_entry const *
 lookup_fullname(const char *find)
 {
     int state = -1;
 lookup_fullname(const char *find)
 {
     int state = -1;
@@ -991,7 +941,7 @@ lookup_fullname(const char *find)
            if (!strcmp(names[count], find)) {
                struct name_table_entry const *entry_ptr = _nc_get_table(FALSE);
                while (entry_ptr->nte_type != state
            if (!strcmp(names[count], find)) {
                struct name_table_entry const *entry_ptr = _nc_get_table(FALSE);
                while (entry_ptr->nte_type != state
-                   || entry_ptr->nte_index != count)
+                      || entry_ptr->nte_index != count)
                    entry_ptr++;
                return entry_ptr;
            }
                    entry_ptr++;
                return entry_ptr;
            }
index 85dc3e0bf6e9a4acfcfdf1872f6ce3a5911ae540..deef49859a3e482d2a9fbe92d9a204708a1b8d33 100644 (file)
@@ -41,7 +41,7 @@
 #include <tic.h>
 #include <term_entry.h>
 
 #include <tic.h>
 #include <term_entry.h>
 
-MODULE_ID("$Id: read_entry.c,v 1.67 2000/03/11 12:35:45 tom Exp $")
+MODULE_ID("$Id: read_entry.c,v 1.69 2000/10/10 00:57:40 Todd.Miller Exp $")
 
 #if !HAVE_TELL
 #define tell(fd) 0             /* lseek() is POSIX, but not tell() - odd... */
 
 #if !HAVE_TELL
 #define tell(fd) 0             /* lseek() is POSIX, but not tell() - odd... */
@@ -79,7 +79,7 @@ _nc_tic_dir(const char *path)
        if (path != 0) {
            result = path;
            have_tic_directory = TRUE;
        if (path != 0) {
            result = path;
            have_tic_directory = TRUE;
-       } else if (!have_tic_directory) {
+       } else if (!have_tic_directory && use_terminfo_vars()) {
            char *envp;
            if ((envp = getenv("TERMINFO")) != 0)
                return _nc_tic_dir(envp);
            char *envp;
            if ((envp = getenv("TERMINFO")) != 0)
                return _nc_tic_dir(envp);
@@ -176,9 +176,9 @@ read_termtype(int fd, TERMTYPE * ptr)
     str_size = LOW_MSB(buf + 10);
 
     TR(TRACE_DATABASE,
     str_size = LOW_MSB(buf + 10);
 
     TR(TRACE_DATABASE,
-           ("TERMTYPE name_size=%d, bool=%d/%d, num=%d/%d str=%d/%d(%d)",
-           name_size, bool_count, BOOLCOUNT, num_count, NUMCOUNT,
-           str_count, STRCOUNT, str_size));
+       ("TERMTYPE name_size=%d, bool=%d/%d, num=%d/%d str=%d/%d(%d)",
+       name_size, bool_count, BOOLCOUNT, num_count, NUMCOUNT,
+       str_count, STRCOUNT, str_size));
     if (name_size < 0
        || bool_count < 0
        || num_count < 0
     if (name_size < 0
        || bool_count < 0
        || num_count < 0
@@ -281,19 +281,20 @@ read_termtype(int fd, TERMTYPE * ptr)
        ptr->Strings = typeRealloc(char *, ptr->num_Strings, ptr->Strings);
 
        TR(TRACE_DATABASE, ("extended header is %d/%d/%d(%d:%d)",
        ptr->Strings = typeRealloc(char *, ptr->num_Strings, ptr->Strings);
 
        TR(TRACE_DATABASE, ("extended header is %d/%d/%d(%d:%d)",
-               ext_bool_count, ext_num_count, ext_str_count, ext_str_size, ext_str_limit));
+                           ext_bool_count, ext_num_count, ext_str_count,
+                           ext_str_size, ext_str_limit));
 
        TR(TRACE_DATABASE, ("READ %d extended-booleans @%d",
 
        TR(TRACE_DATABASE, ("READ %d extended-booleans @%d",
-               ext_bool_count, tell(fd)));
+                           ext_bool_count, tell(fd)));
        if ((ptr->ext_Booleans = ext_bool_count) != 0) {
            if (read(fd, ptr->Booleans + BOOLCOUNT, (unsigned)
        if ((ptr->ext_Booleans = ext_bool_count) != 0) {
            if (read(fd, ptr->Booleans + BOOLCOUNT, (unsigned)
-                   ext_bool_count) != ext_bool_count)
+                    ext_bool_count) != ext_bool_count)
                return (0);
        }
        even_boundary(ext_bool_count);
 
        TR(TRACE_DATABASE, ("READ %d extended-numbers @%d",
                return (0);
        }
        even_boundary(ext_bool_count);
 
        TR(TRACE_DATABASE, ("READ %d extended-numbers @%d",
-               ext_num_count, tell(fd)));
+                           ext_num_count, tell(fd)));
        if ((ptr->ext_Numbers = ext_num_count) != 0) {
            if (!read_shorts(fd, buf, ext_num_count))
                return (0);
        if ((ptr->ext_Numbers = ext_num_count) != 0) {
            if (!read_shorts(fd, buf, ext_num_count))
                return (0);
@@ -307,7 +308,7 @@ read_termtype(int fd, TERMTYPE * ptr)
            return (0);
 
        TR(TRACE_DATABASE, ("READ %d bytes of extended-strings @%d",
            return (0);
 
        TR(TRACE_DATABASE, ("READ %d bytes of extended-strings @%d",
-               ext_str_limit, tell(fd)));
+                           ext_str_limit, tell(fd)));
 
        if (ext_str_limit) {
            if ((ptr->ext_str_table = typeMalloc(char, ext_str_limit)) == 0)
 
        if (ext_str_limit) {
            if ((ptr->ext_str_table = typeMalloc(char, ext_str_limit)) == 0)
@@ -319,20 +320,20 @@ read_termtype(int fd, TERMTYPE * ptr)
 
        if ((ptr->ext_Strings = ext_str_count) != 0) {
            TR(TRACE_DATABASE,
 
        if ((ptr->ext_Strings = ext_str_count) != 0) {
            TR(TRACE_DATABASE,
-               ("Before computing extended-string capabilities str_count=%d, ext_str_count=%d",
-                   str_count, ext_str_count));
+              ("Before computing extended-string capabilities str_count=%d, ext_str_count=%d",
+               str_count, ext_str_count));
            convert_strings(buf, ptr->Strings + str_count, ext_str_count,
            convert_strings(buf, ptr->Strings + str_count, ext_str_count,
-               ext_str_limit, ptr->ext_str_table);
+                           ext_str_limit, ptr->ext_str_table);
            for (i = ext_str_count - 1; i >= 0; i--) {
                TR(TRACE_DATABASE, ("MOVE from [%d:%d] %s",
            for (i = ext_str_count - 1; i >= 0; i--) {
                TR(TRACE_DATABASE, ("MOVE from [%d:%d] %s",
-                       i, i + str_count,
-                       _nc_visbuf(ptr->Strings[i + str_count])));
+                                   i, i + str_count,
+                                   _nc_visbuf(ptr->Strings[i + str_count])));
                ptr->Strings[i + STRCOUNT] = ptr->Strings[i + str_count];
                if (VALID_STRING(ptr->Strings[i + STRCOUNT]))
                    base += (strlen(ptr->Strings[i + STRCOUNT]) + 1);
                TR(TRACE_DATABASE, ("... to    [%d] %s",
                ptr->Strings[i + STRCOUNT] = ptr->Strings[i + str_count];
                if (VALID_STRING(ptr->Strings[i + STRCOUNT]))
                    base += (strlen(ptr->Strings[i + STRCOUNT]) + 1);
                TR(TRACE_DATABASE, ("... to    [%d] %s",
-                       i + STRCOUNT,
-                       _nc_visbuf(ptr->Strings[i + STRCOUNT])));
+                                   i + STRCOUNT,
+                                   _nc_visbuf(ptr->Strings[i + STRCOUNT])));
            }
        }
 
            }
        }
 
@@ -340,23 +341,23 @@ read_termtype(int fd, TERMTYPE * ptr)
            if ((ptr->ext_Names = typeCalloc(char *, need)) == 0)
                  return (0);
            TR(TRACE_DATABASE,
            if ((ptr->ext_Names = typeCalloc(char *, need)) == 0)
                  return (0);
            TR(TRACE_DATABASE,
-               ("ext_NAMES starting @%d in extended_strings, first = %s",
-                   base, _nc_visbuf(ptr->ext_str_table + base)));
+              ("ext_NAMES starting @%d in extended_strings, first = %s",
+               base, _nc_visbuf(ptr->ext_str_table + base)));
            convert_strings(buf + (2 * ext_str_count), ptr->ext_Names, need,
            convert_strings(buf + (2 * ext_str_count), ptr->ext_Names, need,
-               ext_str_limit, ptr->ext_str_table + base);
+                           ext_str_limit, ptr->ext_str_table + base);
        }
 
        T(("...done reading terminfo bool %d(%d) num %d(%d) str %d(%d)",
        }
 
        T(("...done reading terminfo bool %d(%d) num %d(%d) str %d(%d)",
-               ptr->num_Booleans, ptr->ext_Booleans,
-               ptr->num_Numbers, ptr->ext_Numbers,
-               ptr->num_Strings, ptr->ext_Strings));
+          ptr->num_Booleans, ptr->ext_Booleans,
+          ptr->num_Numbers, ptr->ext_Numbers,
+          ptr->num_Strings, ptr->ext_Strings));
 
        TR(TRACE_DATABASE, ("extend: num_Booleans:%d", ptr->num_Booleans));
     } else
 #endif /* NCURSES_XNAMES */
     {
        T(("...done reading terminfo bool %d num %d str %d",
 
        TR(TRACE_DATABASE, ("extend: num_Booleans:%d", ptr->num_Booleans));
     } else
 #endif /* NCURSES_XNAMES */
     {
        T(("...done reading terminfo bool %d num %d str %d",
-               bool_count, num_count, str_count));
+          bool_count, num_count, str_count));
 #if NCURSES_XNAMES
        TR(TRACE_DATABASE, ("normal: num_Booleans:%d", ptr->num_Booleans));
 #endif
 #if NCURSES_XNAMES
        TR(TRACE_DATABASE, ("normal: num_Booleans:%d", ptr->num_Booleans));
 #endif
@@ -398,7 +399,7 @@ _nc_read_file_entry(const char *const filename, TERMTYPE * ptr)
  */
 static int
 _nc_read_tic_entry(char *const filename,
  */
 static int
 _nc_read_tic_entry(char *const filename,
-    const char *const dir, const char *ttn, TERMTYPE * const tp)
+                  const char *const dir, const char *ttn, TERMTYPE * const tp)
 {
 /* maximum safe length of terminfo root directory name */
 #define MAX_TPATH      (PATH_MAX - MAX_ALIAS - 6)
 {
 /* maximum safe length of terminfo root directory name */
 #define MAX_TPATH      (PATH_MAX - MAX_ALIAS - 6)
@@ -415,7 +416,7 @@ _nc_read_tic_entry(char *const filename,
  */
 static int
 _nc_read_terminfo_dirs(const char *dirs, char *const filename, const char *const
  */
 static int
 _nc_read_terminfo_dirs(const char *dirs, char *const filename, const char *const
-    ttn, TERMTYPE * const tp)
+                      ttn, TERMTYPE * const tp)
 {
     char *list, *a;
     const char *b;
 {
     char *list, *a;
     const char *b;
@@ -471,19 +472,22 @@ _nc_read_entry(const char *const tn, char *const filename, TERMTYPE * const tp)
        && _nc_read_tic_entry(filename, _nc_tic_dir(0), ttn, tp) == 1)
        return 1;
 
        && _nc_read_tic_entry(filename, _nc_tic_dir(0), ttn, tp) == 1)
        return 1;
 
-    if ((envp = getenv("TERMINFO")) != 0
-       && _nc_read_tic_entry(filename, _nc_tic_dir(envp), ttn, tp) == 1)
-       return 1;
+    if (use_terminfo_vars()) {
+       if ((envp = getenv("TERMINFO")) != 0
+           && _nc_read_tic_entry(filename, _nc_tic_dir(envp), ttn, tp) == 1)
+           return 1;
 
 
-    if ((envp = _nc_home_terminfo()) != 0) {
-       if (_nc_read_tic_entry(filename, envp, ttn, tp) == 1) {
-           return (1);
+       /* this is an ncurses extension */
+       if ((envp = _nc_home_terminfo()) != 0) {
+           if (_nc_read_tic_entry(filename, envp, ttn, tp) == 1) {
+               return (1);
+           }
        }
        }
-    }
 
 
-    /* this is an ncurses extension */
-    if ((envp = getenv("TERMINFO_DIRS")) != 0)
-       return _nc_read_terminfo_dirs(envp, filename, ttn, tp);
+       /* this is an ncurses extension */
+       if ((envp = getenv("TERMINFO_DIRS")) != 0)
+           return _nc_read_terminfo_dirs(envp, filename, ttn, tp);
+    }
 
     /* Try the system directory.  Note that the TERMINFO_DIRS value, if
      * defined by the configure script, begins with a ":", which will be
 
     /* Try the system directory.  Note that the TERMINFO_DIRS value, if
      * defined by the configure script, begins with a ":", which will be
index 26e72d40326345c20f5c702cc5b1145b2c677c7c..9487dd66b797d5183b8b42be55f77fa17e25745c 100644 (file)
@@ -55,9 +55,9 @@
 #include <tic.h>
 #include <term_entry.h>
 
 #include <tic.h>
 #include <term_entry.h>
 
-MODULE_ID("$Id: read_termcap.c,v 1.47 2000/04/15 16:53:19 Todd.C.Miller Exp $")
+MODULE_ID("$Id: read_termcap.c,v 1.51 2000/10/21 00:34:11 Philip.Guenther Exp $")
 
 
-#ifndef PURE_TERMINFO
+#if !PURE_TERMINFO
 
 #ifdef __EMX__
 #define is_pathname(s) ((((s) != 0) && ((s)[0] == '/')) \
 
 #ifdef __EMX__
 #define is_pathname(s) ((((s) != 0) && ((s)[0] == '/')) \
@@ -81,7 +81,8 @@ MODULE_ID("$Id: read_termcap.c,v 1.47 2000/04/15 16:53:19 Todd.C.Miller Exp $")
 #define _nc_cgetset   cgetset
 #else
 static int _nc_cgetmatch(char *, const char *);
 #define _nc_cgetset   cgetset
 #else
 static int _nc_cgetmatch(char *, const char *);
-static int _nc_getent(char **, unsigned *, int *, int, char **, int, const char *, int, char *);
+static int _nc_getent(char **, unsigned *, int *, int, char **, int, const char
+                     *, int, char *);
 static int _nc_nfcmp(const char *, char *);
 
 /*-
 static int _nc_nfcmp(const char *, char *);
 
 /*-
@@ -257,15 +258,15 @@ _nc_cgetent(char **buf, int *oline, char **db_array, const char *name)
 #define DOALLOC(size) typeRealloc(char, size, record)
 static int
 _nc_getent(
 #define DOALLOC(size) typeRealloc(char, size, record)
 static int
 _nc_getent(
-    char **cap,                        /* termcap-content */
-    unsigned *len,             /* length, needed for recursion */
-    int *beginning,            /* line-number at match */
-    int in_array,              /* index in 'db_array[] */
-    char **db_array,           /* list of files to search */
-    int fd,
-    const char *name,
-    int depth,
-    char *nfield)
+             char **cap,       /* termcap-content */
+             unsigned *len,    /* length, needed for recursion */
+             int *beginning,   /* line-number at match */
+             int in_array,     /* index in 'db_array[] */
+             char **db_array,  /* list of files to search */
+             int fd,
+             const char *name,
+             int depth,
+             char *nfield)
 {
     register char *r_end, *rp;
     int myfd = FALSE;
 {
     register char *r_end, *rp;
     int myfd = FALSE;
@@ -318,7 +319,7 @@ _nc_getent(
            if (fd >= 0) {
                (void) lseek(fd, (off_t) 0, SEEK_SET);
            } else if ((_nc_access(db_array[current], R_OK) < 0)
            if (fd >= 0) {
                (void) lseek(fd, (off_t) 0, SEEK_SET);
            } else if ((_nc_access(db_array[current], R_OK) < 0)
-               || (fd = open(db_array[current], O_RDONLY, 0)) < 0) {
+                      || (fd = open(db_array[current], O_RDONLY, 0)) < 0) {
                /* No error on unfound file. */
                if (errno == ENOENT)
                    continue;
                /* No error on unfound file. */
                if (errno == ENOENT)
                    continue;
@@ -481,7 +482,7 @@ _nc_getent(
            tcend = s;
 
            iret = _nc_getent(&icap, &ilen, &oline, current, db_array, fd,
            tcend = s;
 
            iret = _nc_getent(&icap, &ilen, &oline, current, db_array, fd,
-               tc, depth + 1, 0);
+                             tc, depth + 1, 0);
            newicap = icap;     /* Put into a register. */
            newilen = ilen;
            if (iret != TC_SUCCESS) {
            newicap = icap;     /* Put into a register. */
            newilen = ilen;
            if (iret != TC_SUCCESS) {
@@ -769,7 +770,7 @@ _nc_tgetent(char *bp, char **sourcename, int *lineno, const char *name)
 
     register char *p;
     register char *cp;
 
     register char *p;
     register char *cp;
-    char *dummy;
+    char *dummy = NULL;
     char **fname;
     char *home;
     int i;
     char **fname;
     char *home;
     int i;
@@ -777,12 +778,13 @@ _nc_tgetent(char *bp, char **sourcename, int *lineno, const char *name)
     char *pathvec[PVECSIZ];    /* to point to names in pathbuf */
     char **pvec;               /* holds usable tail of path vector */
     char *termpath;
     char *pathvec[PVECSIZ];    /* to point to names in pathbuf */
     char **pvec;               /* holds usable tail of path vector */
     char *termpath;
+    string_desc desc;
 
     fname = pathvec;
     pvec = pathvec;
     tbuf = bp;
     p = pathbuf;
 
     fname = pathvec;
     pvec = pathvec;
     tbuf = bp;
     p = pathbuf;
-    cp = getenv("TERMCAP");
+    cp = use_terminfo_vars() ? getenv("TERMCAP") : NULL;
 
     /*
      * TERMCAP can have one of two things in it.  It can be the name of a file
 
     /*
      * TERMCAP can have one of two things in it.  It can be the name of a file
@@ -793,22 +795,29 @@ _nc_tgetent(char *bp, char **sourcename, int *lineno, const char *name)
      * instead.  The path is found in the TERMPATH variable, or becomes
      * "$HOME/.termcap /etc/termcap" if no TERMPATH exists.
      */
      * instead.  The path is found in the TERMPATH variable, or becomes
      * "$HOME/.termcap /etc/termcap" if no TERMPATH exists.
      */
-    if (!is_pathname(cp)) {    /* no TERMCAP or it holds an entry */
+    _nc_str_init(&desc, pathbuf, sizeof(pathbuf));
+    if (cp == NULL) {
+       _nc_safe_strcpy(&desc, "/etc/termcap /usr/share/misc/termcap");
+    } else if (!is_pathname(cp)) {     /* TERMCAP holds an entry */
        if ((termpath = getenv("TERMPATH")) != 0) {
        if ((termpath = getenv("TERMPATH")) != 0) {
-           strncpy(pathbuf, termpath, PBUFSIZ - 1);
+           _nc_safe_strcat(&desc, termpath);
        } else {
        } else {
-           if ((home = getenv("HOME")) != 0 &&
-               strlen(home) < PBUFSIZ) {       /* setup path */
-               p += strlen(home);      /* path, looking in */
-               strcpy(pathbuf, home);  /* $HOME first */
-               *p++ = '/';
-           }                   /* if no $HOME look in current directory */
-#define        MY_PATH_DEF     ".termcap /etc/termcap /usr/share/misc/termcap"
-           strncpy(p, MY_PATH_DEF, (size_t) (PBUFSIZ - (p - pathbuf) - 1));
+           char temp[PBUFSIZ];
+           temp[0] = 0;
+           if ((home = getenv("HOME")) != 0 && *home != '\0'
+               && strchr(home, ' ') == 0
+               && strlen(home) < sizeof(temp) - 10) {  /* setup path */
+               sprintf(temp, "%s/", home);     /* $HOME first */
+           }
+           /* if no $HOME look in current directory */
+           strcat(temp, ".termcap");
+           _nc_safe_strcat(&desc, temp);
+           _nc_safe_strcat(&desc, " /etc/termcap");
+           _nc_safe_strcat(&desc, " /usr/share/misc/termcap");
        }
        }
-    } else                     /* user-defined name in TERMCAP */
-       strncpy(pathbuf, cp, PBUFSIZ - 1);      /* still can be tokenized */
-    pathbuf[PBUFSIZ - 1] = '\0';
+    } else {                   /* user-defined name in TERMCAP */
+       _nc_safe_strcat(&desc, cp);     /* still can be tokenized */
+    }
 
     *fname++ = pathbuf;                /* tokenize path into vector of names */
     while (*++p) {
 
     *fname++ = pathbuf;                /* tokenize path into vector of names */
     while (*++p) {
@@ -921,7 +930,7 @@ _nc_read_termcap_entry(const char *const tn, TERMTYPE * const tp)
     static char *source;
     static int lineno;
 
     static char *source;
     static int lineno;
 
-    if ((p = getenv("TERMCAP")) != 0
+    if (use_terminfo_vars() && (p = getenv("TERMCAP")) != 0
        && !is_pathname(p) && _nc_name_match(p, tn, "|:")) {
        /* TERMCAP holds a termcap entry */
        strncpy(tc, p, sizeof(tc) - 1);
        && !is_pathname(p) && _nc_name_match(p, tn, "|:")) {
        /* TERMCAP holds a termcap entry */
        strncpy(tc, p, sizeof(tc) - 1);
@@ -971,7 +980,7 @@ _nc_read_termcap_entry(const char *const tn, TERMTYPE * const tp)
     char pathbuf[PATH_MAX];
 
     termpaths[filecount] = 0;
     char pathbuf[PATH_MAX];
 
     termpaths[filecount] = 0;
-    if ((tc = getenv("TERMCAP")) != 0) {
+    if (use_terminfo_vars() && (tc = getenv("TERMCAP")) != 0) {
        if (is_pathname(tc)) {  /* interpret as a filename */
            ADD_TC(tc, 0);
        } else if (_nc_name_match(tc, tn, "|:")) {      /* treat as a capability file */
        if (is_pathname(tc)) {  /* interpret as a filename */
            ADD_TC(tc, 0);
        } else if (_nc_name_match(tc, tn, "|:")) {      /* treat as a capability file */
@@ -1004,7 +1013,7 @@ _nc_read_termcap_entry(const char *const tn, TERMTYPE * const tp)
 
 #define PRIVATE_CAP "%s/.termcap"
 
 
 #define PRIVATE_CAP "%s/.termcap"
 
-       if ((h = getenv("HOME")) != NULL
+       if ((h = getenv("HOME")) != NULL && *h != '\0'
            && (strlen(h) + sizeof(PRIVATE_CAP)) < PATH_MAX) {
            /* user's .termcap, if any, should override it */
            (void) strcpy(envhome, h);
            && (strlen(h) + sizeof(PRIVATE_CAP)) < PATH_MAX) {
            /* user's .termcap, if any, should override it */
            (void) strcpy(envhome, h);
diff --git a/ncurses/tinfo/strings.c b/ncurses/tinfo/strings.c
new file mode 100644 (file)
index 0000000..8198ec4
--- /dev/null
@@ -0,0 +1,139 @@
+/****************************************************************************
+ * Copyright (c) 2000 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            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *  Author: Thomas E. Dickey                                                *
+ ****************************************************************************/
+
+/*
+**     lib_mvcur.c
+**/
+
+#include <curses.priv.h>
+
+MODULE_ID("$Id")
+
+/****************************************************************************
+ * Useful string functions (especially for mvcur)
+ ****************************************************************************/
+
+#if !HAVE_STRSTR
+char *
+_nc_strstr(const char *haystack, const char *needle)
+{
+    size_t len1 = strlen(haystack);
+    size_t len2 = strlen(needle);
+    char *result = 0;
+
+    while ((len1 != 0) && (len1-- >= len2)) {
+       if (!strncmp(haystack, needle, len2)) {
+           result = haystack;
+           break;
+       }
+       haystack++;
+    }
+    return result;
+}
+#endif
+
+/*
+ * Initialize the descriptor so we can append to it.
+ */
+string_desc *
+_nc_str_init(string_desc * dst, char *src, size_t len)
+{
+    if (dst != 0) {
+       dst->s_head = src;
+       dst->s_tail = src;
+       dst->s_size = len - 1;
+       if (src != 0)
+           *src = 0;
+    }
+    return dst;
+}
+
+/*
+ * Initialize the descriptor for only tracking the amount of memory used.
+ */
+string_desc *
+_nc_str_null(string_desc * dst, size_t len)
+{
+    return _nc_str_init(dst, 0, len);
+}
+
+/*
+ * Copy a descriptor
+ */
+string_desc *
+_nc_str_copy(string_desc * dst, string_desc * src)
+{
+    *dst = *src;
+    return dst;
+}
+
+/*
+ * Replaces strcat into a fixed buffer, returning false on failure.
+ */
+bool
+_nc_safe_strcat(string_desc * dst, const char *src)
+{
+    if (src != 0) {
+       size_t len = strlen(src);
+
+       if (len < dst->s_size) {
+           if (dst->s_tail != 0) {
+               strcpy(dst->s_tail, src);
+               dst->s_tail += len;
+           }
+           dst->s_size -= len;
+           return TRUE;
+       }
+    }
+    return FALSE;
+}
+
+/*
+ * Replaces strcpy into a fixed buffer, returning false on failure.
+ */
+bool
+_nc_safe_strcpy(string_desc * dst, const char *src)
+{
+    if (src != 0) {
+       size_t len = strlen(src);
+
+       if (len < dst->s_size) {
+           if (dst->s_head != 0) {
+               strcpy(dst->s_head, src);
+               dst->s_tail = dst->s_head + len;
+           }
+           dst->s_size -= len;
+           return TRUE;
+       }
+    }
+    return FALSE;
+}
index 12aedd6e565ca942087e9512300270516ec66899..af4b4fda2a3acb695b57e77e8d4e8adc13b5baaf 100644 (file)
@@ -52,7 +52,7 @@
 #define TRACE_OUT(p)           /*nothing */
 #endif
 
 #define TRACE_OUT(p)           /*nothing */
 #endif
 
-MODULE_ID("$Id: write_entry.c,v 1.52 2000/03/11 12:23:42 tom Exp $")
+MODULE_ID("$Id: write_entry.c,v 1.53 2000/10/04 02:32:14 tom Exp $")
 
 static int total_written;
 
 
 static int total_written;
 
@@ -116,10 +116,12 @@ _nc_set_writedir(char *dir)
     const char *destination;
     char actual[PATH_MAX];
 
     const char *destination;
     char actual[PATH_MAX];
 
+    if (dir == 0
+     && use_terminfo_vars())
+       dir = getenv("TERMINFO");
+
     if (dir != 0)
        (void) _nc_tic_dir(dir);
     if (dir != 0)
        (void) _nc_tic_dir(dir);
-    else if (getenv("TERMINFO") != NULL)
-       (void) _nc_tic_dir(getenv("TERMINFO"));
 
     destination = _nc_tic_dir(0);
     if (make_directory(destination) < 0) {
 
     destination = _nc_tic_dir(0);
     if (make_directory(destination) < 0) {
index d9e007517f76b72cd7ecb8f10d72ade4c2b2a927..c65c584f860095c5fd06f30973064cc3537c879a 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998 Free Software Foundation, Inc.                        *
+ * Copyright (c) 1998,2000 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
  ****************************************************************************/
 
  *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
  ****************************************************************************/
 
-
-
 /*
  *     lib_traceatr.c - Tracing/Debugging routines (attributes)
  */
 
 #include <curses.priv.h>
 /*
  *     lib_traceatr.c - Tracing/Debugging routines (attributes)
  */
 
 #include <curses.priv.h>
-#include <term.h>      /* acs_chars */
+#include <term.h>              /* acs_chars */
 
 
-MODULE_ID("$Id: lib_traceatr.c,v 1.28 1998/03/21 18:39:36 tom Exp $")
+MODULE_ID("$Id: lib_traceatr.c,v 1.30 2000/07/29 18:06:09 tom Exp $")
 
 #define COLOR_OF(c) (c < 0 || c > 7 ? "default" : colors[c].name)
 
 #ifdef TRACE
 
 #define COLOR_OF(c) (c < 0 || c > 7 ? "default" : colors[c].name)
 
 #ifdef TRACE
-char *_traceattr2(int bufnum, attr_t newmode)
+char *
+_traceattr2(int bufnum, attr_t newmode)
 {
 {
-char   *buf = _nc_trace_buf(bufnum, BUFSIZ);
-char   *tmp = buf;
-static const   struct {unsigned int val; const char *name;}
-names[] =
+    char *buf = _nc_trace_buf(bufnum, BUFSIZ);
+    char *tmp = buf;
+    static const struct {
+       unsigned int val;
+       const char *name;
+    } names[] =
     {
     {
+       /* *INDENT-OFF* */
        { A_STANDOUT,           "A_STANDOUT" },
        { A_UNDERLINE,          "A_UNDERLINE" },
        { A_REVERSE,            "A_REVERSE" },
        { A_STANDOUT,           "A_STANDOUT" },
        { A_UNDERLINE,          "A_UNDERLINE" },
        { A_REVERSE,            "A_REVERSE" },
@@ -64,9 +66,12 @@ names[] =
        { A_CHARTEXT,           "A_CHARTEXT" },
        { A_NORMAL,             "A_NORMAL" },
        { A_COLOR,              "A_COLOR" },
        { A_CHARTEXT,           "A_CHARTEXT" },
        { A_NORMAL,             "A_NORMAL" },
        { A_COLOR,              "A_COLOR" },
+       /* *INDENT-ON* */
+
     },
     },
-colors[] =
+       colors[] =
     {
     {
+       /* *INDENT-OFF* */
        { COLOR_BLACK,          "COLOR_BLACK" },
        { COLOR_RED,            "COLOR_RED" },
        { COLOR_GREEN,          "COLOR_GREEN" },
        { COLOR_BLACK,          "COLOR_BLACK" },
        { COLOR_RED,            "COLOR_RED" },
        { COLOR_GREEN,          "COLOR_GREEN" },
@@ -75,122 +80,125 @@ colors[] =
        { COLOR_MAGENTA,        "COLOR_MAGENTA" },
        { COLOR_CYAN,           "COLOR_CYAN" },
        { COLOR_WHITE,          "COLOR_WHITE" },
        { COLOR_MAGENTA,        "COLOR_MAGENTA" },
        { COLOR_CYAN,           "COLOR_CYAN" },
        { COLOR_WHITE,          "COLOR_WHITE" },
+       /* *INDENT-ON* */
+
     };
     };
-size_t n;
-unsigned save_nc_tracing = _nc_tracing;
-       _nc_tracing = 0;
-
-       strcpy(tmp++, "{");
-
-       for (n = 0; n < SIZEOF(names); n++) {
-               if ((newmode & names[n].val) != 0) {
-                       if (buf[1] != '\0')
-                               strcat(tmp, "|");
-                       strcat(tmp, names[n].name);
-                       tmp += strlen(tmp);
-
-                       if (names[n].val == A_COLOR)
-                       {
-                               short pairnum = PAIR_NUMBER(newmode);
-                               short fg, bg;
-       
-                               if (pair_content(pairnum, &fg, &bg) == OK)
-                                       (void) sprintf(tmp,
-                                               "{%d = {%s, %s}}",
-                                               pairnum,
-                                               COLOR_OF(fg),
-                                               COLOR_OF(bg)
-                                               );
-                               else
-                                       (void) sprintf(tmp, "{%d}", pairnum);
-                       }
-               }
-       }
-       if (AttrOf(newmode) == A_NORMAL) {
-               if (buf[1] != '\0')
-                       strcat(tmp, "|");
-               strcat(tmp, "A_NORMAL");
+    size_t n;
+    unsigned save_nc_tracing = _nc_tracing;
+    _nc_tracing = 0;
+
+    strcpy(tmp++, "{");
+
+    for (n = 0; n < SIZEOF(names); n++) {
+       if ((newmode & names[n].val) != 0) {
+           if (buf[1] != '\0')
+               strcat(tmp, "|");
+           strcat(tmp, names[n].name);
+           tmp += strlen(tmp);
+
+           if (names[n].val == A_COLOR) {
+               short pairnum = PAIR_NUMBER(newmode);
+               short fg, bg;
+
+               if (pair_content(pairnum, &fg, &bg) == OK)
+                   (void) sprintf(tmp,
+                                  "{%d = {%s, %s}}",
+                                  pairnum,
+                                  COLOR_OF(fg),
+                                  COLOR_OF(bg)
+                       );
+               else
+                   (void) sprintf(tmp, "{%d}", pairnum);
+           }
        }
        }
+    }
+    if (AttrOf(newmode) == A_NORMAL) {
+       if (buf[1] != '\0')
+           strcat(tmp, "|");
+       strcat(tmp, "A_NORMAL");
+    }
 
 
-       _nc_tracing = save_nc_tracing;
-       return (strcat(buf,"}"));
+    _nc_tracing = save_nc_tracing;
+    return (strcat(buf, "}"));
 }
 
 }
 
-char *_traceattr(attr_t newmode)
+char *
+_traceattr(attr_t newmode)
 {
 {
-       return _traceattr2(0, newmode);
+    return _traceattr2(0, newmode);
 }
 
 /* Trace 'int' return-values */
 }
 
 /* Trace 'int' return-values */
-attr_t _nc_retrace_attr_t(attr_t code)
+attr_t
+_nc_retrace_attr_t(attr_t code)
 {
 {
-       T((T_RETURN("%s"), _traceattr(code)));
-       return code;
+    T((T_RETURN("%s"), _traceattr(code)));
+    return code;
 }
 
 }
 
-char *_tracechtype2(int bufnum, chtype ch)
+char *
+_tracechtype2(int bufnum, chtype ch)
 {
 {
-char   *buf = _nc_trace_buf(bufnum, BUFSIZ);
-char   *found = 0;
+    char *buf = _nc_trace_buf(bufnum, BUFSIZ);
+    char *found = 0;
 
     strcpy(buf, "{");
 
     strcpy(buf, "{");
-    if (ch & A_ALTCHARSET)
-    {
-       char    *cp;
-       static const    struct {unsigned int val; const char *name;}
-       names[] =
+    if (ch & A_ALTCHARSET) {
+       char *cp;
+       static const struct {
+           unsigned int val;
+           const char *name;
+       } names[] =
        {
        {
-           {'l', "ACS_ULCORNER"},      /* upper left corner */
-           {'m', "ACS_LLCORNER"},      /* lower left corner */
-           {'k', "ACS_URCORNER"},      /* upper right corner */
-           {'j', "ACS_LRCORNER"},      /* lower right corner */
-           {'t', "ACS_LTEE"},          /* tee pointing right */
-           {'u', "ACS_RTEE"},          /* tee pointing left */
-           {'v', "ACS_BTEE"},          /* tee pointing up */
-           {'w', "ACS_TTEE"},          /* tee pointing down */
-           {'q', "ACS_HLINE"},         /* horizontal line */
-           {'x', "ACS_VLINE"},         /* vertical line */
-           {'n', "ACS_PLUS"},          /* large plus or crossover */
-           {'o', "ACS_S1"},            /* scan line 1 */
-           {'s', "ACS_S9"},            /* scan line 9 */
-           {'`', "ACS_DIAMOND"},       /* diamond */
-           {'a', "ACS_CKBOARD"},       /* checker board (stipple) */
-           {'f', "ACS_DEGREE"},        /* degree symbol */
-           {'g', "ACS_PLMINUS"},       /* plus/minus */
-           {'~', "ACS_BULLET"},        /* bullet */
-           {',', "ACS_LARROW"},        /* arrow pointing left */
-           {'+', "ACS_RARROW"},        /* arrow pointing right */
-           {'.', "ACS_DARROW"},        /* arrow pointing down */
-           {'-', "ACS_UARROW"},        /* arrow pointing up */
-           {'h', "ACS_BOARD"},         /* board of squares */
-           {'i', "ACS_LANTERN"},       /* lantern symbol */
-           {'0', "ACS_BLOCK"},         /* solid square block */
-           {'p', "ACS_S3"},            /* scan line 3 */
-           {'r', "ACS_S7"},            /* scan line 7 */
-           {'y', "ACS_LEQUAL"},        /* less/equal */
-           {'z', "ACS_GEQUAL"},        /* greater/equal */
-           {'{', "ACS_PI"},            /* Pi */
-           {'|', "ACS_NEQUAL"},        /* not equal */
-           {'}', "ACS_STERLING"},      /* UK pound sign */
-           {'\0',(char *)0}
+           /* *INDENT-OFF* */
+           { 'l', "ACS_ULCORNER" },    /* upper left corner */
+           { 'm', "ACS_LLCORNER" },    /* lower left corner */
+           { 'k', "ACS_URCORNER" },    /* upper right corner */
+           { 'j', "ACS_LRCORNER" },    /* lower right corner */
+           { 't', "ACS_LTEE" },        /* tee pointing right */
+           { 'u', "ACS_RTEE" },        /* tee pointing left */
+           { 'v', "ACS_BTEE" },        /* tee pointing up */
+           { 'w', "ACS_TTEE" },        /* tee pointing down */
+           { 'q', "ACS_HLINE" },       /* horizontal line */
+           { 'x', "ACS_VLINE" },       /* vertical line */
+           { 'n', "ACS_PLUS" },        /* large plus or crossover */
+           { 'o', "ACS_S1" },          /* scan line 1 */
+           { 's', "ACS_S9" },          /* scan line 9 */
+           { '`', "ACS_DIAMOND" },     /* diamond */
+           { 'a', "ACS_CKBOARD" },     /* checker board (stipple) */
+           { 'f', "ACS_DEGREE" },      /* degree symbol */
+           { 'g', "ACS_PLMINUS" },     /* plus/minus */
+           { '~', "ACS_BULLET" },      /* bullet */
+           { ',', "ACS_LARROW" },      /* arrow pointing left */
+           { '+', "ACS_RARROW" },      /* arrow pointing right */
+           { '.', "ACS_DARROW" },      /* arrow pointing down */
+           { '-', "ACS_UARROW" },      /* arrow pointing up */
+           { 'h', "ACS_BOARD" },       /* board of squares */
+           { 'i', "ACS_LANTERN" },     /* lantern symbol */
+           { '0', "ACS_BLOCK" },       /* solid square block */
+           { 'p', "ACS_S3" },          /* scan line 3 */
+           { 'r', "ACS_S7" },          /* scan line 7 */
+           { 'y', "ACS_LEQUAL" },      /* less/equal */
+           { 'z', "ACS_GEQUAL" },      /* greater/equal */
+           { '{', "ACS_PI" },          /* Pi */
+           { '|', "ACS_NEQUAL" },      /* not equal */
+           { '}', "ACS_STERLING" },    /* UK pound sign */
+           { '\0', (char *) 0 }
+               /* *INDENT-OFF* */
        },
        },
-       *sp;
+           *sp;
 
 
-       for (cp = acs_chars; cp[0] && cp[1]; cp += 2)
-       {
-           if (TextOf(cp[1]) == TextOf(ch))
-           {
+       for (cp = acs_chars; cp[0] && cp[1]; cp += 2) {
+           if (TextOf(cp[1]) == TextOf(ch)) {
                found = cp;
                /* don't exit from loop - there may be redefinitions */
            }
        }
 
                found = cp;
                /* don't exit from loop - there may be redefinitions */
            }
        }
 
-       if (found != 0)
-       {
+       if (found != 0) {
            ch = TextOf(*found);
            for (sp = names; sp->val; sp++)
            ch = TextOf(*found);
            for (sp = names; sp->val; sp++)
-               if (sp->val == ch)
-               {
+               if (sp->val == ch) {
                    (void) strcat(buf, sp->name);
                    ch &= ~A_ALTCHARSET;
                    break;
                    (void) strcat(buf, sp->name);
                    ch &= ~A_ALTCHARSET;
                    break;
@@ -202,17 +210,31 @@ char      *found = 0;
        (void) strcat(buf, _tracechar(TextOf(ch)));
 
     if (AttrOf(ch) != A_NORMAL)
        (void) strcat(buf, _tracechar(TextOf(ch)));
 
     if (AttrOf(ch) != A_NORMAL)
-       (void) sprintf(buf + strlen(buf), " | %s", _traceattr2(bufnum+20,AttrOf(ch)));
+       (void) sprintf(buf + strlen(buf), " | %s",
+               _traceattr2(bufnum + 20, AttrOf(ch)));
 
     strcat(buf, "}");
 
     strcat(buf, "}");
-    return(buf);
+    return (buf);
 }
 
 }
 
-char *_tracechtype(chtype ch)
+char *
+_tracechtype(chtype ch)
 {
 {
-       return _tracechtype2(0, ch);
+    return _tracechtype2(0, ch);
 }
 }
+
+/* Trace 'chtype' return-values */
+attr_t
+_nc_retrace_chtype(attr_t code)
+{
+    T((T_RETURN("%s"), _tracechtype(code)));
+    return code;
+}
+
 #else
 #else
-extern void _nc_lib_traceatr(void);
-       void _nc_lib_traceatr(void) { }
+extern void _nc_lib_traceatr(void);
+void
+_nc_lib_traceatr(void)
+{
+}
 #endif /* TRACE */
 #endif /* TRACE */
index 6dbb2f793ad0d1bbea81ace51c09edc9d110c0a7..a8cb343be59f3d72e3bdbca50300a198193dad5b 100644 (file)
@@ -34,9 +34,9 @@
 #include <curses.priv.h>
 #include <term.h>              /* cur_term */
 
 #include <curses.priv.h>
 #include <term.h>              /* cur_term */
 
-MODULE_ID("$Id: lib_tracebits.c,v 1.5 2000/02/13 01:01:55 tom Exp $")
+MODULE_ID("$Id: lib_tracebits.c,v 1.7 2000/09/02 18:08:37 tom Exp $")
 
 
-#if defined(SVR4_TERMIO) && !defined(_POSIX_SOURCE)
+#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
 #define _POSIX_SOURCE
 #endif
 
 #define _POSIX_SOURCE
 #endif
 
@@ -153,30 +153,41 @@ _nc_tracebits(void)
        lookup_bits(buf, cflags, "cflags", cur_term->Nttyb.c_cflag);
 
 #if defined(CS5) && defined(CS8)
        lookup_bits(buf, cflags, "cflags", cur_term->Nttyb.c_cflag);
 
 #if defined(CS5) && defined(CS8)
-    switch (cur_term->Nttyb.c_cflag & CSIZE) {
-#if defined(CS5) && (CS5 != 0)
-    case CS5:
-       strcat(buf, "CS5 ");
-       break;
-#endif
-#if defined(CS6) && (CS6 != 0)
-    case CS6:
-       strcat(buf, "CS6 ");
-       break;
-#endif
-#if defined(CS7) && (CS7 != 0)
-    case CS7:
-       strcat(buf, "CS7 ");
-       break;
-#endif
-#if defined(CS8) && (CS8 != 0)
-    case CS8:
-       strcat(buf, "CS8 ");
-       break;
-#endif
-    default:
-       strcat(buf, "CSIZE? ");
-       break;
+    {
+       static struct {
+           char *name;
+           int value;
+       } csizes[] = {
+           {
+               "CS5 ", CS5
+           },
+#ifdef CS6
+           {
+               "CS6 ", CS6
+           },
+#endif
+#ifdef CS7
+           {
+               "CS7 ", CS7
+           },
+#endif
+           {
+               "CS8 ", CS8
+           },
+       };
+       char *result = "CSIZE? ";
+       int value = (cur_term->Nttyb.c_cflag & CSIZE);
+       unsigned n;
+
+       if (value != 0) {
+           for (n = 0; n < SIZEOF(csizes); n++) {
+               if (csizes[n].value == value) {
+                   result = csizes[n].name;
+                   break;
+               }
+           }
+       }
+       strcat(buf, result);
     }
 #endif
 
     }
 #endif
 
index b008becc4f07c4e2d8d54350e618579228b04985..e44f58343a5dc42d11b4ab66ee3fac4944460146 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 ##############################################################################
 #! /bin/sh
 ##############################################################################
-# Copyright (c) 1998 Free Software Foundation, Inc.                          #
+# Copyright (c) 1998,2000 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 "Software"), #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
@@ -29,7 +29,7 @@
 #
 # Author: Thomas E. Dickey <dickey@clark.net> 1997
 #
 #
 # Author: Thomas E. Dickey <dickey@clark.net> 1997
 #
-# $Id: MKexpanded.sh,v 1.7 1998/11/11 20:15:39 Alexander.V.Lukyanov Exp $
+# $Id: MKexpanded.sh,v 1.9 2000/09/02 22:55:21 tom Exp $
 #
 # Script to generate 'expanded.c', a dummy source that contains functions
 # corresponding to complex macros used in this library.  By making functions,
 #
 # Script to generate 'expanded.c', a dummy source that contains functions
 # corresponding to complex macros used in this library.  By making functions,
@@ -54,7 +54,7 @@ cat <<EOF
 /* generated by MKexpanded.sh */
 #include <curses.priv.h>
 #include <term.h>
 /* generated by MKexpanded.sh */
 #include <curses.priv.h>
 #include <term.h>
-#ifdef NCURSES_EXPANDED
+#if NCURSES_EXPANDED
 EOF
 
 cat >$TMP <<EOF
 EOF
 
 cat >$TMP <<EOF
@@ -76,10 +76,6 @@ void _nc_toggle_attr_off(attr_t *S, attr_t at)
 {
        toggle_attr_off(*S,at);
 }
 {
        toggle_attr_off(*S,at);
 }
-int _nc_can_clear_with(chtype ch)
-{
-       return can_clear_with(ch);
-}
 int _nc_DelCharCost(int count)
 {
        return DelCharCost(count);
 int _nc_DelCharCost(int count)
 {
        return DelCharCost(count);
index 190c59bd4a15c0ea5b8096ff86d20fc397ada5b5..03abaffb4d84997f7be0d0d7e14ec97ee60e8b6c 100644 (file)
 #include <term.h>
 #include <ctype.h>
 
 #include <term.h>
 #include <ctype.h>
 
-MODULE_ID("$Id: lib_mvcur.c,v 1.67 2000/06/24 21:13:51 tom Exp $")
-
-#define STRLEN(s)       (s != 0) ? strlen(s) : 0
+MODULE_ID("$Id: lib_mvcur.c,v 1.72 2000/10/08 00:58:25 tom Exp $")
 
 #define CURRENT_ROW    SP->_cursrow    /* phys cursor row */
 #define CURRENT_COLUMN SP->_curscol    /* phys cursor column */
 
 #define CURRENT_ROW    SP->_cursrow    /* phys cursor row */
 #define CURRENT_COLUMN SP->_curscol    /* phys cursor column */
@@ -174,25 +172,6 @@ static float diff;
 
 static int normalized_cost(const char *const cap, int affcnt);
 
 
 static int normalized_cost(const char *const cap, int affcnt);
 
-#if !HAVE_STRSTR
-char *
-_nc_strstr(const char *haystack, const char *needle)
-{
-    size_t len1 = strlen(haystack);
-    size_t len2 = strlen(needle);
-    char *result = 0;
-
-    while ((len1 != 0) && (len1-- >= len2)) {
-       if (!strncmp(haystack, needle, len2)) {
-           result = haystack;
-           break;
-       }
-       haystack++;
-    }
-    return result;
-}
-#endif
-
 /****************************************************************************
  *
  * Initialization/wrapup (including cost pre-computation)
 /****************************************************************************
  *
  * Initialization/wrapup (including cost pre-computation)
@@ -205,7 +184,7 @@ trace_cost_of(const char *capname, const char *cap, int affcnt)
 {
     int result = _nc_msec_cost(cap, affcnt);
     TR(TRACE_CHARPUT | TRACE_MOVE,
 {
     int result = _nc_msec_cost(cap, affcnt);
     TR(TRACE_CHARPUT | TRACE_MOVE,
-       ("CostOf %s %d %s", capname, result, _nc_visbuf(cap)));
+       ("CostOf %s %d %s", capname, result, _nc_visbuf(cap)));
     return result;
 }
 #define CostOf(cap,affcnt) trace_cost_of(#cap,cap,affcnt);
     return result;
 }
 #define CostOf(cap,affcnt) trace_cost_of(#cap,cap,affcnt);
@@ -215,7 +194,7 @@ trace_normalized_cost(const char *capname, const char *cap, int affcnt)
 {
     int result = normalized_cost(cap, affcnt);
     TR(TRACE_CHARPUT | TRACE_MOVE,
 {
     int result = normalized_cost(cap, affcnt);
     TR(TRACE_CHARPUT | TRACE_MOVE,
-       ("NormalizedCost %s %d %s", capname, result, _nc_visbuf(cap)));
+       ("NormalizedCost %s %d %s", capname, result, _nc_visbuf(cap)));
     return result;
 }
 #define NormalizedCost(cap,affcnt) trace_normalized_cost(#cap,cap,affcnt);
     return result;
 }
 #define NormalizedCost(cap,affcnt) trace_normalized_cost(#cap,cap,affcnt);
@@ -235,12 +214,12 @@ _nc_msec_cost(const char *const cap, int affcnt)
        return (INFINITY);
     else {
        const char *cp;
        return (INFINITY);
     else {
        const char *cp;
-       float cum_cost = 0;
+       float cum_cost = 0.0;
 
        for (cp = cap; *cp; cp++) {
            /* extract padding, either mandatory or required */
            if (cp[0] == '$' && cp[1] == '<' && strchr(cp, '>')) {
 
        for (cp = cap; *cp; cp++) {
            /* extract padding, either mandatory or required */
            if (cp[0] == '$' && cp[1] == '<' && strchr(cp, '>')) {
-               float number = 0;
+               float number = 0.0;
 
                for (cp += 2; *cp != '>'; cp++) {
                    if (isdigit(*cp))
 
                for (cp += 2; *cp != '>'; cp++) {
                    if (isdigit(*cp))
@@ -251,7 +230,7 @@ _nc_msec_cost(const char *const cap, int affcnt)
                        number += (*cp - '0') / 10.0;
                }
 
                        number += (*cp - '0') / 10.0;
                }
 
-#ifdef NCURSES_NO_PADDING
+#if NCURSES_NO_PADDING
                if (!(SP->_no_padding))
 #endif
                    cum_cost += number * 10;
                if (!(SP->_no_padding))
 #endif
                    cum_cost += number * 10;
@@ -402,13 +381,8 @@ _nc_mvcur_init(void)
     SP->_hpa_ch_cost = NormalizedCost(tparm(column_address, 23), 1);
     SP->_cuf_ch_cost = NormalizedCost(tparm(parm_right_cursor, 23), 1);
     SP->_inline_cost = min(SP->_cup_ch_cost,
     SP->_hpa_ch_cost = NormalizedCost(tparm(column_address, 23), 1);
     SP->_cuf_ch_cost = NormalizedCost(tparm(parm_right_cursor, 23), 1);
     SP->_inline_cost = min(SP->_cup_ch_cost,
-       min(SP->_hpa_ch_cost,
-           SP->_cuf_ch_cost));
-
-    /* pre-compute some capability lengths */
-    SP->_carriage_return_length = STRLEN(carriage_return);
-    SP->_cursor_home_length = STRLEN(cursor_home);
-    SP->_cursor_to_ll_length = STRLEN(cursor_to_ll);
+                          min(SP->_hpa_ch_cost,
+                              SP->_cuf_ch_cost));
 
     /*
      * If save_cursor is used within enter_ca_mode, we should not use it for
 
     /*
      * If save_cursor is used within enter_ca_mode, we should not use it for
@@ -468,18 +442,17 @@ _nc_mvcur_wrap(void)
  * Perform repeated-append, returning cost
  */
 static inline int
  * Perform repeated-append, returning cost
  */
 static inline int
-repeated_append(int total, int num, int repeat, char *dst, const char *src)
+repeated_append(string_desc * target, int total, int num, int repeat, const char *src)
 {
 {
-    register size_t src_len = strlen(src);
-    register size_t dst_len = STRLEN(dst);
-
-    if ((dst_len + repeat * src_len) < OPT_SIZE - 1) {
-       total += (num * repeat);
-       if (dst) {
-           dst += dst_len;
-           while (repeat-- > 0) {
-               (void) strcpy(dst, src);
-               dst += src_len;
+    size_t need = repeat * strlen(src);
+
+    if (need < target->s_size) {
+       while (repeat-- > 0) {
+           if (_nc_safe_strcat(target, src)) {
+               total += num;
+           } else {
+               total = INFINITY;
+               break;
            }
        }
     } else {
            }
        }
     } else {
@@ -497,53 +470,51 @@ repeated_append(int total, int num, int repeat, char *dst, const char *src)
  */
 #define LASTTAB(fr)    ((fr > 0) ? ((fr - 1) / init_tabs) * init_tabs : -1)
 
  */
 #define LASTTAB(fr)    ((fr > 0) ? ((fr - 1) / init_tabs) * init_tabs : -1)
 
-/* Note: we'd like to inline this for speed, but GNU C barfs on the attempt. */
-
 static int
 static int
-relative_move(char *result, int from_y, int from_x, int to_y, int to_x, bool ovw)
+relative_move(string_desc * target, int from_y, int from_x, int to_y, int
+             to_x, bool ovw)
 /* move via local motions (cuu/cuu1/cud/cud1/cub1/cub/cuf1/cuf/vpa/hpa) */
 {
 /* move via local motions (cuu/cuu1/cud/cud1/cub1/cub/cuf1/cuf/vpa/hpa) */
 {
+    string_desc save;
     int n, vcost = 0, hcost = 0;
 
     int n, vcost = 0, hcost = 0;
 
-    if (result)
-       result[0] = '\0';
+    (void) _nc_str_copy(&save, target);
 
     if (to_y != from_y) {
        vcost = INFINITY;
 
 
     if (to_y != from_y) {
        vcost = INFINITY;
 
-       if (row_address) {
-           if (result)
-               (void) strcpy(result, tparm(row_address, to_y));
+       if (row_address != 0
+           && _nc_safe_strcat(target, tparm(row_address, to_y))) {
            vcost = SP->_vpa_cost;
        }
 
        if (to_y > from_y) {
            n = (to_y - from_y);
 
            vcost = SP->_vpa_cost;
        }
 
        if (to_y > from_y) {
            n = (to_y - from_y);
 
-           if (parm_down_cursor && SP->_cud_cost < vcost) {
-               if (result)
-                   (void) strcpy(result, tparm(parm_down_cursor, n));
+           if (parm_down_cursor
+               && SP->_cud_cost < vcost
+               && _nc_safe_strcat(_nc_str_copy(target, &save),
+                                  tparm(parm_down_cursor, n))) {
                vcost = SP->_cud_cost;
            }
 
            if (cursor_down && (n * SP->_cud1_cost < vcost)) {
                vcost = SP->_cud_cost;
            }
 
            if (cursor_down && (n * SP->_cud1_cost < vcost)) {
-               if (result)
-                   result[0] = '\0';
-               vcost = repeated_append(0, SP->_cud1_cost, n, result, cursor_down);
+               vcost = repeated_append(_nc_str_copy(target, &save), 0,
+                                       SP->_cud1_cost, n, cursor_down);
            }
        } else {                /* (to_y < from_y) */
            n = (from_y - to_y);
 
            }
        } else {                /* (to_y < from_y) */
            n = (from_y - to_y);
 
-           if (parm_up_cursor && SP->_cup_cost < vcost) {
-               if (result)
-                   (void) strcpy(result, tparm(parm_up_cursor, n));
+           if (parm_up_cursor
+               && SP->_cup_cost < vcost
+               && _nc_safe_strcat(_nc_str_copy(target, &save),
+                                  tparm(parm_up_cursor, n))) {
                vcost = SP->_cup_cost;
            }
 
            if (cursor_up && (n * SP->_cuu1_cost < vcost)) {
                vcost = SP->_cup_cost;
            }
 
            if (cursor_up && (n * SP->_cuu1_cost < vcost)) {
-               if (result)
-                   result[0] = '\0';
-               vcost = repeated_append(0, SP->_cuu1_cost, n, result, cursor_up);
+               vcost = repeated_append(_nc_str_copy(target, &save), 0,
+                                       SP->_cuu1_cost, n, cursor_up);
            }
        }
 
            }
        }
 
@@ -551,33 +522,34 @@ relative_move(char *result, int from_y, int from_x, int to_y, int to_x, bool ovw
            return (INFINITY);
     }
 
            return (INFINITY);
     }
 
-    if (result)
-       result += strlen(result);
+    save = *target;
 
     if (to_x != from_x) {
        char str[OPT_SIZE];
 
     if (to_x != from_x) {
        char str[OPT_SIZE];
+       string_desc check;
 
        hcost = INFINITY;
 
 
        hcost = INFINITY;
 
-       if (column_address) {
-           if (result)
-               (void) strcpy(result, tparm(column_address, to_x));
+       if (column_address
+           && _nc_safe_strcat(_nc_str_copy(target, &save),
+                              tparm(column_address, to_x))) {
            hcost = SP->_hpa_cost;
        }
 
        if (to_x > from_x) {
            n = to_x - from_x;
 
            hcost = SP->_hpa_cost;
        }
 
        if (to_x > from_x) {
            n = to_x - from_x;
 
-           if (parm_right_cursor && SP->_cuf_cost < hcost) {
-               if (result)
-                   (void) strcpy(result, tparm(parm_right_cursor, n));
+           if (parm_right_cursor
+               && SP->_cuf_cost < hcost
+               && _nc_safe_strcat(_nc_str_copy(target, &save),
+                                  tparm(parm_right_cursor, n))) {
                hcost = SP->_cuf_cost;
            }
 
            if (cursor_right) {
                int lhcost = 0;
 
                hcost = SP->_cuf_cost;
            }
 
            if (cursor_right) {
                int lhcost = 0;
 
-               str[0] = '\0';
+               (void) _nc_str_init(&check, str, sizeof(str));
 
 #if USE_HARD_TABS
                /* use hard tabs, if we have them, to do as much as possible */
 
 #if USE_HARD_TABS
                /* use hard tabs, if we have them, to do as much as possible */
@@ -585,8 +557,8 @@ relative_move(char *result, int from_y, int from_x, int to_y, int to_x, bool ovw
                    int nxt, fr;
 
                    for (fr = from_x; (nxt = NEXTTAB(fr)) <= to_x; fr = nxt) {
                    int nxt, fr;
 
                    for (fr = from_x; (nxt = NEXTTAB(fr)) <= to_x; fr = nxt) {
-                       lhcost = repeated_append(lhcost, SP->_ht_cost, 1,
-                           str, tab);
+                       lhcost = repeated_append(&check, lhcost,
+                                                SP->_ht_cost, 1, tab);
                        if (lhcost == INFINITY)
                            break;
                    }
                        if (lhcost == INFINITY)
                            break;
                    }
@@ -597,7 +569,7 @@ relative_move(char *result, int from_y, int from_x, int to_y, int to_x, bool ovw
 #endif /* USE_HARD_TABS */
 
 #if defined(REAL_ATTR) && defined(WANT_CHAR)
 #endif /* USE_HARD_TABS */
 
 #if defined(REAL_ATTR) && defined(WANT_CHAR)
-#ifdef BSD_TPUTS
+#if BSD_TPUTS
                /*
                 * If we're allowing BSD-style padding in tputs, don't generate
                 * a string with a leading digit.  Otherwise, that will be
                /*
                 * If we're allowing BSD-style padding in tputs, don't generate
                 * a string with a leading digit.  Otherwise, that will be
@@ -606,6 +578,7 @@ relative_move(char *result, int from_y, int from_x, int to_y, int to_x, bool ovw
                 */
                if (ovw
                    && n > 0
                 */
                if (ovw
                    && n > 0
+                   && n < (int) check.s_size
                    && vcost == 0
                    && str[0] == '\0'
                    && isdigit(TextOf(WANT_CHAR(to_y, from_x))))
                    && vcost == 0
                    && str[0] == '\0'
                    && isdigit(TextOf(WANT_CHAR(to_y, from_x))))
@@ -629,48 +602,47 @@ relative_move(char *result, int from_y, int from_x, int to_y, int to_x, bool ovw
                        }
                }
                if (ovw) {
                        }
                }
                if (ovw) {
-                   char *sp;
                    int i;
 
                    int i;
 
-                   sp = str + strlen(str);
-
                    for (i = 0; i < n; i++)
                    for (i = 0; i < n; i++)
-                       *sp++ = WANT_CHAR(to_y, from_x + i);
-                   *sp = '\0';
+                       *check.s_tail++ = WANT_CHAR(to_y, from_x + i);
+                   *check.s_tail = '\0';
+                   check.s_size -= n;
                    lhcost += n * SP->_char_padding;
                } else
 #endif /* defined(REAL_ATTR) && defined(WANT_CHAR) */
                {
                    lhcost += n * SP->_char_padding;
                } else
 #endif /* defined(REAL_ATTR) && defined(WANT_CHAR) */
                {
-                   lhcost = repeated_append(lhcost, SP->_cuf1_cost, n, str, cursor_right);
+                   lhcost = repeated_append(&check, lhcost, SP->_cuf1_cost,
+                                            n, cursor_right);
                }
 
                }
 
-               if (lhcost < hcost) {
-                   if (result)
-                       (void) strcpy(result, str);
+               if (lhcost < hcost
+                   && _nc_safe_strcat(_nc_str_copy(target, &save), str)) {
                    hcost = lhcost;
                }
            }
        } else {                /* (to_x < from_x) */
            n = from_x - to_x;
 
                    hcost = lhcost;
                }
            }
        } else {                /* (to_x < from_x) */
            n = from_x - to_x;
 
-           if (parm_left_cursor && SP->_cub_cost < hcost) {
-               if (result)
-                   (void) strcpy(result, tparm(parm_left_cursor, n));
+           if (parm_left_cursor
+               && SP->_cub_cost < hcost
+               && _nc_safe_strcat(_nc_str_copy(target, &save),
+                                  tparm(parm_left_cursor, n))) {
                hcost = SP->_cub_cost;
            }
 
            if (cursor_left) {
                int lhcost = 0;
 
                hcost = SP->_cub_cost;
            }
 
            if (cursor_left) {
                int lhcost = 0;
 
-               str[0] = '\0';
+               (void) _nc_str_init(&check, str, sizeof(str));
 
 #if USE_HARD_TABS
                if (init_tabs > 0 && back_tab) {
                    int nxt, fr;
 
                    for (fr = from_x; (nxt = LASTTAB(fr)) >= to_x; fr = nxt) {
 
 #if USE_HARD_TABS
                if (init_tabs > 0 && back_tab) {
                    int nxt, fr;
 
                    for (fr = from_x; (nxt = LASTTAB(fr)) >= to_x; fr = nxt) {
-                       lhcost = repeated_append(lhcost, SP->_cbt_cost, 1,
-                           str, back_tab);
+                       lhcost = repeated_append(&check, lhcost,
+                                                SP->_cbt_cost, 1, back_tab);
                        if (lhcost == INFINITY)
                            break;
                    }
                        if (lhcost == INFINITY)
                            break;
                    }
@@ -679,11 +651,10 @@ relative_move(char *result, int from_y, int from_x, int to_y, int to_x, bool ovw
                }
 #endif /* USE_HARD_TABS */
 
                }
 #endif /* USE_HARD_TABS */
 
-               lhcost = repeated_append(lhcost, SP->_cub1_cost, n, str, cursor_left);
+               lhcost = repeated_append(&check, lhcost, SP->_cub1_cost, n, cursor_left);
 
 
-               if (lhcost < hcost) {
-                   if (result)
-                       (void) strcpy(result, str);
+               if (lhcost < hcost
+                   && _nc_safe_strcat(_nc_str_copy(target, &save), str)) {
                    hcost = lhcost;
                }
            }
                    hcost = lhcost;
                }
            }
@@ -712,7 +683,8 @@ static inline int
 onscreen_mvcur(int yold, int xold, int ynew, int xnew, bool ovw)
 /* onscreen move from (yold, xold) to (ynew, xnew) */
 {
 onscreen_mvcur(int yold, int xold, int ynew, int xnew, bool ovw)
 /* onscreen move from (yold, xold) to (ynew, xnew) */
 {
-    char use[OPT_SIZE], *sp;
+    string_desc result;
+    char buffer[OPT_SIZE];
     int tactic = 0, newcost, usecost = INFINITY;
     int t5_cr_cost;
 
     int tactic = 0, newcost, usecost = INFINITY;
     int t5_cr_cost;
 
@@ -722,11 +694,12 @@ onscreen_mvcur(int yold, int xold, int ynew, int xnew, bool ovw)
     gettimeofday(&before, NULL);
 #endif /* MAIN */
 
     gettimeofday(&before, NULL);
 #endif /* MAIN */
 
+#define NullResult _nc_str_null(&result, sizeof(buffer))
+#define InitResult _nc_str_init(&result, buffer, sizeof(buffer))
+
     /* tactic #0: use direct cursor addressing */
     /* tactic #0: use direct cursor addressing */
-    sp = tparm(SP->_address_cursor, ynew, xnew);
-    if (sp) {
+    if (_nc_safe_strcpy(InitResult, tparm(SP->_address_cursor, ynew, xnew))) {
        tactic = 0;
        tactic = 0;
-       (void) strcpy(use, sp);
        usecost = SP->_cup_cost;
 
 #if defined(TRACE) || defined(NCURSES_TEST)
        usecost = SP->_cup_cost;
 
 #if defined(TRACE) || defined(NCURSES_TEST)
@@ -756,7 +729,8 @@ onscreen_mvcur(int yold, int xold, int ynew, int xnew, bool ovw)
 #ifndef NO_OPTIMIZE
     /* tactic #1: use local movement */
     if (yold != -1 && xold != -1
 #ifndef NO_OPTIMIZE
     /* tactic #1: use local movement */
     if (yold != -1 && xold != -1
-       && ((newcost = relative_move(NULL, yold, xold, ynew, xnew, ovw)) != INFINITY)
+       && ((newcost = relative_move(NullResult, yold, xold, ynew, xnew,
+                                    ovw)) != INFINITY)
        && newcost < usecost) {
        tactic = 1;
        usecost = newcost;
        && newcost < usecost) {
        tactic = 1;
        usecost = newcost;
@@ -764,7 +738,8 @@ onscreen_mvcur(int yold, int xold, int ynew, int xnew, bool ovw)
 
     /* tactic #2: use carriage-return + local movement */
     if (yold != -1 && carriage_return
 
     /* tactic #2: use carriage-return + local movement */
     if (yold != -1 && carriage_return
-       && ((newcost = relative_move(NULL, yold, 0, ynew, xnew, ovw)) != INFINITY)
+       && ((newcost = relative_move(NullResult, yold, 0, ynew, xnew, ovw))
+           != INFINITY)
        && SP->_cr_cost + newcost < usecost) {
        tactic = 2;
        usecost = SP->_cr_cost + newcost;
        && SP->_cr_cost + newcost < usecost) {
        tactic = 2;
        usecost = SP->_cr_cost + newcost;
@@ -772,7 +747,7 @@ onscreen_mvcur(int yold, int xold, int ynew, int xnew, bool ovw)
 
     /* tactic #3: use home-cursor + local movement */
     if (cursor_home
 
     /* tactic #3: use home-cursor + local movement */
     if (cursor_home
-       && ((newcost = relative_move(NULL, 0, 0, ynew, xnew, ovw)) != INFINITY)
+       && ((newcost = relative_move(NullResult, 0, 0, ynew, xnew, ovw)) != INFINITY)
        && SP->_home_cost + newcost < usecost) {
        tactic = 3;
        usecost = SP->_home_cost + newcost;
        && SP->_home_cost + newcost < usecost) {
        tactic = 3;
        usecost = SP->_home_cost + newcost;
@@ -780,8 +755,8 @@ onscreen_mvcur(int yold, int xold, int ynew, int xnew, bool ovw)
 
     /* tactic #4: use home-down + local movement */
     if (cursor_to_ll
 
     /* tactic #4: use home-down + local movement */
     if (cursor_to_ll
-       && ((newcost = relative_move(NULL, screen_lines - 1, 0, ynew, xnew,
-                   ovw)) != INFINITY)
+       && ((newcost = relative_move(NullResult, screen_lines - 1, 0, ynew,
+                                    xnew, ovw)) != INFINITY)
        && SP->_ll_cost + newcost < usecost) {
        tactic = 4;
        usecost = SP->_ll_cost + newcost;
        && SP->_ll_cost + newcost < usecost) {
        tactic = 4;
        usecost = SP->_ll_cost + newcost;
@@ -794,8 +769,8 @@ onscreen_mvcur(int yold, int xold, int ynew, int xnew, bool ovw)
     t5_cr_cost = (xold > 0 ? SP->_cr_cost : 0);
     if (auto_left_margin && !eat_newline_glitch
        && yold > 0 && cursor_left
     t5_cr_cost = (xold > 0 ? SP->_cr_cost : 0);
     if (auto_left_margin && !eat_newline_glitch
        && yold > 0 && cursor_left
-       && ((newcost = relative_move(NULL, yold - 1, screen_columns - 1,
-                   ynew, xnew, ovw)) != INFINITY)
+       && ((newcost = relative_move(NullResult, yold - 1, screen_columns -
+                                    1, ynew, xnew, ovw)) != INFINITY)
        && t5_cr_cost + SP->_cub1_cost + newcost < usecost) {
        tactic = 5;
        usecost = t5_cr_cost + SP->_cub1_cost + newcost;
        && t5_cr_cost + SP->_cub1_cost + newcost < usecost) {
        tactic = 5;
        usecost = t5_cr_cost + SP->_cub1_cost + newcost;
@@ -804,32 +779,30 @@ onscreen_mvcur(int yold, int xold, int ynew, int xnew, bool ovw)
     /*
      * These cases are ordered by estimated relative frequency.
      */
     /*
      * These cases are ordered by estimated relative frequency.
      */
+    if (tactic)
+       InitResult;
     switch (tactic) {
     case 1:
     switch (tactic) {
     case 1:
-       (void) relative_move(use, yold, xold, ynew, xnew, ovw);
+       (void) relative_move(&result, yold, xold, ynew, xnew, ovw);
        break;
     case 2:
        break;
     case 2:
-       (void) strcpy(use, carriage_return);
-       (void) relative_move(use + SP->_carriage_return_length,
-           yold, 0, ynew, xnew, ovw);
+       (void) _nc_safe_strcpy(&result, carriage_return);
+       (void) relative_move(&result, yold, 0, ynew, xnew, ovw);
        break;
     case 3:
        break;
     case 3:
-       (void) strcpy(use, cursor_home);
-       (void) relative_move(use + SP->_cursor_home_length,
-           0, 0, ynew, xnew, ovw);
+       (void) _nc_safe_strcpy(&result, cursor_home);
+       (void) relative_move(&result, 0, 0, ynew, xnew, ovw);
        break;
     case 4:
        break;
     case 4:
-       (void) strcpy(use, cursor_to_ll);
-       (void) relative_move(use + SP->_cursor_to_ll_length,
-           screen_lines - 1, 0, ynew, xnew, ovw);
+       (void) _nc_safe_strcpy(&result, cursor_to_ll);
+       (void) relative_move(&result, screen_lines - 1, 0, ynew, xnew, ovw);
        break;
     case 5:
        break;
     case 5:
-       use[0] = '\0';
        if (xold > 0)
        if (xold > 0)
-           (void) strcat(use, carriage_return);
-       (void) strcat(use, cursor_left);
-       (void) relative_move(use + strlen(use),
-           yold - 1, screen_columns - 1, ynew, xnew, ovw);
+           (void) _nc_safe_strcat(&result, carriage_return);
+       (void) _nc_safe_strcat(&result, cursor_left);
+       (void) relative_move(&result, yold - 1, screen_columns - 1, ynew,
+                            xnew, ovw);
        break;
     }
 #endif /* !NO_OPTIMIZE */
        break;
     }
 #endif /* !NO_OPTIMIZE */
@@ -840,14 +813,14 @@ onscreen_mvcur(int yold, int xold, int ynew, int xnew, bool ovw)
        + (after.tv_sec - before.tv_sec) * 1000000;
     if (!profiling)
        (void) fprintf(stderr,
        + (after.tv_sec - before.tv_sec) * 1000000;
     if (!profiling)
        (void) fprintf(stderr,
-           "onscreen: %d msec, %f 28.8Kbps char-equivalents\n",
-           (int) diff, diff / 288);
+                      "onscreen: %d msec, %f 28.8Kbps char-equivalents\n",
+                      (int) diff, diff / 288);
 #endif /* MAIN */
 
   nonlocal:
     if (usecost != INFINITY) {
        TPUTS_TRACE("mvcur");
 #endif /* MAIN */
 
   nonlocal:
     if (usecost != INFINITY) {
        TPUTS_TRACE("mvcur");
-       tputs(use, 1, _nc_outch);
+       tputs(buffer, 1, _nc_outch);
        return (OK);
     } else
        return (ERR);
        return (OK);
     } else
        return (ERR);
@@ -951,7 +924,7 @@ _nc_outch(int ch)
 }
 
 char PC = 0;                   /* used by termcap library */
 }
 
 char PC = 0;                   /* used by termcap library */
-speed_t ospeed = 0;            /* used by termcap library */
+short ospeed = 0;              /* used by termcap library */
 int _nc_nulls_sent = 0;                /* used by 'tack' program */
 
 int
 int _nc_nulls_sent = 0;                /* used by 'tack' program */
 
 int
@@ -1009,7 +982,7 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
            (void) puts("s[croll] n t b m -- display scrolling sequence");
            (void)
                printf("r[eload]         -- reload terminal info for %s\n",
            (void) puts("s[croll] n t b m -- display scrolling sequence");
            (void)
                printf("r[eload]         -- reload terminal info for %s\n",
-               termname());
+                      termname());
            (void)
                puts("l[oad] <term>    -- load terminal info for type <term>");
            (void) puts("d[elete] <cap>   -- delete named capability");
            (void)
                puts("l[oad] <term>    -- load terminal info for type <term>");
            (void) puts("d[elete] <cap>   -- delete named capability");
@@ -1030,8 +1003,9 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
            gettimeofday(&after, NULL);
 
            printf("\" (%ld msec)\n",
            gettimeofday(&after, NULL);
 
            printf("\" (%ld msec)\n",
-               (long) (after.tv_usec - before.tv_usec + (after.tv_sec -
-                       before.tv_sec) * 1000000));
+                  (long) (after.tv_usec - before.tv_usec
+                          + (after.tv_sec - before.tv_sec)
+                          * 1000000));
        } else if (sscanf(buf, "s %d %d %d %d", &fy, &fx, &ty, &tx) == 4) {
            struct timeval before, after;
 
        } else if (sscanf(buf, "s %d %d %d %d", &fy, &fx, &ty, &tx) == 4) {
            struct timeval before, after;
 
@@ -1042,8 +1016,9 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
            gettimeofday(&after, NULL);
 
            printf("\" (%ld msec)\n",
            gettimeofday(&after, NULL);
 
            printf("\" (%ld msec)\n",
-               (long) (after.tv_usec - before.tv_usec + (after.tv_sec -
-                       before.tv_sec) * 1000000));
+                  (long) (after.tv_usec - before.tv_usec + (after.tv_sec -
+                                                            before.tv_sec)
+                          * 1000000));
        } else if (buf[0] == 'r') {
            (void) strcpy(tname, termname());
            load_term();
        } else if (buf[0] == 'r') {
            (void) strcpy(tname, termname());
            load_term();
@@ -1051,7 +1026,7 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
            load_term();
        } else if (sscanf(buf, "d %s", capname) == 1) {
            struct name_table_entry const *np = _nc_find_entry(capname,
            load_term();
        } else if (sscanf(buf, "d %s", capname) == 1) {
            struct name_table_entry const *np = _nc_find_entry(capname,
-               _nc_info_hash_table);
+                                                              _nc_info_hash_table);
 
            if (np == NULL)
                (void) printf("No such capability as \"%s\"\n", capname);
 
            if (np == NULL)
                (void) printf("No such capability as \"%s\"\n", capname);
@@ -1061,19 +1036,19 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
                    cur_term->type.Booleans[np->nte_index] = FALSE;
                    (void)
                        printf("Boolean capability `%s' (%d) turned off.\n",
                    cur_term->type.Booleans[np->nte_index] = FALSE;
                    (void)
                        printf("Boolean capability `%s' (%d) turned off.\n",
-                       np->nte_name, np->nte_index);
+                              np->nte_name, np->nte_index);
                    break;
 
                case NUMBER:
                    cur_term->type.Numbers[np->nte_index] = ABSENT_NUMERIC;
                    (void) printf("Number capability `%s' (%d) set to -1.\n",
                    break;
 
                case NUMBER:
                    cur_term->type.Numbers[np->nte_index] = ABSENT_NUMERIC;
                    (void) printf("Number capability `%s' (%d) set to -1.\n",
-                       np->nte_name, np->nte_index);
+                                 np->nte_name, np->nte_index);
                    break;
 
                case STRING:
                    cur_term->type.Strings[np->nte_index] = ABSENT_STRING;
                    (void) printf("String capability `%s' (%d) deleted.\n",
                    break;
 
                case STRING:
                    cur_term->type.Strings[np->nte_index] = ABSENT_STRING;
                    (void) printf("String capability `%s' (%d) deleted.\n",
-                       np->nte_name, np->nte_index);
+                                 np->nte_name, np->nte_index);
                    break;
                }
            }
                    break;
                }
            }
@@ -1110,7 +1085,7 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
         * is winning.
         */
        else if (sscanf(buf, "t %d", &n) == 1) {
         * is winning.
         */
        else if (sscanf(buf, "t %d", &n) == 1) {
-           float cumtime = 0, perchar;
+           float cumtime = 0.0, perchar;
            int speeds[] =
            {2400, 9600, 14400, 19200, 28800, 38400, 0};
 
            int speeds[] =
            {2400, 9600, 14400, 19200, 28800, 38400, 0};
 
@@ -1148,7 +1123,7 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
            perchar = cumtime / n;
 
            (void) printf("%d moves (%ld chars) in %d msec, %f msec each:\n",
            perchar = cumtime / n;
 
            (void) printf("%d moves (%ld chars) in %d msec, %f msec each:\n",
-               n, xmits, (int) cumtime, perchar);
+                         n, xmits, (int) cumtime, perchar);
 
            for (i = 0; speeds[i]; i++) {
                /*
 
            for (i = 0; speeds[i]; i++) {
                /*
@@ -1167,7 +1142,7 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
 
                (void)
                    printf("%6d bps: %3.2f char-xmits overhead; total estimated time %15.2f\n",
 
                (void)
                    printf("%6d bps: %3.2f char-xmits overhead; total estimated time %15.2f\n",
-                   speeds[i], overhead, totalest);
+                          speeds[i], overhead, totalest);
            }
        } else if (buf[0] == 'c') {
            (void) printf("char padding: %d\n", SP->_char_padding);
            }
        } else if (buf[0] == 'c') {
            (void) printf("char padding: %d\n", SP->_char_padding);
index d01a62f714879b573878e2f5796900ebdddc539b..512de68dc5ff32bb90f1102cb41a2c74299b0636 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998,1999 Free Software Foundation, Inc.                   *
+ * Copyright (c) 1998,1999,2000 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -31,7 +31,6 @@
  *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
  ****************************************************************************/
 
  *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
  ****************************************************************************/
 
-
 /*
 **     lib_tstp.c
 **
 /*
 **     lib_tstp.c
 **
 #include <signal.h>
 #include <SigAction.h>
 
 #include <signal.h>
 #include <SigAction.h>
 
-#if defined(SVR4_ACTION) && !defined(_POSIX_SOURCE)
+#if SVR4_ACTION && !defined(_POSIX_SOURCE)
 #define _POSIX_SOURCE
 #endif
 
 #define _POSIX_SOURCE
 #endif
 
-MODULE_ID("$Id: lib_tstp.c,v 1.21 2000/05/20 23:28:56 tom Exp $")
+MODULE_ID("$Id: lib_tstp.c,v 1.22 2000/09/02 18:33:17 tom Exp $")
 
 #if defined(SIGTSTP) && (HAVE_SIGACTION || HAVE_SIGVEC)
 #define USE_SIGTSTP 1
 
 #if defined(SIGTSTP) && (HAVE_SIGACTION || HAVE_SIGVEC)
 #define USE_SIGTSTP 1
@@ -100,151 +99,152 @@ MODULE_ID("$Id: lib_tstp.c,v 1.21 2000/05/20 23:28:56 tom Exp $")
  */
 
 #if USE_SIGTSTP
  */
 
 #if USE_SIGTSTP
-static void tstp(int dummy GCC_UNUSED)
+static void
+tstp(int dummy GCC_UNUSED)
 {
 {
-       sigset_t mask, omask;
-       sigaction_t act, oact;
+    sigset_t mask, omask;
+    sigaction_t act, oact;
 
 #ifdef SIGTTOU
 
 #ifdef SIGTTOU
-       int sigttou_blocked;
+    int sigttou_blocked;
 #endif
 
 #endif
 
-       T(("tstp() called"));
-
-       /*
-        * The user may have changed the prog_mode tty bits, so save them.
-        *
-        * But first try to detect whether we still are in the foreground
-        * process group - if not, an interactive shell may already have
-        * taken ownership of the tty and modified the settings when our
-        * parent was stopped before us, and we would likely pick up the
-        * settings already modified by the shell.
-        */
-       if (SP != 0 && !SP->_endwin) /* don't do this if we're not in curses */
+    T(("tstp() called"));
+
+    /*
+     * The user may have changed the prog_mode tty bits, so save them.
+     *
+     * But first try to detect whether we still are in the foreground
+     * process group - if not, an interactive shell may already have
+     * taken ownership of the tty and modified the settings when our
+     * parent was stopped before us, and we would likely pick up the
+     * settings already modified by the shell.
+     */
+    if (SP != 0 && !SP->_endwin)       /* don't do this if we're not in curses */
 #if HAVE_TCGETPGRP
        if (tcgetpgrp(STDIN_FILENO) == getpgrp())
 #endif
            def_prog_mode();
 
 #if HAVE_TCGETPGRP
        if (tcgetpgrp(STDIN_FILENO) == getpgrp())
 #endif
            def_prog_mode();
 
-       /*
-        * Block window change and timer signals.  The latter
-        * is because applications use timers to decide when
-        * to repaint the screen.
-        */
-       (void)sigemptyset(&mask);
-       (void)sigaddset(&mask, SIGALRM);
+    /*
+     * Block window change and timer signals.  The latter
+     * is because applications use timers to decide when
+     * to repaint the screen.
+     */
+    (void) sigemptyset(&mask);
+    (void) sigaddset(&mask, SIGALRM);
 #if USE_SIGWINCH
 #if USE_SIGWINCH
-       (void)sigaddset(&mask, SIGWINCH);
+    (void) sigaddset(&mask, SIGWINCH);
 #endif
 #endif
-       (void)sigprocmask(SIG_BLOCK, &mask, &omask);
+    (void) sigprocmask(SIG_BLOCK, &mask, &omask);
 
 #ifdef SIGTTOU
 
 #ifdef SIGTTOU
-       sigttou_blocked = sigismember(&omask, SIGTTOU);
-       if (!sigttou_blocked) {
-           (void)sigemptyset(&mask);
-           (void)sigaddset(&mask, SIGTTOU);
-           (void)sigprocmask(SIG_BLOCK, &mask, NULL);
-       }
+    sigttou_blocked = sigismember(&omask, SIGTTOU);
+    if (!sigttou_blocked) {
+       (void) sigemptyset(&mask);
+       (void) sigaddset(&mask, SIGTTOU);
+       (void) sigprocmask(SIG_BLOCK, &mask, NULL);
+    }
 #endif
 
 #endif
 
-       /*
-        * End window mode, which also resets the terminal state to the
-        * original (pre-curses) modes.
-        */
-       endwin();
+    /*
+     * End window mode, which also resets the terminal state to the
+     * original (pre-curses) modes.
+     */
+    endwin();
 
 
-       /* Unblock SIGTSTP. */
-       (void)sigemptyset(&mask);
-       (void)sigaddset(&mask, SIGTSTP);
+    /* Unblock SIGTSTP. */
+    (void) sigemptyset(&mask);
+    (void) sigaddset(&mask, SIGTSTP);
 #ifdef SIGTTOU
 #ifdef SIGTTOU
-       if (!sigttou_blocked) {
-            /* Unblock this too if it wasn't blocked on entry */
-           (void)sigaddset(&mask, SIGTTOU);
-       }
+    if (!sigttou_blocked) {
+       /* Unblock this too if it wasn't blocked on entry */
+       (void) sigaddset(&mask, SIGTTOU);
+    }
 #endif
 #endif
-       (void)sigprocmask(SIG_UNBLOCK, &mask, NULL);
+    (void) sigprocmask(SIG_UNBLOCK, &mask, NULL);
 
 
-       /* Now we want to resend SIGSTP to this process and suspend it */
-       act.sa_handler = SIG_DFL;
-       sigemptyset(&act.sa_mask);
-       act.sa_flags = 0;
+    /* Now we want to resend SIGSTP to this process and suspend it */
+    act.sa_handler = SIG_DFL;
+    sigemptyset(&act.sa_mask);
+    act.sa_flags = 0;
 #ifdef SA_RESTART
 #ifdef SA_RESTART
-       act.sa_flags |= SA_RESTART;
+    act.sa_flags |= SA_RESTART;
 #endif /* SA_RESTART */
 #endif /* SA_RESTART */
-       sigaction(SIGTSTP, &act, &oact);
-       kill(getpid(), SIGTSTP);
+    sigaction(SIGTSTP, &act, &oact);
+    kill(getpid(), SIGTSTP);
 
 
-       /* Process gets suspended...time passes...process resumes */
+    /* Process gets suspended...time passes...process resumes */
 
 
-       T(("SIGCONT received"));
-       sigaction(SIGTSTP, &oact, NULL);
-       flushinp();
+    T(("SIGCONT received"));
+    sigaction(SIGTSTP, &oact, NULL);
+    flushinp();
 
 
-       /*
-        * If the user modified the tty state while suspended, he wants
-        * those changes to stick.  So save the new "default" terminal state.
-        */
-       def_shell_mode();
+    /*
+     * If the user modified the tty state while suspended, he wants
+     * those changes to stick.  So save the new "default" terminal state.
+     */
+    def_shell_mode();
 
 
-       /*
-        * This relies on the fact that doupdate() will restore the
-        * program-mode tty state, and issue enter_ca_mode if need be.
-        */
-       doupdate();
+    /*
+     * This relies on the fact that doupdate() will restore the
+     * program-mode tty state, and issue enter_ca_mode if need be.
+     */
+    doupdate();
 
 
-       /* Reset the signals. */
-       (void)sigprocmask(SIG_SETMASK, &omask, NULL);
+    /* Reset the signals. */
+    (void) sigprocmask(SIG_SETMASK, &omask, NULL);
 }
 }
-#endif /* USE_SIGTSTP */
+#endif /* USE_SIGTSTP */
 
 
-static void cleanup(int sig)
+static void
+cleanup(int sig)
 {
 {
-       static int nested;
-
-       /*
-        * Actually, doing any sort of I/O from within an signal handler is
-        * "unsafe".  But we'll _try_ to clean up the screen and terminal
-        * settings on the way out.
-        */
-       if (!nested++
-        && (sig == SIGINT
-         || sig == SIGQUIT)) {
+    static int nested;
+
+    /*
+     * Actually, doing any sort of I/O from within an signal handler is
+     * "unsafe".  But we'll _try_ to clean up the screen and terminal
+     * settings on the way out.
+     */
+    if (!nested++
+       && (sig == SIGINT
+           || sig == SIGQUIT)) {
 #if HAVE_SIGACTION || HAVE_SIGVEC
 #if HAVE_SIGACTION || HAVE_SIGVEC
-               sigaction_t act;
-               sigemptyset(&act.sa_mask);
-               act.sa_flags = 0;
-               act.sa_handler = SIG_IGN;
-               if (sigaction(sig, &act, (sigaction_t *)0) == 0)
+       sigaction_t act;
+       sigemptyset(&act.sa_mask);
+       act.sa_flags = 0;
+       act.sa_handler = SIG_IGN;
+       if (sigaction(sig, &act, (sigaction_t *) 0) == 0)
 #else
 #else
-               if (signal(sig, SIG_IGN) != SIG_ERR)
+       if (signal(sig, SIG_IGN) != SIG_ERR)
 #endif
 #endif
-               {
-                   SCREEN *scan = _nc_screen_chain;
-                   while(scan)
-                   {
-                       if (SP != 0
-                       && SP->_ofp != 0
-                       && isatty(fileno(SP->_ofp))) {
-                           SP->_cleanup = TRUE;
-                           SP->_outch = _nc_outch;
-                       }
-                       set_term(scan);
-                       endwin();
-                       if (SP)
-                           SP->_endwin = FALSE; /* in case we have an atexit! */
-                       scan = scan->_next_screen;
-                   }
+       {
+           SCREEN *scan = _nc_screen_chain;
+           while (scan) {
+               if (SP != 0
+                   && SP->_ofp != 0
+                   && isatty(fileno(SP->_ofp))) {
+                   SP->_cleanup = TRUE;
+                   SP->_outch = _nc_outch;
                }
                }
+               set_term(scan);
+               endwin();
+               if (SP)
+                   SP->_endwin = FALSE;        /* in case we have an atexit! */
+               scan = scan->_next_screen;
+           }
        }
        }
-       exit(EXIT_FAILURE);
+    }
+    exit(EXIT_FAILURE);
 }
 
 #if USE_SIGWINCH
 }
 
 #if USE_SIGWINCH
-static void sigwinch(int sig GCC_UNUSED)
+static void
+sigwinch(int sig GCC_UNUSED)
 {
     SCREEN *scan = _nc_screen_chain;
 {
     SCREEN *scan = _nc_screen_chain;
-    while(scan)
-    {
+    while (scan) {
        scan->_sig_winch = TRUE;
        scan = scan->_next_screen;
     }
        scan->_sig_winch = TRUE;
        scan = scan->_next_screen;
     }
@@ -256,38 +256,40 @@ static void sigwinch(int sig GCC_UNUSED)
  * handler.
  */
 #if HAVE_SIGACTION || HAVE_SIGVEC
  * handler.
  */
 #if HAVE_SIGACTION || HAVE_SIGVEC
-static int CatchIfDefault(int sig, sigaction_t *act)
+static int
+CatchIfDefault(int sig, sigaction_t * act)
 {
 {
-       sigaction_t old_act;
+    sigaction_t old_act;
 
 
-       if (sigaction(sig, (sigaction_t *)0, &old_act) == 0
-        && (old_act.sa_handler == SIG_DFL
+    if (sigaction(sig, (sigaction_t *) 0, &old_act) == 0
+       && (old_act.sa_handler == SIG_DFL
 #if USE_SIGWINCH
            || (sig == SIGWINCH && old_act.sa_handler == SIG_IGN)
 #endif
 #if USE_SIGWINCH
            || (sig == SIGWINCH && old_act.sa_handler == SIG_IGN)
 #endif
-           )) {
-               (void)sigaction(sig, act, (sigaction_t *)0);
-               return TRUE;
-       }
-       return FALSE;
+       )) {
+       (void) sigaction(sig, act, (sigaction_t *) 0);
+       return TRUE;
+    }
+    return FALSE;
 }
 #else
 }
 #else
-static int CatchIfDefault(int sig, RETSIGTYPE (*handler)(int))
+static int
+CatchIfDefault(int sig, RETSIGTYPE(*handler) (int))
 {
 {
-       void    (*ohandler)(int);
+    void (*ohandler) (int);
 
 
-       ohandler = signal(sig, SIG_IGN);
-       if (ohandler == SIG_DFL
+    ohandler = signal(sig, SIG_IGN);
+    if (ohandler == SIG_DFL
 #if USE_SIGWINCH
 #if USE_SIGWINCH
-           || (sig == SIGWINCH && ohandler == SIG_IGN)
+       || (sig == SIGWINCH && ohandler == SIG_IGN)
 #endif
        ) {
 #endif
        ) {
-               signal(sig, handler);
-               return TRUE;
-       } else {
-               signal(sig, ohandler);
-               return FALSE;
-       }
+       signal(sig, handler);
+       return TRUE;
+    } else {
+       signal(sig, ohandler);
+       return FALSE;
+    }
 }
 #endif
 
 }
 #endif
 
@@ -302,69 +304,63 @@ static int CatchIfDefault(int sig, RETSIGTYPE (*handler)(int))
  * The XSI document implies that we shouldn't keep the SIGTSTP handler if
  * the caller later changes its mind, but that doesn't seem correct.
  */
  * The XSI document implies that we shouldn't keep the SIGTSTP handler if
  * the caller later changes its mind, but that doesn't seem correct.
  */
-void _nc_signal_handler(bool enable)
+void
+_nc_signal_handler(bool enable)
 {
 {
-#if USE_SIGTSTP                /* Xenix 2.x doesn't have SIGTSTP, for example */
-static sigaction_t act, oact;
-static int ignore;
-
-       if (!ignore)
-       {
-               if (!enable)
-               {
-                       act.sa_handler = SIG_IGN;
-                       sigaction(SIGTSTP, &act, &oact);
-               }
-               else if (act.sa_handler)
-               {
-                       sigaction(SIGTSTP, &oact, NULL);
-               }
-               else    /*initialize */
-               {
-                       sigemptyset(&act.sa_mask);
-                       act.sa_flags = 0;
+#if USE_SIGTSTP                        /* Xenix 2.x doesn't have SIGTSTP, for example */
+    static sigaction_t act, oact;
+    static int ignore;
+
+    if (!ignore) {
+       if (!enable) {
+           act.sa_handler = SIG_IGN;
+           sigaction(SIGTSTP, &act, &oact);
+       } else if (act.sa_handler) {
+           sigaction(SIGTSTP, &oact, NULL);
+       } else {                /*initialize */
+           sigemptyset(&act.sa_mask);
+           act.sa_flags = 0;
 #if USE_SIGWINCH
 #if USE_SIGWINCH
-                       act.sa_handler = sigwinch;
-                       CatchIfDefault(SIGWINCH, &act);
+           act.sa_handler = sigwinch;
+           CatchIfDefault(SIGWINCH, &act);
 #endif
 
 #ifdef SA_RESTART
 #endif
 
 #ifdef SA_RESTART
-                       act.sa_flags |= SA_RESTART;
+           act.sa_flags |= SA_RESTART;
 #endif /* SA_RESTART */
 #endif /* SA_RESTART */
-                       act.sa_handler = cleanup;
-                       CatchIfDefault(SIGINT,  &act);
-                       CatchIfDefault(SIGTERM, &act);
+           act.sa_handler = cleanup;
+           CatchIfDefault(SIGINT, &act);
+           CatchIfDefault(SIGTERM, &act);
 
 
-                       act.sa_handler = tstp;
-                       if (!CatchIfDefault(SIGTSTP, &act))
-                               ignore = TRUE;
-               }
+           act.sa_handler = tstp;
+           if (!CatchIfDefault(SIGTSTP, &act))
+               ignore = TRUE;
        }
        }
+    }
 #else /* !USE_SIGTSTP */
 #else /* !USE_SIGTSTP */
-       if (enable)
-       {
+    if (enable) {
 #if HAVE_SIGACTION || HAVE_SIGVEC
 #if HAVE_SIGACTION || HAVE_SIGVEC
-               static sigaction_t act;
-               sigemptyset(&act.sa_mask);
+       static sigaction_t act;
+       sigemptyset(&act.sa_mask);
 #if USE_SIGWINCH
 #if USE_SIGWINCH
-               act.sa_handler = sigwinch;
-               CatchIfDefault(SIGWINCH, &act);
+       act.sa_handler = sigwinch;
+       CatchIfDefault(SIGWINCH, &act);
 #endif
 #ifdef SA_RESTART
 #endif
 #ifdef SA_RESTART
-               act.sa_flags |= SA_RESTART;
+       act.sa_flags |= SA_RESTART;
 #endif /* SA_RESTART */
 #endif /* SA_RESTART */
-               act.sa_handler = cleanup;
-               CatchIfDefault(SIGINT,  &act);
-               CatchIfDefault(SIGTERM, &act);
+       act.sa_handler = cleanup;
+       CatchIfDefault(SIGINT, &act);
+       CatchIfDefault(SIGTERM, &act);
 
 #else /* !(HAVE_SIGACTION || HAVE_SIGVEC) */
 
 
 #else /* !(HAVE_SIGACTION || HAVE_SIGVEC) */
 
-               CatchIfDefault(SIGINT,  cleanup);
-               CatchIfDefault(SIGTERM, cleanup);
+       CatchIfDefault(SIGINT, cleanup);
+       CatchIfDefault(SIGTERM, cleanup);
 #if USE_SIGWINCH
 #if USE_SIGWINCH
-               CatchIfDefault(SIGWINCH, sigwinch);
+       CatchIfDefault(SIGWINCH, sigwinch);
 #endif
 #endif /* !(HAVE_SIGACTION || HAVE_SIGVEC) */
 #endif
 #endif /* !(HAVE_SIGACTION || HAVE_SIGVEC) */
-       }
+    }
 #endif /* !USE_SIGTSTP */
 }
 #endif /* !USE_SIGTSTP */
 }
index a21e2a16db0fa7ea140233d404d8365ae7b129cf..6d24d8ddc6cb3e83b34f2e4f439b262f012b0519 100644 (file)
 # endif
 #endif
 
 # endif
 #endif
 
-MODULE_ID("$Id: lib_twait.c,v 1.37 2000/06/29 23:03:09 tom Exp $")
+MODULE_ID("$Id: lib_twait.c,v 1.39 2000/08/26 19:34:15 tom Exp $")
 
 
-static long _nc_gettime(bool first)
+static long
+_nc_gettime(bool first)
 {
 {
-       long res;
+    long res;
 
 #if HAVE_GETTIMEOFDAY
 # define PRECISE_GETTIME 1
 
 #if HAVE_GETTIMEOFDAY
 # define PRECISE_GETTIME 1
-       static struct timeval t0;
-       struct timeval t1;
-       gettimeofday(&t1, (struct timezone *)0);
-       if (first) {
-               t0 = t1;
-       }
-       res = (t1.tv_sec  - t0.tv_sec)  * 1000
-           + (t1.tv_usec - t0.tv_usec) / 1000;
+    static struct timeval t0;
+    struct timeval t1;
+    gettimeofday(&t1, (struct timezone *) 0);
+    if (first) {
+       t0 = t1;
+    }
+    res = (t1.tv_sec - t0.tv_sec) * 1000
+       + (t1.tv_usec - t0.tv_usec) / 1000;
 #else
 # define PRECISE_GETTIME 0
 #else
 # define PRECISE_GETTIME 0
-       static time_t t0;
-       time_t t1 = time((time_t*)0);
-       if (first) {
-               t0 = t1;
-       }
-       res = (t1 - t0) * 1000;
+    static time_t t0;
+    time_t t1 = time((time_t *) 0);
+    if (first) {
+       t0 = t1;
+    }
+    res = (t1 - t0) * 1000;
 #endif
 #endif
-       T(("%s time: %ld msec", first ? "get" : "elapsed", res));
-       return res;
+    T(("%s time: %ld msec", first ? "get" : "elapsed", res));
+    return res;
 }
 
 /*
 }
 
 /*
@@ -101,163 +102,164 @@ static long _nc_gettime(bool first)
  * If the milliseconds given are -1, the wait blocks until activity on the
  * descriptors.
  */
  * If the milliseconds given are -1, the wait blocks until activity on the
  * descriptors.
  */
-int _nc_timed_wait(int mode, int milliseconds, int *timeleft)
+int
+_nc_timed_wait(int mode, int milliseconds, int *timeleft)
 {
 {
-int    fd;
-int    count;
+    int fd;
+    int count;
 
 
-int result;
+    int result;
 
 #if USE_FUNC_POLL
 
 #if USE_FUNC_POLL
-struct pollfd fds[2];
+    struct pollfd fds[2];
 #elif defined(__BEOS__)
 #elif HAVE_SELECT
 #elif defined(__BEOS__)
 #elif HAVE_SELECT
-static fd_set set;
+    static fd_set set;
 #endif
 
 #endif
 
-long starttime, returntime;
+    long starttime, returntime;
 
 
-       T(("start twait: %d milliseconds, mode: %d", milliseconds, mode));
+    T(("start twait: %d milliseconds, mode: %d", milliseconds, mode));
 
 #if PRECISE_GETTIME
 
 #if PRECISE_GETTIME
-retry:
+  retry:
 #endif
 #endif
-       starttime = _nc_gettime(TRUE);
+    starttime = _nc_gettime(TRUE);
 
 
-       count = 0;
+    count = 0;
 
 #if USE_FUNC_POLL
 
 #if USE_FUNC_POLL
-       if (mode & 1) {
-               fds[count].fd     = SP->_ifd;
-               fds[count].events = POLLIN;
-               count++;
-       }
-       if ((mode & 2)
-        && (fd = SP->_mouse_fd) >= 0) {
-               fds[count].fd     = fd;
-               fds[count].events = POLLIN;
-               count++;
-       }
-       result = poll(fds, count, milliseconds);
+    memset(fds, 0, sizeof(fds));
+    if (mode & 1) {
+       fds[count].fd = SP->_ifd;
+       fds[count].events = POLLIN;
+       count++;
+    }
+    if ((mode & 2)
+       && (fd = SP->_mouse_fd) >= 0) {
+       fds[count].fd = fd;
+       fds[count].events = POLLIN;
+       count++;
+    }
+    result = poll(fds, count, milliseconds);
 
 #elif defined(__BEOS__)
 
 #elif defined(__BEOS__)
-       /*
-        * BeOS's select() is declared in socket.h, so the configure script does
-        * not see it.  That's just as well, since that function works only for
-        * sockets.  This (using snooze and ioctl) was distilled from Be's patch
-        * for ncurses which uses a separate thread to simulate select().
-        *
-        * FIXME: the return values from the ioctl aren't very clear if we get
-        * interrupted.
-        */
-       result = 0;
-       if (mode & 1) {
-               bigtime_t d;
-               bigtime_t useconds = milliseconds * 1000;
-               int n, howmany;
+    /*
+     * BeOS's select() is declared in socket.h, so the configure script does
+     * not see it.  That's just as well, since that function works only for
+     * sockets.  This (using snooze and ioctl) was distilled from Be's patch
+     * for ncurses which uses a separate thread to simulate select().
+     *
+     * FIXME: the return values from the ioctl aren't very clear if we get
+     * interrupted.
+     */
+    result = 0;
+    if (mode & 1) {
+       bigtime_t d;
+       bigtime_t useconds = milliseconds * 1000;
+       int n, howmany;
 
 
-               if (useconds == 0) /* we're here to go _through_ the loop */
-                       useconds = 1;
+       if (useconds == 0)      /* we're here to go _through_ the loop */
+           useconds = 1;
 
 
-               for (d = 0; d < useconds; d += 5000) {
-                       n = 0;
-                       howmany = ioctl(0, 'ichr', &n);
-                       if (howmany >= 0 && n > 0) {
-                               result = 1;
-                               break;
-                       }
-                       if (useconds > 1)
-                               snooze(5000);
-                       milliseconds -= 5;
-               }
-       } else if (milliseconds > 0) {
-               snooze(milliseconds * 1000);
-               milliseconds = 0;
+       for (d = 0; d < useconds; d += 5000) {
+           n = 0;
+           howmany = ioctl(0, 'ichr', &n);
+           if (howmany >= 0 && n > 0) {
+               result = 1;
+               break;
+           }
+           if (useconds > 1)
+               snooze(5000);
+           milliseconds -= 5;
        }
        }
+    } else if (milliseconds > 0) {
+       snooze(milliseconds * 1000);
+       milliseconds = 0;
+    }
 #elif HAVE_SELECT
 #elif HAVE_SELECT
-       /*
-        * select() modifies the fd_set arguments; do this in the
-        * loop.
-        */
-       FD_ZERO(&set);
+    /*
+     * select() modifies the fd_set arguments; do this in the
+     * loop.
+     */
+    FD_ZERO(&set);
 
 
-       if (mode & 1) {
-               FD_SET(SP->_ifd, &set);
-               count = SP->_ifd + 1;
-       }
-       if ((mode & 2)
-        && (fd = SP->_mouse_fd) >= 0) {
-               FD_SET(fd, &set);
-               count = max(fd, count) + 1;
-       }
+    if (mode & 1) {
+       FD_SET(SP->_ifd, &set);
+       count = SP->_ifd + 1;
+    }
+    if ((mode & 2)
+       && (fd = SP->_mouse_fd) >= 0) {
+       FD_SET(fd, &set);
+       count = max(fd, count) + 1;
+    }
 
 
-       if (milliseconds >= 0) {
-               struct timeval ntimeout;
-               ntimeout.tv_sec  = milliseconds / 1000;
-               ntimeout.tv_usec = (milliseconds % 1000) * 1000;
-               result = select(count, &set, NULL, NULL, &ntimeout);
-       } else {
-               result = select(count, &set, NULL, NULL, NULL);
-       }
+    if (milliseconds >= 0) {
+       struct timeval ntimeout;
+       ntimeout.tv_sec = milliseconds / 1000;
+       ntimeout.tv_usec = (milliseconds % 1000) * 1000;
+       result = select(count, &set, NULL, NULL, &ntimeout);
+    } else {
+       result = select(count, &set, NULL, NULL, NULL);
+    }
 #endif
 
 #endif
 
-       returntime = _nc_gettime(FALSE);
+    returntime = _nc_gettime(FALSE);
 
 
-       if (milliseconds >= 0)
-               milliseconds -= (returntime - starttime);
+    if (milliseconds >= 0)
+       milliseconds -= (returntime - starttime);
 
 #if PRECISE_GETTIME
 
 #if PRECISE_GETTIME
-       /*
-        * If the timeout hasn't expired, and we've gotten no data,
-        * this is probably a system where 'select()' needs to be left
-        * alone so that it can complete.  Make this process sleep,
-        * then come back for more.
-        */
-       if (result == 0 && milliseconds > 100) {
-               napms(100);
-               milliseconds -= 100;
-               goto retry;
-       }
+    /*
+     * If the timeout hasn't expired, and we've gotten no data,
+     * this is probably a system where 'select()' needs to be left
+     * alone so that it can complete.  Make this process sleep,
+     * then come back for more.
+     */
+    if (result == 0 && milliseconds > 100) {
+       napms(100);
+       milliseconds -= 100;
+       goto retry;
+    }
 #endif
 
 #endif
 
-       /* return approximate time left in milliseconds */
-       if (timeleft)
-               *timeleft = milliseconds;
+    /* return approximate time left in milliseconds */
+    if (timeleft)
+       *timeleft = milliseconds;
 
 
-       T(("end twait: returned %d (%d), remaining time %d msec",
-               result, errno, milliseconds));
+    T(("end twait: returned %d (%d), remaining time %d msec",
+       result, errno, milliseconds));
 
 
-       /*
-        * Both 'poll()' and 'select()' return the number of file descriptors
-        * that are active.  Translate this back to the mask that denotes which
-        * file-descriptors, so that we don't need all of this system-specific
-        * code everywhere.
-        */
-       if (result != 0) {
-               if (result > 0) {
-                       result = 0;
+    /*
+     * Both 'poll()' and 'select()' return the number of file descriptors
+     * that are active.  Translate this back to the mask that denotes which
+     * file-descriptors, so that we don't need all of this system-specific
+     * code everywhere.
+     */
+    if (result != 0) {
+       if (result > 0) {
+           result = 0;
 #if USE_FUNC_POLL
 #if USE_FUNC_POLL
-                       for (count = 0; count < 2; count++) {
-                               if ((mode & (1 << count))
-                                && (fds[count].revents & POLLIN)) {
-                                       result |= (1 << count);
-                               }
-                       }
+           for (count = 0; count < 2; count++) {
+               if ((mode & (1 << count))
+                   && (fds[count].revents & POLLIN)) {
+                   result |= (1 << count);
+               }
+           }
 #elif defined(__BEOS__)
 #elif defined(__BEOS__)
-                       result = 1;     /* redundant, but simple */
+           result = 1;         /* redundant, but simple */
 #elif HAVE_SELECT
 #elif HAVE_SELECT
-                       if ((mode & 2)
-                        && (fd = SP->_mouse_fd) >= 0
-                        && FD_ISSET(fd, &set))
-                               result |= 2;
-                       if ((mode & 1)
-                        && FD_ISSET(SP->_ifd, &set))
-                               result |= 1;
+           if ((mode & 2)
+               && (fd = SP->_mouse_fd) >= 0
+               && FD_ISSET(fd, &set))
+               result |= 2;
+           if ((mode & 1)
+               && FD_ISSET(SP->_ifd, &set))
+               result |= 1;
 #endif
 #endif
-               }
-               else
-                       result = 0;
-       }
+       } else
+           result = 0;
+    }
 
 
-       return (result);
+    return (result);
 }
 }
index 7cff22ec4b430504a37023aca9798e74fddfec87..5022cbdde78afac9f362a417d22fc450352fcc75 100644 (file)
@@ -64,7 +64,7 @@
 #include <curses.priv.h>
 #include <term.h>
 
 #include <curses.priv.h>
 #include <term.h>
 
-MODULE_ID("$Id: lib_vidattr.c,v 1.27 2000/04/29 23:25:27 tom Exp $")
+MODULE_ID("$Id: lib_vidattr.c,v 1.33 2000/10/09 22:45:29 tom Exp $")
 
 #define doPut(mode) TPUTS_TRACE(#mode); tputs(mode, 1, outc)
 
 
 #define doPut(mode) TPUTS_TRACE(#mode); tputs(mode, 1, outc)
 
@@ -78,7 +78,7 @@ MODULE_ID("$Id: lib_vidattr.c,v 1.27 2000/04/29 23:25:27 tom Exp $")
 #define SetColorsIf(why,old_attr) \
        if (can_color && (why)) { \
                int old_pair = PAIR_NUMBER(old_attr); \
 #define SetColorsIf(why,old_attr) \
        if (can_color && (why)) { \
                int old_pair = PAIR_NUMBER(old_attr); \
-               T(("old pair = %d -- new pair = %d", old_pair, pair)); \
+               TR(TRACE_ATTRS, ("old pair = %d -- new pair = %d", old_pair, pair)); \
                if ((pair != old_pair) \
                 || (fix_pair0 && (pair == 0)) \
                 || (reverse ^ ((old_attr & A_REVERSE) != 0))) { \
                if ((pair != old_pair) \
                 || (fix_pair0 && (pair == 0)) \
                 || (reverse ^ ((old_attr & A_REVERSE) != 0))) { \
@@ -95,7 +95,7 @@ vidputs(attr_t newmode, int (*outc) (int))
     bool reverse = FALSE;
     bool used_ncv = FALSE;
     bool can_color = (SP == 0 || SP->_coloron);
     bool reverse = FALSE;
     bool used_ncv = FALSE;
     bool can_color = (SP == 0 || SP->_coloron);
-#ifdef NCURSES_EXT_FUNCS
+#if NCURSES_EXT_FUNCS
     bool fix_pair0 = (SP != 0 && SP->_coloron && !SP->_default_color);
 #else
 #define fix_pair0 FALSE
     bool fix_pair0 = (SP != 0 && SP->_coloron && !SP->_default_color);
 #else
 #define fix_pair0 FALSE
@@ -107,7 +107,7 @@ vidputs(attr_t newmode, int (*outc) (int))
     if (SP)
        previous_attr = SP->_current_attr;
 
     if (SP)
        previous_attr = SP->_current_attr;
 
-    T(("previous attribute was %s", _traceattr(previous_attr)));
+    TR(TRACE_ATTRS, ("previous attribute was %s", _traceattr(previous_attr)));
 
 #if !USE_XMC_SUPPORT
     if ((SP != 0)
 
 #if !USE_XMC_SUPPORT
     if ((SP != 0)
@@ -120,36 +120,29 @@ vidputs(attr_t newmode, int (*outc) (int))
      * attributes, use the colors in preference.
      */
     if (((newmode & A_COLOR) != 0
      * attributes, use the colors in preference.
      */
     if (((newmode & A_COLOR) != 0
-           || fix_pair0)
+        || fix_pair0)
        && (no_color_video > 0)) {
        && (no_color_video > 0)) {
-       /* *INDENT-OFF* */
-       static const struct {
-           attr_t video;
-           unsigned bit;
-       } table[] = {
-           { A_STANDOUT,       1 },
-           { A_UNDERLINE,      2 },
-           { A_REVERSE,        4 },
-           { A_BLINK,          8 },
-           { A_DIM,            16 },
-           { A_BOLD,           32 },
-           { A_INVIS,          64 },
-           { A_PROTECT,        128 },
-           { A_ALTCHARSET,     256 },
-       };
-       /* *INDENT-ON* */
-
-       size_t n;
-       for (n = 0; n < SIZEOF(table); n++) {
-           if ((table[n].bit & no_color_video)
-               && (table[n].video & newmode)) {
-               used_ncv = TRUE;
-               if (table[n].video == A_REVERSE)
-                   reverse = TRUE;
-               else
-                   newmode &= ~table[n].video;
-           }
+       /*
+        * If we had chosen the A_xxx definitions to correspond to the
+        * no_color_video mask, we could simply shift it up and mask off the
+        * attributes.  But we did not (actually copied Solaris' definitions).
+        * However, this is still simpler/faster than a lookup table.
+        *
+        * The 63 corresponds to A_STANDOUT, A_UNDERLINE, A_REVERSE, A_BLINK,
+        * A_DIM, A_BOLD which are 1:1 with no_color_video.  The bits that
+        * correspond to A_INVIS, A_PROTECT (192) must be shifted up 1 and
+        * A_ALTCHARSET (256) down 2 to line up.  We use the NCURSES_BITS
+        * macro so this will work properly for the wide-character layout.
+        */
+       attr_t mask = NCURSES_BITS((no_color_video & 63)
+                                  | ((no_color_video & 192) << 1)
+                                  | ((no_color_video & 256) >> 2), 8);
+
+       if (mask & A_REVERSE && newmode & A_REVERSE) {
+           reverse = TRUE;
+           mask &= ~A_REVERSE;
        }
        }
+       newmode &= ~mask;
     }
 
     if (newmode == previous_attr)
     }
 
     if (newmode == previous_attr)
@@ -172,7 +165,16 @@ vidputs(attr_t newmode, int (*outc) (int))
            previous_attr &= ~A_ALTCHARSET;
        }
        if (previous_attr) {
            previous_attr &= ~A_ALTCHARSET;
        }
        if (previous_attr) {
-           doPut(exit_attribute_mode);
+           if (exit_attribute_mode) {
+               doPut(exit_attribute_mode);
+           } else {
+               if (!SP || SP->_use_rmul) {
+                   TurnOff(A_UNDERLINE, exit_underline_mode);
+               }
+               if (!SP || SP->_use_rmso) {
+                   TurnOff(A_STANDOUT, exit_standout_mode);
+               }
+           }
            previous_attr &= ~A_COLOR;
        }
 
            previous_attr &= ~A_COLOR;
        }
 
@@ -181,21 +183,21 @@ vidputs(attr_t newmode, int (*outc) (int))
        if (turn_on || turn_off) {
            TPUTS_TRACE("set_attributes");
            tputs(tparm(set_attributes,
        if (turn_on || turn_off) {
            TPUTS_TRACE("set_attributes");
            tputs(tparm(set_attributes,
-                   (newmode & A_STANDOUT) != 0,
-                   (newmode & A_UNDERLINE) != 0,
-                   (newmode & A_REVERSE) != 0,
-                   (newmode & A_BLINK) != 0,
-                   (newmode & A_DIM) != 0,
-                   (newmode & A_BOLD) != 0,
-                   (newmode & A_INVIS) != 0,
-                   (newmode & A_PROTECT) != 0,
-                   (newmode & A_ALTCHARSET) != 0), 1, outc);
+                       (newmode & A_STANDOUT) != 0,
+                       (newmode & A_UNDERLINE) != 0,
+                       (newmode & A_REVERSE) != 0,
+                       (newmode & A_BLINK) != 0,
+                       (newmode & A_DIM) != 0,
+                       (newmode & A_BOLD) != 0,
+                       (newmode & A_INVIS) != 0,
+                       (newmode & A_PROTECT) != 0,
+                       (newmode & A_ALTCHARSET) != 0), 1, outc);
            previous_attr &= ~A_COLOR;
        }
        SetColorsIf((pair != 0) || fix_pair0, previous_attr);
     } else {
 
            previous_attr &= ~A_COLOR;
        }
        SetColorsIf((pair != 0) || fix_pair0, previous_attr);
     } else {
 
-       T(("turning %s off", _traceattr(turn_off)));
+       TR(TRACE_ATTRS, ("turning %s off", _traceattr(turn_off)));
 
        TurnOff(A_ALTCHARSET, exit_alt_charset_mode);
 
 
        TurnOff(A_ALTCHARSET, exit_alt_charset_mode);
 
@@ -214,7 +216,7 @@ vidputs(attr_t newmode, int (*outc) (int))
        }
        SetColorsIf((pair != 0) || fix_pair0, previous_attr);
 
        }
        SetColorsIf((pair != 0) || fix_pair0, previous_attr);
 
-       T(("turning %s on", _traceattr(turn_on)));
+       TR(TRACE_ATTRS, ("turning %s on", _traceattr(turn_on)));
        /* *INDENT-OFF* */
        TurnOn(A_ALTCHARSET,    enter_alt_charset_mode);
        TurnOn(A_BLINK,         enter_blink_mode);
        /* *INDENT-OFF* */
        TurnOn(A_ALTCHARSET,    enter_alt_charset_mode);
        TurnOn(A_BLINK,         enter_blink_mode);
@@ -259,6 +261,7 @@ termattrs(void)
 {
     chtype attrs = A_NORMAL;
 
 {
     chtype attrs = A_NORMAL;
 
+    T((T_CALLED("termattrs()")));
     if (enter_alt_charset_mode)
        attrs |= A_ALTCHARSET;
 
     if (enter_alt_charset_mode)
        attrs |= A_ALTCHARSET;
 
@@ -289,5 +292,5 @@ termattrs(void)
     if (SP->_coloron)
        attrs |= A_COLOR;
 
     if (SP->_coloron)
        attrs |= A_COLOR;
 
-    return (attrs);
+    returnChar(attrs);
 }
 }
index 1f3dd4635d859db33b5584ddae7d317445801504..298c11ed0a2117de160ba86445f5245a77872eee 100644 (file)
@@ -70,7 +70,7 @@
 
 #include <term.h>
 
 
 #include <term.h>
 
-MODULE_ID("$Id: tty_update.c,v 1.141 2000/07/04 21:01:40 tom Exp $")
+MODULE_ID("$Id: tty_update.c,v 1.146 2000/10/07 01:11:44 tom Exp $")
 
 /*
  * This define controls the line-breakout optimization.  Every once in a
 
 /*
  * This define controls the line-breakout optimization.  Every once in a
@@ -112,15 +112,24 @@ position_check(int expected_y, int expected_x, char *legend)
 /* check to see if the real cursor position matches the virtual */
 {
     char buf[20];
 /* check to see if the real cursor position matches the virtual */
 {
     char buf[20];
+    char *s;
     int y, x;
 
     if (!_nc_tracing || (expected_y < 0 && expected_x < 0))
        return;
 
     int y, x;
 
     if (!_nc_tracing || (expected_y < 0 && expected_x < 0))
        return;
 
+    _nc_flush();
     memset(buf, '\0', sizeof(buf));
     putp("\033[6n");           /* only works on ANSI-compatibles */
     _nc_flush();
     memset(buf, '\0', sizeof(buf));
     putp("\033[6n");           /* only works on ANSI-compatibles */
     _nc_flush();
-    (void) read(0, buf, sizeof(buf) - 1);
+    *(s = buf) = 0;
+    do {
+       int ask = sizeof(buf) - 1 - (s - buf);
+       int got = read(0, s, ask);
+       if (got == 0)
+           break;
+       s += got;
+    } while (strchr(buf, 'R') == 0);
     _tracef("probe returned %s", _nc_visbuf(buf));
 
     /* try to interpret as a position report */
     _tracef("probe returned %s", _nc_visbuf(buf));
 
     /* try to interpret as a position report */
@@ -133,8 +142,9 @@ position_check(int expected_y, int expected_x, char *legend)
            expected_y = y - 1;
        if (y - 1 != expected_y || x - 1 != expected_x) {
            beep();
            expected_y = y - 1;
        if (y - 1 != expected_y || x - 1 != expected_x) {
            beep();
+           tputs(tparm("\033[%d;%dH", expected_y + 1, expected_x + 1), 1, _nc_outch);
            _tracef("position seen (%d, %d) doesn't match expected one (%d, %d) in %s",
            _tracef("position seen (%d, %d) doesn't match expected one (%d, %d) in %s",
-               y - 1, x - 1, expected_y, expected_x, legend);
+                   y - 1, x - 1, expected_y, expected_x, legend);
        } else {
            _tracef("position matches OK in %s", legend);
        }
        } else {
            _tracef("position matches OK in %s", legend);
        }
@@ -156,7 +166,7 @@ GoTo(int const row, int const col)
     chtype oldattr = SP->_current_attr;
 
     TR(TRACE_MOVE, ("GoTo(%d, %d) from (%d, %d)",
     chtype oldattr = SP->_current_attr;
 
     TR(TRACE_MOVE, ("GoTo(%d, %d) from (%d, %d)",
-           row, col, SP->_cursrow, SP->_curscol));
+                   row, col, SP->_cursrow, SP->_curscol));
 
     position_check(SP->_cursrow, SP->_curscol, "GoTo");
 
 
     position_check(SP->_cursrow, SP->_curscol, "GoTo");
 
@@ -168,7 +178,7 @@ GoTo(int const row, int const col)
     if ((oldattr & A_ALTCHARSET)
        || (oldattr && !move_standout_mode)) {
        TR(TRACE_CHARPUT, ("turning off (%#lx) %s before move",
     if ((oldattr & A_ALTCHARSET)
        || (oldattr && !move_standout_mode)) {
        TR(TRACE_CHARPUT, ("turning off (%#lx) %s before move",
-               oldattr, _traceattr(oldattr)));
+                          oldattr, _traceattr(oldattr)));
        vidattr(A_NORMAL);
     }
 
        vidattr(A_NORMAL);
     }
 
@@ -187,8 +197,8 @@ PutAttrChar(chtype ch)
        ch = ('`' | AttrOf(ch));
 
     TR(TRACE_CHARPUT, ("PutAttrChar(%s) at (%d, %d)",
        ch = ('`' | AttrOf(ch));
 
     TR(TRACE_CHARPUT, ("PutAttrChar(%s) at (%d, %d)",
-           _tracechtype(ch),
-           SP->_cursrow, SP->_curscol));
+                      _tracechtype(ch),
+                      SP->_cursrow, SP->_curscol));
     UpdateAttrs(ch);
     data = TextOf(ch);
     if (SP->_outch != 0) {
     UpdateAttrs(ch);
     data = TextOf(ch);
     if (SP->_outch != 0) {
@@ -295,7 +305,7 @@ PutCharLR(chtype const ch)
        TPUTS_TRACE("enter_am_mode");
        putp(enter_am_mode);
     } else if ((enter_insert_mode && exit_insert_mode)
        TPUTS_TRACE("enter_am_mode");
        putp(enter_am_mode);
     } else if ((enter_insert_mode && exit_insert_mode)
-       || insert_character || parm_ich) {
+              || insert_character || parm_ich) {
        GoTo(screen_lines - 1, screen_columns - 2);
        callPutChar(ch);
        GoTo(screen_lines - 1, screen_columns - 2);
        GoTo(screen_lines - 1, screen_columns - 2);
        callPutChar(ch);
        GoTo(screen_lines - 1, screen_columns - 2);
@@ -361,7 +371,7 @@ can_clear_with(chtype ch)
     if (!back_color_erase && SP->_coloron) {
        if (ch & A_COLOR)
            return FALSE;
     if (!back_color_erase && SP->_coloron) {
        if (ch & A_COLOR)
            return FALSE;
-#ifdef NCURSES_EXT_FUNCS
+#if NCURSES_EXT_FUNCS
        if (!SP->_default_color)
            return FALSE;
        if (SP->_default_fg != C_MASK || SP->_default_bg != C_MASK)
        if (!SP->_default_color)
            return FALSE;
        if (SP->_default_fg != C_MASK || SP->_default_bg != C_MASK)
@@ -427,10 +437,11 @@ EmitRange(const chtype * ntext, int num)
                 * don't bother moving cursor, since it can be the
                 * last update on the line.
                 */
                 * don't bother moving cursor, since it can be the
                 * last update on the line.
                 */
-               if (runcount < num)
+               if (runcount < num) {
                    GoTo(SP->_cursrow, SP->_curscol + runcount);
                    GoTo(SP->_cursrow, SP->_curscol + runcount);
-               else
+               } else {
                    return 1;   /* cursor stays in the middle */
                    return 1;   /* cursor stays in the middle */
+               }
            } else if (repeat_char && runcount > SP->_rep_cost) {
                bool wrap_possible = (SP->_curscol + runcount >= screen_columns);
                int rep_count = runcount;
            } else if (repeat_char && runcount > SP->_rep_cost) {
                bool wrap_possible = (SP->_curscol + runcount >= screen_columns);
                int rep_count = runcount;
@@ -469,15 +480,15 @@ EmitRange(const chtype * ntext, int num)
  */
 static int
 PutRange(
  */
 static int
 PutRange(
-    const chtype * otext,
-    const chtype * ntext,
-    int row,
-    int first, int last)
+           const chtype * otext,
+           const chtype * ntext,
+           int row,
+           int first, int last)
 {
     int j, run;
 
     TR(TRACE_CHARPUT, ("PutRange(%p, %p, %d, %d, %d)",
 {
     int j, run;
 
     TR(TRACE_CHARPUT, ("PutRange(%p, %p, %d, %d, %d)",
-           otext, ntext, row, first, last));
+                      otext, ntext, row, first, last));
 
     if (otext != ntext
        && (last - first + 1) > SP->_inline_cost) {
 
     if (otext != ntext
        && (last - first + 1) > SP->_inline_cost) {
@@ -597,8 +608,8 @@ doupdate(void)
                    continue;
                }
 
                    continue;
                }
 
-               T(("At (%d, %d): from %s...", i, j, _traceattr(rattr)));
-               T(("...to %s", _traceattr(turnon)));
+               TR(TRACE_ATTRS, ("At (%d, %d): from %s...", i, j, _traceattr(rattr)));
+               TR(TRACE_ATTRS, ("...to %s", _traceattr(turnon)));
 
                /*
                 * If the attribute change location is a blank with a
 
                /*
                 * If the attribute change location is a blank with a
@@ -628,15 +639,17 @@ doupdate(void)
                        for (; n < screen_columns; n++) {
                            if (AttrOf(newscr->_line[m].text[n]) == rattr) {
                                end_onscreen = TRUE;
                        for (; n < screen_columns; n++) {
                            if (AttrOf(newscr->_line[m].text[n]) == rattr) {
                                end_onscreen = TRUE;
-                               T(("Range attributed with %s ends at (%d, %d)",
-                                       _traceattr(turnon), m, n));
+                               TR(TRACE_ATTRS,
+                                  ("Range attributed with %s ends at (%d, %d)",
+                                   _traceattr(turnon), m, n));
                                goto foundit;
                            }
                        }
                        n = 0;
                    }
                                goto foundit;
                            }
                        }
                        n = 0;
                    }
-                   T(("Range attributed with %s ends offscreen",
-                           _traceattr(turnon)));
+                   TR(TRACE_ATTRS,
+                      ("Range attributed with %s ends offscreen",
+                       _traceattr(turnon)));
                  foundit:;
 
                    if (end_onscreen) {
                  foundit:;
 
                    if (end_onscreen) {
@@ -649,8 +662,8 @@ doupdate(void)
                         * of span.
                         */
                        while (n >= 0
                         * of span.
                         */
                        while (n >= 0
-                           && TextOf(lastline[n]) == ' '
-                           && SAFE(AttrOf(lastline[n])))
+                              && TextOf(lastline[n]) == ' '
+                              && SAFE(AttrOf(lastline[n])))
                            lastline[n--] &= ~turnon;
 
                        /* check that there's enough room at end of span */
                            lastline[n--] &= ~turnon;
 
                        /* check that there's enough room at end of span */
@@ -665,8 +678,9 @@ doupdate(void)
                if (failed) {
                    int p, q = j;
 
                if (failed) {
                    int p, q = j;
 
-                   T(("Clearing %s beginning at (%d, %d)",
-                           _traceattr(turnon), i, j));
+                   TR(TRACE_ATTRS,
+                      ("Clearing %s beginning at (%d, %d)",
+                       _traceattr(turnon), i, j));
 
                    /* turn off new attributes over span */
                    for (p = i; p < screen_lines; p++) {
 
                    /* turn off new attributes over span */
                    for (p = i; p < screen_lines; p++) {
@@ -679,8 +693,9 @@ doupdate(void)
                    }
                  foundend:;
                } else {
                    }
                  foundend:;
                } else {
-                   T(("Cookie space for %s found before (%d, %d)",
-                           _traceattr(turnon), i, j));
+                   TR(TRACE_ATTRS,
+                      ("Cookie space for %s found before (%d, %d)",
+                       _traceattr(turnon), i, j));
 
                    /*
                     * back up the start of range so there's room
 
                    /*
                     * back up the start of range so there's room
@@ -706,7 +721,7 @@ doupdate(void)
 
     nonempty = 0;
     if (curscr->_clear || newscr->_clear) {    /* force refresh ? */
 
     nonempty = 0;
     if (curscr->_clear || newscr->_clear) {    /* force refresh ? */
-       T(("clearing and updating from scratch"));
+       TR(TRACE_UPDATE, ("clearing and updating from scratch"));
        ClrUpdate();
        curscr->_clear = FALSE; /* reset flag */
        newscr->_clear = FALSE; /* reset flag */
        ClrUpdate();
        curscr->_clear = FALSE; /* reset flag */
        newscr->_clear = FALSE; /* reset flag */
@@ -724,7 +739,7 @@ doupdate(void)
 
        nonempty = ClrBottom(nonempty);
 
 
        nonempty = ClrBottom(nonempty);
 
-       T(("Transforming lines, nonempty %d", nonempty));
+       TR(TRACE_UPDATE, ("Transforming lines, nonempty %d", nonempty));
        for (i = 0; i < nonempty; i++) {
            /*
             * Here is our line-breakout optimization.
        for (i = 0; i < nonempty; i++) {
            /*
             * Here is our line-breakout optimization.
@@ -785,10 +800,10 @@ doupdate(void)
 #if USE_TRACE_TIMES
     (void) times(&after);
     TR(TRACE_TIMES,
 #if USE_TRACE_TIMES
     (void) times(&after);
     TR(TRACE_TIMES,
-       ("Update cost: %ld chars, %ld clocks system time, %ld clocks user time",
-           _nc_outchars,
-           after.tms_stime - before.tms_stime,
-           after.tms_utime - before.tms_utime));
+       ("Update cost: %ld chars, %ld clocks system time, %ld clocks user time",
+       _nc_outchars,
+       after.tms_stime - before.tms_stime,
+       after.tms_utime - before.tms_utime));
 #endif /* USE_TRACE_TIMES */
 
     _nc_signal_handler(TRUE);
 #endif /* USE_TRACE_TIMES */
 
     _nc_signal_handler(TRUE);
@@ -832,11 +847,11 @@ ClrUpdate(void)
     chtype blank = ClrBlank(stdscr);
     int nonempty = min(screen_lines, newscr->_maxy + 1);
 
     chtype blank = ClrBlank(stdscr);
     int nonempty = min(screen_lines, newscr->_maxy + 1);
 
-    T(("ClrUpdate() called"));
+    TR(TRACE_UPDATE, ("ClrUpdate() called"));
 
     ClearScreen(blank);
 
 
     ClearScreen(blank);
 
-    T(("updating screen from scratch"));
+    TR(TRACE_UPDATE, ("updating screen from scratch"));
 
     nonempty = ClrBottom(nonempty);
 
 
     nonempty = ClrBottom(nonempty);
 
@@ -856,14 +871,15 @@ ClrToEOL(chtype blank, bool needclear)
     int j;
 
     if (curscr != 0
     int j;
 
     if (curscr != 0
-       && SP->_cursrow >= 0
-       && SP->_curscol >= 0) {
+       && SP->_cursrow >= 0) {
        for (j = SP->_curscol; j < screen_columns; j++) {
        for (j = SP->_curscol; j < screen_columns; j++) {
-           chtype *cp = &(curscr->_line[SP->_cursrow].text[j]);
+           if (j >= 0) {
+               chtype *cp = &(curscr->_line[SP->_cursrow].text[j]);
 
 
-           if (*cp != blank) {
-               *cp = blank;
-               needclear = TRUE;
+               if (*cp != blank) {
+                   *cp = blank;
+                   needclear = TRUE;
+               }
            }
        }
     } else {
            }
        }
     } else {
@@ -897,11 +913,9 @@ ClrToEOS(chtype blank)
     row = SP->_cursrow;
     col = SP->_curscol;
 
     row = SP->_cursrow;
     col = SP->_curscol;
 
-    {
-       UpdateAttrs(blank);
-       TPUTS_TRACE("clr_eos");
-       tputs(clr_eos, screen_lines - row, _nc_outch);
-    }
+    UpdateAttrs(blank);
+    TPUTS_TRACE("clr_eos");
+    tputs(clr_eos, screen_lines - row, _nc_outch);
 
     while (col < screen_columns)
        curscr->_line[row].text[col++] = blank;
 
     while (col < screen_columns)
        curscr->_line[row].text[col++] = blank;
@@ -935,12 +949,14 @@ ClrBottom(int total)
            for (col = 0, ok = TRUE; ok && col < last; col++) {
                ok = (newscr->_line[row].text[col] == blank);
            }
            for (col = 0, ok = TRUE; ok && col < last; col++) {
                ok = (newscr->_line[row].text[col] == blank);
            }
-           if (!ok) break;
+           if (!ok)
+               break;
 
            for (col = 0; ok && col < last; col++) {
                ok = (curscr->_line[row].text[col] == blank);
            }
 
            for (col = 0; ok && col < last; col++) {
                ok = (curscr->_line[row].text[col] == blank);
            }
-           if (!ok) top = row;
+           if (!ok)
+               top = row;
        }
 
        /* don't use clr_eos for just one line if clr_eol available */
        }
 
        /* don't use clr_eos for just one line if clr_eol available */
@@ -984,7 +1000,7 @@ TransformLine(int const lineno)
     int n;
     bool attrchanged = FALSE;
 
     int n;
     bool attrchanged = FALSE;
 
-    T(("TransformLine(%d) called", lineno));
+    TR(TRACE_UPDATE, ("TransformLine(%d) called", lineno));
 
     /* copy new hash value to old one */
     if (SP->oldhash && SP->newhash)
 
     /* copy new hash value to old one */
     if (SP->oldhash && SP->newhash)
@@ -1066,11 +1082,11 @@ TransformLine(int const lineno)
             */
            if (TextOf(newLine[n]) == ' '
                && ((n > 0
             */
            if (TextOf(newLine[n]) == ' '
                && ((n > 0
-                       && xmc_turn_on(newLine[n - 1], newLine[n]))
+                    && xmc_turn_on(newLine[n - 1], newLine[n]))
                    || (n == 0
                        && lineno > 0
                        && xmc_turn_on(NEW(lineno - 1, screen_columns - 1),
                    || (n == 0
                        && lineno > 0
                        && xmc_turn_on(NEW(lineno - 1, screen_columns - 1),
-                           newLine[n])))) {
+                                      newLine[n])))) {
                n = m;
            }
 
                n = m;
            }
 
@@ -1082,7 +1098,7 @@ TransformLine(int const lineno)
             */
            if (TextOf(newLine[n]) != ' '
                && ((n + 1 < screen_columns
             */
            if (TextOf(newLine[n]) != ' '
                && ((n + 1 < screen_columns
-                       && xmc_turn_off(newLine[n], newLine[n + 1]))
+                    && xmc_turn_off(newLine[n], newLine[n + 1]))
                    || (n + 1 >= screen_columns
                        && lineno + 1 < screen_lines
                        && xmc_turn_off(newLine[n], NEW(lineno + 1, 0))))) {
                    || (n + 1 >= screen_columns
                        && lineno + 1 < screen_lines
                        && xmc_turn_off(newLine[n], NEW(lineno + 1, 0))))) {
@@ -1097,7 +1113,7 @@ TransformLine(int const lineno)
 
        /* find the first differing character */
        while (firstChar < screen_columns &&
 
        /* find the first differing character */
        while (firstChar < screen_columns &&
-           newLine[firstChar] == oldLine[firstChar])
+              newLine[firstChar] == oldLine[firstChar])
            firstChar++;
 
        /* if there wasn't one, we're done */
            firstChar++;
 
        /* if there wasn't one, we're done */
@@ -1143,15 +1159,15 @@ TransformLine(int const lineno)
            nLastChar = screen_columns - 1;
 
            while (nLastChar > firstChar
            nLastChar = screen_columns - 1;
 
            while (nLastChar > firstChar
-               && newLine[nLastChar] == oldLine[nLastChar])
+                  && newLine[nLastChar] == oldLine[nLastChar])
                nLastChar--;
 
            if (nLastChar >= firstChar) {
                GoTo(lineno, firstChar);
                PutRange(oldLine, newLine, lineno, firstChar, nLastChar);
                memcpy(oldLine + firstChar,
                nLastChar--;
 
            if (nLastChar >= firstChar) {
                GoTo(lineno, firstChar);
                PutRange(oldLine, newLine, lineno, firstChar, nLastChar);
                memcpy(oldLine + firstChar,
-                   newLine + firstChar,
-                   (nLastChar - firstChar + 1) * sizeof(chtype));
+                      newLine + firstChar,
+                      (nLastChar - firstChar + 1) * sizeof(chtype));
            }
            return;
        }
            }
            return;
        }
@@ -1173,8 +1189,8 @@ TransformLine(int const lineno)
                PutChar(newLine[firstChar]);
            ClrToEOL(blank, FALSE);
        } else if ((nLastChar != oLastChar)
                PutChar(newLine[firstChar]);
            ClrToEOL(blank, FALSE);
        } else if ((nLastChar != oLastChar)
-               && (newLine[nLastChar] != oldLine[oLastChar]
-               || !(_nc_idcok && has_ic()))) {
+                  && (newLine[nLastChar] != oldLine[oLastChar]
+                      || !(_nc_idcok && has_ic()))) {
            GoTo(lineno, firstChar);
            if ((oLastChar - nLastChar) > SP->_el_cost) {
                if (PutRange(oldLine, newLine, lineno, firstChar, nLastChar))
            GoTo(lineno, firstChar);
            if ((oLastChar - nLastChar) > SP->_el_cost) {
                if (PutRange(oldLine, newLine, lineno, firstChar, nLastChar))
@@ -1219,7 +1235,7 @@ TransformLine(int const lineno)
                if (DelCharCost(oLastChar - nLastChar)
                    > SP->_el_cost + nLastNonblank - (n + 1)) {
                    if (PutRange(oldLine, newLine, lineno,
                if (DelCharCost(oLastChar - nLastChar)
                    > SP->_el_cost + nLastNonblank - (n + 1)) {
                    if (PutRange(oldLine, newLine, lineno,
-                           n + 1, nLastNonblank))
+                                n + 1, nLastNonblank))
                        GoTo(lineno, nLastNonblank + 1);
                    ClrToEOL(blank, FALSE);
                } else {
                        GoTo(lineno, nLastNonblank + 1);
                    ClrToEOL(blank, FALSE);
                } else {
@@ -1241,8 +1257,8 @@ TransformLine(int const lineno)
     /* update the code's internal representation */
     if (screen_columns > firstChar)
        memcpy(oldLine + firstChar,
     /* update the code's internal representation */
     if (screen_columns > firstChar)
        memcpy(oldLine + firstChar,
-           newLine + firstChar,
-           (screen_columns - firstChar) * sizeof(chtype));
+              newLine + firstChar,
+              (screen_columns - firstChar) * sizeof(chtype));
 }
 
 /*
 }
 
 /*
@@ -1258,9 +1274,9 @@ ClearScreen(chtype blank)
     int i, j;
     bool fast_clear = (clear_screen || clr_eos || clr_eol);
 
     int i, j;
     bool fast_clear = (clear_screen || clr_eos || clr_eol);
 
-    T(("ClearScreen() called"));
+    TR(TRACE_UPDATE, ("ClearScreen() called"));
 
 
-#ifdef NCURSES_EXT_FUNCS
+#if NCURSES_EXT_FUNCS
     if (SP->_coloron
        && !SP->_default_color) {
        _nc_do_color(COLOR_PAIR(SP->_current_attr), 0, FALSE, _nc_outch);
     if (SP->_coloron
        && !SP->_default_color) {
        _nc_do_color(COLOR_PAIR(SP->_current_attr), 0, FALSE, _nc_outch);
@@ -1310,7 +1326,7 @@ ClearScreen(chtype blank)
            curscr->_line[i].text[j] = blank;
     }
 
            curscr->_line[i].text[j] = blank;
     }
 
-    T(("screen cleared"));
+    TR(TRACE_UPDATE, ("screen cleared"));
 }
 
 /*
 }
 
 /*
@@ -1323,7 +1339,7 @@ ClearScreen(chtype blank)
 static void
 InsStr(chtype * line, int count)
 {
 static void
 InsStr(chtype * line, int count)
 {
-    T(("InsStr(%p,%d) called", line, count));
+    TR(TRACE_UPDATE, ("InsStr(%p,%d) called", line, count));
 
     /* Prefer parm_ich as it has the smallest cost - no need to shift
      * the whole line on each character. */
 
     /* Prefer parm_ich as it has the smallest cost - no need to shift
      * the whole line on each character. */
@@ -1378,7 +1394,8 @@ DelChar(int count)
 {
     int n;
 
 {
     int n;
 
-    T(("DelChar(%d) called, position = (%d,%d)", count, newscr->_cury, newscr->_curx));
+    TR(TRACE_UPDATE, ("DelChar(%d) called, position = (%d,%d)", count,
+                     newscr->_cury, newscr->_curx));
 
     if (parm_dch) {
        TPUTS_TRACE("parm_dch");
 
     if (parm_dch) {
        TPUTS_TRACE("parm_dch");
@@ -1479,7 +1496,7 @@ scroll_csr_forward(int n, int top, int bot, int miny, int maxy, chtype blank)
     } else
        return ERR;
 
     } else
        return ERR;
 
-#ifdef NCURSES_EXT_FUNCS
+#if NCURSES_EXT_FUNCS
     if (FILL_BCE()) {
        for (i = 0; i < n; i++) {
            GoTo(bot - i, 0);
     if (FILL_BCE()) {
        for (i = 0; i < n; i++) {
            GoTo(bot - i, 0);
@@ -1535,7 +1552,7 @@ scroll_csr_backward(int n, int top, int bot, int miny, int maxy, chtype blank)
     } else
        return ERR;
 
     } else
        return ERR;
 
-#ifdef NCURSES_EXT_FUNCS
+#if NCURSES_EXT_FUNCS
     if (FILL_BCE()) {
        for (i = 0; i < n; i++) {
            GoTo(top + i, 0);
     if (FILL_BCE()) {
        for (i = 0; i < n; i++) {
            GoTo(top + i, 0);
@@ -1615,18 +1632,11 @@ _nc_scrolln(int n, int top, int bot, int maxy)
         * Explicitly clear if stuff pushed off top of region might
         * be saved by the terminal.
         */
         * Explicitly clear if stuff pushed off top of region might
         * be saved by the terminal.
         */
-       if (non_dest_scroll_region || (memory_above && top == 0)) {
-           for (i = 0; i < n; i++) {
-               GoTo(i, 0);
-               ClrToEOL(BLANK, FALSE);
-           }
-       }
-
        res = scroll_csr_forward(n, top, bot, 0, maxy, blank);
 
        if (res == ERR && change_scroll_region) {
            if ((((n == 1 && scroll_forward) || parm_index)
        res = scroll_csr_forward(n, top, bot, 0, maxy, blank);
 
        if (res == ERR && change_scroll_region) {
            if ((((n == 1 && scroll_forward) || parm_index)
-                   && (SP->_cursrow == bot || SP->_cursrow == bot - 1))
+                && (SP->_cursrow == bot || SP->_cursrow == bot - 1))
                && save_cursor && restore_cursor) {
                cursor_saved = TRUE;
                TPUTS_TRACE("save_cursor");
                && save_cursor && restore_cursor) {
                cursor_saved = TRUE;
                TPUTS_TRACE("save_cursor");
@@ -1650,23 +1660,24 @@ _nc_scrolln(int n, int top, int bot, int maxy)
 
        if (res == ERR && _nc_idlok)
            res = scroll_idl(n, top, bot - n + 1, blank);
 
        if (res == ERR && _nc_idlok)
            res = scroll_idl(n, top, bot - n + 1, blank);
-    } else {                   /* (n < 0) - scroll down (backward) */
+
        /*
        /*
-        * Do explicit clear to end of region if it's possible that the
-        * terminal might hold on to stuff we push off the end.
+        * Clear the newly shifted-in text.
         */
         */
-       if (non_dest_scroll_region || (memory_below && bot == maxy)) {
+       if (res != ERR
+           && (non_dest_scroll_region || (memory_below && bot == maxy))) {
            if (bot == maxy && clr_eos) {
            if (bot == maxy && clr_eos) {
-               GoTo(maxy + n, 0);
+               GoTo(bot - n, 0);
                ClrToEOS(BLANK);
                ClrToEOS(BLANK);
-           } else if (clr_eol) {
-               for (i = 0; i < -n; i++) {
-                   GoTo(maxy + n + i, 0);
+           } else {
+               for (i = 0; i < n; i++) {
+                   GoTo(bot - i, 0);
                    ClrToEOL(BLANK, FALSE);
                }
            }
        }
 
                    ClrToEOL(BLANK, FALSE);
                }
            }
        }
 
+    } else {                   /* (n < 0) - scroll down (backward) */
        res = scroll_csr_backward(-n, top, bot, 0, maxy, blank);
 
        if (res == ERR && change_scroll_region) {
        res = scroll_csr_backward(-n, top, bot, 0, maxy, blank);
 
        if (res == ERR && change_scroll_region) {
@@ -1694,6 +1705,17 @@ _nc_scrolln(int n, int top, int bot, int maxy)
 
        if (res == ERR && _nc_idlok)
            res = scroll_idl(-n, bot + n + 1, top, blank);
 
        if (res == ERR && _nc_idlok)
            res = scroll_idl(-n, bot + n + 1, top, blank);
+
+       /*
+        * Clear the newly shifted-in text.
+        */
+       if (res != ERR
+           && (non_dest_scroll_region || (memory_above && top == 0))) {
+           for (i = 0; i < -n; i++) {
+               GoTo(i + top, 0);
+               ClrToEOL(BLANK, FALSE);
+           }
+       }
     }
 
     if (res == ERR)
     }
 
     if (res == ERR)
@@ -1744,7 +1766,7 @@ void
 _nc_screen_wrap(void)
 {
     UpdateAttrs(A_NORMAL);
 _nc_screen_wrap(void)
 {
     UpdateAttrs(A_NORMAL);
-#ifdef NCURSES_EXT_FUNCS
+#if NCURSES_EXT_FUNCS
     if (SP->_coloron
        && !SP->_default_color) {
        SP->_default_color = TRUE;
     if (SP->_coloron
        && !SP->_default_color) {
        SP->_default_color = TRUE;
@@ -1771,7 +1793,7 @@ _nc_do_xmc_glitch(attr_t previous)
            SP->_curscol += magic_cookie_glitch;
            if (SP->_curscol >= SP->_columns)
                wrap_cursor();
            SP->_curscol += magic_cookie_glitch;
            if (SP->_curscol >= SP->_columns)
                wrap_cursor();
-           T(("bumped to %d,%d after cookie", SP->_cursrow, SP->_curscol));
+           TR(TRACE_UPDATE, ("bumped to %d,%d after cookie", SP->_cursrow, SP->_curscol));
        }
        chg >>= 1;
     }
        }
        chg >>= 1;
     }
index e5f528d79157326d227cdfae11515a30a5d2884c..a33ca9c73d72a4f160c99c57ba636b1c7d279d33 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.31 2000/05/28 01:40:32 tom Exp $
+# $Id: Makefile.in,v 1.35 2000/10/14 17:57:02 Johnny.C.Lam Exp $
 ##############################################################################
 # Copyright (c) 1998-2000 Free Software Foundation, Inc.                     #
 #                                                                            #
 ##############################################################################
 # Copyright (c) 1998-2000 Free Software Foundation, Inc.                     #
 #                                                                            #
@@ -46,7 +46,7 @@ SHELL         = /bin/sh
 THIS           = Makefile
 
 MODEL          = @DFT_LWR_MODEL@
 THIS           = Makefile
 
 MODEL          = @DFT_LWR_MODEL@
-INSTALL_PREFIX = @INSTALL_PREFIX@
+DESTDIR                = @DESTDIR@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
@@ -54,7 +54,7 @@ libdir                = @libdir@
 includedir     = @includedir@
 datadir                = @datadir@
 
 includedir     = @includedir@
 datadir                = @datadir@
 
-ticdir         = $(datadir)/terminfo
+LIBTOOL                = @LIBTOOL@
 
 INSTALL                = @INSTALL@
 INSTALL_LIB    = @INSTALL@ @INSTALL_LIB@
 
 INSTALL                = @INSTALL@
 INSTALL_LIB    = @INSTALL@ @INSTALL_LIB@
@@ -71,10 +71,11 @@ CPP         = @CPP@
 CFLAGS         = @CFLAGS@
 
 CPPFLAGS       = @CPPFLAGS@ \
 CFLAGS         = @CFLAGS@
 
 CPPFLAGS       = @CPPFLAGS@ \
-                 -DHAVE_CONFIG_H -DTERMINFO=\"$(ticdir)\"
+                 -DHAVE_CONFIG_H
 
 CCFLAGS                = $(CPPFLAGS) $(CFLAGS)
 
 
 CCFLAGS                = $(CPPFLAGS) $(CFLAGS)
 
+CFLAGS_LIBTOOL = $(CCFLAGS)
 CFLAGS_NORMAL  = $(CCFLAGS)
 CFLAGS_DEBUG   = $(CCFLAGS) @CC_G_OPT@ -DTRACE
 CFLAGS_PROFILE = $(CCFLAGS) -pg
 CFLAGS_NORMAL  = $(CCFLAGS)
 CFLAGS_DEBUG   = $(CCFLAGS) @CC_G_OPT@ -DTRACE
 CFLAGS_PROFILE = $(CCFLAGS) -pg
@@ -82,7 +83,7 @@ CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
 
 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
 
 
 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
 
-LINK           = $(CC)
+LINK           = $(LIBTOOL) $(CC)
 LDFLAGS                = @LDFLAGS@ @LD_MODEL@ @LIBS@
 
 SHLIB_DIRS     = -L../lib -L$(libdir)
 LDFLAGS                = @LDFLAGS@ @LD_MODEL@ @LIBS@
 
 SHLIB_DIRS     = -L../lib -L$(libdir)
@@ -90,6 +91,8 @@ SHLIB_LIST    = $(SHLIB_DIRS) -lncurses@LIB_SUFFIX@ @SHLIB_LIST@
 
 MK_SHARED_LIB  = @MK_SHARED_LIB@
 
 
 MK_SHARED_LIB  = @MK_SHARED_LIB@
 
+NCURSES_MAJOR  = @NCURSES_MAJOR@
+NCURSES_MINOR  = @NCURSES_MINOR@
 REL_VERSION    = @cf_cv_rel_version@
 ABI_VERSION    = @cf_cv_abi_version@
 
 REL_VERSION    = @cf_cv_rel_version@
 ABI_VERSION    = @cf_cv_abi_version@
 
@@ -111,7 +114,7 @@ install ::  $(AUTO_SRC) $(LIBRARIES)
 
 sources:       $(AUTO_SRC)
 
 
 sources:       $(AUTO_SRC)
 
-$(INSTALL_PREFIX)$(libdir) :
+$(DESTDIR)$(libdir) :
        $(srcdir)/../mkinstalldirs $@
 
 # make a copy to simplify include-paths while still keeping panel's include
        $(srcdir)/../mkinstalldirs $@
 
 # make a copy to simplify include-paths while still keeping panel's include
@@ -127,8 +130,8 @@ PANEL_PRIV_H = \
 tags:
        ctags *.[ch]
 
 tags:
        ctags *.[ch]
 
-TAGS:
-       etags *.[ch]
+@MAKE_UPPER_TAGS@TAGS:
+@MAKE_UPPER_TAGS@      etags *.[ch]
 
 mostlyclean ::
        -rm -f core tags TAGS *~ *.ln *.atac trace
 
 mostlyclean ::
        -rm -f core tags TAGS *~ *.ln *.atac trace
index 57bf793a007e6b101edd2c73e46a5b1ce22d10a4..f5a4798f0e0f475e1bf9dbaa133afa45440b6384 100644 (file)
@@ -1,4 +1,32 @@
-/* $Id: panel.priv.h,v 1.13 2000/01/15 20:39:53 juergen Exp $ */
+/****************************************************************************
+ * Copyright (c) 2000 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            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/* $Id: panel.priv.h,v 1.14 2000/09/02 18:22:23 tom Exp $ */
 
 #ifndef _PANEL_PRIV_H
 #define _PANEL_PRIV_H
 
 #ifndef _PANEL_PRIV_H
 #define _PANEL_PRIV_H
@@ -28,7 +56,7 @@
 #  define INLINE
 #endif
 
 #  define INLINE
 #endif
 
-#ifdef USE_RCS_IDS
+#if USE_RCS_IDS
 #  define MODULE_ID(id) static const char Ident[] = id;
 #else
 #  define MODULE_ID(id) /*nothing*/
 #  define MODULE_ID(id) static const char Ident[] = id;
 #else
 #  define MODULE_ID(id) /*nothing*/
index a0a296ef935b47f1832945b82aa57c272c89de01..b93ef8fa8e54717edecd58c33b8691ecf5783c81 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.41 2000/07/08 01:56:25 tom Exp $
+# $Id: Makefile.in,v 1.51 2000/10/14 22:19:14 tom Exp $
 ##############################################################################
 # Copyright (c) 1998-2000 Free Software Foundation, Inc.                     #
 #                                                                            #
 ##############################################################################
 # Copyright (c) 1998-2000 Free Software Foundation, Inc.                     #
 #                                                                            #
@@ -50,7 +50,7 @@ CF_MFLAGS     = @cf_cv_makeflags@
 x              = @PROG_EXT@
 
 MODEL          = ../@DFT_OBJ_SUBDIR@
 x              = @PROG_EXT@
 
 MODEL          = ../@DFT_OBJ_SUBDIR@
-INSTALL_PREFIX = @INSTALL_PREFIX@
+DESTDIR                = @DESTDIR@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
@@ -59,10 +59,11 @@ libdir              = @libdir@
 includedir     = @includedir@
 datadir                = @datadir@
 
 includedir     = @includedir@
 datadir                = @datadir@
 
-ticdir         = $(datadir)/terminfo
+LIBTOOL                = @LIBTOOL@
 
 INSTALL                = @INSTALL@
 INSTALL_PROGRAM        = @INSTALL_PROGRAM@
 
 INSTALL                = @INSTALL@
 INSTALL_PROGRAM        = @INSTALL_PROGRAM@
+transform      = @program_transform_name@
 
 AWK            = @AWK@
 LN_S           = @LN_S@
 
 AWK            = @AWK@
 LN_S           = @LN_S@
@@ -73,10 +74,11 @@ CFLAGS              = @CFLAGS@
 
 INCDIR         = $(srcdir)/../include
 CPPFLAGS       = -I../progs -I$(srcdir) @CPPFLAGS@ \
 
 INCDIR         = $(srcdir)/../include
 CPPFLAGS       = -I../progs -I$(srcdir) @CPPFLAGS@ \
-                 -DHAVE_CONFIG_H -DTERMINFO=\"$(ticdir)\"
+                 -DHAVE_CONFIG_H
 
 CCFLAGS                = $(CPPFLAGS) $(CFLAGS)
 
 
 CCFLAGS                = $(CPPFLAGS) $(CFLAGS)
 
+CFLAGS_LIBTOOL = $(CCFLAGS)
 CFLAGS_NORMAL  = $(CCFLAGS)
 CFLAGS_DEBUG   = $(CCFLAGS) @CC_G_OPT@ -DTRACE
 CFLAGS_PROFILE = $(CCFLAGS) -pg
 CFLAGS_NORMAL  = $(CCFLAGS)
 CFLAGS_DEBUG   = $(CCFLAGS) @CC_G_OPT@ -DTRACE
 CFLAGS_PROFILE = $(CCFLAGS) -pg
@@ -85,10 +87,11 @@ CFLAGS_SHARED       = $(CCFLAGS) @CC_SHARED_OPTS@
 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
 
 LD             = @LD@
 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
 
 LD             = @LD@
-LINK           = @LINK_PROGS@ $(CC)
+LINK           = @LINK_PROGS@ $(LIBTOOL) $(CC)
 LDFLAGS                = @EXTRA_LDFLAGS@ \
                @PROG_ARGS@ @LDFLAGS@ @LD_MODEL@ @LIBS@ @EXTRA_LIBS@
 
 LDFLAGS                = @EXTRA_LDFLAGS@ \
                @PROG_ARGS@ @LDFLAGS@ @LD_MODEL@ @LIBS@ @EXTRA_LIBS@
 
+LDFLAGS_LIBTOOL        = $(LDFLAGS)
 LDFLAGS_NORMAL = $(LDFLAGS)
 LDFLAGS_DEBUG  = $(LDFLAGS) @CC_G_OPT@
 LDFLAGS_PROFILE        = $(LDFLAGS) -pg
 LDFLAGS_NORMAL = $(LDFLAGS)
 LDFLAGS_DEBUG  = $(LDFLAGS) @CC_G_OPT@
 LDFLAGS_PROFILE        = $(LDFLAGS) -pg
@@ -101,7 +104,8 @@ LINT_OPTS   = @LINT_OPTS@
 LINT_LIBS      = -lncurses @LIBS@
 
 AUTO_SRC = \
 LINT_LIBS      = -lncurses @LIBS@
 
 AUTO_SRC = \
-       termsort.c
+       termsort.c \
+       transform.h
 
 PROGS = tic$x toe$x infocmp$x clear$x tput$x tset$x
 
 
 PROGS = tic$x toe$x infocmp$x clear$x tput$x tset$x
 
@@ -111,47 +115,66 @@ TESTPROGS = mvcur$x tctest$x hardscroll$x hashmap$x
 DEPS_CURSES = ../lib/@LIB_PREFIX@ncurses@DFT_DEP_SUFFIX@
 
 ################################################################################
 DEPS_CURSES = ../lib/@LIB_PREFIX@ncurses@DFT_DEP_SUFFIX@
 
 ################################################################################
-all:           $(AUTO_SRC) $(PROGS) 
+all:           $(AUTO_SRC) $(PROGS)
 
 sources:       $(AUTO_SRC)
 
 
 sources:       $(AUTO_SRC)
 
-install: install.progs 
-uninstall: uninstall.progs 
+install:       $(AUTO_SRC) install.progs
+uninstall: uninstall.progs
 
 # this line simplifies the configure-script
 libs \
 install.libs \
 uninstall.libs:
 
 
 # this line simplifies the configure-script
 libs \
 install.libs \
 uninstall.libs:
 
-install.progs: $(PROGS) $(INSTALL_PREFIX)$(bindir)
-       $(INSTALL_PROGRAM) tic$x     $(INSTALL_PREFIX)$(bindir)/tic$x
-       $(INSTALL_PROGRAM) toe$x     $(INSTALL_PREFIX)$(bindir)/toe$x
-       $(INSTALL_PROGRAM) infocmp$x $(INSTALL_PREFIX)$(bindir)/infocmp$x
-       $(INSTALL_PROGRAM) clear$x   $(INSTALL_PREFIX)$(bindir)/clear$x
-       $(INSTALL_PROGRAM) tput$x    $(INSTALL_PREFIX)$(bindir)/tput$x
-       $(INSTALL_PROGRAM) tset$x    $(INSTALL_PREFIX)$(bindir)/tset$x
-       @echo "linking captoinfo to tic"
-       -@rm -f $(INSTALL_PREFIX)$(bindir)/captoinfo$x
-       (cd $(INSTALL_PREFIX)$(bindir) && $(LN_S) tic$x captoinfo$x)
-       @echo "linking infotocap to tic"
-       -@rm -f $(INSTALL_PREFIX)$(bindir)/infotocap$x
-       (cd $(INSTALL_PREFIX)$(bindir) && $(LN_S) tic$x infotocap$x)
-       @echo "linking reset to tset"
-       -@rm -f $(INSTALL_PREFIX)$(bindir)/reset$x
-       (cd $(INSTALL_PREFIX)$(bindir) && $(LN_S) tset$x reset$x)
+TRANSFORM = sed 's/$x$$//'|sed '$(transform)'|sed 's/$$/$x/'
+
+actual_captoinfo = `echo captoinfo$x| $(TRANSFORM)`
+actual_clear     = `echo clear$x|     $(TRANSFORM)`
+actual_infocmp   = `echo infocmp$x|   $(TRANSFORM)`
+actual_infotocap = `echo infotocap$x| $(TRANSFORM)`
+actual_init      = `echo init$x|      $(TRANSFORM)`
+actual_reset     = `echo reset$x|     $(TRANSFORM)`
+actual_tic       = `echo tic$x|       $(TRANSFORM)`
+actual_toe       = `echo toe$x|       $(TRANSFORM)`
+actual_tput      = `echo tput$x|      $(TRANSFORM)`
+actual_tset      = `echo tset$x|      $(TRANSFORM)`
+
+transform.h :
+       echo "#define PROG_CAPTOINFO \"$(actual_captoinfo)\"" >$@
+       echo "#define PROG_INFOTOCAP \"$(actual_infotocap)\"" >>$@
+       echo "#define PROG_RESET     \"$(actual_reset)\""     >>$@
+       echo "#define PROG_INIT      \"$(actual_init)\""      >>$@
+
+install.progs: $(AUTO_SRC) $(PROGS) $(DESTDIR)$(bindir)
+       $(LIBTOOL) $(INSTALL_PROGRAM) tic$x     $(DESTDIR)$(bindir)/$(actual_tic)
+       $(LIBTOOL) $(INSTALL_PROGRAM) toe$x     $(DESTDIR)$(bindir)/$(actual_toe)
+       $(LIBTOOL) $(INSTALL_PROGRAM) infocmp$x $(DESTDIR)$(bindir)/$(actual_infocmp)
+       $(LIBTOOL) $(INSTALL_PROGRAM) clear$x   $(DESTDIR)$(bindir)/$(actual_clear)
+       $(LIBTOOL) $(INSTALL_PROGRAM) tput$x    $(DESTDIR)$(bindir)/$(actual_tput)
+       $(LIBTOOL) $(INSTALL_PROGRAM) tset$x    $(DESTDIR)$(bindir)/$(actual_tset)
+       @echo "linking $(actual_captoinfo) to $(actual_tic)"
+       -@rm -f $(DESTDIR)$(bindir)/$(actual_captoinfo)
+       (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_captoinfo))
+       @echo "linking $(actual_infotocap) to $(actual_tic)"
+       -@rm -f $(DESTDIR)$(bindir)/$(actual_infotocap)
+       (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_infotocap))
+       @echo "linking $(actual_reset) to $(actual_tset)"
+       -@rm -f $(DESTDIR)$(bindir)/$(actual_reset)
+       (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tset) $(actual_reset))
 
 uninstall.progs:
 
 uninstall.progs:
-       -@rm -f $(INSTALL_PREFIX)$(bindir)/tic$x
-       -@rm -f $(INSTALL_PREFIX)$(bindir)/toe$x
-       -@rm -f $(INSTALL_PREFIX)$(bindir)/infocmp$x
-       -@rm -f $(INSTALL_PREFIX)$(bindir)/clear$x
-       -@rm -f $(INSTALL_PREFIX)$(bindir)/tput$x
-       -@rm -f $(INSTALL_PREFIX)$(bindir)/tset$x
-       -@rm -f $(INSTALL_PREFIX)$(bindir)/captoinfo$x
-       -@rm -f $(INSTALL_PREFIX)$(bindir)/infotocap$x
-       -@rm -f $(INSTALL_PREFIX)$(bindir)/reset$x
-
-$(INSTALL_PREFIX)$(bindir) :
+       -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_tic)
+       -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_toe)
+       -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_infocmp)
+       -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_clear)
+       -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_tput)
+       -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_tset)
+       -@rm -f $(DESTDIR)$(bindir)/$(actual_captoinfo)
+       -@rm -f $(DESTDIR)$(bindir)/$(actual_infotocap)
+       -@rm -f $(DESTDIR)$(bindir)/$(actual_reset)
+
+$(DESTDIR)$(bindir) :
        $(srcdir)/../mkinstalldirs $@
 
 #
        $(srcdir)/../mkinstalldirs $@
 
 #
@@ -162,7 +185,7 @@ DEPS_TIC = \
        $(MODEL)/tic.o \
        $(MODEL)/dump_entry.o
 
        $(MODEL)/tic.o \
        $(MODEL)/dump_entry.o
 
-tic$x: $(DEPS_TIC) $(DEPS_CURSES)
+tic$x: $(DEPS_TIC) $(DEPS_CURSES) transform.h
        @ECHO_LINK@ $(LINK) $(DEPS_TIC) $(LDFLAGS_DEFAULT) -o $@
 
 DEPS_TOE = \
        @ECHO_LINK@ $(LINK) $(DEPS_TIC) $(LDFLAGS_DEFAULT) -o $@
 
 DEPS_TOE = \
@@ -181,7 +204,7 @@ clear$x: $(DEPS_CLEAR) $(DEPS_CURSES)
 DEPS_TPUT = \
        $(MODEL)/tput.o
 
 DEPS_TPUT = \
        $(MODEL)/tput.o
 
-tput$x: $(DEPS_TPUT) $(DEPS_CURSES)
+tput$x: $(DEPS_TPUT) $(DEPS_CURSES) transform.h
        @ECHO_LINK@ $(LINK) $(DEPS_TPUT) $(LDFLAGS_DEFAULT) -o $@
 
 DEPS_INFOCMP = \
        @ECHO_LINK@ $(LINK) $(DEPS_TPUT) $(LDFLAGS_DEFAULT) -o $@
 
 DEPS_INFOCMP = \
@@ -195,7 +218,7 @@ DEPS_TSET = \
        $(MODEL)/tset.o \
        $(MODEL)/dump_entry.o
 
        $(MODEL)/tset.o \
        $(MODEL)/dump_entry.o
 
-tset$x: $(DEPS_TSET) $(DEPS_CURSES)
+tset$x: $(DEPS_TSET) $(DEPS_CURSES) transform.h
        @ECHO_LINK@ $(LINK) $(DEPS_TSET) $(LDFLAGS_DEFAULT) -o $@
 
 termsort.c: $(srcdir)/MKtermsort.sh
        @ECHO_LINK@ $(LINK) $(DEPS_TSET) $(LDFLAGS_DEFAULT) -o $@
 
 termsort.c: $(srcdir)/MKtermsort.sh
@@ -208,8 +231,8 @@ termsort.c: $(srcdir)/MKtermsort.sh
 tags:
        ctags *.[ch]
 
 tags:
        ctags *.[ch]
 
-TAGS:
-       etags *.[ch]
+@MAKE_UPPER_TAGS@TAGS:
+@MAKE_UPPER_TAGS@      etags *.[ch]
 
 mostlyclean ::
        -rm -f core tags TAGS *~ *.ln *.atac trace
 
 mostlyclean ::
        -rm -f core tags TAGS *~ *.ln *.atac trace
@@ -218,6 +241,7 @@ mostlyclean ::
 clean :: mostlyclean
        -rm -f $(AUTO_SRC)
        -rm -f $(PROGS)
 clean :: mostlyclean
        -rm -f $(AUTO_SRC)
        -rm -f $(PROGS)
+       -rm -rf .libs
 
 distclean :: clean
        -rm -f Makefile
 
 distclean :: clean
        -rm -f Makefile
index 3830742fcbd6c0ca106929e08d49cec8e2d3b74d..60c88d3f9cab2593702ac52f9db86d1050e41def 100644 (file)
@@ -38,7 +38,7 @@
 #include "termsort.c"          /* this C file is generated */
 #include <parametrized.h>      /* so is this */
 
 #include "termsort.c"          /* this C file is generated */
 #include <parametrized.h>      /* so is this */
 
-MODULE_ID("$Id: dump_entry.c,v 1.53 2000/04/15 21:23:30 tom Exp $")
+MODULE_ID("$Id: dump_entry.c,v 1.54 2000/10/01 01:34:06 tom Exp $")
 
 #define INDENT                 8
 #define DISCARD(string) string = ABSENT_STRING
 
 #define INDENT                 8
 #define DISCARD(string) string = ABSENT_STRING
@@ -641,8 +641,9 @@ fmt_entry(TERMTYPE * tterm,
                sprintf(buffer, "%s@", name);
                WRAP_CONCAT;
            } else if (outform == F_TERMCAP || outform == F_TCONVERR) {
                sprintf(buffer, "%s@", name);
                WRAP_CONCAT;
            } else if (outform == F_TERMCAP || outform == F_TCONVERR) {
+               int params = (i < (int) SIZEOF(parametrized)) ? parametrized[i] : 0;
                char *srccap = _nc_tic_expand(tterm->Strings[i], TRUE, numbers);
                char *srccap = _nc_tic_expand(tterm->Strings[i], TRUE, numbers);
-               char *cv = _nc_infotocap(name, srccap, parametrized[i]);
+               char *cv = _nc_infotocap(name, srccap, params);
 
                if (cv == 0) {
                    if (outform == F_TCONVERR) {
 
                if (cv == 0) {
                    if (outform == F_TCONVERR) {
index add5efb9b4d09030c9c79451b0cfe62379f7ac5f..bf7ff1c54b07927b669232be416500c15e3f1948 100644 (file)
@@ -41,7 +41,7 @@
 #include <term_entry.h>
 #include <dump_entry.h>
 
 #include <term_entry.h>
 #include <dump_entry.h>
 
-MODULE_ID("$Id: infocmp.c,v 1.54 2000/03/19 02:56:14 tom Exp $")
+MODULE_ID("$Id: infocmp.c,v 1.57 2000/10/01 01:26:25 tom Exp $")
 
 #define L_CURL "{"
 #define R_CURL "}"
 
 #define L_CURL "{"
 #define R_CURL "}"
@@ -73,7 +73,7 @@ static const char *tversion;  /* terminfo version selected */
 static int itrace;             /* trace flag for debugging */
 static int mwidth = 60;
 static int numbers = 0;                /* format "%'char'" to/from "%{number}" */
 static int itrace;             /* trace flag for debugging */
 static int mwidth = 60;
 static int numbers = 0;                /* format "%'char'" to/from "%{number}" */
-static int outform = F_TERMINFO;/* output format */
+static int outform = F_TERMINFO;       /* output format */
 static int sortmode;           /* sort_mode */
 
 /* main comparison mode */
 static int sortmode;           /* sort_mode */
 
 /* main comparison mode */
@@ -90,8 +90,8 @@ static bool ignorepads;               /* ignore pad prefixes when diffing */
 static void
 ExitProgram(int code) GCC_NORETURN;
 /* prototype is to get gcc to accept the noreturn attribute */
 static void
 ExitProgram(int code) GCC_NORETURN;
 /* prototype is to get gcc to accept the noreturn attribute */
-static void
-ExitProgram(int code)
+     static void
+       ExitProgram(int code)
 {
     while (termcount-- > 0)
        _nc_free_termtype(&entries[termcount].tterm);
 {
     while (termcount-- > 0)
        _nc_free_termtype(&entries[termcount].tterm);
@@ -350,10 +350,10 @@ compare_predicate(int type, int idx, const char *name)
        case C_DIFFERENCE:
            if (!(b1 == ABSENT_BOOLEAN && b2 == ABSENT_BOOLEAN) && b1 != b2)
                (void) printf("\t%s: %s%s%s.\n",
        case C_DIFFERENCE:
            if (!(b1 == ABSENT_BOOLEAN && b2 == ABSENT_BOOLEAN) && b1 != b2)
                (void) printf("\t%s: %s%s%s.\n",
-                   name,
-                   dump_boolean(b1),
-                   bool_sep,
-                   dump_boolean(b2));
+                             name,
+                             dump_boolean(b1),
+                             bool_sep,
+                             dump_boolean(b2));
            break;
 
        case C_COMMON:
            break;
 
        case C_COMMON:
@@ -732,8 +732,8 @@ file_comparison(int argc, char *argv[])
        /* maybe do use resolution */
        if (!_nc_resolve_uses(!limited)) {
            (void) fprintf(stderr,
        /* maybe do use resolution */
        if (!_nc_resolve_uses(!limited)) {
            (void) fprintf(stderr,
-               "There are unresolved use entries in %s:\n",
-               argv[n]);
+                          "There are unresolved use entries in %s:\n",
+                          argv[n]);
            for_entry_list(qp) {
                if (qp->nuses) {
                    (void) fputs(qp->tterm.term_names, stderr);
            for_entry_list(qp) {
                if (qp->nuses) {
                    (void) fputs(qp->tterm.term_names, stderr);
@@ -773,30 +773,30 @@ file_comparison(int argc, char *argv[])
     for (qp = heads[0]; qp; qp = qp->next) {
        if (qp->ncrosslinks > 1) {
            (void) fprintf(stderr,
     for (qp = heads[0]; qp; qp = qp->next) {
        if (qp->ncrosslinks > 1) {
            (void) fprintf(stderr,
-               "%s in file 1 (%s) has %d matches in file 2 (%s):\n",
-               _nc_first_name(qp->tterm.term_names),
-               argv[0],
-               qp->ncrosslinks,
-               argv[1]);
+                          "%s in file 1 (%s) has %d matches in file 2 (%s):\n",
+                          _nc_first_name(qp->tterm.term_names),
+                          argv[0],
+                          qp->ncrosslinks,
+                          argv[1]);
            for (i = 0; i < qp->ncrosslinks; i++)
                (void) fprintf(stderr,
            for (i = 0; i < qp->ncrosslinks; i++)
                (void) fprintf(stderr,
-                   "\t%s\n",
-                   _nc_first_name((qp->crosslinks[i])->tterm.term_names));
+                              "\t%s\n",
+                              _nc_first_name((qp->crosslinks[i])->tterm.term_names));
        }
     }
 
     for (rp = heads[1]; rp; rp = rp->next) {
        if (rp->ncrosslinks > 1) {
            (void) fprintf(stderr,
        }
     }
 
     for (rp = heads[1]; rp; rp = rp->next) {
        if (rp->ncrosslinks > 1) {
            (void) fprintf(stderr,
-               "%s in file 2 (%s) has %d matches in file 1 (%s):\n",
-               _nc_first_name(rp->tterm.term_names),
-               argv[1],
-               rp->ncrosslinks,
-               argv[0]);
+                          "%s in file 2 (%s) has %d matches in file 1 (%s):\n",
+                          _nc_first_name(rp->tterm.term_names),
+                          argv[1],
+                          rp->ncrosslinks,
+                          argv[0]);
            for (i = 0; i < rp->ncrosslinks; i++)
                (void) fprintf(stderr,
            for (i = 0; i < rp->ncrosslinks; i++)
                (void) fprintf(stderr,
-                   "\t%s\n",
-                   _nc_first_name((rp->crosslinks[i])->tterm.term_names));
+                              "\t%s\n",
+                              _nc_first_name((rp->crosslinks[i])->tterm.term_names));
        }
     }
 
        }
     }
 
@@ -804,13 +804,13 @@ file_comparison(int argc, char *argv[])
     for (qp = heads[0]; qp; qp = qp->next)
        if (qp->ncrosslinks == 0)
            (void) printf("\t%s\n",
     for (qp = heads[0]; qp; qp = qp->next)
        if (qp->ncrosslinks == 0)
            (void) printf("\t%s\n",
-               _nc_first_name(qp->tterm.term_names));
+                         _nc_first_name(qp->tterm.term_names));
 
     (void) printf("In file 2 (%s) only:\n", argv[1]);
     for (rp = heads[1]; rp; rp = rp->next)
        if (rp->ncrosslinks == 0)
            (void) printf("\t%s\n",
 
     (void) printf("In file 2 (%s) only:\n", argv[1]);
     for (rp = heads[1]; rp; rp = rp->next)
        if (rp->ncrosslinks == 0)
            (void) printf("\t%s\n",
-               _nc_first_name(rp->tterm.term_names));
+                         _nc_first_name(rp->tterm.term_names));
 
     (void) printf("The following entries are equivalent:\n");
     for (qp = heads[0]; qp; qp = qp->next) {
 
     (void) printf("The following entries are equivalent:\n");
     for (qp = heads[0]; qp; qp = qp->next) {
@@ -858,7 +858,7 @@ file_comparison(int argc, char *argv[])
                case C_DIFFERENCE:
                    if (itrace)
                        (void) fprintf(stderr,
                case C_DIFFERENCE:
                    if (itrace)
                        (void) fprintf(stderr,
-                           "infocmp: dumping differences\n");
+                                      "infocmp: dumping differences\n");
                    (void) printf("comparing %s to %s.\n", name1, name2);
                    compare_entry(compare_predicate, &entries->tterm, quiet);
                    break;
                    (void) printf("comparing %s to %s.\n", name1, name2);
                    compare_entry(compare_predicate, &entries->tterm, quiet);
                    break;
@@ -866,7 +866,7 @@ file_comparison(int argc, char *argv[])
                case C_COMMON:
                    if (itrace)
                        (void) fprintf(stderr,
                case C_COMMON:
                    if (itrace)
                        (void) fprintf(stderr,
-                           "infocmp: dumping common capabilities\n");
+                                      "infocmp: dumping common capabilities\n");
                    (void) printf("comparing %s to %s.\n", name1, name2);
                    compare_entry(compare_predicate, &entries->tterm, quiet);
                    break;
                    (void) printf("comparing %s to %s.\n", name1, name2);
                    compare_entry(compare_predicate, &entries->tterm, quiet);
                    break;
@@ -874,7 +874,7 @@ file_comparison(int argc, char *argv[])
                case C_NAND:
                    if (itrace)
                        (void) fprintf(stderr,
                case C_NAND:
                    if (itrace)
                        (void) fprintf(stderr,
-                           "infocmp: dumping differences\n");
+                                      "infocmp: dumping differences\n");
                    (void) printf("comparing %s to %s.\n", name1, name2);
                    compare_entry(compare_predicate, &entries->tterm, quiet);
                    break;
                    (void) printf("comparing %s to %s.\n", name1, name2);
                    compare_entry(compare_predicate, &entries->tterm, quiet);
                    break;
@@ -924,7 +924,7 @@ usage(void)
        ,"  -w number  (width)"
     };
     const size_t first = 3;
        ,"  -w number  (width)"
     };
     const size_t first = 3;
-    const size_t last = sizeof(tbl) / sizeof(tbl[0]);
+    const size_t last = SIZEOF(tbl);
     const size_t left = (last - first + 1) / 2 + first;
     size_t n;
 
     const size_t left = (last - first + 1) / 2 + first;
     size_t n;
 
@@ -985,7 +985,7 @@ dump_initializers(TERMTYPE * term)
            break;
        }
        (void) printf("\t/* %3d: %-8s */\t%s,\n",
            break;
        }
        (void) printf("\t/* %3d: %-8s */\t%s,\n",
-           n, ExtBoolname(term, n, boolnames), str);
+                     n, ExtBoolname(term, n, boolnames), str);
     }
     (void) printf("%s;\n", R_CURL);
 
     }
     (void) printf("%s;\n", R_CURL);
 
@@ -1005,8 +1005,8 @@ dump_initializers(TERMTYPE * term)
            str = buf;
            break;
        }
            str = buf;
            break;
        }
-       (void) printf("\t/* %3d: %-8s */\t%s,\n", n, ExtNumname(term, n,
-               numnames), str);
+       (void) printf("\t/* %3d: %-8s */\t%s,\n", n,
+                     ExtNumname(term, n, numnames), str);
     }
     (void) printf("%s;\n", R_CURL);
 
     }
     (void) printf("%s;\n", R_CURL);
 
@@ -1027,8 +1027,8 @@ dump_initializers(TERMTYPE * term)
            tp = buf;
            *tp++ = '"';
            for (sp = term->Strings[n];
            tp = buf;
            *tp++ = '"';
            for (sp = term->Strings[n];
-               *sp != 0 && (tp - buf) < MAX_STRING - 6;
-               sp++) {
+                *sp != 0 && (tp - buf) < MAX_STRING - 6;
+                sp++) {
                if (isascii(*sp) && isprint(*sp) && *sp != '\\' && *sp != '"')
                    *tp++ = *sp;
                else {
                if (isascii(*sp) && isprint(*sp) && *sp != '\\' && *sp != '"')
                    *tp++ = *sp;
                else {
@@ -1046,11 +1046,11 @@ dump_initializers(TERMTYPE * term)
            (void) printf("%s;\n", R_CURL);
 
            (void) printf("static char * %s[] = %s\n",
            (void) printf("%s;\n", R_CURL);
 
            (void) printf("static char * %s[] = %s\n",
-               name_initializer("string_ext"), L_CURL);
+                         name_initializer("string_ext"), L_CURL);
        }
 #endif
        }
 #endif
-       (void) printf("\t/* %3d: %-8s */\t%s,\n", n, ExtStrname(term, n,
-               strnames), str);
+       (void) printf("\t/* %3d: %-8s */\t%s,\n", n,
+                     ExtStrname(term, n, strnames), str);
     }
     (void) printf("%s;\n", R_CURL);
 }
     }
     (void) printf("%s;\n", R_CURL);
 }
@@ -1071,26 +1071,39 @@ dump_termtype(TERMTYPE * term)
     (void) printf("#if NCURSES_XNAMES\n");
     (void) printf("\t\t(char *)0,\t/* pointer to extended string table */\n");
     (void) printf("\t\t%s,\t/* ...corresponding names */\n",
     (void) printf("#if NCURSES_XNAMES\n");
     (void) printf("\t\t(char *)0,\t/* pointer to extended string table */\n");
     (void) printf("\t\t%s,\t/* ...corresponding names */\n",
-       (NUM_STRINGS(term) != STRCOUNT)
-       ? name_initializer("string_ext")
-       : "(char **)0");
+                 (NUM_STRINGS(term) != STRCOUNT)
+                 ? name_initializer("string_ext")
+                 : "(char **)0");
 
     (void) printf("\t\t%d,\t\t/* count total Booleans */\n", NUM_BOOLEANS(term));
     (void) printf("\t\t%d,\t\t/* count total Numbers */\n", NUM_NUMBERS(term));
     (void) printf("\t\t%d,\t\t/* count total Strings */\n", NUM_STRINGS(term));
 
     (void) printf("\t\t%d,\t\t/* count extensions to Booleans */\n",
 
     (void) printf("\t\t%d,\t\t/* count total Booleans */\n", NUM_BOOLEANS(term));
     (void) printf("\t\t%d,\t\t/* count total Numbers */\n", NUM_NUMBERS(term));
     (void) printf("\t\t%d,\t\t/* count total Strings */\n", NUM_STRINGS(term));
 
     (void) printf("\t\t%d,\t\t/* count extensions to Booleans */\n",
-       NUM_BOOLEANS(term) - BOOLCOUNT);
+                 NUM_BOOLEANS(term) - BOOLCOUNT);
     (void) printf("\t\t%d,\t\t/* count extensions to Numbers */\n",
     (void) printf("\t\t%d,\t\t/* count extensions to Numbers */\n",
-       NUM_NUMBERS(term) - NUMCOUNT);
+                 NUM_NUMBERS(term) - NUMCOUNT);
     (void) printf("\t\t%d,\t\t/* count extensions to Strings */\n",
     (void) printf("\t\t%d,\t\t/* count extensions to Strings */\n",
-       NUM_STRINGS(term) - STRCOUNT);
+                 NUM_STRINGS(term) - STRCOUNT);
 
     (void) printf("#endif /* NCURSES_XNAMES */\n");
 #endif /* NCURSES_XNAMES */
     (void) printf("\t%s\n", R_CURL);
 }
 
 
     (void) printf("#endif /* NCURSES_XNAMES */\n");
 #endif /* NCURSES_XNAMES */
     (void) printf("\t%s\n", R_CURL);
 }
 
+static int
+optarg_to_number(void)
+{
+    char *temp = 0;
+    long value = strtol(optarg, &temp, 0);
+
+    if (temp == 0 || temp == optarg || *temp != 0) {
+       fprintf(stderr, "Expected a number, not \"%s\"\n", optarg);
+       exit(EXIT_FAILURE);
+    }
+    return (int) value;
+}
+
 /***************************************************************************
  *
  * Main sequence
 /***************************************************************************
  *
  * Main sequence
@@ -1112,7 +1125,7 @@ main(int argc, char *argv[])
 
     if ((terminal = getenv("TERM")) == 0) {
        (void) fprintf(stderr,
 
     if ((terminal = getenv("TERM")) == 0) {
        (void) fprintf(stderr,
-           "infocmp: environment variable TERM not set\n");
+                      "infocmp: environment variable TERM not set\n");
        return EXIT_FAILURE;
     }
 
        return EXIT_FAILURE;
     }
 
@@ -1222,7 +1235,7 @@ main(int argc, char *argv[])
                sortmode = S_TERMCAP;
            else {
                (void) fprintf(stderr,
                sortmode = S_TERMCAP;
            else {
                (void) fprintf(stderr,
-                   "infocmp: unknown sort mode\n");
+                              "infocmp: unknown sort mode\n");
                return EXIT_FAILURE;
            }
            break;
                return EXIT_FAILURE;
            }
            break;
@@ -1232,17 +1245,16 @@ main(int argc, char *argv[])
            break;
 
        case 'v':
            break;
 
        case 'v':
-           itrace = atoi(optarg);
+           itrace = optarg_to_number();
            set_trace_level(itrace);
            break;
 
        case 'V':
            set_trace_level(itrace);
            break;
 
        case 'V':
-           (void) fputs(NCURSES_VERSION, stdout);
-           putchar('\n');
+           puts(curses_version());
            ExitProgram(EXIT_SUCCESS);
 
        case 'w':
            ExitProgram(EXIT_SUCCESS);
 
        case 'w':
-           mwidth = atoi(optarg);
+           mwidth = optarg_to_number();
            break;
 
        case 'A':
            break;
 
        case 'A':
@@ -1289,7 +1301,7 @@ main(int argc, char *argv[])
        for (; optind < argc; optind++) {
            if (termcount >= MAXTERMS) {
                (void) fprintf(stderr,
        for (; optind < argc; optind++) {
            if (termcount >= MAXTERMS) {
                (void) fprintf(stderr,
-                   "infocmp: too many terminal type arguments\n");
+                              "infocmp: too many terminal type arguments\n");
                return EXIT_FAILURE;
            } else {
                const char *directory = termcount ? restdir : firstdir;
                return EXIT_FAILURE;
            } else {
                const char *directory = termcount ? restdir : firstdir;
@@ -1299,31 +1311,31 @@ main(int argc, char *argv[])
 
                if (directory) {
                    (void) sprintf(tfile[termcount], "%s/%c/%s",
 
                if (directory) {
                    (void) sprintf(tfile[termcount], "%s/%c/%s",
-                       directory,
-                       *argv[optind], argv[optind]);
+                                  directory,
+                                  *argv[optind], argv[optind]);
                    if (itrace)
                        (void) fprintf(stderr,
                    if (itrace)
                        (void) fprintf(stderr,
-                           "infocmp: reading entry %s from file %s\n",
-                           argv[optind], tfile[termcount]);
+                                      "infocmp: reading entry %s from file %s\n",
+                                      argv[optind], tfile[termcount]);
 
                    status = _nc_read_file_entry(tfile[termcount],
 
                    status = _nc_read_file_entry(tfile[termcount],
-                       &entries[termcount].tterm);
+                                                &entries[termcount].tterm);
                } else {
                    if (itrace)
                        (void) fprintf(stderr,
                } else {
                    if (itrace)
                        (void) fprintf(stderr,
-                           "infocmp: reading entry %s from system directories %s\n",
-                           argv[optind], tname[termcount]);
+                                      "infocmp: reading entry %s from system directories %s\n",
+                                      argv[optind], tname[termcount]);
 
                    status = _nc_read_entry(tname[termcount],
 
                    status = _nc_read_entry(tname[termcount],
-                       tfile[termcount],
-                       &entries[termcount].tterm);
+                                           tfile[termcount],
+                                           &entries[termcount].tterm);
                    directory = TERMINFO;       /* for error message */
                }
 
                if (status <= 0) {
                    (void) fprintf(stderr,
                    directory = TERMINFO;       /* for error message */
                }
 
                if (status <= 0) {
                    (void) fprintf(stderr,
-                       "infocmp: couldn't open terminfo file %s.\n",
-                       tfile[termcount]);
+                                  "infocmp: couldn't open terminfo file %s.\n",
+                                  tfile[termcount]);
                    return EXIT_FAILURE;
                }
                repair_acsc(&entries[termcount].tterm);
                    return EXIT_FAILURE;
                }
                repair_acsc(&entries[termcount].tterm);
@@ -1368,10 +1380,10 @@ main(int argc, char *argv[])
        case C_DEFAULT:
            if (itrace)
                (void) fprintf(stderr,
        case C_DEFAULT:
            if (itrace)
                (void) fprintf(stderr,
-                   "infocmp: about to dump %s\n",
-                   tname[0]);
+                              "infocmp: about to dump %s\n",
+                              tname[0]);
            (void) printf("#\tReconstructed via infocmp from file: %s\n",
            (void) printf("#\tReconstructed via infocmp from file: %s\n",
-               tfile[0]);
+                         tfile[0]);
            len = dump_entry(&entries[0].tterm, limited, numbers, NULL);
            putchar('\n');
            if (itrace)
            len = dump_entry(&entries[0].tterm, limited, numbers, NULL);
            putchar('\n');
            if (itrace)
@@ -1388,7 +1400,7 @@ main(int argc, char *argv[])
        case C_COMMON:
            if (itrace)
                (void) fprintf(stderr,
        case C_COMMON:
            if (itrace)
                (void) fprintf(stderr,
-                   "infocmp: dumping common capabilities\n");
+                              "infocmp: dumping common capabilities\n");
            (void) printf("comparing %s to %s.\n", tname[0], tname[1]);
            compare_entry(compare_predicate, &entries->tterm, quiet);
            break;
            (void) printf("comparing %s to %s.\n", tname[0], tname[1]);
            compare_entry(compare_predicate, &entries->tterm, quiet);
            break;
@@ -1396,7 +1408,7 @@ main(int argc, char *argv[])
        case C_NAND:
            if (itrace)
                (void) fprintf(stderr,
        case C_NAND:
            if (itrace)
                (void) fprintf(stderr,
-                   "infocmp: dumping differences\n");
+                              "infocmp: dumping differences\n");
            (void) printf("comparing %s to %s.\n", tname[0], tname[1]);
            compare_entry(compare_predicate, &entries->tterm, quiet);
            break;
            (void) printf("comparing %s to %s.\n", tname[0], tname[1]);
            compare_entry(compare_predicate, &entries->tterm, quiet);
            break;
@@ -1407,7 +1419,7 @@ main(int argc, char *argv[])
            len = dump_entry(&entries[0].tterm, limited, numbers, use_predicate);
            for (i = 1; i < termcount; i++)
                len += dump_uses(tname[i], !(outform == F_TERMCAP || outform
            len = dump_entry(&entries[0].tterm, limited, numbers, use_predicate);
            for (i = 1; i < termcount; i++)
                len += dump_uses(tname[i], !(outform == F_TERMCAP || outform
-                       == F_TCONVERR));
+                                            == F_TCONVERR));
            putchar('\n');
            if (itrace)
                (void) fprintf(stderr, "infocmp: length %d\n", len);
            putchar('\n');
            if (itrace)
                (void) fprintf(stderr, "infocmp: length %d\n", len);
@@ -1419,7 +1431,7 @@ main(int argc, char *argv[])
        (void) fprintf(stderr, "Use `tic -[CI] <file>' for this.\n");
     else if (argc - optind != 2)
        (void) fprintf(stderr,
        (void) fprintf(stderr, "Use `tic -[CI] <file>' for this.\n");
     else if (argc - optind != 2)
        (void) fprintf(stderr,
-           "File comparison needs exactly two file arguments.\n");
+                      "File comparison needs exactly two file arguments.\n");
     else
        file_comparison(argc - optind, argv + optind);
 
     else
        file_comparison(argc - optind, argv + optind);
 
index 2d22c9ad1a8af375c26e3770e4be30688c633df8..d704c0989b33ebae90e6ab14211ceae4447d14f6 100644 (file)
@@ -30,7 +30,7 @@
  *  Author: Thomas E. Dickey <dickey@clark.net> 1997,1998                   *
  ****************************************************************************/
 /*
  *  Author: Thomas E. Dickey <dickey@clark.net> 1997,1998                   *
  ****************************************************************************/
 /*
- * $Id: progs.priv.h,v 1.22 2000/04/08 23:47:39 tom Exp $
+ * $Id: progs.priv.h,v 1.24 2000/10/01 01:33:34 tom Exp $
  *
  *     progs.priv.h
  *
  *
  *     progs.priv.h
  *
@@ -39,7 +39,7 @@
 
 #include <ncurses_cfg.h>
 
 
 #include <ncurses_cfg.h>
 
-#ifdef USE_RCS_IDS
+#if USE_RCS_IDS
 #define MODULE_ID(id) static const char Ident[] = id;
 #else
 #define MODULE_ID(id) /*nothing*/
 #define MODULE_ID(id) static const char Ident[] = id;
 #else
 #define MODULE_ID(id) /*nothing*/
@@ -162,7 +162,7 @@ extern int optind;
 /* We use isascii only to guard against use of 7-bit ctype tables in the
  * isprint test in infocmp.
  */
 /* We use isascii only to guard against use of 7-bit ctype tables in the
  * isprint test in infocmp.
  */
-#ifndef HAVE_ISASCII
+#if !HAVE_ISASCII
 # undef isascii
 # if ('z'-'a' == 25) && ('z' < 127) && ('Z'-'A' == 25) && ('Z' < 127) && ('9' < 127)
 #  define isascii(c) (((c) & 0xff) <= 127)
 # undef isascii
 # if ('z'-'a' == 25) && ('z' < 127) && ('Z'-'A' == 25) && ('Z' < 127) && ('9' < 127)
 #  define isascii(c) (((c) & 0xff) <= 127)
@@ -170,3 +170,5 @@ extern int optind;
 #  define isascii(c) 1 /* not really ascii anyway */
 # endif
 #endif
 #  define isascii(c) 1 /* not really ascii anyway */
 # endif
 #endif
+
+#define SIZEOF(v) (sizeof(v)/sizeof(v[0]))
index cc73a4db220cca19d333182f84e3929b8b199787..620704fca633edcf2cf39a828f12b8d68ce9b0ef 100644 (file)
  */
 
 #include <progs.priv.h>
  */
 
 #include <progs.priv.h>
+#include <sys/stat.h>
 
 #include <dump_entry.h>
 #include <term_entry.h>
 
 #include <dump_entry.h>
 #include <term_entry.h>
+#include <transform.h>
 
 
-MODULE_ID("$Id: tic.c,v 1.69 2000/04/08 23:53:49 tom Exp $")
+MODULE_ID("$Id: tic.c,v 1.83 2000/10/14 17:30:26 tom Exp $")
 
 const char *_nc_progname = "tic";
 
 
 const char *_nc_progname = "tic";
 
@@ -54,7 +56,7 @@ static const char *to_remove;
 static void (*save_check_termtype) (TERMTYPE *);
 static void check_termtype(TERMTYPE * tt);
 
 static void (*save_check_termtype) (TERMTYPE *);
 static void check_termtype(TERMTYPE * tt);
 
-static const char usage_string[] = "[-h] [-v[n]] [-e names] [-CILNRTcfrswx1] source-file\n";
+static const char usage_string[] = "[-V] [-v[n]] [-e names] [-CILNRTcfrswx1] source-file\n";
 
 static void
 cleanup(void)
 
 static void
 cleanup(void)
@@ -91,6 +93,7 @@ usage(void)
        "  -N         disable smart defaults for source translation",
        "  -R         restrict translation to given terminfo/termcap version",
        "  -T         remove size-restrictions on compiled description",
        "  -N         disable smart defaults for source translation",
        "  -R         restrict translation to given terminfo/termcap version",
        "  -T         remove size-restrictions on compiled description",
+       "  -V         print version",
 #if NCURSES_XNAMES
        "  -a         retain commented-out capabilities (sets -x also)",
 #endif
 #if NCURSES_XNAMES
        "  -a         retain commented-out capabilities (sets -x also)",
 #endif
@@ -114,7 +117,7 @@ usage(void)
     size_t j;
 
     fprintf(stderr, "Usage: %s %s\n", _nc_progname, usage_string);
     size_t j;
 
     fprintf(stderr, "Usage: %s %s\n", _nc_progname, usage_string);
-    for (j = 0; j < sizeof(tbl) / sizeof(tbl[0]); j++) {
+    for (j = 0; j < SIZEOF(tbl); j++) {
        fputs(tbl[j], stderr);
        putc('\n', stderr);
     }
        fputs(tbl[j], stderr);
        putc('\n', stderr);
     }
@@ -148,7 +151,7 @@ write_it(ENTRY * ep)
                if (ch == '\\') {
                    *d++ = *t++;
                } else if ((ch == '%')
                if (ch == '\\') {
                    *d++ = *t++;
                } else if ((ch == '%')
-                   && (*t == L_BRACE)) {
+                          && (*t == L_BRACE)) {
                    char *v = 0;
                    long value = strtol(t + 1, &v, 0);
                    if (v != 0
                    char *v = 0;
                    long value = strtol(t + 1, &v, 0);
                    if (v != 0
@@ -179,7 +182,7 @@ static bool
 immedhook(ENTRY * ep GCC_UNUSED)
 /* write out entries with no use capabilities immediately to save storage */
 {
 immedhook(ENTRY * ep GCC_UNUSED)
 /* write out entries with no use capabilities immediately to save storage */
 {
-#ifndef HAVE_BIG_CORE
+#if !HAVE_BIG_CORE
     /*
      * This is strictly a core-economy kluge.  The really clean way to handle
      * compilation is to slurp the whole file into core and then do all the
     /*
      * This is strictly a core-economy kluge.  The really clean way to handle
      * compilation is to slurp the whole file into core and then do all the
@@ -301,6 +304,24 @@ stripped(char *src)
     return 0;
 }
 
     return 0;
 }
 
+static FILE *
+open_input(const char *filename)
+{
+    FILE *fp = fopen(filename, "r");
+    struct stat sb;
+
+    if (fp == 0) {
+       fprintf(stderr, "%s: Can't open %s\n", _nc_progname, filename);
+       exit(EXIT_FAILURE);
+    }
+    if (fstat(fileno(fp), &sb) < 0
+       || (sb.st_mode & S_IFMT) != S_IFREG) {
+       fprintf(stderr, "%s: %s is not a file\n", _nc_progname, filename);
+       exit(EXIT_FAILURE);
+    }
+    return fp;
+}
+
 /* Parse the "-e" option-value into a list of names */
 static const char **
 make_namelist(char *src)
 /* Parse the "-e" option-value into a list of names */
 static const char **
 make_namelist(char *src)
@@ -314,9 +335,7 @@ make_namelist(char *src)
     if (src == 0) {
        /* EMPTY */ ;
     } else if (strchr(src, '/') != 0) {                /* a filename */
     if (src == 0) {
        /* EMPTY */ ;
     } else if (strchr(src, '/') != 0) {                /* a filename */
-       FILE *fp = fopen(src, "r");
-       if (fp == 0)
-           failed(src);
+       FILE *fp = open_input(src);
 
        for (pass = 1; pass <= 2; pass++) {
            nn = 0;
 
        for (pass = 1; pass <= 2; pass++) {
            nn = 0;
@@ -425,16 +444,13 @@ main(int argc, char *argv[])
 
     log_fp = stderr;
 
 
     log_fp = stderr;
 
-    if ((_nc_progname = strrchr(argv[0], '/')) == NULL)
-       _nc_progname = argv[0];
-    else
-       _nc_progname++;
+    _nc_progname = _nc_basename(argv[0]);
 
 
-    if ((infodump = (strcmp(_nc_progname, "captoinfo") == 0)) != FALSE) {
+    if ((infodump = (strcmp(_nc_progname, PROG_CAPTOINFO) == 0)) != FALSE) {
        outform = F_TERMINFO;
        sortmode = S_TERMINFO;
     }
        outform = F_TERMINFO;
        sortmode = S_TERMINFO;
     }
-    if ((capdump = (strcmp(_nc_progname, "infotocap") == 0)) != FALSE) {
+    if ((capdump = (strcmp(_nc_progname, PROG_INFOTOCAP) == 0)) != FALSE) {
        outform = F_TERMCAP;
        sortmode = S_TERMCAP;
     }
        outform = F_TERMCAP;
        sortmode = S_TERMCAP;
     }
@@ -448,7 +464,7 @@ main(int argc, char *argv[])
      * be optional.
      */
     while ((this_opt = getopt(argc, argv,
      * be optional.
      */
     while ((this_opt = getopt(argc, argv,
-               "0123456789CILNR:TVace:fGgo:rsvwx")) != EOF) {
+                             "0123456789CILNR:TVace:fGgo:rsvwx")) != EOF) {
        if (isdigit(this_opt)) {
            switch (last_opt) {
            case 'v':
        if (isdigit(this_opt)) {
            switch (last_opt) {
            case 'v':
@@ -491,7 +507,7 @@ main(int argc, char *argv[])
            limited = FALSE;
            break;
        case 'V':
            limited = FALSE;
            break;
        case 'V':
-           puts(NCURSES_VERSION);
+           puts(curses_version());
            return EXIT_SUCCESS;
        case 'c':
            check_only = TRUE;
            return EXIT_SUCCESS;
        case 'c':
            check_only = TRUE;
@@ -544,7 +560,7 @@ main(int argc, char *argv[])
        save_check_termtype = _nc_check_termtype;
        _nc_check_termtype = check_termtype;
     }
        save_check_termtype = _nc_check_termtype;
        _nc_check_termtype = check_termtype;
     }
-#ifndef HAVE_BIG_CORE
+#if !HAVE_BIG_CORE
     /*
      * Aaargh! immedhook seriously hoses us!
      *
     /*
      * Aaargh! immedhook seriously hoses us!
      *
@@ -557,7 +573,7 @@ main(int argc, char *argv[])
      */
     if (namelst && (!infodump && !capdump)) {
        (void) fprintf(stderr,
      */
     if (namelst && (!infodump && !capdump)) {
        (void) fprintf(stderr,
-           "Sorry, -e can't be used without -I or -C\n");
+                      "Sorry, -e can't be used without -I or -C\n");
        cleanup();
        return EXIT_FAILURE;
     }
        cleanup();
        return EXIT_FAILURE;
     }
@@ -567,10 +583,10 @@ main(int argc, char *argv[])
        source_file = argv[optind++];
        if (optind < argc) {
            fprintf(stderr,
        source_file = argv[optind++];
        if (optind < argc) {
            fprintf(stderr,
-               "%s: Too many file names.  Usage:\n\t%s %s",
-               _nc_progname,
-               _nc_progname,
-               usage_string);
+                   "%s: Too many file names.  Usage:\n\t%s %s",
+                   _nc_progname,
+                   _nc_progname,
+                   usage_string);
            return EXIT_FAILURE;
        }
     } else {
            return EXIT_FAILURE;
        }
     } else {
@@ -582,11 +598,13 @@ main(int argc, char *argv[])
                if (access(termcap, F_OK) == 0) {
                    /* file exists */
                    source_file = termcap;
                if (access(termcap, F_OK) == 0) {
                    /* file exists */
                    source_file = termcap;
-               } else if ((tmp_fp = open_tempfile(my_tmpname)) != 0) {
+               } else if ((tmp_fp = open_tempfile(strcpy(my_tmpname,
+                                                         "/tmp/XXXXXX")))
+                          != 0) {
                    source_file = my_tmpname;
                    fprintf(tmp_fp, "%s\n", termcap);
                    fclose(tmp_fp);
                    source_file = my_tmpname;
                    fprintf(tmp_fp, "%s\n", termcap);
                    fclose(tmp_fp);
-                   tmp_fp = fopen(source_file, "r");
+                   tmp_fp = open_input(source_file);
                    to_remove = source_file;
                } else {
                    failed("tmpnam");
                    to_remove = source_file;
                } else {
                    failed("tmpnam");
@@ -595,41 +613,38 @@ main(int argc, char *argv[])
        } else {
            /* tic */
            fprintf(stderr,
        } else {
            /* tic */
            fprintf(stderr,
-               "%s: File name needed.  Usage:\n\t%s %s",
-               _nc_progname,
-               _nc_progname,
-               usage_string);
+                   "%s: File name needed.  Usage:\n\t%s %s",
+                   _nc_progname,
+                   _nc_progname,
+                   usage_string);
            cleanup();
            return EXIT_FAILURE;
        }
     }
 
            cleanup();
            return EXIT_FAILURE;
        }
     }
 
-    if (tmp_fp == 0
-       && (tmp_fp = fopen(source_file, "r")) == 0) {
-       fprintf(stderr, "%s: Can't open %s\n", _nc_progname, source_file);
-       return EXIT_FAILURE;
-    }
+    if (tmp_fp == 0)
+       tmp_fp = open_input(source_file);
 
     if (infodump)
        dump_init(tversion,
 
     if (infodump)
        dump_init(tversion,
-           smart_defaults
-           ? outform
-           : F_LITERAL,
-           sortmode, width, debug_level, formatted);
+                 smart_defaults
+                 ? outform
+                 : F_LITERAL,
+                 sortmode, width, debug_level, formatted);
     else if (capdump)
        dump_init(tversion,
     else if (capdump)
        dump_init(tversion,
-           outform,
-           sortmode, width, debug_level, FALSE);
+                 outform,
+                 sortmode, width, debug_level, FALSE);
 
     /* parse entries out of the source file */
     _nc_set_source(source_file);
 
     /* parse entries out of the source file */
     _nc_set_source(source_file);
-#ifndef HAVE_BIG_CORE
+#if !HAVE_BIG_CORE
     if (!(check_only || infodump || capdump))
        _nc_set_writedir(outdir);
 #endif /* HAVE_BIG_CORE */
     _nc_read_entry_source(tmp_fp, (char *) NULL,
     if (!(check_only || infodump || capdump))
        _nc_set_writedir(outdir);
 #endif /* HAVE_BIG_CORE */
     _nc_read_entry_source(tmp_fp, (char *) NULL,
-       !smart_defaults, FALSE,
-       (check_only || infodump || capdump) ? NULLHOOK : immedhook);
+                         !smart_defaults, FALSE,
+                         (check_only || infodump || capdump) ? NULLHOOK : immedhook);
 
     /* do use resolution */
     if (check_only || (!infodump && !capdump) || forceresolve) {
 
     /* do use resolution */
     if (check_only || (!infodump && !capdump) || forceresolve) {
@@ -647,9 +662,9 @@ main(int argc, char *argv[])
 
                if (len > (infodump ? MAX_TERMINFO_LENGTH : MAX_TERMCAP_LENGTH))
                    (void) fprintf(stderr,
 
                if (len > (infodump ? MAX_TERMINFO_LENGTH : MAX_TERMCAP_LENGTH))
                    (void) fprintf(stderr,
-                       "warning: resolved %s entry is %d bytes long\n",
-                       _nc_first_name(qp->tterm.term_names),
-                       len);
+                                  "warning: resolved %s entry is %d bytes long\n",
+                                  _nc_first_name(qp->tterm.term_names),
+                                  len);
            }
        }
     }
            }
        }
     }
@@ -722,8 +737,8 @@ main(int argc, char *argv[])
        int total = _nc_tic_written();
        if (total != 0)
            fprintf(log_fp, "%d entries written to %s\n",
        int total = _nc_tic_written();
        if (total != 0)
            fprintf(log_fp, "%d entries written to %s\n",
-               total,
-               _nc_tic_dir((char *) 0));
+                   total,
+                   _nc_tic_dir((char *) 0));
        else
            fprintf(log_fp, "No entries written\n");
     }
        else
            fprintf(log_fp, "No entries written\n");
     }
@@ -742,6 +757,148 @@ TERMINAL *cur_term;               /* tweak to avoid linking lib_cur_term.c */
 #undef CUR
 #define CUR tp->
 
 #undef CUR
 #define CUR tp->
 
+/*
+ * Returns the expected number of parameters for the given capability.
+ */
+static int
+expected_params(char *name)
+{
+    /* *INDENT-OFF* */
+    static const struct {
+       const char *name;
+       int count;
+    } table[] = {
+       { "birep",              2 },
+       { "chr",                1 },
+       { "colornm",            1 },
+       { "cpi",                1 },
+       { "csnm",               1 },
+       { "csr",                2 },
+       { "cub",                1 },
+       { "cud",                1 },
+       { "cuf",                1 },
+       { "cup",                2 },
+       { "cuu",                1 },
+       { "cvr",                1 },
+       { "cwin",               5 },
+       { "dch",                1 },
+       { "defc",               3 },
+       { "dial",               1 },
+       { "dispc",              1 },
+       { "dl",                 1 },
+       { "ech",                1 },
+       { "getm",               1 },
+       { "hpa",                1 },
+       { "ich",                1 },
+       { "il",                 1 },
+       { "indn",               1 },
+       { "initc",              4 },
+       { "initp",              7 },
+       { "lpi",                1 },
+       { "mc5p",               1 },
+       { "mrcup",              2 },
+       { "mvpa",               1 },
+       { "pfkey",              2 },
+       { "pfloc",              2 },
+       { "pfx",                2 },
+       { "pfxl",               3 },
+       { "pln",                2 },
+       { "qdial",              1 },
+       { "rcsd",               1 },
+       { "rep",                2 },
+       { "rin",                1 },
+       { "sclk",               3 },
+       { "scp",                1 },
+       { "scs",                1 },
+       { "scsd",               2 },
+       { "setab",              1 },
+       { "setaf",              1 },
+       { "setb",               1 },
+       { "setcolor",           1 },
+       { "setf",               1 },
+       { "sgr",                9 },
+       { "sgr1",               6 },
+       { "slength",            1 },
+       { "slines",             1 },
+       { "smgbp",              2 },
+       { "smglp",              2 },
+       { "smglr",              2 },
+       { "smgrp",              1 },
+       { "smgtb",              2 },
+       { "smgtp",              1 },
+       { "tsl",                1 },
+       { "u6",                 -1 },
+       { "vpa",                1 },
+       { "wind",               4 },
+       { "wingo",              1 },
+    };
+    /* *INDENT-ON* */
+
+    unsigned n;
+    int result = 0;            /* function-keys, etc., use none */
+
+    for (n = 0; n < SIZEOF(table); n++) {
+       if (!strcmp(name, table[n].name)) {
+           result = table[n].count;
+           break;
+       }
+    }
+
+    return result;
+}
+
+/*
+ * Make a quick sanity check for the parameters which are used in the given
+ * strings.  If there are no "%p" tokens, then there should be no other "%"
+ * markers.
+ */
+static void
+check_params(TERMTYPE * tp, char *name, char *value)
+{
+    int expected = expected_params(name);
+    int actual = 0;
+    int n;
+    bool params[10];
+    char *s = value;
+
+    for (n = 0; n < 10; n++)
+       params[n] = FALSE;
+
+    while (*s != 0) {
+       if (*s == '%') {
+           if (*++s == '\0') {
+               _nc_warning("expected character after %% in %s", name);
+               break;
+           } else if (*s == 'p') {
+               if (*++s == '\0' || !isdigit((int) *s)) {
+                   _nc_warning("expected digit after %%p in %s", name);
+                   return;
+               } else {
+                   n = (*s - '0');
+                   if (n > actual)
+                       actual = n;
+                   params[n] = TRUE;
+               }
+           }
+       }
+       s++;
+    }
+
+    if (params[0]) {
+       _nc_warning("%s refers to parameter 0 (%%p0), which is not allowed", name);
+    }
+    if (value == set_attributes || expected < 0) {
+       ;
+    } else if (expected != actual) {
+       _nc_warning("%s uses %d parameters, expected %d", name,
+                   actual, expected);
+       for (n = 1; n < actual; n++) {
+           if (!params[n])
+               _nc_warning("%s omits parameter %d", name, n);
+       }
+    }
+}
+
 /*
  * An sgr string may contain several settings other than the one we're
  * interested in, essentially sgr0 + rmacs + whatever.  As long as the
 /*
  * An sgr string may contain several settings other than the one we're
  * interested in, essentially sgr0 + rmacs + whatever.  As long as the
@@ -767,20 +924,20 @@ static void
 check_sgr(TERMTYPE * tp, char *zero, int num, char *cap, const char *name)
 {
     char *test = tparm(set_attributes,
 check_sgr(TERMTYPE * tp, char *zero, int num, char *cap, const char *name)
 {
     char *test = tparm(set_attributes,
-       num == 1,
-       num == 2,
-       num == 3,
-       num == 4,
-       num == 5,
-       num == 6,
-       num == 7,
-       num == 8,
-       num == 9);
+                      num == 1,
+                      num == 2,
+                      num == 3,
+                      num == 4,
+                      num == 5,
+                      num == 6,
+                      num == 7,
+                      num == 8,
+                      num == 9);
     if (test != 0) {
        if (PRESENT(cap)) {
            if (!similar_sgr(test, cap)) {
                _nc_warning("%s differs from sgr(%d): %s", name, num,
     if (test != 0) {
        if (PRESENT(cap)) {
            if (!similar_sgr(test, cap)) {
                _nc_warning("%s differs from sgr(%d): %s", name, num,
-                   _nc_visbuf(test));
+                           _nc_visbuf(test));
            }
        } else if (strcmp(test, zero)) {
            _nc_warning("sgr(%d) present, but not %s", num, name);
            }
        } else if (strcmp(test, zero)) {
            _nc_warning("sgr(%d) present, but not %s", num, name);
@@ -827,12 +984,12 @@ check_termtype(TERMTYPE * tp)
                        conflict = TRUE;
                    }
                    fprintf(stderr, "... %s is the same as %s",
                        conflict = TRUE;
                    }
                    fprintf(stderr, "... %s is the same as %s",
-                       keyname(_nc_tinfo_fkeys[j].code),
-                       keyname(_nc_tinfo_fkeys[k].code));
+                           keyname(_nc_tinfo_fkeys[j].code),
+                           keyname(_nc_tinfo_fkeys[k].code));
                    first = FALSE;
                } else {
                    fprintf(stderr, ", %s",
                    first = FALSE;
                } else {
                    fprintf(stderr, ", %s",
-                       keyname(_nc_tinfo_fkeys[k].code));
+                           keyname(_nc_tinfo_fkeys[k].code));
                }
            }
        }
                }
            }
        }
@@ -840,6 +997,12 @@ check_termtype(TERMTYPE * tp)
            fprintf(stderr, "\n");
     }
 
            fprintf(stderr, "\n");
     }
 
+    for (j = 0; j < NUM_STRINGS(tp); j++) {
+       char *a = tp->Strings[j];
+       if (VALID_STRING(a))
+           check_params(tp, ExtStrname(tp, j, strnames), a);
+    }
+
     /*
      * Quick check for color.  We could also check if the ANSI versus
      * non-ANSI strings are misused.
     /*
      * Quick check for color.  We could also check if the ANSI versus
      * non-ANSI strings are misused.
index afdf379fb2871a114e4856f7ceb2837dbdcbf60c..b7afb676b015ee234a3db4b053c4a8475dbcb5b4 100644 (file)
@@ -43,7 +43,7 @@
 #include <dump_entry.h>
 #include <term_entry.h>
 
 #include <dump_entry.h>
 #include <term_entry.h>
 
-MODULE_ID("$Id: toe.c,v 1.22 2000/03/11 21:47:35 tom Exp $")
+MODULE_ID("$Id: toe.c,v 1.24 2000/09/09 19:52:35 tom Exp $")
 
 #define isDotname(name) (!strcmp(name, ".") || !strcmp(name, ".."))
 
 
 #define isDotname(name) (!strcmp(name, ".") || !strcmp(name, ".."))
 
@@ -87,10 +87,7 @@ main(int argc, char *argv[])
     int i, c;
     int code;
 
     int i, c;
     int code;
 
-    if ((_nc_progname = strrchr(argv[0], '/')) == 0)
-       _nc_progname = argv[0];
-    else
-       _nc_progname++;
+    _nc_progname = _nc_basename(argv[0]);
 
     while ((c = getopt(argc, argv, "huv:UV")) != EOF)
        switch (c) {
 
     while ((c = getopt(argc, argv, "huv:UV")) != EOF)
        switch (c) {
@@ -107,8 +104,7 @@ main(int argc, char *argv[])
            invert_dependencies = TRUE;
            break;
        case 'V':
            invert_dependencies = TRUE;
            break;
        case 'V':
-           (void) fputs(NCURSES_VERSION, stdout);
-           putchar('\n');
+           puts(curses_version());
            ExitProgram(EXIT_SUCCESS);
        default:
            (void) fprintf(stderr, "usage: toe [-huUV] [-v n] [file...]\n");
            ExitProgram(EXIT_SUCCESS);
        default:
            (void) fprintf(stderr, "usage: toe [-huUV] [-v n] [file...]\n");
@@ -191,7 +187,7 @@ main(int argc, char *argv[])
                if ((eargv[j] = get_directory(personal)) != 0)
                    j++;
            }
                if ((eargv[j] = get_directory(personal)) != 0)
                    j++;
            }
-           if ((eargv[j] = get_directory(TERMINFO)) != 0)
+           if ((eargv[j] = get_directory(strcpy(personal, TERMINFO))) != 0)
                j++;
        }
        eargv[j] = 0;
                j++;
        }
        eargv[j] = 0;
index 63c6d1a5be5b4e532ac6f87da5cad78e8726f68e..a72a2e892fdf6095a31d4871bdfe7973061c8e6c 100644 (file)
  */
 
 #include <progs.priv.h>
  */
 
 #include <progs.priv.h>
-#ifndef        PURE_TERMINFO
+
+#if !PURE_TERMINFO
 #include <termsort.c>
 #endif
 #include <termsort.c>
 #endif
+#include <transform.h>
 
 
-MODULE_ID("$Id: tput.c,v 1.16 2000/03/19 01:08:08 tom Exp $")
+MODULE_ID("$Id: tput.c,v 1.24 2000/10/05 00:05:04 tom Exp $")
 
 #define PUTS(s)                fputs(s, stdout)
 #define PUTCHAR(c)     putchar(c)
 #define FLUSH          fflush(stdout)
 
 
 #define PUTS(s)                fputs(s, stdout)
 #define PUTCHAR(c)     putchar(c)
 #define FLUSH          fflush(stdout)
 
+typedef enum {
+    Numbers = 0
+    ,Num_Str
+    ,Num_Str_Str
+} TParams;
+
 static char *prg_name;
 static char *prg_name;
+static bool is_init = FALSE;
+static bool is_reset = FALSE;
 
 static void
 quit(int status, const char *fmt,...)
 
 static void
 quit(int status, const char *fmt,...)
@@ -66,38 +76,77 @@ quit(int status, const char *fmt,...)
 static void
 usage(void)
 {
 static void
 usage(void)
 {
-    fprintf(stderr, "usage: %s [-S] [-T term] capname\n", prg_name);
+    fprintf(stderr, "usage: %s [-V] [-S] [-T term] capname\n", prg_name);
     exit(EXIT_FAILURE);
 }
 
     exit(EXIT_FAILURE);
 }
 
+static void
+check_aliases(const char *name)
+{
+    is_init = (strcmp(name, PROG_INIT) == 0);
+    is_reset = (strcmp(name, PROG_RESET) == 0);
+}
+
+/*
+ * Lookup the type of call we should make to tparm().  This ignores the actual
+ * terminfo capability (bad, because it is not extensible), but makes this
+ * code portable to platforms where sizeof(int) != sizeof(char *).
+ *
+ * FIXME: If we want extensibility, analyze the capability string as we do
+ * in tparm() to decide how to parse the varargs list.
+ */
+static TParams
+tparm_type(char *name)
+{
+#define TD(code, longname, ti, tc) {code,longname},{code,ti},{code,tc}
+    TParams result = Numbers;
+    /* *INDENT-OFF* */
+    static const struct {
+       TParams code;
+       const char *name;
+    } table[] = {
+       TD(Num_Str,     "pkey_key",     "pfkey",        "pk"),
+       TD(Num_Str,     "pkey_local",   "pfloc",        "pl"),
+       TD(Num_Str,     "pkey_xmit",    "pfx",          "px"),
+       TD(Num_Str,     "plab_norm",    "pln",          "pn"),
+       TD(Num_Str_Str, "pkey_plab",    "pfxl",         "xl"),
+    };
+    /* *INDENT-ON* */
+
+    unsigned n;
+    for (n = 0; n < SIZEOF(table); n++) {
+       if (!strcmp(name, table[n].name)) {
+           result = table[n].code;
+           break;
+       }
+    }
+    return result;
+}
+
 static int
 tput(int argc, char *argv[])
 {
     NCURSES_CONST char *name;
     char *s;
     int i, j, c;
 static int
 tput(int argc, char *argv[])
 {
     NCURSES_CONST char *name;
     char *s;
     int i, j, c;
-    int reset, status;
+    int status;
     FILE *f;
 
     FILE *f;
 
-    reset = 0;
-    name = argv[0];
-    if (strcmp(name, "reset") == 0) {
-       reset = 1;
-    }
-    if (reset || strcmp(name, "init") == 0) {
+    check_aliases(name = argv[0]);
+    if (is_reset || is_init) {
        if (init_prog != 0) {
            system(init_prog);
        }
        FLUSH;
 
        if (init_prog != 0) {
            system(init_prog);
        }
        FLUSH;
 
-       if (reset && reset_1string != 0) {
+       if (is_reset && reset_1string != 0) {
            PUTS(reset_1string);
        } else if (init_1string != 0) {
            PUTS(init_1string);
        }
        FLUSH;
 
            PUTS(reset_1string);
        } else if (init_1string != 0) {
            PUTS(init_1string);
        }
        FLUSH;
 
-       if (reset && reset_2string != 0) {
+       if (is_reset && reset_2string != 0) {
            PUTS(reset_2string);
        } else if (init_2string != 0) {
            PUTS(init_2string);
            PUTS(reset_2string);
        } else if (init_2string != 0) {
            PUTS(init_2string);
@@ -107,12 +156,12 @@ tput(int argc, char *argv[])
        if (set_lr_margin != 0) {
            PUTS(tparm(set_lr_margin, 0, columns - 1));
        } else if (set_left_margin_parm != 0
        if (set_lr_margin != 0) {
            PUTS(tparm(set_lr_margin, 0, columns - 1));
        } else if (set_left_margin_parm != 0
-           && set_right_margin_parm != 0) {
+                  && set_right_margin_parm != 0) {
            PUTS(tparm(set_left_margin_parm, 0));
            PUTS(tparm(set_right_margin_parm, columns - 1));
        } else if (clear_margins != 0
            PUTS(tparm(set_left_margin_parm, 0));
            PUTS(tparm(set_right_margin_parm, columns - 1));
        } else if (clear_margins != 0
-           && set_left_margin != 0
-           && set_right_margin != 0) {
+                  && set_left_margin != 0
+                  && set_right_margin != 0) {
            PUTS(clear_margins);
            if (carriage_return != 0) {
                PUTS(carriage_return);
            PUTS(clear_margins);
            if (carriage_return != 0) {
                PUTS(carriage_return);
@@ -151,7 +200,7 @@ tput(int argc, char *argv[])
            }
        }
 
            }
        }
 
-       if (reset && reset_file != 0) {
+       if (is_reset && reset_file != 0) {
            f = fopen(reset_file, "r");
            if (f == 0) {
                quit(errno, "Can't open reset_file: '%s'", reset_file);
            f = fopen(reset_file, "r");
            if (f == 0) {
                quit(errno, "Can't open reset_file: '%s'", reset_file);
@@ -172,7 +221,7 @@ tput(int argc, char *argv[])
        }
        FLUSH;
 
        }
        FLUSH;
 
-       if (reset && reset_3string != 0) {
+       if (is_reset && reset_3string != 0) {
            PUTS(reset_3string);
        } else if (init_2string != 0) {
            PUTS(init_2string);
            PUTS(reset_3string);
        } else if (init_2string != 0) {
            PUTS(init_2string);
@@ -185,7 +234,7 @@ tput(int argc, char *argv[])
        PUTS(longname());
        return 0;
     }
        PUTS(longname());
        return 0;
     }
-#ifndef        PURE_TERMINFO
+#if !PURE_TERMINFO
     {
        const struct name_table_entry *np;
 
     {
        const struct name_table_entry *np;
 
@@ -216,10 +265,11 @@ tput(int argc, char *argv[])
        return (0);
     } else if ((s = tigetstr(name)) == CANCELLED_STRING) {
        quit(4, "%s: unknown terminfo capability '%s'", prg_name, name);
        return (0);
     } else if ((s = tigetstr(name)) == CANCELLED_STRING) {
        quit(4, "%s: unknown terminfo capability '%s'", prg_name, name);
-    } else if (s != 0) {
+    } else if (s != ABSENT_STRING) {
        if (argc > 1) {
            int k;
        if (argc > 1) {
            int k;
-           char * params[10];
+           int numbers[10];
+           char *strings[10];
 
            /* Nasty hack time. The tparm function needs to see numeric
             * parameters as numbers, not as pointers to their string
 
            /* Nasty hack time. The tparm function needs to see numeric
             * parameters as numbers, not as pointers to their string
@@ -227,20 +277,31 @@ tput(int argc, char *argv[])
             */
 
            for (k = 1; k < argc; k++) {
             */
 
            for (k = 1; k < argc; k++) {
-               if (isdigit(argv[k][0])) {
-                   long val = atol(argv[k]);
-                   params[k] = (char *)val;
-               } else {
-                   params[k] = argv[k];
-               }
+               char *tmp = 0;
+               strings[k] = argv[k];
+               numbers[k] = strtol(argv[k], &tmp, 0);
+               if (tmp == 0 || *tmp != 0)
+                   numbers[k] = 0;
+           }
+           for (k = argc; k <= 9; k++) {
+               numbers[k] = 0;
+               strings[k] = 0;
            }
            }
-           for (k = argc; k <= 9; k++)
-               params[k] = 0;
 
 
-           s = tparm(s,
-               params[1], params[2], params[3],
-               params[4], params[5], params[6],
-               params[7], params[8], params[9]);
+           switch (tparm_type(name)) {
+           case Num_Str:
+               s = tparm(s, numbers[1], strings[2]);
+               break;
+           case Num_Str_Str:
+               s = tparm(s, numbers[1], strings[2], strings[3]);
+               break;
+           default:
+               s = tparm(s,
+                         numbers[1], numbers[2], numbers[3],
+                         numbers[4], numbers[5], numbers[6],
+                         numbers[7], numbers[8], numbers[9]);
+               break;
+           }
        }
 
        /* use putp() in order to perform padding */
        }
 
        /* use putp() in order to perform padding */
@@ -253,38 +314,47 @@ tput(int argc, char *argv[])
 int
 main(int argc, char **argv)
 {
 int
 main(int argc, char **argv)
 {
-    char *s, *term;
-    int errret, cmdline = 1;
+    char *term;
+    int errret;
+    bool cmdline = TRUE;
     int c;
     char buf[BUFSIZ];
     int errors = 0;
 
     int c;
     char buf[BUFSIZ];
     int errors = 0;
 
-    prg_name = argv[0];
-    s = strrchr(prg_name, '/');
-    if (s != 0 && *++s != '\0')
-       prg_name = s;
+    check_aliases(prg_name = _nc_basename(argv[0]));
 
     term = getenv("TERM");
 
 
     term = getenv("TERM");
 
-    while ((c = getopt(argc, argv, "ST:")) != EOF)
+    while ((c = getopt(argc, argv, "ST:V")) != EOF) {
        switch (c) {
        case 'S':
        switch (c) {
        case 'S':
-           cmdline = 0;
+           cmdline = FALSE;
            break;
        case 'T':
            use_env(FALSE);
            term = optarg;
            break;
            break;
        case 'T':
            use_env(FALSE);
            term = optarg;
            break;
+       case 'V':
+           puts(curses_version());
+           return EXIT_SUCCESS;
        default:
            usage();
            /* NOTREACHED */
        }
        default:
            usage();
            /* NOTREACHED */
        }
-    argc -= optind;
-    argv += optind;
+    }
 
 
-    if (cmdline && argc == 0) {
-       usage();
-       /* NOTREACHED */
+    /*
+     * Modify the argument list to omit the options we processed.
+     */
+    if (is_reset || is_init) {
+       if (optind-- < argc) {
+           argc -= optind;
+           argv += optind;
+       }
+       argv[0] = prg_name;
+    } else {
+       argc -= optind;
+       argv += optind;
     }
 
     if (term == 0 || *term == '\0')
     }
 
     if (term == 0 || *term == '\0')
@@ -293,8 +363,11 @@ main(int argc, char **argv)
     if (setupterm(term, STDOUT_FILENO, &errret) != OK && errret <= 0)
        quit(3, "unknown terminal \"%s\"", term);
 
     if (setupterm(term, STDOUT_FILENO, &errret) != OK && errret <= 0)
        quit(3, "unknown terminal \"%s\"", term);
 
-    if (cmdline)
+    if (cmdline) {
+       if ((argc <= 0) && !is_reset && !is_init)
+           usage();
        return tput(argc, argv);
        return tput(argc, argv);
+    }
 
     while (fgets(buf, sizeof(buf), stdin) != 0) {
        char *argvec[16];       /* command, 9 parms, null, & slop */
 
     while (fgets(buf, sizeof(buf), stdin) != 0) {
        char *argvec[16];       /* command, 9 parms, null, & slop */
index 392aac0ef55184f1b2db2f5b76fe36884a9da629..d8dbda4974f5d49fa966590fdabfa672a30aecb3 100644 (file)
@@ -101,8 +101,9 @@ char *ttyname(int fd);
 
 #include <curses.h>            /* for bool typedef */
 #include <dump_entry.h>
 
 #include <curses.h>            /* for bool typedef */
 #include <dump_entry.h>
+#include <transform.h>
 
 
-MODULE_ID("$Id: tset.c,v 0.41 2000/03/12 00:03:00 tom Exp $")
+MODULE_ID("$Id: tset.c,v 0.47 2000/10/08 01:01:08 tom Exp $")
 
 extern char **environ;
 
 
 extern char **environ;
 
@@ -113,9 +114,9 @@ const char *_nc_progname = "tset";
 
 static TTY mode, oldmode;
 
 
 static TTY mode, oldmode;
 
+static bool isreset = FALSE;   /* invoked as reset */
 static int terasechar = -1;    /* new erase character */
 static int intrchar = -1;      /* new interrupt character */
 static int terasechar = -1;    /* new erase character */
 static int intrchar = -1;      /* new interrupt character */
-static int isreset;            /* invoked as reset */
 static int tkillchar = -1;     /* new kill character */
 static int tlines, tcolumns;   /* window size */
 
 static int tkillchar = -1;     /* new kill character */
 static int tlines, tcolumns;   /* window size */
 
@@ -233,7 +234,7 @@ typedef struct map {
     const char *porttype;      /* Port type, or "" for any. */
     const char *type;          /* Terminal type to select. */
     int conditional;           /* Baud rate conditionals bitmask. */
     const char *porttype;      /* Port type, or "" for any. */
     const char *type;          /* Terminal type to select. */
     int conditional;           /* Baud rate conditionals bitmask. */
-    speed_t speed;             /* Baud rate to compare against. */
+    int speed;                 /* Baud rate to compare against. */
 } MAP;
 
 static MAP *cur, *maplist;
 } MAP;
 
 static MAP *cur, *maplist;
@@ -260,10 +261,19 @@ static const SPEEDS speeds[] =
     {"2400", B2400},
     {"4800", B4800},
     {"9600", B9600},
     {"2400", B2400},
     {"4800", B4800},
     {"9600", B9600},
+    /* sgttyb may define up to this point */
+#ifdef B19200
     {"19200", B19200},
     {"19200", B19200},
+#endif
+#ifdef B38400
     {"38400", B38400},
     {"38400", B38400},
+#endif
+#ifdef B19200
     {"19200", B19200},
     {"19200", B19200},
+#endif
+#ifdef B38400
     {"38400", B38400},
     {"38400", B38400},
+#endif
 #ifdef B19200
     {"19200", B19200},
 #else
 #ifdef B19200
     {"19200", B19200},
 #else
@@ -505,10 +515,7 @@ get_termcap_entry(char *userarg)
        goto map;
 
     if ((ttypath = ttyname(STDERR_FILENO)) != 0) {
        goto map;
 
     if ((ttypath = ttyname(STDERR_FILENO)) != 0) {
-       if ((p = strrchr(ttypath, '/')) != 0)
-           ++p;
-       else
-           p = ttypath;
+       p = _nc_basename(ttypath);
 #if HAVE_GETTTYNAM
        /*
         * We have the 4.3BSD library call getttynam(3); that means
 #if HAVE_GETTTYNAM
        /*
         * We have the 4.3BSD library call getttynam(3); that means
@@ -582,15 +589,15 @@ get_termcap_entry(char *userarg)
     }
     /* Find the terminfo entry.  If it doesn't exist, ask the user. */
     while ((rval = setupterm((NCURSES_CONST char *) ttype, STDOUT_FILENO,
     }
     /* Find the terminfo entry.  If it doesn't exist, ask the user. */
     while ((rval = setupterm((NCURSES_CONST char *) ttype, STDOUT_FILENO,
-               &errret)) != OK) {
+                            &errret)) != OK) {
        if (errret == 0) {
            (void) fprintf(stderr, "tset: unknown terminal type %s\n",
        if (errret == 0) {
            (void) fprintf(stderr, "tset: unknown terminal type %s\n",
-               ttype);
+                          ttype);
            ttype = 0;
        } else {
            (void) fprintf(stderr,
            ttype = 0;
        } else {
            (void) fprintf(stderr,
-               "tset: can't initialize terminal type %s (error %d)\n",
-               ttype, errret);
+                          "tset: can't initialize terminal type %s (error %d)\n",
+                          ttype, errret);
            ttype = 0;
        }
        ttype = askuser(ttype);
            ttype = 0;
        }
        ttype = askuser(ttype);
@@ -683,46 +690,46 @@ reset_mode(void)
 
     mode.c_iflag &= ~(IGNBRK | PARMRK | INPCK | ISTRIP | INLCR | IGNCR
 #ifdef IUCLC
 
     mode.c_iflag &= ~(IGNBRK | PARMRK | INPCK | ISTRIP | INLCR | IGNCR
 #ifdef IUCLC
-       | IUCLC
+                     | IUCLC
 #endif
 #ifdef IXANY
 #endif
 #ifdef IXANY
-       | IXANY
+                     | IXANY
 #endif
 #endif
-       | IXOFF);
+                     | IXOFF);
 
     mode.c_iflag |= (BRKINT | IGNPAR | ICRNL | IXON
 #ifdef IMAXBEL
 
     mode.c_iflag |= (BRKINT | IGNPAR | ICRNL | IXON
 #ifdef IMAXBEL
-       | IMAXBEL
+                    | IMAXBEL
 #endif
        );
 
     mode.c_oflag &= ~(0
 #ifdef OLCUC
 #endif
        );
 
     mode.c_oflag &= ~(0
 #ifdef OLCUC
-       | OLCUC
+                     | OLCUC
 #endif
 #ifdef OCRNL
 #endif
 #ifdef OCRNL
-       | OCRNL
+                     | OCRNL
 #endif
 #ifdef ONOCR
 #endif
 #ifdef ONOCR
-       | ONOCR
+                     | ONOCR
 #endif
 #ifdef ONLRET
 #endif
 #ifdef ONLRET
-       | ONLRET
+                     | ONLRET
 #endif
 #ifdef OFILL
 #endif
 #ifdef OFILL
-       | OFILL
+                     | OFILL
 #endif
 #ifdef OFDEL
 #endif
 #ifdef OFDEL
-       | OFDEL
+                     | OFDEL
 #endif
 #ifdef NLDLY
 #endif
 #ifdef NLDLY
-       | NLDLY | CRDLY | TABDLY | BSDLY | VTDLY | FFDLY
+                     | NLDLY | CRDLY | TABDLY | BSDLY | VTDLY | FFDLY
 #endif
        );
 
     mode.c_oflag |= (OPOST
 #ifdef ONLCR
 #endif
        );
 
     mode.c_oflag |= (OPOST
 #ifdef ONLCR
-       | ONLCR
+                    | ONLCR
 #endif
        );
 
 #endif
        );
 
@@ -730,22 +737,22 @@ reset_mode(void)
     mode.c_cflag |= (CS8 | CREAD);
     mode.c_lflag &= ~(ECHONL | NOFLSH
 #ifdef TOSTOP
     mode.c_cflag |= (CS8 | CREAD);
     mode.c_lflag &= ~(ECHONL | NOFLSH
 #ifdef TOSTOP
-       | TOSTOP
+                     | TOSTOP
 #endif
 #ifdef ECHOPTR
 #endif
 #ifdef ECHOPTR
-       | ECHOPRT
+                     | ECHOPRT
 #endif
 #ifdef XCASE
 #endif
 #ifdef XCASE
-       | XCASE
+                     | XCASE
 #endif
        );
 
     mode.c_lflag |= (ISIG | ICANON | ECHO | ECHOE | ECHOK
 #ifdef ECHOCTL
 #endif
        );
 
     mode.c_lflag |= (ISIG | ICANON | ECHO | ECHOE | ECHOK
 #ifdef ECHOCTL
-       | ECHOCTL
+                    | ECHOCTL
 #endif
 #ifdef ECHOKE
 #endif
 #ifdef ECHOKE
-       | ECHOKE
+                    | ECHOKE
 #endif
        );
 #endif
 #endif
        );
 #endif
@@ -761,6 +768,7 @@ reset_mode(void)
  * Returns a "good" value for the erase character.  This is loosely based on
  * the BSD4.4 logic.
  */
  * Returns a "good" value for the erase character.  This is loosely based on
  * the BSD4.4 logic.
  */
+#ifdef TERMIOS
 static int
 default_erase(void)
 {
 static int
 default_erase(void)
 {
@@ -775,6 +783,7 @@ default_erase(void)
 
     return result;
 }
 
     return result;
 }
+#endif
 
 /*
  * Update the values of the erase, interrupt, and kill characters in 'mode'.
 
 /*
  * Update the values of the erase, interrupt, and kill characters in 'mode'.
@@ -954,10 +963,10 @@ set_tabs()
 /*
  * Tell the user if a control key has been changed from the default value.
  */
 /*
  * Tell the user if a control key has been changed from the default value.
  */
+#ifdef TERMIOS
 static void
 report(const char *name, int which, unsigned def)
 {
 static void
 report(const char *name, int which, unsigned def)
 {
-#ifdef TERMIOS
     unsigned older, newer;
     char *p;
 
     unsigned older, newer;
     char *p;
 
@@ -976,16 +985,16 @@ report(const char *name, int which, unsigned def)
     if (newer == 0177)
        (void) fprintf(stderr, "delete.\n");
     else if ((p = key_backspace) != 0
     if (newer == 0177)
        (void) fprintf(stderr, "delete.\n");
     else if ((p = key_backspace) != 0
-           && newer == (unsigned char) p[0]
-       && p[1] == '\0')
+            && newer == (unsigned char) p[0]
+            && p[1] == '\0')
        (void) fprintf(stderr, "backspace.\n");
     else if (newer < 040) {
        newer ^= 0100;
        (void) fprintf(stderr, "control-%c (^%c).\n", newer, newer);
     } else
        (void) fprintf(stderr, "%c.\n", newer);
        (void) fprintf(stderr, "backspace.\n");
     else if (newer < 040) {
        newer ^= 0100;
        (void) fprintf(stderr, "control-%c (^%c).\n", newer, newer);
     } else
        (void) fprintf(stderr, "%c.\n", newer);
-#endif
 }
 }
+#endif
 
 /*
  * Convert the obsolete argument forms into something that getopt can handle.
 
 /*
  * Convert the obsolete argument forms into something that getopt can handle.
@@ -1025,7 +1034,7 @@ static void
 usage(const char *pname)
 {
     (void) fprintf(stderr,
 usage(const char *pname)
 {
     (void) fprintf(stderr,
-       "usage: %s [-IQrs] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal]\n", pname);
+                  "usage: %s [-IQVrs] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal]\n", pname);
     exit(EXIT_FAILURE);
 }
 
     exit(EXIT_FAILURE);
 }
 
@@ -1047,32 +1056,24 @@ main(int argc, char **argv)
     const char *p;
     const char *ttype;
 
     const char *p;
     const char *ttype;
 
-#ifdef TERMIOS
-    if (tcgetattr(STDERR_FILENO, &mode) < 0)
+    if (GET_TTY(STDERR_FILENO, &mode) < 0)
        failed("standard error");
        failed("standard error");
-
     oldmode = mode;
     oldmode = mode;
+#ifdef TERMIOS
     ospeed = cfgetospeed(&mode);
 #else
     ospeed = cfgetospeed(&mode);
 #else
-    if (gtty(STDERR_FILENO, &mode) < 0)
-       failed("standard error");
-
-    oldmode = mode;
     ospeed = mode.sg_ospeed;
 #endif
 
     ospeed = mode.sg_ospeed;
 #endif
 
-    if ((p = strrchr(*argv, '/')) != 0)
-       ++p;
-    else
-       p = *argv;
-    if (!CaselessCmp(p, "reset")) {
-       isreset = 1;
+    p = _nc_basename(*argv);
+    if (!strcmp(p, PROG_RESET)) {
+       isreset = TRUE;
        reset_mode();
     }
 
     obsolete(argv);
     noinit = noset = quiet = Sflag = sflag = showterm = 0;
        reset_mode();
     }
 
     obsolete(argv);
     noinit = noset = quiet = Sflag = sflag = showterm = 0;
-    while ((ch = getopt(argc, argv, "a:d:e:Ii:k:m:np:qQSrs")) != EOF) {
+    while ((ch = getopt(argc, argv, "a:d:e:Ii:k:m:np:qQSrsV")) != EOF) {
        switch (ch) {
        case 'q':               /* display term only */
            noset = 1;
        switch (ch) {
        case 'q':               /* display term only */
            noset = 1;
@@ -1115,6 +1116,9 @@ main(int argc, char **argv)
        case 's':               /* output TERM set command */
            sflag = 1;
            break;
        case 's':               /* output TERM set command */
            sflag = 1;
            break;
+       case 'V':
+           puts(curses_version());
+           return EXIT_SUCCESS;
        case '?':
        default:
            usage(*argv);
        case '?':
        default:
            usage(*argv);
@@ -1170,11 +1174,13 @@ main(int argc, char **argv)
         * If erase, kill and interrupt characters could have been
         * modified and not -Q, display the changes.
         */
         * If erase, kill and interrupt characters could have been
         * modified and not -Q, display the changes.
         */
+#ifdef TERMIOS
        if (!quiet) {
            report("Erase", VERASE, CERASE);
            report("Kill", VKILL, CINTR);
            report("Interrupt", VINTR, CKILL);
        }
        if (!quiet) {
            report("Erase", VERASE, CERASE);
            report("Kill", VKILL, CINTR);
            report("Interrupt", VINTR, CKILL);
        }
+#endif
     }
 
     if (Sflag)
     }
 
     if (Sflag)
index 0004447f186160c5b8c72db9cfabc94f67cd312c..b2237cca0aecae8c97574a629263e2d01fcbeea6 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.19 2000/07/08 01:56:35 tom Exp $
+# $Id: Makefile.in,v 1.24 2000/10/14 22:19:37 tom Exp $
 # Makefile for tack
 #
 # The variable 'srcdir' refers to the source-distribution, and can be set with
 # Makefile for tack
 #
 # The variable 'srcdir' refers to the source-distribution, and can be set with
@@ -18,7 +18,7 @@ CF_MFLAGS     = @cf_cv_makeflags@
 x              = @PROG_EXT@
 
 MODEL          = ../@DFT_OBJ_SUBDIR@
 x              = @PROG_EXT@
 
 MODEL          = ../@DFT_OBJ_SUBDIR@
-INSTALL_PREFIX = @INSTALL_PREFIX@
+DESTDIR                = @DESTDIR@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
@@ -28,7 +28,7 @@ mandir                = @mandir@/man1
 includedir     = @includedir@
 datadir                = @datadir@
 
 includedir     = @includedir@
 datadir                = @datadir@
 
-ticdir         = $(datadir)/terminfo
+LIBTOOL                = @LIBTOOL@
 
 INSTALL                = @INSTALL@
 INSTALL_PROGRAM        = @INSTALL_PROGRAM@
 
 INSTALL                = @INSTALL@
 INSTALL_PROGRAM        = @INSTALL_PROGRAM@
@@ -46,6 +46,7 @@ CPPFLAGS      = -DHAVE_CONFIG_H -I../tack -I$(srcdir) @CPPFLAGS@
 
 CCFLAGS                = $(CPPFLAGS) $(CFLAGS)
 
 
 CCFLAGS                = $(CPPFLAGS) $(CFLAGS)
 
+CFLAGS_LIBTOOL = $(CCFLAGS)
 CFLAGS_NORMAL  = $(CCFLAGS)
 CFLAGS_DEBUG   = $(CCFLAGS) @CC_G_OPT@ -DTRACE
 CFLAGS_PROFILE = $(CCFLAGS) -pg
 CFLAGS_NORMAL  = $(CCFLAGS)
 CFLAGS_DEBUG   = $(CCFLAGS) @CC_G_OPT@ -DTRACE
 CFLAGS_PROFILE = $(CCFLAGS) -pg
@@ -54,10 +55,11 @@ CFLAGS_SHARED       = $(CCFLAGS) @CC_SHARED_OPTS@
 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
 
 LD             = @LD@
 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
 
 LD             = @LD@
-LINK           = @LINK_PROGS@ $(CC)
+LINK           = @LINK_PROGS@ $(LIBTOOL) $(CC)
 LDFLAGS                = @EXTRA_LDFLAGS@ \
                @PROG_ARGS@ @LDFLAGS@ @LD_MODEL@ @LIBS@ @EXTRA_LIBS@
 
 LDFLAGS                = @EXTRA_LDFLAGS@ \
                @PROG_ARGS@ @LDFLAGS@ @LD_MODEL@ @LIBS@ @EXTRA_LIBS@
 
+LDFLAGS_LIBTOOL        = $(LDFLAGS)
 LDFLAGS_NORMAL = $(LDFLAGS)
 LDFLAGS_DEBUG  = $(LDFLAGS) @CC_G_OPT@
 LDFLAGS_PROFILE        = $(LDFLAGS) -pg
 LDFLAGS_NORMAL = $(LDFLAGS)
 LDFLAGS_DEBUG  = $(LDFLAGS) @CC_G_OPT@
 LDFLAGS_PROFILE        = $(LDFLAGS) -pg
@@ -88,17 +90,17 @@ install.libs \
 uninstall.libs:
 
 install.tack: $(PROGS) \
 uninstall.libs:
 
 install.tack: $(PROGS) \
-       $(INSTALL_PREFIX)$(bindir) \
-       $(INSTALL_PREFIX)$(mandir)
-       $(INSTALL_PROGRAM) tack$x $(INSTALL_PREFIX)$(bindir)/tack$x
-       $(INSTALL_DATA) $(srcdir)/tack.1 $(INSTALL_PREFIX)$(mandir)/tack.1
+       $(DESTDIR)$(bindir) \
+       $(DESTDIR)$(mandir)
+       $(LIBTOOL) $(INSTALL_PROGRAM) tack$x $(DESTDIR)$(bindir)/tack$x
+       $(INSTALL_DATA) $(srcdir)/tack.1 $(DESTDIR)$(mandir)/tack.1
 
 uninstall.tack:
 
 uninstall.tack:
-       -@rm -f $(INSTALL_PREFIX)$(bindir)/tack$x
-       -@rm -f $(INSTALL_PREFIX)$(mandir)/tack.1
+       -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/tack$x
+       -@rm -f $(DESTDIR)$(mandir)/tack.1
 
 
-$(INSTALL_PREFIX)$(bindir) \
-$(INSTALL_PREFIX)$(mandir) :
+$(DESTDIR)$(bindir) \
+$(DESTDIR)$(mandir) :
        $(srcdir)/../mkinstalldirs $@
 
 #
        $(srcdir)/../mkinstalldirs $@
 
 #
@@ -133,12 +135,13 @@ tack$x: $(DEPS_TACK) $(DEPS_CURSES)
 tags:
        ctags *.[ch]
 
 tags:
        ctags *.[ch]
 
-TAGS:
-       etags *.[ch]
+@MAKE_UPPER_TAGS@TAGS:
+@MAKE_UPPER_TAGS@      etags *.[ch]
 
 clean ::
        -rm -f tags TAGS do.tic *~
        -rm -f $(PROGS)
 
 clean ::
        -rm -f tags TAGS do.tic *~
        -rm -f $(PROGS)
+       -rm -rf .libs
 
 distclean :: clean
        -rm -f Makefile
 
 distclean :: clean
        -rm -f Makefile
index 43ef4457f2a95801c215012d38fb0ac27418ef2b..25376578fbcd92c0a76914faa0aaf6d205509290 100644 (file)
 #endif
 #endif
 
 #endif
 #endif
 
-MODULE_ID("$Id: sysdep.c,v 1.7 2000/03/04 21:02:11 tom Exp $")
+MODULE_ID("$Id: sysdep.c,v 1.9 2000/09/02 19:17:39 tom Exp $")
 
 #if DECL_ERRNO
 extern int errno;
 #endif
 
 
 #if DECL_ERRNO
 extern int errno;
 #endif
 
+#ifdef TERMIOS
+#define PUT_TTY(fd, buf) tcsetattr(fd, TCSAFLUSH, buf)
+#else
+#define PUT_TTY(fd, buf) stty(fd, buf)
+#endif
+
 /* globals */
 int tty_frame_size;            /* asynch frame size times 2 */
 unsigned long tty_baud_rate;   /* baud rate - bits per second */
 int not_a_tty;                 /* TRUE if output is not a tty (i.e. pipe) */
 int nodelay_read;              /* TRUE if NDELAY is set */
 
 /* globals */
 int tty_frame_size;            /* asynch frame size times 2 */
 unsigned long tty_baud_rate;   /* baud rate - bits per second */
 int not_a_tty;                 /* TRUE if output is not a tty (i.e. pipe) */
 int nodelay_read;              /* TRUE if NDELAY is set */
 
+#ifdef TERMIOS
 #define TTY_IS_NOECHO  !(new_modes.c_lflag & ECHO)
 #define TTY_IS_OUT_TRANS (new_modes.c_oflag & OPOST)
 #define TTY_IS_CHAR_MODE !(new_modes.c_lflag & ICANON)
 #define TTY_WAS_CS8 ((old_modes.c_cflag & CSIZE) == CS8)
 #define TTY_WAS_XON_XOFF (old_modes.c_iflag & (IXON|IXOFF))
 #define TTY_IS_NOECHO  !(new_modes.c_lflag & ECHO)
 #define TTY_IS_OUT_TRANS (new_modes.c_oflag & OPOST)
 #define TTY_IS_CHAR_MODE !(new_modes.c_lflag & ICANON)
 #define TTY_WAS_CS8 ((old_modes.c_cflag & CSIZE) == CS8)
 #define TTY_WAS_XON_XOFF (old_modes.c_iflag & (IXON|IXOFF))
+#else
+#define TTY_IS_NOECHO  !(new_modes.sg_flags & (ECHO))
+#define TTY_IS_OUT_TRANS (new_modes.sg_flags & (CRMOD))
+#define TTY_IS_CHAR_MODE (new_modes.sg_flags & (RAW|CBREAK))
+#define TTY_WAS_CS8     (old_modes.sg_flags & (PASS8))
+#define TTY_WAS_XON_XOFF (old_modes.sg_flags & (TANDEM|MDMBUF|DECCTQ))
+#endif
 
 static TTY old_modes, new_modes;
 
 
 static TTY old_modes, new_modes;
 
@@ -89,6 +103,7 @@ void
 tty_raw(int minch GCC_UNUSED, int mask)
 {                              /* set tty to raw noecho */
        new_modes = old_modes;
 tty_raw(int minch GCC_UNUSED, int mask)
 {                              /* set tty to raw noecho */
        new_modes = old_modes;
+#ifdef TERMIOS
 #if HAVE_SELECT
        new_modes.c_cc[VMIN] = 1;
 #else
 #if HAVE_SELECT
        new_modes.c_cc[VMIN] = 1;
 #else
@@ -108,15 +123,19 @@ tty_raw(int minch GCC_UNUSED, int mask)
        new_modes.c_iflag &=
                ~(IGNBRK | BRKINT | IGNPAR | PARMRK | INPCK | ISTRIP | INLCR | IGNCR | ICRNL |
                IUCLC | IXON | IXANY | IXOFF);
        new_modes.c_iflag &=
                ~(IGNBRK | BRKINT | IGNPAR | PARMRK | INPCK | ISTRIP | INLCR | IGNCR | ICRNL |
                IUCLC | IXON | IXANY | IXOFF);
+#else
+       new_modes.sg_flags |= RAW;
+#endif
        if (not_a_tty)
                return;
        if (not_a_tty)
                return;
-       tcsetattr(fileno(stdin), TCSAFLUSH, &new_modes);
+       PUT_TTY(fileno(stdin), &new_modes);
 }
 
 void 
 tty_set(void)
 {                              /* set tty to special modes */
        new_modes = old_modes;
 }
 
 void 
 tty_set(void)
 {                              /* set tty to special modes */
        new_modes = old_modes;
+#ifdef TERMIOS
        new_modes.c_cc[VMIN] = 1;
        new_modes.c_cc[VTIME] = 1;
        new_modes.c_lflag &= ~(ISIG | ICANON | ECHO | ECHOE | ECHOK | ECHONL);
        new_modes.c_cc[VMIN] = 1;
        new_modes.c_cc[VTIME] = 1;
        new_modes.c_lflag &= ~(ISIG | ICANON | ECHO | ECHOE | ECHOK | ECHONL);
@@ -132,7 +151,7 @@ tty_set(void)
                new_modes.c_iflag &= ~(IXON | IXOFF);
                break;
        case 1:
                new_modes.c_iflag &= ~(IXON | IXOFF);
                break;
        case 1:
-#if sequent
+#if defined(sequent) && sequent
                /* the sequent System V emulation is broken */
                new_modes = old_modes;
                new_modes.c_cc[VEOL] = 6;       /* control F  (ACK) */
                /* the sequent System V emulation is broken */
                new_modes = old_modes;
                new_modes.c_cc[VEOL] = 6;       /* control F  (ACK) */
@@ -159,9 +178,12 @@ tty_set(void)
        }
        if (!(new_modes.c_oflag & ~OPOST))
                new_modes.c_oflag &= ~OPOST;
        }
        if (!(new_modes.c_oflag & ~OPOST))
                new_modes.c_oflag &= ~OPOST;
+#else
+       new_modes.sg_flags |= RAW;
        if (not_a_tty)
                return;
        if (not_a_tty)
                return;
-       tcsetattr(fileno(stdin), TCSAFLUSH, &new_modes);
+#endif
+       PUT_TTY(fileno(stdin), &new_modes);
 }
 
 
 }
 
 
@@ -171,7 +193,7 @@ tty_reset(void)
        fflush(stdout);
        if (not_a_tty)
                return;
        fflush(stdout);
        if (not_a_tty)
                return;
-       tcsetattr(fileno(stdin), TCSAFLUSH, &old_modes);
+       PUT_TTY(fileno(stdin), &old_modes);
 }
 
 
 }
 
 
@@ -187,7 +209,7 @@ tty_init(void)
        nodelay_read = FALSE;
 #endif
        not_a_tty = FALSE;
        nodelay_read = FALSE;
 #endif
        not_a_tty = FALSE;
-       if (tcgetattr(fileno(stdin), &old_modes) == -1) {
+       if (GET_TTY(fileno(stdin), &old_modes) == -1) {
                if (errno == ENOTTY) {
                        tty_frame_size = 20;
                        not_a_tty = TRUE;
                if (errno == ENOTTY) {
                        tty_frame_size = 20;
                        not_a_tty = TRUE;
@@ -198,10 +220,12 @@ tty_init(void)
        }
        /* if TAB3 is set then setterm() wipes out tabs (ht) */
        new_modes = old_modes;
        }
        /* if TAB3 is set then setterm() wipes out tabs (ht) */
        new_modes = old_modes;
+#ifdef TERMIOS
 #ifdef TABDLY
        new_modes.c_oflag &= ~TABDLY;
 #endif /* TABDLY */
 #ifdef TABDLY
        new_modes.c_oflag &= ~TABDLY;
 #endif /* TABDLY */
-       if (tcsetattr(fileno(stdin), TCSAFLUSH, &new_modes) == -1) {
+#endif
+       if (PUT_TTY(fileno(stdin), &new_modes) == -1) {
                printf("tcsetattr error: %d\n", errno);
                exit(1);
        }
                printf("tcsetattr error: %d\n", errno);
                exit(1);
        }
@@ -211,6 +235,7 @@ tty_init(void)
        old_modes.c_cflag |= CS7 | PARENB;
 #endif
        catchsig();
        old_modes.c_cflag |= CS7 | PARENB;
 #endif
        catchsig();
+#ifdef TERMIOS
        switch (old_modes.c_cflag & CSIZE) {
 #if defined(CS5) && (CS5 != 0)
        case CS5:
        switch (old_modes.c_cflag & CSIZE) {
 #if defined(CS5) && (CS5 != 0)
        case CS5:
@@ -236,6 +261,10 @@ tty_init(void)
        tty_frame_size += 2 +
                ((old_modes.c_cflag & PARENB) ? 2 : 0) +
                ((old_modes.c_cflag & CSTOPB) ? 4 : 2);
        tty_frame_size += 2 +
                ((old_modes.c_cflag & PARENB) ? 2 : 0) +
                ((old_modes.c_cflag & CSTOPB) ? 4 : 2);
+#else
+       tty_frame_size = 6 +
+               (old_modes.sg_flags & PASS8) ? 16 : 14;
+#endif
 }
 
 /*
 }
 
 /*
index 9f573ba0d0b60fee8ed19fdedc88b81686732922..4cab57422b47c8e29132bd6b46d12f75de67e342 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.58 2000/05/28 01:28:39 tom Exp $
+# $Id: Makefile.in,v 1.60 2000/10/14 22:51:19 tom Exp $
 ##############################################################################
 # Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.                #
 #                                                                            #
 ##############################################################################
 # Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.                #
 #                                                                            #
@@ -45,6 +45,8 @@ exec_prefix   = @exec_prefix@
 libdir         = @libdir@
 includedir     = @includedir@
 
 libdir         = @libdir@
 includedir     = @includedir@
 
+LIBTOOL                = @LIBTOOL@
+
 CC             = @CC@
 CPP            = @CPP@
 
 CC             = @CC@
 CPP            = @CPP@
 
@@ -53,6 +55,7 @@ CPPFLAGS      =  -I../test -I$(srcdir) @CPPFLAGS@ -DHAVE_CONFIG_H
 
 CCFLAGS                = $(CPPFLAGS) $(CFLAGS)
 
 
 CCFLAGS                = $(CPPFLAGS) $(CFLAGS)
 
+CFLAGS_LIBTOOL = $(CCFLAGS)
 CFLAGS_NORMAL  = $(CCFLAGS)
 CFLAGS_DEBUG   = $(CCFLAGS) @CC_G_OPT@ -DTRACE
 CFLAGS_PROFILE = $(CCFLAGS) -pg
 CFLAGS_NORMAL  = $(CCFLAGS)
 CFLAGS_DEBUG   = $(CCFLAGS) @CC_G_OPT@ -DTRACE
 CFLAGS_PROFILE = $(CCFLAGS) -pg
@@ -66,10 +69,11 @@ LOCAL_LIBS  = @TEST_DEPS@
 MATH_LIB       = @MATH_LIB@
 
 LD             = @LD@
 MATH_LIB       = @MATH_LIB@
 
 LD             = @LD@
-LINK           = @LINK_TESTS@ $(CC)
+LINK           = @LINK_TESTS@ $(LIBTOOL) $(CC)
 
 LDFLAGS                = @LD_MODEL@ @TEST_ARGS@ @LIBS@ @EXTRA_LIBS@ @LOCAL_LDFLAGS@ @LDFLAGS@
 
 
 LDFLAGS                = @LD_MODEL@ @TEST_ARGS@ @LIBS@ @EXTRA_LIBS@ @LOCAL_LDFLAGS@ @LDFLAGS@
 
+LDFLAGS_LIBTOOL        = $(LDFLAGS)
 LDFLAGS_NORMAL = $(LDFLAGS)
 LDFLAGS_DEBUG  = $(LDFLAGS) @CC_G_OPT@
 LDFLAGS_PROFILE        = $(LDFLAGS) -pg
 LDFLAGS_NORMAL = $(LDFLAGS)
 LDFLAGS_DEBUG  = $(LDFLAGS) @CC_G_OPT@
 LDFLAGS_PROFILE        = $(LDFLAGS) -pg
@@ -200,7 +204,7 @@ mostlyclean ::
        -rm -f core tags TAGS *~ *.ln *.atac trace
 
 clean :: mostlyclean
        -rm -f core tags TAGS *~ *.ln *.atac trace
 
 clean :: mostlyclean
-       -rm -rf *.o screendump *.lis $(TESTS)
+       -rm -rf *.o screendump *.lis $(TESTS) .libs
 
 distclean :: clean
        -rm -f Makefile ncurses_cfg.h config.*
 
 distclean :: clean
        -rm -f Makefile ncurses_cfg.h config.*
index 980ffbeba94c243839f84119811bb9747fce57f3..75d207764a936285958922f77db07e8fc9faa6ae 100644 (file)
@@ -29,7 +29,7 @@
 /*
  * Author: Thomas E. Dickey <dickey@clark.net> 1999
  *
 /*
  * Author: Thomas E. Dickey <dickey@clark.net> 1999
  *
- * $Id: cardfile.c,v 1.4 2000/03/19 01:34:00 tom Exp $
+ * $Id: cardfile.c,v 1.5 2000/09/09 19:08:32 tom Exp $
  *
  * File format: text beginning in column 1 is a title; other text forms the content.
  */
  *
  * File format: text beginning in column 1 is a title; other text forms the content.
  */
@@ -72,8 +72,8 @@ strdup(char *s)
 }
 #endif /* not HAVE_STRDUP */
 
 }
 #endif /* not HAVE_STRDUP */
 
-static char *
-skip(char *buffer)
+static const char *
+skip(const char *buffer)
 {
     while (isspace(*buffer))
        buffer++;
 {
     while (isspace(*buffer))
        buffer++;
@@ -119,7 +119,7 @@ add_title(const char *title)
 }
 
 static void
 }
 
 static void
-add_content(CARD * card, char *content)
+add_content(CARD * card, const char *content)
 {
     unsigned total, offset;
 
 {
     unsigned total, offset;
 
@@ -359,7 +359,7 @@ cardfile(char *fname)
        doupdate();
 
        switch (form_driver(top_card->form, ch =
        doupdate();
 
        switch (form_driver(top_card->form, ch =
-               form_virtualize(panel_window(top_card->panel)))) {
+                           form_virtualize(panel_window(top_card->panel)))) {
        case E_OK:
            break;
        case E_UNKNOWN_COMMAND:
        case E_OK:
            break;
        case E_UNKNOWN_COMMAND:
index 2266114152d66617e4f3a602e840054b3382459b..de1cf77f931f96139b09886c585a337a5eadb054 100755 (executable)
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # Guess values for system-dependent variables and create Makefiles.
 #! /bin/sh
 
 # Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13.19990117 
+# Generated automatically using autoconf version 2.13.20000819 
 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
@@ -335,7 +335,7 @@ EOF
     verbose=yes ;;
 
   -version | --version | --versio | --versi | --vers)
     verbose=yes ;;
 
   -version | --version | --versio | --versi | --vers)
-    echo "configure generated by autoconf version 2.13.19990117"
+    echo "configure generated by autoconf version 2.13.20000819"
     exit 0 ;;
 
   -with-* | --with-*)
     exit 0 ;;
 
   -with-* | --with-*)
@@ -760,6 +760,7 @@ LD="ld"
 LDFLAGS_SHARED=""                      
 LD_MODEL=""                            
 LD_SHARED_OPTS=""                      
 LDFLAGS_SHARED=""                      
 LD_MODEL=""                            
 LD_SHARED_OPTS=""                      
+LIBTOOL=""                             
 LIB_NAME=curses                                
 LIB_PREFIX="-l"                                
 LINK_TESTS=""                          
 LIB_NAME=curses                                
 LIB_PREFIX="-l"                                
 LINK_TESTS=""                          
@@ -787,12 +788,12 @@ fi
 if test "${with_ncurses+set}" = set; then
   withval="$with_ncurses"
   echo $ac_n "checking for initscr""... $ac_c" 1>&6
 if test "${with_ncurses+set}" = set; then
   withval="$with_ncurses"
   echo $ac_n "checking for initscr""... $ac_c" 1>&6
-echo "configure:791: checking for initscr" >&5
+echo "configure:792: checking for initscr" >&5
 if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 796 "configure"
+#line 797 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char initscr(); below.  */
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char initscr(); below.  */
@@ -815,7 +816,7 @@ initscr();
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:819: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:820: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_initscr=yes"
 else
   rm -rf conftest*
   eval "ac_cv_func_initscr=yes"
 else
@@ -834,7 +835,7 @@ else
   echo "$ac_t""no" 1>&6
 
         echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
   echo "$ac_t""no" 1>&6
 
         echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
-echo "configure:838: checking for Gpm_Open in -lgpm" >&5
+echo "configure:839: checking for Gpm_Open in -lgpm" >&5
 ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -842,7 +843,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgpm  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lgpm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 846 "configure"
+#line 847 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -853,7 +854,7 @@ int main() {
 Gpm_Open()
 ; return 0; }
 EOF
 Gpm_Open()
 ; return 0; }
 EOF
-if { (eval echo configure:857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:858: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -886,6 +887,7 @@ fi
                if test -f $p/include/ncurses/curses.h
                then
                        CPPFLAGS="$CPPFLAGS -I$p/include/ncurses"
                if test -f $p/include/ncurses/curses.h
                then
                        CPPFLAGS="$CPPFLAGS -I$p/include/ncurses"
+                       test $p != /usr && CPPFLAGS="$CPPFLAGS -I$p/include"
                        test $p != /usr && LIBS="-L$p/lib $LIBS"
                        break
                elif test $p != /usr
                        test $p != /usr && LIBS="-L$p/lib $LIBS"
                        break
                elif test $p != /usr
@@ -907,12 +909,12 @@ fi
 
 
 echo $ac_n "checking for initscr""... $ac_c" 1>&6
 
 
 echo $ac_n "checking for initscr""... $ac_c" 1>&6
-echo "configure:911: checking for initscr" >&5
+echo "configure:913: checking for initscr" >&5
 if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 916 "configure"
+#line 918 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char initscr(); below.  */
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char initscr(); below.  */
@@ -935,7 +937,7 @@ initscr();
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:939: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:941: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_initscr=yes"
 else
   rm -rf conftest*
   eval "ac_cv_func_initscr=yes"
 else
@@ -954,7 +956,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for initscr in -l$LIB_NAME""... $ac_c" 1>&6
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for initscr in -l$LIB_NAME""... $ac_c" 1>&6
-echo "configure:958: checking for initscr in -l$LIB_NAME" >&5
+echo "configure:960: checking for initscr in -l$LIB_NAME" >&5
 ac_lib_var=`echo $LIB_NAME'_'initscr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo $LIB_NAME'_'initscr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -962,7 +964,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-l$LIB_NAME  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-l$LIB_NAME  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 966 "configure"
+#line 968 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -973,7 +975,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:977: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -1003,7 +1005,7 @@ fi
 fi
 
 echo $ac_n "checking for form_driver in -lform""... $ac_c" 1>&6
 fi
 
 echo $ac_n "checking for form_driver in -lform""... $ac_c" 1>&6
-echo "configure:1007: checking for form_driver in -lform" >&5
+echo "configure:1009: checking for form_driver in -lform" >&5
 ac_lib_var=`echo form'_'form_driver | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo form'_'form_driver | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1011,7 +1013,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lform  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lform  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1015 "configure"
+#line 1017 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -1022,7 +1024,7 @@ int main() {
 form_driver()
 ; return 0; }
 EOF
 form_driver()
 ; return 0; }
 EOF
-if { (eval echo configure:1026: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1028: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -1050,7 +1052,7 @@ else
 fi
 
 echo $ac_n "checking for menu_driver in -lmenu""... $ac_c" 1>&6
 fi
 
 echo $ac_n "checking for menu_driver in -lmenu""... $ac_c" 1>&6
-echo "configure:1054: checking for menu_driver in -lmenu" >&5
+echo "configure:1056: checking for menu_driver in -lmenu" >&5
 ac_lib_var=`echo menu'_'menu_driver | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo menu'_'menu_driver | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1058,7 +1060,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lmenu  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lmenu  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1062 "configure"
+#line 1064 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -1069,7 +1071,7 @@ int main() {
 menu_driver()
 ; return 0; }
 EOF
 menu_driver()
 ; return 0; }
 EOF
-if { (eval echo configure:1073: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1075: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -1097,7 +1099,7 @@ else
 fi
 
 echo $ac_n "checking for new_panel in -lpanel""... $ac_c" 1>&6
 fi
 
 echo $ac_n "checking for new_panel in -lpanel""... $ac_c" 1>&6
-echo "configure:1101: checking for new_panel in -lpanel" >&5
+echo "configure:1103: checking for new_panel in -lpanel" >&5
 ac_lib_var=`echo panel'_'new_panel | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 ac_lib_var=`echo panel'_'new_panel | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1105,7 +1107,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lpanel  $LIBS"
 cat > conftest.$ac_ext <<EOF
   ac_save_LIBS="$LIBS"
 LIBS="-lpanel  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1109 "configure"
+#line 1111 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -1116,7 +1118,7 @@ int main() {
 new_panel()
 ; return 0; }
 EOF
 new_panel()
 ; return 0; }
 EOF
-if { (eval echo configure:1120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1122: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -1145,12 +1147,12 @@ fi
 
 
 echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
 
 
 echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:1149: checking return type of signal handlers" >&5
+echo "configure:1151: checking return type of signal handlers" >&5
 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1154 "configure"
+#line 1156 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <signal.h>
 #include "confdefs.h"
 #include <sys/types.h>
 #include <signal.h>
@@ -1167,7 +1169,7 @@ int main() {
 int i;
 ; return 0; }
 EOF
 int i;
 ; return 0; }
 EOF
-if { (eval echo configure:1171: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1173: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_type_signal=void
 else
   rm -rf conftest*
   ac_cv_type_signal=void
 else
@@ -1187,7 +1189,7 @@ EOF
 
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
 
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1191: checking how to run the C preprocessor" >&5
+echo "configure:1193: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -1202,13 +1204,13 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 1206 "configure"
+#line 1208 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1212: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1214: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1219,13 +1221,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 1223 "configure"
+#line 1225 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1229: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1231: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1236,13 +1238,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 1240 "configure"
+#line 1242 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1246: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1248: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1267,12 +1269,12 @@ fi
 echo "$ac_t""$CPP" 1>&6
 
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
 echo "$ac_t""$CPP" 1>&6
 
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1271: checking for ANSI C header files" >&5
+echo "configure:1273: checking for ANSI C header files" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1276 "configure"
+#line 1278 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -1280,7 +1282,7 @@ else
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1284: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1286: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1297,7 +1299,7 @@ rm -f conftest*
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 1301 "configure"
+#line 1303 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -1315,7 +1317,7 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 1319 "configure"
+#line 1321 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -1336,7 +1338,7 @@ if test "$cross_compiling" = yes; then
   :
 else
   cat > conftest.$ac_ext <<EOF
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 1340 "configure"
+#line 1342 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1347,7 +1349,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
 exit (0); }
 
 EOF
 exit (0); }
 
 EOF
-if { (eval echo configure:1351: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1353: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   :
 else
 then
   :
 else
@@ -1371,12 +1373,12 @@ EOF
 fi
 
 echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
 fi
 
 echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:1375: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:1377: checking whether time.h and sys/time.h may both be included" >&5
 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1380 "configure"
+#line 1382 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/time.h>
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/time.h>
@@ -1385,7 +1387,7 @@ int main() {
 struct tm *tp;
 ; return 0; }
 EOF
 struct tm *tp;
 ; return 0; }
 EOF
-if { (eval echo configure:1389: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1391: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_time=yes
 else
   rm -rf conftest*
   ac_cv_header_time=yes
 else
@@ -1420,17 +1422,17 @@ unistd.h \
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1424: checking for $ac_hdr" >&5
+echo "configure:1426: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1429 "configure"
+#line 1431 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1434: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1436: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1468,12 +1470,12 @@ wresize \
 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1472: checking for $ac_func" >&5
+echo "configure:1474: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1477 "configure"
+#line 1479 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -1496,7 +1498,7 @@ $ac_func();
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:1500: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1502: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -1522,7 +1524,7 @@ done
 
 
 echo $ac_n "checking for function curses_version""... $ac_c" 1>&6
 
 
 echo $ac_n "checking for function curses_version""... $ac_c" 1>&6
-echo "configure:1526: checking for function curses_version" >&5
+echo "configure:1528: checking for function curses_version" >&5
 if eval "test \"`echo '$''{'cf_cv_func_curses_version'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'cf_cv_func_curses_version'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1531,7 +1533,7 @@ if test "$cross_compiling" = yes; then
   cf_cv_func_curses_version=unknown
 else
   cat > conftest.$ac_ext <<EOF
   cf_cv_func_curses_version=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 1535 "configure"
+#line 1537 "configure"
 #include "confdefs.h"
 
 #include <curses.h>
 #include "confdefs.h"
 
 #include <curses.h>
@@ -1543,7 +1545,7 @@ int main()
 }
 
 EOF
 }
 
 EOF
-if { (eval echo configure:1547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1549: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   cf_cv_func_curses_version=yes
 
 then
   cf_cv_func_curses_version=yes
 
@@ -1567,13 +1569,13 @@ EOF
 
 
 echo $ac_n "checking if sys/time.h conflicts with sys/select.h""... $ac_c" 1>&6
 
 
 echo $ac_n "checking if sys/time.h conflicts with sys/select.h""... $ac_c" 1>&6
-echo "configure:1571: checking if sys/time.h conflicts with sys/select.h" >&5
+echo "configure:1573: checking if sys/time.h conflicts with sys/select.h" >&5
 if eval "test \"`echo '$''{'cf_cv_sys_time_select'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
 if eval "test \"`echo '$''{'cf_cv_sys_time_select'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 1577 "configure"
+#line 1579 "configure"
 #include "confdefs.h"
 
 #if HAVE_SYS_TIME_H
 #include "confdefs.h"
 
 #if HAVE_SYS_TIME_H
@@ -1587,7 +1589,7 @@ int main() {
 
 ; return 0; }
 EOF
 
 ; return 0; }
 EOF
-if { (eval echo configure:1591: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1593: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_sys_time_select=yes
 else
   rm -rf conftest*
   cf_cv_sys_time_select=yes
 else
@@ -1696,7 +1698,7 @@ do
     echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
     exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
   -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
     echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
     exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
   -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
-    echo "$CONFIG_STATUS generated by autoconf version 2.13.19990117"
+    echo "$CONFIG_STATUS generated by autoconf version 2.13.20000819"
     exit 0 ;;
   -help | --help | --hel | --he | --h)
     echo "\$ac_cs_usage"; exit 0 ;;
     exit 0 ;;
   -help | --help | --hel | --he | --h)
     echo "\$ac_cs_usage"; exit 0 ;;
@@ -1750,6 +1752,7 @@ s%@LD@%$LD%g
 s%@LDFLAGS_SHARED@%$LDFLAGS_SHARED%g
 s%@LD_MODEL@%$LD_MODEL%g
 s%@LD_SHARED_OPTS@%$LD_SHARED_OPTS%g
 s%@LDFLAGS_SHARED@%$LDFLAGS_SHARED%g
 s%@LD_MODEL@%$LD_MODEL%g
 s%@LD_SHARED_OPTS@%$LD_SHARED_OPTS%g
+s%@LIBTOOL@%$LIBTOOL%g
 s%@LIB_NAME@%$LIB_NAME%g
 s%@LIB_PREFIX@%$LIB_PREFIX%g
 s%@LINK_TESTS@%$LINK_TESTS%g
 s%@LIB_NAME@%$LIB_NAME%g
 s%@LIB_PREFIX@%$LIB_PREFIX%g
 s%@LINK_TESTS@%$LINK_TESTS%g
index 35e2b47cb9aec6920f3cf8f0d803834e15514fb5..d61d477d691c71934f84b68e480dbd06fe074a69 100644 (file)
@@ -1,5 +1,5 @@
 dnl***************************************************************************
 dnl***************************************************************************
-dnl Copyright (c) 1998,1999 Free Software Foundation, Inc.                   *
+dnl Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.              *
 dnl                                                                          *
 dnl Permission is hereby granted, free of charge, to any person obtaining a  *
 dnl copy of this software and associated documentation files (the            *
 dnl                                                                          *
 dnl Permission is hereby granted, free of charge, to any person obtaining a  *
 dnl copy of this software and associated documentation files (the            *
@@ -26,9 +26,9 @@ dnl sale, use or other dealings in this Software without prior written       *
 dnl authorization.                                                           *
 dnl***************************************************************************
 dnl
 dnl authorization.                                                           *
 dnl***************************************************************************
 dnl
-dnl Author: Thomas E. Dickey <dickey@clark.net> 1996,1997,1998
+dnl Author: Thomas E. Dickey 1996,1997,1998,2000
 dnl
 dnl
-dnl $Id: configure.in,v 1.29 1999/12/19 03:12:13 tom Exp $
+dnl $Id: configure.in,v 1.31 2000/10/15 18:46:17 tom Exp $
 dnl This is a simple configuration-script for the ncurses test programs that
 dnl allows the test-directory to be separately configured against a reference
 dnl system (i.e., sysvr4 curses)
 dnl This is a simple configuration-script for the ncurses test programs that
 dnl allows the test-directory to be separately configured against a reference
 dnl system (i.e., sysvr4 curses)
@@ -36,8 +36,9 @@ dnl
 dnl If you're configuring ncurses, you shouldn't need to use this script.
 dnl It's only for testing purposes.
 dnl
 dnl If you're configuring ncurses, you shouldn't need to use this script.
 dnl It's only for testing purposes.
 dnl
-dnl dickey@clark.net (Thomas Dickey)
-AC_PREREQ(2.12)
+dnl See http://dickey.his.com/autoconf/ for additional information.
+dnl ---------------------------------------------------------------------------
+AC_PREREQ(2.13.20000819)
 AC_INIT(ncurses.c)
 AC_CONFIG_HEADER(ncurses_cfg.h:ncurses_tst.hin)
 
 AC_INIT(ncurses.c)
 AC_CONFIG_HEADER(ncurses_cfg.h:ncurses_tst.hin)
 
@@ -56,6 +57,7 @@ LD="ld"                                       AC_SUBST(LD)
 LDFLAGS_SHARED=""                      AC_SUBST(LDFLAGS_SHARED)
 LD_MODEL=""                            AC_SUBST(LD_MODEL)
 LD_SHARED_OPTS=""                      AC_SUBST(LD_SHARED_OPTS)
 LDFLAGS_SHARED=""                      AC_SUBST(LDFLAGS_SHARED)
 LD_MODEL=""                            AC_SUBST(LD_MODEL)
 LD_SHARED_OPTS=""                      AC_SUBST(LD_SHARED_OPTS)
+LIBTOOL=""                             AC_SUBST(LIBTOOL)
 LIB_NAME=curses                                AC_SUBST(LIB_NAME)
 LIB_PREFIX="-l"                                AC_SUBST(LIB_PREFIX)
 LINK_TESTS=""                          AC_SUBST(LINK_TESTS)
 LIB_NAME=curses                                AC_SUBST(LIB_NAME)
 LIB_PREFIX="-l"                                AC_SUBST(LIB_PREFIX)
 LINK_TESTS=""                          AC_SUBST(LINK_TESTS)
@@ -86,6 +88,7 @@ AC_ARG_WITH(ncurses,
                if test -f $p/include/ncurses/curses.h
                then
                        CPPFLAGS="$CPPFLAGS -I$p/include/ncurses"
                if test -f $p/include/ncurses/curses.h
                then
                        CPPFLAGS="$CPPFLAGS -I$p/include/ncurses"
+                       test $p != /usr && CPPFLAGS="$CPPFLAGS -I$p/include"
                        test $p != /usr && LIBS="-L$p/lib $LIBS"
                        break
                elif test $p != /usr
                        test $p != /usr && LIBS="-L$p/lib $LIBS"
                        break
                elif test $p != /usr
index 5d161cb64d6efca989a9e7e813cb2b23ccc04a4e..272f3722b7c7e090cdf815a331abd2c2a0a80359 100644 (file)
@@ -29,7 +29,7 @@
 /*
  * Author:  Thomas E. Dickey <dickey@clark.net> 1998
  *
 /*
  * Author:  Thomas E. Dickey <dickey@clark.net> 1998
  *
- * $Id: filter.c,v 1.3 1999/11/13 23:39:19 tom Exp $
+ * $Id: filter.c,v 1.4 2000/09/02 18:50:38 tom Exp $
  */
 #include <test.priv.h>
 
  */
 #include <test.priv.h>
 
 #define getnstr(s,n) getstr(s)
 #endif
 
 #define getnstr(s,n) getstr(s)
 #endif
 
-static int new_command(char *buffer, int length, attr_t underline)
+static int
+new_command(char *buffer, int length, attr_t underline)
 {
 {
-       int code;
+    int code;
 
 
-       attron(A_BOLD);
-       printw("Command: ");
-       attron(underline);
-       code = getnstr(buffer, length);
-       attroff(underline);
-       attroff(A_BOLD);
-       printw("\n");
+    attron(A_BOLD);
+    printw("Command: ");
+    attron(underline);
+    code = getnstr(buffer, length);
+    attroff(underline);
+    attroff(A_BOLD);
+    printw("\n");
 
 
-       return code;
+    return code;
 }
 
 }
 
-int main(
-       int argc GCC_UNUSED,
-       char *argv[] GCC_UNUSED)
+int
+main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
 {
 {
-       SCREEN *sp;
-       char buffer[80];
-       attr_t underline;
+    SCREEN *sp;
+    char buffer[80];
+    attr_t underline;
 
 
-       filter();
-       sp = newterm((char *)0, stdout, stdin);
-       cbreak();
-       keypad(stdscr, TRUE);
+    filter();
+    sp = newterm((char *) 0, stdout, stdin);
+    cbreak();
+    keypad(stdscr, TRUE);
 
 
-       if (has_colors()) {
-               int background = COLOR_BLACK;
-               start_color();
-#ifdef HAVE_USE_DEFAULT_COLORS
-               if (use_default_colors () != ERR)
-                       background = -1;
+    if (has_colors()) {
+       int background = COLOR_BLACK;
+       start_color();
+#if HAVE_USE_DEFAULT_COLORS
+       if (use_default_colors() != ERR)
+           background = -1;
 #endif
 #endif
-               init_pair(1, COLOR_CYAN, background);
-               underline = COLOR_PAIR(1);
-       } else {
-               underline = A_UNDERLINE;
-       }
+       init_pair(1, COLOR_CYAN, background);
+       underline = COLOR_PAIR(1);
+    } else {
+       underline = A_UNDERLINE;
+    }
 
 
-       while (new_command(buffer, sizeof(buffer)-1, underline) != ERR
-         && strlen(buffer) != 0) {
-                       reset_shell_mode();
-               printf("\n");
-               fflush(stdout);
-               system(buffer);
-               reset_prog_mode();
-               touchwin(stdscr);
-               erase();
-               refresh();
-       }
-       printw("done");
+    while (new_command(buffer, sizeof(buffer) - 1, underline) != ERR
+          && strlen(buffer) != 0) {
+       reset_shell_mode();
+       printf("\n");
+       fflush(stdout);
+       system(buffer);
+       reset_prog_mode();
+       touchwin(stdscr);
+       erase();
        refresh();
        refresh();
-       endwin();
-       return 0;
+    }
+    printw("done");
+    refresh();
+    endwin();
+    return 0;
 }
 }
index ba5cbda2f7d464e7b45001388dece277a012a558..66c1227cf0f082731ac0bc9b783242360beee4c5 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * $Id: firework.c,v 1.16 1999/11/13 23:39:16 tom Exp $
+ * $Id: firework.c,v 1.17 2000/09/02 18:41:12 tom Exp $
  */
 #include <test.priv.h>
 
  */
 #include <test.priv.h>
 
@@ -133,7 +133,7 @@ main(
 
     if (has_colors()) {
        start_color();
 
     if (has_colors()) {
        start_color();
-#ifdef HAVE_USE_DEFAULT_COLORS
+#if HAVE_USE_DEFAULT_COLORS
        if (use_default_colors() == OK)
            my_bg = -1;
 #endif
        if (use_default_colors() == OK)
            my_bg = -1;
 #endif
index ea88d6c54754e200ff92aaa8df12bcae025a3060..df9a0c3fdf5c23ad5abffb5db33bffd5142f7299 100644 (file)
@@ -6,7 +6,7 @@
  * modified 10-18-89 for curses (jrl)
  * 10-18-89 added signal handling
  *
  * modified 10-18-89 for curses (jrl)
  * 10-18-89 added signal handling
  *
- * $Id: gdc.c,v 1.14 2000/04/23 00:03:11 tom Exp $
+ * $Id: gdc.c,v 1.15 2000/09/02 18:40:39 tom Exp $
  */
 
 #include <test.priv.h>
  */
 
 #include <test.priv.h>
@@ -179,7 +179,7 @@ main(int argc, char *argv[])
     if (hascolor) {
        int bg = COLOR_BLACK;
        start_color();
     if (hascolor) {
        int bg = COLOR_BLACK;
        start_color();
-#ifdef HAVE_USE_DEFAULT_COLORS
+#if HAVE_USE_DEFAULT_COLORS
        if (use_default_colors() == OK)
            bg = -1;
 #endif
        if (use_default_colors() == OK)
            bg = -1;
 #endif
index 23a864624b012b62f2490c646008faaaa89bd50a..0b032f8318cae2d51c9c220f788bae278b122963 100644 (file)
@@ -14,7 +14,7 @@
  *
  *     Date: 05.Nov.90
  *
  *
  *     Date: 05.Nov.90
  *
- * $Id: hanoi.c,v 1.18 2000/04/01 20:01:08 tom Exp $
+ * $Id: hanoi.c,v 1.19 2000/09/02 18:51:16 tom Exp $
  */
 
 #include <test.priv.h>
  */
 
 #include <test.priv.h>
 #define OTHER(a,b)             (3-((a)+(b)))
 
 struct Peg {
 #define OTHER(a,b)             (3-((a)+(b)))
 
 struct Peg {
-       size_t Length[MAXTILES];
-       int Count;
+    size_t Length[MAXTILES];
+    int Count;
 };
 
 static struct Peg Pegs[NPEGS];
 };
 
 static struct Peg Pegs[NPEGS];
-static int PegPos[] = { LEFTPEG, MIDPEG, RIGHTPEG };
-static int TileColour[] = {
-       COLOR_GREEN,    /* Length 3 */
-       COLOR_MAGENTA,  /* Length 5 */
-       COLOR_RED,      /* Length 7 */
-       COLOR_BLUE,     /* Length 9 */
-       COLOR_CYAN,     /* Length 11 */
-       COLOR_YELLOW,   /* Length 13 */
-       COLOR_GREEN,    /* Length 15 */
-       COLOR_MAGENTA,  /* Length 17 */
-       COLOR_RED,      /* Length 19 */
+static int PegPos[] =
+{LEFTPEG, MIDPEG, RIGHTPEG};
+static int TileColour[] =
+{
+    COLOR_GREEN,               /* Length 3 */
+    COLOR_MAGENTA,             /* Length 5 */
+    COLOR_RED,                 /* Length 7 */
+    COLOR_BLUE,                        /* Length 9 */
+    COLOR_CYAN,                        /* Length 11 */
+    COLOR_YELLOW,              /* Length 13 */
+    COLOR_GREEN,               /* Length 15 */
+    COLOR_MAGENTA,             /* Length 17 */
+    COLOR_RED,                 /* Length 19 */
 };
 static int NMoves = 0;
 
 };
 static int NMoves = 0;
 
@@ -67,232 +69,235 @@ static int InvalidMove(int From, int To);
 int
 main(int argc, char **argv)
 {
 int
 main(int argc, char **argv)
 {
-int NTiles, FromCol, ToCol;
-unsigned char AutoFlag = 0;
+    int NTiles, FromCol, ToCol;
+    unsigned char AutoFlag = 0;
 
 
-       switch(argc) {
-       case 1:
-               NTiles = DEFAULTTILES;
-               break;
-       case 2:
-               NTiles = atoi(argv[1]);
-               if (NTiles > MAXTILES || NTiles < MINTILES) {
-                       fprintf(stderr, "Range %d to %d\n", MINTILES, MAXTILES);
-                       return EXIT_FAILURE;
-               }
-               break;
-       case 3:
-               if (strcmp(argv[2], "a")) {
-                       Usage();
-                       return EXIT_FAILURE;
-               }
-               NTiles = atoi(argv[1]);
-               if (NTiles > MAXTILES || NTiles < MINTILES) {
-                       fprintf(stderr, "Range %d to %d\n", MINTILES, MAXTILES);
-                       return EXIT_FAILURE;
-               }
-               AutoFlag = TRUE;
-               break;
-       default:
-               Usage();
-               return EXIT_FAILURE;
+    switch (argc) {
+    case 1:
+       NTiles = DEFAULTTILES;
+       break;
+    case 2:
+       NTiles = atoi(argv[1]);
+       if (NTiles > MAXTILES || NTiles < MINTILES) {
+           fprintf(stderr, "Range %d to %d\n", MINTILES, MAXTILES);
+           return EXIT_FAILURE;
+       }
+       break;
+    case 3:
+       if (strcmp(argv[2], "a")) {
+           Usage();
+           return EXIT_FAILURE;
        }
        }
+       NTiles = atoi(argv[1]);
+       if (NTiles > MAXTILES || NTiles < MINTILES) {
+           fprintf(stderr, "Range %d to %d\n", MINTILES, MAXTILES);
+           return EXIT_FAILURE;
+       }
+       AutoFlag = TRUE;
+       break;
+    default:
+       Usage();
+       return EXIT_FAILURE;
+    }
 #ifdef TRACE
 #ifdef TRACE
-       trace(TRACE_MAXIMUM);
+    trace(TRACE_MAXIMUM);
 #endif
 #endif
-       initscr();
-       if (has_colors()) {
-               int i;
-               int bg = COLOR_BLACK;
-               start_color();
-#ifdef HAVE_USE_DEFAULT_COLORS
-               if (use_default_colors() == OK)
-                       bg = -1;
+    initscr();
+    if (has_colors()) {
+       int i;
+       int bg = COLOR_BLACK;
+       start_color();
+#if HAVE_USE_DEFAULT_COLORS
+       if (use_default_colors() == OK)
+           bg = -1;
 #endif
 #endif
-               for (i = 0; i < 9; i++)
-                       init_pair(i+1, bg, TileColour[i]);
-       }
-       cbreak();
-       if (LINES < 24) {
-               endwin();
-               fprintf(stderr, "Min screen length 24 lines\n");
-               return EXIT_FAILURE;
-       }
-       if(AutoFlag) {
-               curs_set(0);
-               leaveok(stdscr, TRUE);  /* Attempt to remove cursor */
-       }
-       InitTiles(NTiles);
-       DisplayTiles();
-       if(AutoFlag) {
-               do {
-                       noecho();
-                       AutoMove(0, 2, NTiles);
-               } while(!Solved(NTiles));
-               sleep(2);
-       } else {
-               echo();
-               for(;;) {
-                       if(GetMove(&FromCol, &ToCol))
-                               break;
-                       if(InvalidMove(FromCol, ToCol)) {
-                               mvaddstr(STATUSLINE, 0, "Invalid Move !!");
-                               refresh();
-                               beep();
-                               continue;
-                       }
-                       MakeMove(FromCol, ToCol);
-                       if(Solved(NTiles)) {
-                               mvprintw(STATUSLINE, 0, "Well Done !! You did it in %d moves", NMoves);
-                               refresh();
-                               sleep(5);
-                               break;
-                       }
-               }
-       }
+       for (i = 0; i < 9; i++)
+           init_pair(i + 1, bg, TileColour[i]);
+    }
+    cbreak();
+    if (LINES < 24) {
        endwin();
        endwin();
-       return EXIT_SUCCESS;
+       fprintf(stderr, "Min screen length 24 lines\n");
+       return EXIT_FAILURE;
+    }
+    if (AutoFlag) {
+       curs_set(0);
+       leaveok(stdscr, TRUE);  /* Attempt to remove cursor */
+    }
+    InitTiles(NTiles);
+    DisplayTiles();
+    if (AutoFlag) {
+       do {
+           noecho();
+           AutoMove(0, 2, NTiles);
+       } while (!Solved(NTiles));
+       sleep(2);
+    } else {
+       echo();
+       for (;;) {
+           if (GetMove(&FromCol, &ToCol))
+               break;
+           if (InvalidMove(FromCol, ToCol)) {
+               mvaddstr(STATUSLINE, 0, "Invalid Move !!");
+               refresh();
+               beep();
+               continue;
+           }
+           MakeMove(FromCol, ToCol);
+           if (Solved(NTiles)) {
+               mvprintw(STATUSLINE, 0,
+                        "Well Done !! You did it in %d moves", NMoves);
+               refresh();
+               sleep(5);
+               break;
+           }
+       }
+    }
+    endwin();
+    return EXIT_SUCCESS;
 }
 
 static int
 InvalidMove(int From, int To)
 {
 }
 
 static int
 InvalidMove(int From, int To)
 {
-       if(From >= NPEGS)
-               return TRUE;
-       if(From < 0)
-               return TRUE;
-       if(To >= NPEGS)
-               return TRUE;
-       if(To < 0)
-               return TRUE;
-       if(From == To)
-               return TRUE;
-       if(!Pegs[From].Count)
-               return TRUE;
-       if(Pegs[To].Count &&
-                       Pegs[From].Length[Pegs[From].Count-1] >
-                       Pegs[To].Length[Pegs[To].Count-1])
-               return TRUE;
-       return FALSE;
+    if (From >= NPEGS)
+       return TRUE;
+    if (From < 0)
+       return TRUE;
+    if (To >= NPEGS)
+       return TRUE;
+    if (To < 0)
+       return TRUE;
+    if (From == To)
+       return TRUE;
+    if (!Pegs[From].Count)
+       return TRUE;
+    if (Pegs[To].Count &&
+       Pegs[From].Length[Pegs[From].Count - 1] >
+       Pegs[To].Length[Pegs[To].Count - 1])
+       return TRUE;
+    return FALSE;
 }
 
 static void
 InitTiles(int NTiles)
 {
 }
 
 static void
 InitTiles(int NTiles)
 {
-       int Size, SlotNo;
+    int Size, SlotNo;
 
 
-       for(Size=NTiles*2+1, SlotNo=0; Size>=3; Size-=2)
-               Pegs[0].Length[SlotNo++] = Size;
+    for (Size = NTiles * 2 + 1, SlotNo = 0; Size >= 3; Size -= 2)
+       Pegs[0].Length[SlotNo++] = Size;
 
 
-       Pegs[0].Count = NTiles;
-       Pegs[1].Count = 0;
-       Pegs[2].Count = 0;
+    Pegs[0].Count = NTiles;
+    Pegs[1].Count = 0;
+    Pegs[2].Count = 0;
 }
 
 static void
 DisplayTiles(void)
 {
 }
 
 static void
 DisplayTiles(void)
 {
-       int Line, peg, SlotNo;
-       char TileBuf[BUFSIZ];
+    int Line, peg, SlotNo;
+    char TileBuf[BUFSIZ];
 
 
-       erase();
-       mvaddstr(1, 24, "T O W E R S   O F   H A N O I");
-       mvaddstr(3, 34, "SJR 1990");
-       mvprintw(19, 5, "Moves : %d", NMoves);
-       attrset(A_REVERSE);
-       mvaddstr(BASELINE, 8, "                                                               ");
+    erase();
+    mvaddstr(1, 24, "T O W E R S   O F   H A N O I");
+    mvaddstr(3, 34, "SJR 1990");
+    mvprintw(19, 5, "Moves : %d", NMoves);
+    attrset(A_REVERSE);
+    mvaddstr(BASELINE, 8,
+            "                                                               ");
 
 
-       for(Line=TOPLINE; Line<BASELINE; Line++) {
-               mvaddch(Line, LEFTPEG, ' ');
-               mvaddch(Line, MIDPEG, ' ');
-               mvaddch(Line, RIGHTPEG, ' ');
-       }
-       mvaddch(BASELINE, LEFTPEG, '1');
-       mvaddch(BASELINE, MIDPEG, '2');
-       mvaddch(BASELINE, RIGHTPEG, '3');
-       attrset(A_NORMAL);
+    for (Line = TOPLINE; Line < BASELINE; Line++) {
+       mvaddch(Line, LEFTPEG, ' ');
+       mvaddch(Line, MIDPEG, ' ');
+       mvaddch(Line, RIGHTPEG, ' ');
+    }
+    mvaddch(BASELINE, LEFTPEG, '1');
+    mvaddch(BASELINE, MIDPEG, '2');
+    mvaddch(BASELINE, RIGHTPEG, '3');
+    attrset(A_NORMAL);
 
 
-       /* Draw tiles */
-       for(peg=0; peg<NPEGS; peg++) {
-               for(SlotNo=0; SlotNo<Pegs[peg].Count; SlotNo++) {
-                       memset(TileBuf, ' ', Pegs[peg].Length[SlotNo]);
-                       TileBuf[Pegs[peg].Length[SlotNo]] = '\0';
-                       if (has_colors())
-                               attrset(COLOR_PAIR(LENTOIND(Pegs[peg].Length[SlotNo])));
-                       else
-                               attrset(A_REVERSE);
-                       mvaddstr(BASELINE-(SlotNo+1),
-                               (int)(PegPos[peg] - Pegs[peg].Length[SlotNo]/2),
-                               TileBuf);
-               }
+    /* Draw tiles */
+    for (peg = 0; peg < NPEGS; peg++) {
+       for (SlotNo = 0; SlotNo < Pegs[peg].Count; SlotNo++) {
+           memset(TileBuf, ' ', Pegs[peg].Length[SlotNo]);
+           TileBuf[Pegs[peg].Length[SlotNo]] = '\0';
+           if (has_colors())
+               attrset(COLOR_PAIR(LENTOIND(Pegs[peg].Length[SlotNo])));
+           else
+               attrset(A_REVERSE);
+           mvaddstr(BASELINE - (SlotNo + 1),
+                    (int) (PegPos[peg] - Pegs[peg].Length[SlotNo] / 2),
+                    TileBuf);
        }
        }
-       attrset(A_NORMAL);
-       refresh();
+    }
+    attrset(A_NORMAL);
+    refresh();
 }
 
 static int
 GetMove(int *From, int *To)
 {
 }
 
 static int
 GetMove(int *From, int *To)
 {
-       mvaddstr(STATUSLINE, 0, "Next move ('q' to quit) from ");
-       clrtoeol();
-       refresh();
-       if((*From = getch()) == 'q')
-               return TRUE;
-       *From -= ('0'+1);
-       addstr(" to ");
-       clrtoeol();
-       refresh();
+    mvaddstr(STATUSLINE, 0, "Next move ('q' to quit) from ");
+    clrtoeol();
+    refresh();
+    if ((*From = getch()) == 'q')
+       return TRUE;
+    *From -= ('0' + 1);
+    addstr(" to ");
+    clrtoeol();
+    refresh();
 
 
-       if((*To = getch()) == 'q')
-               return TRUE;
-       *To -= ('0'+1);
-       refresh();
-       napms(500);
+    if ((*To = getch()) == 'q')
+       return TRUE;
+    *To -= ('0' + 1);
+    refresh();
+    napms(500);
 
 
-       move(STATUSLINE, 0);
-       clrtoeol();
-       refresh();
-       return FALSE;
+    move(STATUSLINE, 0);
+    clrtoeol();
+    refresh();
+    return FALSE;
 }
 
 static void
 MakeMove(int From, int To)
 {
 }
 
 static void
 MakeMove(int From, int To)
 {
-       Pegs[From].Count--;
-       Pegs[To].Length[Pegs[To].Count] = Pegs[From].Length[Pegs[From].Count];
-       Pegs[To].Count++;
-       NMoves++;
-       DisplayTiles();
+    Pegs[From].Count--;
+    Pegs[To].Length[Pegs[To].Count] = Pegs[From].Length[Pegs[From].Count];
+    Pegs[To].Count++;
+    NMoves++;
+    DisplayTiles();
 }
 
 static void
 AutoMove(int From, int To, int Num)
 {
 }
 
 static void
 AutoMove(int From, int To, int Num)
 {
-       if(Num == 1) {
-               MakeMove(From, To);
-               napms(500);
-               return;
-       }
-       AutoMove(From, OTHER(From, To), Num-1);
+    if (Num == 1) {
        MakeMove(From, To);
        napms(500);
        MakeMove(From, To);
        napms(500);
-       AutoMove(OTHER(From, To), To, Num-1);
+       return;
+    }
+    AutoMove(From, OTHER(From, To), Num - 1);
+    MakeMove(From, To);
+    napms(500);
+    AutoMove(OTHER(From, To), To, Num - 1);
 }
 
 static int
 Solved(int NumTiles)
 {
 }
 
 static int
 Solved(int NumTiles)
 {
-       int i;
+    int i;
 
 
-       for(i = 1; i < NPEGS; i++)
-               if (Pegs[i].Count == NumTiles)
-                       return TRUE;
-       return FALSE;
+    for (i = 1; i < NPEGS; i++)
+       if (Pegs[i].Count == NumTiles)
+           return TRUE;
+    return FALSE;
 }
 
 static void
 Usage()
 {
 }
 
 static void
 Usage()
 {
-       fprintf(stderr, "Usage: hanoi [<No Of Tiles>] [a]\n");
-       fprintf(stderr, "The 'a' option causes the tower to be solved automatically\n");
+    fprintf(stderr, "Usage: hanoi [<No Of Tiles>] [a]\n");
+    fprintf(stderr,
+           "The 'a' option causes the tower to be solved automatically\n");
 }
 }
index 514ac89656abb5fc9e3c3d36cd2e03eb11a9402b..52e5c2166224928afd01b659dc5cf2d1e5f6aadb 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Generate timing statistics for vertical-motion optimization.
  *
  *
  * Generate timing statistics for vertical-motion optimization.
  *
- * $Id: hashtest.c,v 1.14 1998/06/13 22:45:39 tom Exp $
+ * $Id: hashtest.c,v 1.15 2000/09/02 19:23:33 tom Exp $
  */
 
 #ifdef TRACE
  */
 
 #ifdef TRACE
@@ -11,6 +11,7 @@
 #define USE_TRACE 1
 #else
 #define Trace(p) /* nothing */
 #define USE_TRACE 1
 #else
 #define Trace(p) /* nothing */
+#define USE_TRACE 0
 #endif
 
 #include <test.priv.h>
 #endif
 
 #include <test.priv.h>
index ad923b42b1de37a08ac68ee026f4afef8d442519..e759d42689af65104062458c34ac17efe762e3dd 100644 (file)
@@ -6,7 +6,7 @@
  * Eric S. Raymond <esr@snark.thyrsus.com> July 22 1995.  Mouse support
  * added September 20th 1995.
  *
  * Eric S. Raymond <esr@snark.thyrsus.com> July 22 1995.  Mouse support
  * added September 20th 1995.
  *
- * $Id: knight.c,v 1.15 1999/11/13 23:39:10 tom Exp $
+ * $Id: knight.c,v 1.18 2000/10/15 18:36:34 Brian.Raiter Exp $
  */
 
 #include <test.priv.h>
  */
 
 #include <test.priv.h>
 #define CXINV(x)       (((x) - 1) / 4)
 #define CYINV(y)       (((y) - 2) / 2)
 
 #define CXINV(x)       (((x) - 1) / 4)
 #define CYINV(y)       (((y) - 2) / 2)
 
-typedef struct
-{
-    short      x, y;
-}
-cell;
-
-static short   board[BDEPTH][BWIDTH];  /* the squares */
-static int     rw,col;                 /* current row and column */
-static int     lastrow,lastcol;        /* last location visited */
-static cell    history[BDEPTH*BWIDTH]; /* choice history */
-static int     movecount;              /* count of moves so far */
-static WINDOW  *boardwin;              /* the board window */
-static WINDOW  *helpwin;               /* the help window */
-static WINDOW  *msgwin;                /* the message window */
-static chtype  trail = '#';            /* trail character */
-static chtype  plus = '+';             /* cursor hot-spot character */
-static chtype  minus = '-';            /* possible-move character */
-static chtype  oldch;
+typedef struct {
+    short x, y;
+} cell;
+
+static short board[BDEPTH][BWIDTH];    /* the squares */
+static int rw, col;            /* current row and column */
+static int lastrow, lastcol;   /* last location visited */
+static cell history[BDEPTH * BWIDTH + 1];      /* choice history */
+static int movecount;          /* count of moves so far */
+static WINDOW *boardwin;       /* the board window */
+static WINDOW *helpwin;                /* the help window */
+static WINDOW *msgwin;         /* the message window */
+static chtype trail = '#';     /* trail character */
+static chtype plus = '+';      /* cursor hot-spot character */
+static chtype minus = '-';     /* possible-move character */
+static chtype oldch;
 
 static void init(void);
 static void play(void);
 
 static void init(void);
 static void play(void);
@@ -67,11 +65,10 @@ static void drawmove(char, int, int, int, int);
 static bool evalmove(int, int);
 static bool chkmoves(void);
 static bool chksqr(int, int);
 static bool evalmove(int, int);
 static bool chkmoves(void);
 static bool chksqr(int, int);
-static int  iabs(int);
+static int iabs(int);
 
 
-int main(
-       int argc GCC_UNUSED,
-       char *argv[] GCC_UNUSED)
+int
+main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
 {
     init();
 
 {
     init();
 
@@ -81,321 +78,324 @@ int main(
     return EXIT_SUCCESS;
 }
 
     return EXIT_SUCCESS;
 }
 
-static void init (void)
+static void
+init(void)
 {
 {
-    srand ((unsigned)getpid());
-    initscr ();
-    cbreak ();                 /* immediate char return */
-    noecho ();                 /* no immediate echo */
+    srand((unsigned) getpid());
+    initscr();
+    cbreak();                  /* immediate char return */
+    noecho();                  /* no immediate echo */
     boardwin = newwin(BDEPTH * 2 + 1, BWIDTH * 4 + 1, BOARDY, BOARDX);
     helpwin = newwin(0, 0, INSTRY, INSTRX);
     boardwin = newwin(BDEPTH * 2 + 1, BWIDTH * 4 + 1, BOARDY, BOARDX);
     helpwin = newwin(0, 0, INSTRY, INSTRX);
-    msgwin = newwin(1, INSTRX-1, NOTIFYY, 0);
+    msgwin = newwin(1, INSTRX - 1, NOTIFYY, 0);
     scrollok(msgwin, TRUE);
     keypad(boardwin, TRUE);
 
     scrollok(msgwin, TRUE);
     keypad(boardwin, TRUE);
 
-    if (has_colors())
-    {
+    if (has_colors()) {
        int bg = COLOR_BLACK;
 
        start_color();
        int bg = COLOR_BLACK;
 
        start_color();
-#ifdef HAVE_USE_DEFAULT_COLORS
+#if HAVE_USE_DEFAULT_COLORS
        if (use_default_colors() == OK)
            bg = -1;
 #endif
 
        if (use_default_colors() == OK)
            bg = -1;
 #endif
 
-       (void) init_pair(TRAIL_COLOR, COLOR_CYAN,  bg);
-       (void) init_pair(PLUS_COLOR,  COLOR_RED,   bg);
+       (void) init_pair(TRAIL_COLOR, COLOR_CYAN, bg);
+       (void) init_pair(PLUS_COLOR, COLOR_RED, bg);
        (void) init_pair(MINUS_COLOR, COLOR_GREEN, bg);
 
        trail |= COLOR_PAIR(TRAIL_COLOR);
        (void) init_pair(MINUS_COLOR, COLOR_GREEN, bg);
 
        trail |= COLOR_PAIR(TRAIL_COLOR);
-       plus  |= COLOR_PAIR(PLUS_COLOR);
+       plus |= COLOR_PAIR(PLUS_COLOR);
        minus |= COLOR_PAIR(MINUS_COLOR);
     }
        minus |= COLOR_PAIR(MINUS_COLOR);
     }
-
 #ifdef NCURSES_MOUSE_VERSION
 #ifdef NCURSES_MOUSE_VERSION
-    (void) mousemask(BUTTON1_CLICKED, (mmask_t *)NULL);
-#endif /* NCURSES_MOUSE_VERSION*/
+    (void) mousemask(BUTTON1_CLICKED, (mmask_t *) NULL);
+#endif /* NCURSES_MOUSE_VERSION */
 
     oldch = minus;
 }
 
 
     oldch = minus;
 }
 
-static void help1(void)
+static void
+help1(void)
 /* game explanation -- initial help screen */
 {
 /* game explanation -- initial help screen */
 {
-    (void)waddstr(helpwin, "Knight's move is a solitaire puzzle.  Your\n");
-    (void)waddstr(helpwin, "objective is to visit each square of the  \n");
-    (void)waddstr(helpwin, "chessboard exactly once by making knight's\n");
-    (void)waddstr(helpwin, "moves (one square right or left followed  \n");
-    (void)waddstr(helpwin, "by two squares up or down, or two squares \n");
-    (void)waddstr(helpwin, "right or left followed by one square up or\n");
-    (void)waddstr(helpwin, "down).  You may start anywhere.\n\n");
-
-    (void)waddstr(helpwin, "Use arrow keys to move the cursor around.\n");
-    (void)waddstr(helpwin, "When you want to move your knight to the \n");
-    (void)waddstr(helpwin, "cursor location, press <space> or Enter.\n");
-    (void)waddstr(helpwin, "Illegal moves will be rejected with an  \n");
-    (void)waddstr(helpwin, "audible beep.\n\n");
-    (void)waddstr(helpwin, "The program will detect if you solve the\n");
-    (void)waddstr(helpwin, "puzzle; also inform you when you run out\n");
-    (void)waddstr(helpwin, "of legal moves.\n\n");
-
-    (void)mvwaddstr(helpwin, NOTIFYY-INSTRY, 0,
-                   "Press `?' to go to keystroke help."); 
+    (void) waddstr(helpwin, "Knight's move is a solitaire puzzle.  Your\n");
+    (void) waddstr(helpwin, "objective is to visit each square of the  \n");
+    (void) waddstr(helpwin, "chessboard exactly once by making knight's\n");
+    (void) waddstr(helpwin, "moves (one square right or left followed  \n");
+    (void) waddstr(helpwin, "by two squares up or down, or two squares \n");
+    (void) waddstr(helpwin, "right or left followed by one square up or\n");
+    (void) waddstr(helpwin, "down).  You may start anywhere.\n\n");
+
+    (void) waddstr(helpwin, "Use arrow keys to move the cursor around.\n");
+    (void) waddstr(helpwin, "When you want to move your knight to the \n");
+    (void) waddstr(helpwin, "cursor location, press <space> or Enter.\n");
+    (void) waddstr(helpwin, "Illegal moves will be rejected with an  \n");
+    (void) waddstr(helpwin, "audible beep.\n\n");
+    (void) waddstr(helpwin, "The program will detect if you solve the\n");
+    (void) waddstr(helpwin, "puzzle; also inform you when you run out\n");
+    (void) waddstr(helpwin, "of legal moves.\n\n");
+
+    (void) mvwaddstr(helpwin, NOTIFYY - INSTRY, 0,
+                    "Press `?' to go to keystroke help.");
 }
 
 }
 
-static void help2(void)
+static void
+help2(void)
 /* keystroke help screen */
 {
 /* keystroke help screen */
 {
-    (void)waddstr(helpwin, "Possible moves are shown with `-'.\n\n");
-
-    (void)waddstr(helpwin, "You can move around with the arrow keys or\n");
-    (void)waddstr(helpwin, "with the rogue/hack movement keys.  Other\n");
-    (void)waddstr(helpwin, "commands allow you to undo moves or redraw.\n");
-    (void)waddstr(helpwin, "Your mouse may work; try left-button to\n");
-    (void)waddstr(helpwin, "move to the square under the pointer.\n\n");
-
-    (void)waddstr(helpwin, "x,q -- exit             y k u    7 8 9\n");
-    (void)waddstr(helpwin, "r -- redraw screen       \\|/      \\|/ \n");
-    (void)waddstr(helpwin, "u -- undo move          h-+-l    4-+-6\n");
-    (void)waddstr(helpwin, "                         /|\\      /|\\ \n");
-    (void)waddstr(helpwin, "                        b j n    1 2 3\n");
-
-    (void)waddstr(helpwin,"\nYou can place your knight on the selected\n");
-    (void)waddstr(helpwin, "square with spacebar, Enter, or the keypad\n");
-    (void)waddstr(helpwin, "center key.  You can quit with `x' or `q'.\n");
-
-    (void)mvwaddstr(helpwin, NOTIFYY-INSTRY, 0,
-                   "Press `?' to go to game explanation"); 
+    (void) waddstr(helpwin, "Possible moves are shown with `-'.\n\n");
+
+    (void) waddstr(helpwin, "You can move around with the arrow keys or\n");
+    (void) waddstr(helpwin, "with the rogue/hack movement keys.  Other\n");
+    (void) waddstr(helpwin, "commands allow you to undo moves or redraw.\n");
+    (void) waddstr(helpwin, "Your mouse may work; try left-button to\n");
+    (void) waddstr(helpwin, "move to the square under the pointer.\n\n");
+
+    (void) waddstr(helpwin, "x,q -- exit             y k u    7 8 9\n");
+    (void) waddstr(helpwin, "r -- redraw screen       \\|/      \\|/ \n");
+    (void) waddstr(helpwin, "bksp -- undo move       h-+-l    4-+-6\n");
+    (void) waddstr(helpwin, "                         /|\\      /|\\ \n");
+    (void) waddstr(helpwin, "                        b j n    1 2 3\n");
+
+    (void) waddstr(helpwin, "\nYou can place your knight on the selected\n");
+    (void) waddstr(helpwin, "square with spacebar, Enter, or the keypad\n");
+    (void) waddstr(helpwin, "center key.  You can quit with `x' or `q'.\n");
+
+    (void) mvwaddstr(helpwin, NOTIFYY - INSTRY, 0,
+                    "Press `?' to go to game explanation");
 }
 
 }
 
-static void play (void)
+static void
+play(void)
 /* play the game */
 {
 /* play the game */
 {
-    bool               keyhelp; /* TRUE if keystroke help is up */
-    int        c, ny = 0, nx = 0;
+    bool keyhelp;              /* TRUE if keystroke help is up */
+    int c, ny = 0, nx = 0;
     int i, j, count;
 
     do {
     int i, j, count;
 
     do {
-          /* clear screen and draw board */
-          werase(boardwin);
-          werase(helpwin);
-          werase(msgwin);
-          dosquares();
-          help1();
-          wnoutrefresh(stdscr);
-          wnoutrefresh(helpwin);
-          wnoutrefresh(msgwin);
-          wnoutrefresh(boardwin);
-          doupdate();
-
-          for (i = 0; i < BDEPTH; i++)
-              for (j = 0; j < BWIDTH; j++)
-              {
-                  board[i][j] = FALSE;
-                  cellmove(i, j);
-                  waddch(boardwin, minus);
-              }
-          memset(history, '\0', sizeof(history));
-          history[0].y = history[0].x = -1;
-          lastrow = lastcol = -2;
-          movecount = 1;
-          keyhelp = FALSE;
-
-          for (;;)
-          {
-              if (rw != lastrow || col != lastcol)
-              {
-                  if (lastrow >= 0 && lastcol >= 0)
-                  {
-                      cellmove(lastrow, lastcol);
-                      if (board[lastrow][lastcol])
-                          waddch(boardwin, trail);
-                      else
-                          waddch(boardwin, oldch);
-                  }
-
-                  cellmove(rw, col);
-                  oldch = winch(boardwin);
-
-                  lastrow = rw;
-                  lastcol= col;
-              }
-              cellmove(rw, col);
-              waddch(boardwin, plus);
-              cellmove(rw, col);
-
-              wrefresh(msgwin);
-
-              c = wgetch(boardwin);
-
-              werase(msgwin);
-
-              switch (c)
-              {
-              case 'k': case '8':
-              case KEY_UP:
-                  ny = rw+BDEPTH-1; nx = col;
-                  break;
-              case 'j': case '2':
-              case KEY_DOWN:
-                  ny = rw+1;        nx = col;
-                  break;
-              case 'h': case '4':
-              case KEY_LEFT:
-                  ny = rw;          nx = col+BWIDTH-1;
-                  break;
-              case 'l': case '6':
-              case KEY_RIGHT:
-                  ny = rw;          nx = col+1;
-                  break;
-              case 'y': case '7':
-              case KEY_A1:
-                  ny = rw+BDEPTH-1; nx = col+BWIDTH-1;
-                  break;
-              case 'b': case '1':
-              case KEY_C1:
-                  ny = rw+1;        nx = col+BWIDTH-1;
-                  break;
-              case 'u': case '9':
-              case KEY_A3:
-                  ny = rw+BDEPTH-1; nx = col+1;
-                  break;
-              case 'n': case '3':
-              case KEY_C3:
-                  ny = rw+1;        nx = col+1;
-                  break;
+       /* clear screen and draw board */
+       werase(boardwin);
+       werase(helpwin);
+       werase(msgwin);
+       dosquares();
+       help1();
+       wnoutrefresh(stdscr);
+       wnoutrefresh(helpwin);
+       wnoutrefresh(msgwin);
+       wnoutrefresh(boardwin);
+       doupdate();
+
+       for (i = 0; i < BDEPTH; i++)
+           for (j = 0; j < BWIDTH; j++) {
+               board[i][j] = FALSE;
+               cellmove(i, j);
+               waddch(boardwin, minus);
+           }
+       memset(history, '\0', sizeof(history));
+       history[0].y = history[0].x = -1;
+       lastrow = lastcol = -2;
+       movecount = 1;
+       keyhelp = FALSE;
+
+       for (;;) {
+           if (rw != lastrow || col != lastcol) {
+               if (lastrow >= 0 && lastcol >= 0) {
+                   cellmove(lastrow, lastcol);
+                   if (board[lastrow][lastcol])
+                       waddch(boardwin, trail);
+                   else
+                       waddch(boardwin, oldch);
+               }
+
+               cellmove(rw, col);
+               oldch = winch(boardwin);
+
+               lastrow = rw;
+               lastcol = col;
+           }
+           cellmove(rw, col);
+           waddch(boardwin, plus);
+           cellmove(rw, col);
+
+           wrefresh(msgwin);
+
+           c = wgetch(boardwin);
+
+           werase(msgwin);
+
+           switch (c) {
+           case 'k':
+           case '8':
+           case KEY_UP:
+               ny = rw + BDEPTH - 1;
+               nx = col;
+               break;
+           case 'j':
+           case '2':
+           case KEY_DOWN:
+               ny = rw + 1;
+               nx = col;
+               break;
+           case 'h':
+           case '4':
+           case KEY_LEFT:
+               ny = rw;
+               nx = col + BWIDTH - 1;
+               break;
+           case 'l':
+           case '6':
+           case KEY_RIGHT:
+               ny = rw;
+               nx = col + 1;
+               break;
+           case 'y':
+           case '7':
+           case KEY_A1:
+               ny = rw + BDEPTH - 1;
+               nx = col + BWIDTH - 1;
+               break;
+           case 'b':
+           case '1':
+           case KEY_C1:
+               ny = rw + 1;
+               nx = col + BWIDTH - 1;
+               break;
+           case 'u':
+           case '9':
+           case KEY_A3:
+               ny = rw + BDEPTH - 1;
+               nx = col + 1;
+               break;
+           case 'n':
+           case '3':
+           case KEY_C3:
+               ny = rw + 1;
+               nx = col + 1;
+               break;
 
 #ifdef NCURSES_MOUSE_VERSION
 
 #ifdef NCURSES_MOUSE_VERSION
-              case KEY_MOUSE:
-                  {
-                      MEVENT   myevent;
-
-                      getmouse(&myevent);
-                      if (myevent.y >= CY(0) && myevent.y <= CY(BDEPTH)
-                          && myevent.x >= CX(0) && myevent.x <= CX(BWIDTH))
-                      {
-                          nx = CXINV(myevent.x);
-                          ny = CYINV(myevent.y);
-                          ungetch('\n');
-                          break;
-                      }
-                      else
-                      {
-                          beep();
-                          continue;
-                      }
-                  }
+           case KEY_MOUSE:
+               {
+                   MEVENT myevent;
+
+                   getmouse(&myevent);
+                   if (myevent.y >= CY(0) && myevent.y <= CY(BDEPTH)
+                       && myevent.x >= CX(0) && myevent.x <= CX(BWIDTH)) {
+                       nx = CXINV(myevent.x);
+                       ny = CYINV(myevent.y);
+                       ungetch('\n');
+                       break;
+                   } else {
+                       beep();
+                       continue;
+                   }
+               }
 #endif /* NCURSES_MOUSE_VERSION */
 
 #endif /* NCURSES_MOUSE_VERSION */
 
-              case KEY_B2:
-              case '\n':
-              case ' ':
-                  if (evalmove(rw, col))
-                  {
-                      drawmove(trail,
-                               history[movecount-1].y, history[movecount-1].x,
-                               rw, col);
-                      history[movecount].y = rw; 
-                      history[movecount].x = col; 
-                      movecount++;
-
-                      if (!chkmoves()) 
-                          goto dropout;
-                  }
-                  else
-                      beep();
-                  break;
-
-              case KEY_REDO:
-              case '\f':
-              case 'r':
-                  clearok(curscr, TRUE);
-                  wnoutrefresh(stdscr);
-                  wnoutrefresh(boardwin);
-                  wnoutrefresh(msgwin);
-                  wnoutrefresh(helpwin);
-                  doupdate();
-                  break;
-
-              case KEY_UNDO:
-              case KEY_BACKSPACE:
-              case '\b':
-                  if (movecount == 1)
-                  {
-                      ny = lastrow;
-                      nx = lastcol;
-                      waddstr(msgwin, "\nNo previous move.");
-                      beep();
-                  }
-                  else
-                  {
-                      int oldy = history[movecount-1].y;
-                      int oldx = history[movecount-1].x;
-
-                      board[oldy][oldx] = FALSE;
-                      --movecount;
-                      ny = history[movecount-1].y;
-                      nx = history[movecount-1].x;
-                      drawmove(' ', oldy, oldx, ny, nx);
-
-                      /* avoid problems if we just changed the current cell */
-                      cellmove(lastrow, lastcol);
-                      oldch = winch(boardwin);
-                  }
-                  break;
-
-              case 'q':
-              case 'x':
-                  goto dropout;
-
-              case '?':
-                  werase(helpwin);
-                  if (keyhelp)
-                  {
-                      help1();
-                      keyhelp = FALSE;
-                  }
-                  else
-                  {
-                      help2();
-                      keyhelp = TRUE;
-                  }
-                  wrefresh(helpwin);
-                  break;
-
-              default:
-                  beep();
-                  break;
-              }
-
-              col = nx % BWIDTH;
-              rw = ny % BDEPTH;
-          }
-
-       dropout:
-          count = 0;
-          for (i = 0; i < BDEPTH; i++)
-              for (j = 0; j < BWIDTH; j++)
-                  if (board[i][j] != 0)
-                      count += 1;
-          if (count == (BWIDTH * BDEPTH))
-              wprintw(msgwin, "\nYou won.  Care to try again? ");
-          else
-              wprintw(msgwin, "\n%d squares filled.  Try again? ", count);
-       } while
-          (tolower(wgetch(msgwin)) == 'y');
+           case KEY_B2:
+           case '\n':
+           case ' ':
+               if (evalmove(rw, col)) {
+                   drawmove(trail,
+                            history[movecount - 1].y,
+                            history[movecount - 1].x,
+                            rw, col);
+                   history[movecount].y = rw;
+                   history[movecount].x = col;
+                   movecount++;
+
+                   if (!chkmoves())
+                       goto dropout;
+               } else
+                   beep();
+               break;
+
+           case KEY_REDO:
+           case '\f':
+           case 'r':
+               clearok(curscr, TRUE);
+               wnoutrefresh(stdscr);
+               wnoutrefresh(boardwin);
+               wnoutrefresh(msgwin);
+               wnoutrefresh(helpwin);
+               doupdate();
+               break;
+
+           case KEY_UNDO:
+           case KEY_BACKSPACE:
+           case '\b':
+               if (movecount == 1) {
+                   ny = lastrow;
+                   nx = lastcol;
+                   waddstr(msgwin, "\nNo previous move.");
+                   beep();
+               } else {
+                   int oldy = history[movecount - 1].y;
+                   int oldx = history[movecount - 1].x;
+
+                   board[oldy][oldx] = FALSE;
+                   --movecount;
+                   ny = history[movecount - 1].y;
+                   nx = history[movecount - 1].x;
+                   drawmove(' ', oldy, oldx, ny, nx);
+
+                   /* avoid problems if we just changed the current cell */
+                   cellmove(lastrow, lastcol);
+                   oldch = winch(boardwin);
+               }
+               break;
+
+           case 'q':
+           case 'x':
+               goto dropout;
+
+           case '?':
+               werase(helpwin);
+               if (keyhelp) {
+                   help1();
+                   keyhelp = FALSE;
+               } else {
+                   help2();
+                   keyhelp = TRUE;
+               }
+               wrefresh(helpwin);
+               break;
+
+           default:
+               beep();
+               break;
+           }
+
+           col = nx % BWIDTH;
+           rw = ny % BDEPTH;
+       }
+
+      dropout:
+       count = 0;
+       for (i = 0; i < BDEPTH; i++)
+           for (j = 0; j < BWIDTH; j++)
+               if (board[i][j] != 0)
+                   count += 1;
+       if (count == (BWIDTH * BDEPTH))
+           wprintw(msgwin, "\nYou won.  Care to try again? ");
+       else
+           wprintw(msgwin, "\n%d squares filled.  Try again? ", count);
+    } while
+       (tolower(wgetch(msgwin)) == 'y');
 }
 
 }
 
-static void dosquares (void)
+static void
+dosquares(void)
 {
     int i, j;
 
     mvaddstr(0, 20, "KNIGHT'S MOVE -- a logical solitaire");
 
 {
     int i, j;
 
     mvaddstr(0, 20, "KNIGHT'S MOVE -- a logical solitaire");
 
-    move(BOARDY,BOARDX);
+    move(BOARDY, BOARDX);
     waddch(boardwin, ACS_ULCORNER);
     waddch(boardwin, ACS_ULCORNER);
-    for (j = 0; j < 7; j++)
-    {
+    for (j = 0; j < 7; j++) {
        waddch(boardwin, ACS_HLINE);
        waddch(boardwin, ACS_HLINE);
        waddch(boardwin, ACS_HLINE);
        waddch(boardwin, ACS_HLINE);
        waddch(boardwin, ACS_HLINE);
        waddch(boardwin, ACS_HLINE);
@@ -406,21 +406,18 @@ static void dosquares (void)
     waddch(boardwin, ACS_HLINE);
     waddch(boardwin, ACS_URCORNER);
 
     waddch(boardwin, ACS_HLINE);
     waddch(boardwin, ACS_URCORNER);
 
-    for (i = 1; i < BDEPTH; i++)
-    {
+    for (i = 1; i < BDEPTH; i++) {
        move(BOARDY + i * 2 - 1, BOARDX);
        move(BOARDY + i * 2 - 1, BOARDX);
-       waddch(boardwin, ACS_VLINE); 
-       for (j = 0; j < BWIDTH; j++)
-       {
+       waddch(boardwin, ACS_VLINE);
+       for (j = 0; j < BWIDTH; j++) {
            waddch(boardwin, ' ');
            waddch(boardwin, ' ');
            waddch(boardwin, ' ');
            waddch(boardwin, ACS_VLINE);
        }
        move(BOARDY + i * 2, BOARDX);
            waddch(boardwin, ' ');
            waddch(boardwin, ' ');
            waddch(boardwin, ' ');
            waddch(boardwin, ACS_VLINE);
        }
        move(BOARDY + i * 2, BOARDX);
-       waddch(boardwin, ACS_LTEE); 
-       for (j = 0; j < BWIDTH - 1; j++)
-       {
+       waddch(boardwin, ACS_LTEE);
+       for (j = 0; j < BWIDTH - 1; j++) {
            waddch(boardwin, ACS_HLINE);
            waddch(boardwin, ACS_HLINE);
            waddch(boardwin, ACS_HLINE);
            waddch(boardwin, ACS_HLINE);
            waddch(boardwin, ACS_HLINE);
            waddch(boardwin, ACS_HLINE);
@@ -434,8 +431,7 @@ static void dosquares (void)
 
     move(BOARDY + i * 2 - 1, BOARDX);
     waddch(boardwin, ACS_VLINE);
 
     move(BOARDY + i * 2 - 1, BOARDX);
     waddch(boardwin, ACS_VLINE);
-    for (j = 0; j < BWIDTH; j++)
-    {
+    for (j = 0; j < BWIDTH; j++) {
        waddch(boardwin, ' ');
        waddch(boardwin, ' ');
        waddch(boardwin, ' ');
        waddch(boardwin, ' ');
        waddch(boardwin, ' ');
        waddch(boardwin, ' ');
@@ -444,8 +440,7 @@ static void dosquares (void)
 
     move(BOARDY + i * 2, BOARDX);
     waddch(boardwin, ACS_LLCORNER);
 
     move(BOARDY + i * 2, BOARDX);
     waddch(boardwin, ACS_LLCORNER);
-    for (j = 0; j < BWIDTH - 1; j++)
-    {
+    for (j = 0; j < BWIDTH - 1; j++) {
        waddch(boardwin, ACS_HLINE);
        waddch(boardwin, ACS_HLINE);
        waddch(boardwin, ACS_HLINE);
        waddch(boardwin, ACS_HLINE);
        waddch(boardwin, ACS_HLINE);
        waddch(boardwin, ACS_HLINE);
@@ -457,35 +452,57 @@ static void dosquares (void)
     waddch(boardwin, ACS_LRCORNER);
 }
 
     waddch(boardwin, ACS_LRCORNER);
 }
 
-static void mark_possibles(int prow, int pcol, chtype mark)
+static void
+mark_possibles(int prow, int pcol, chtype mark)
 {
 {
-    if (chksqr(prow+2,pcol+1)){cellmove(prow+2,pcol+1);waddch(boardwin,mark);};
-    if (chksqr(prow+2,pcol-1)){cellmove(prow+2,pcol-1);waddch(boardwin,mark);};
-    if (chksqr(prow-2,pcol+1)){cellmove(prow-2,pcol+1);waddch(boardwin,mark);};
-    if (chksqr(prow-2,pcol-1)){cellmove(prow-2,pcol-1);waddch(boardwin,mark);};
-    if (chksqr(prow+1,pcol+2)){cellmove(prow+1,pcol+2);waddch(boardwin,mark);};
-    if (chksqr(prow+1,pcol-2)){cellmove(prow+1,pcol-2);waddch(boardwin,mark);};
-    if (chksqr(prow-1,pcol+2)){cellmove(prow-1,pcol+2);waddch(boardwin,mark);};
-    if (chksqr(prow-1,pcol-2)){cellmove(prow-1,pcol-2);waddch(boardwin,mark);};
+    if (chksqr(prow + 2, pcol + 1)) {
+       cellmove(prow + 2, pcol + 1);
+       waddch(boardwin, mark);
+    };
+    if (chksqr(prow + 2, pcol - 1)) {
+       cellmove(prow + 2, pcol - 1);
+       waddch(boardwin, mark);
+    };
+    if (chksqr(prow - 2, pcol + 1)) {
+       cellmove(prow - 2, pcol + 1);
+       waddch(boardwin, mark);
+    };
+    if (chksqr(prow - 2, pcol - 1)) {
+       cellmove(prow - 2, pcol - 1);
+       waddch(boardwin, mark);
+    };
+    if (chksqr(prow + 1, pcol + 2)) {
+       cellmove(prow + 1, pcol + 2);
+       waddch(boardwin, mark);
+    };
+    if (chksqr(prow + 1, pcol - 2)) {
+       cellmove(prow + 1, pcol - 2);
+       waddch(boardwin, mark);
+    };
+    if (chksqr(prow - 1, pcol + 2)) {
+       cellmove(prow - 1, pcol + 2);
+       waddch(boardwin, mark);
+    };
+    if (chksqr(prow - 1, pcol - 2)) {
+       cellmove(prow - 1, pcol - 2);
+       waddch(boardwin, mark);
+    };
 }
 
 }
 
-static void drawmove(char tchar, int oldy, int oldx, int row, int column)
+static void
+drawmove(char tchar, int oldy, int oldx, int row, int column)
 /* place the stars, update board & currents */
 {
 /* place the stars, update board & currents */
 {
-    if (movecount <= 1)
-    {
+    if (movecount <= 1) {
        int i, j;
 
        for (i = 0; i < BDEPTH; i++)
        int i, j;
 
        for (i = 0; i < BDEPTH; i++)
-           for (j = 0; j < BWIDTH; j++)
-           {
+           for (j = 0; j < BWIDTH; j++) {
                cellmove(i, j);
                if (winch(boardwin) == minus)
                    waddch(boardwin, movecount ? ' ' : minus);
            }
                cellmove(i, j);
                if (winch(boardwin) == minus)
                    waddch(boardwin, movecount ? ' ' : minus);
            }
-    }
-    else
-    {
+    } else {
        cellmove(oldy, oldx);
        waddch(boardwin, '\b');
        waddch(boardwin, tchar);
        cellmove(oldy, oldx);
        waddch(boardwin, '\b');
        waddch(boardwin, tchar);
@@ -494,8 +511,7 @@ static void drawmove(char tchar, int oldy, int oldx, int row, int column)
        mark_possibles(oldy, oldx, ' ');
     }
 
        mark_possibles(oldy, oldx, ' ');
     }
 
-    if (row != -1 && column != -1)
-    {
+    if (row != -1 && column != -1) {
        cellmove(row, column);
        waddch(boardwin, '\b');
        waddch(boardwin, trail);
        cellmove(row, column);
        waddch(boardwin, '\b');
        waddch(boardwin, trail);
@@ -508,57 +524,67 @@ static void drawmove(char tchar, int oldy, int oldx, int row, int column)
     wprintw(msgwin, "\nMove %d", movecount);
 }
 
     wprintw(msgwin, "\nMove %d", movecount);
 }
 
-static bool evalmove(int row, int column)
+static bool
+evalmove(int row, int column)
 /* evaluate move */
 {
     if (movecount == 1)
 /* evaluate move */
 {
     if (movecount == 1)
-       return(TRUE);
-    else if (board[row][column] == TRUE)
-    {
+       return (TRUE);
+    else if (board[row][column] == TRUE) {
        waddstr(msgwin, "\nYou've already been there.");
        waddstr(msgwin, "\nYou've already been there.");
-       return(FALSE);
-    }
-    else
-    {
-       int     rdif = iabs(row  - history[movecount-1].y);
-       int     cdif = iabs(column - history[movecount-1].x);
+       return (FALSE);
+    } else {
+       int rdif = iabs(row - history[movecount - 1].y);
+       int cdif = iabs(column - history[movecount - 1].x);
 
 
-       if (!((rdif == 1) && (cdif == 2)) && !((rdif == 2) && (cdif == 1)))
-       {
+       if (!((rdif == 1) && (cdif == 2)) && !((rdif == 2) && (cdif == 1))) {
            waddstr(msgwin, "\nThat's not a legal knight's move.");
            waddstr(msgwin, "\nThat's not a legal knight's move.");
-           return(FALSE);
+           return (FALSE);
        }
     }
 
        }
     }
 
-    return(TRUE);
+    return (TRUE);
 }
 
 }
 
-static bool chkmoves (void)
+static bool
+chkmoves(void)
 /* check to see if valid moves are available */
 {
 /* check to see if valid moves are available */
 {
-    if (chksqr(rw+2,col+1)) return(TRUE);
-    if (chksqr(rw+2,col-1)) return(TRUE);
-    if (chksqr(rw-2,col+1)) return(TRUE);
-    if (chksqr(rw-2,col-1)) return(TRUE);
-    if (chksqr(rw+1,col+2)) return(TRUE);
-    if (chksqr(rw+1,col-2)) return(TRUE);
-    if (chksqr(rw-1,col+2)) return(TRUE);
-    if (chksqr(rw-1,col-2)) return(TRUE);
+    if (chksqr(rw + 2, col + 1))
+       return (TRUE);
+    if (chksqr(rw + 2, col - 1))
+       return (TRUE);
+    if (chksqr(rw - 2, col + 1))
+       return (TRUE);
+    if (chksqr(rw - 2, col - 1))
+       return (TRUE);
+    if (chksqr(rw + 1, col + 2))
+       return (TRUE);
+    if (chksqr(rw + 1, col - 2))
+       return (TRUE);
+    if (chksqr(rw - 1, col + 2))
+       return (TRUE);
+    if (chksqr(rw - 1, col - 2))
+       return (TRUE);
     return (FALSE);
 }
 
     return (FALSE);
 }
 
-static int iabs(int num)
+static int
+iabs(int num)
 {
 {
-       if (num < 0) return (-num);
-               else return (num);
+    if (num < 0)
+       return (-num);
+    else
+       return (num);
 }
 
 }
 
-static bool chksqr (int r1, int c1)
+static bool
+chksqr(int r1, int c1)
 {
     if ((r1 < 0) || (r1 > BDEPTH - 1))
 {
     if ((r1 < 0) || (r1 > BDEPTH - 1))
-       return(FALSE);
+       return (FALSE);
     if ((c1 < 0) || (c1 > BWIDTH - 1))
     if ((c1 < 0) || (c1 > BWIDTH - 1))
-       return(FALSE);
+       return (FALSE);
     return ((!board[r1][c1]) ? TRUE : FALSE);
 }
 
     return ((!board[r1][c1]) ? TRUE : FALSE);
 }
 
index 4bd8552e9c24de8606f19095a5d8066ca8da7ff9..ad1aa01c5cef55c289bf697f2952c350af59c636 100644 (file)
@@ -39,7 +39,7 @@ DESCRIPTION
 AUTHOR
    Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
 
 AUTHOR
    Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
 
-$Id: ncurses.c,v 1.130 2000/07/07 11:05:16 tom Exp $
+$Id: ncurses.c,v 1.138 2000/09/17 01:24:00 tom Exp $
 
 ***************************************************************************/
 
 
 ***************************************************************************/
 
@@ -92,7 +92,7 @@ static int save_trace = TRACE_ORDINARY | TRACE_CALLS;
 extern int _nc_tracing;
 #endif
 
 extern int _nc_tracing;
 #endif
 
-#if !HAVE_NAPMS
+#if !defined(HAVE_NAPMS)
 #define HAVE_NAPMS 1
 #endif
 
 #define HAVE_NAPMS 1
 #endif
 
@@ -198,7 +198,7 @@ mouse_decode(MEVENT const *ep)
     static char buf[80];
 
     (void) sprintf(buf, "id %2d  at (%2d, %2d, %2d) state %4lx = {",
     static char buf[80];
 
     (void) sprintf(buf, "id %2d  at (%2d, %2d, %2d) state %4lx = {",
-       ep->id, ep->x, ep->y, ep->z, ep->bstate);
+                  ep->id, ep->x, ep->y, ep->z, ep->bstate);
 
 #define SHOW(m, s) if ((ep->bstate & m)==m) {strcat(buf,s); strcat(buf, ", ");}
     SHOW(BUTTON1_RELEASED, "release-1");
 
 #define SHOW(m, s) if ((ep->bstate & m)==m) {strcat(buf,s); strcat(buf, ", ");}
     SHOW(BUTTON1_RELEASED, "release-1");
@@ -347,21 +347,43 @@ getch_test(void)
 }
 
 static int
 }
 
 static int
-show_attr(int row, int skip, chtype attr, const char *name, bool once)
+show_attr(int row, int skip, chtype attr, const char *name)
 {
 {
+    static const char *string = "abcde fghij klmno pqrst uvwxy z";
     int ncv = tigetnum("ncv");
 
     mvprintw(row, 8, "%s mode:", name);
     mvprintw(row, 24, "|");
     if (skip)
        printw("%*s", skip, " ");
     int ncv = tigetnum("ncv");
 
     mvprintw(row, 8, "%s mode:", name);
     mvprintw(row, 24, "|");
     if (skip)
        printw("%*s", skip, " ");
-    if (once)
-       attron(attr);
-    else
-       attrset(attr);
-    addstr("abcde fghij klmno pqrst uvwxy z");
-    if (once)
-       attroff(attr);
+    attrset(attr);
+    /*
+     * If we're to write a string in the alternate character set, it is not
+     * sufficient to just set A_ALTCHARSET.  We have to perform the mapping
+     * that corresponds.  This is not needed for vt100-compatible devices
+     * because the acs_map[] is 1:1, but for PC-style devices such as Linux
+     * console, the acs_map[] is scattered about the range.
+     *
+     * The addch/addstr functions do not themselves do this mapping, since it
+     * is possible to turn off the A_ALTCHARSET flag for the characters which
+     * are added, and it would be an unexpected result to have the mapped
+     * characters visible on the screen.
+     *
+     * This example works because the indices into acs_map[] are mostly from
+     * the lowercase characters.
+     */
+    if (attr & A_ALTCHARSET) {
+       const char *s = string;
+       while (*s) {
+           int ch = *s++;
+           if ((ch = acs_map[ch]) == 0)
+               ch = ' ';
+           addch(ch);
+       }
+    } else {
+       addstr(string);
+    }
+    attroff(attr);
     if (skip)
        printw("%*s", skip, " ");
     printw("|");
     if (skip)
        printw("%*s", skip, " ");
     printw("|");
@@ -398,7 +420,7 @@ show_attr(int row, int skip, chtype attr, const char *name, bool once)
 }
 
 static bool
 }
 
 static bool
-attr_getc(int *skip, int *fg, int *bg)
+attr_getc(int *skip, int *fg, int *bg, int *ac)
 {
     int ch = Getchar();
 
 {
     int ch = Getchar();
 
@@ -411,6 +433,12 @@ attr_getc(int *skip, int *fg, int *bg)
        return TRUE;
     } else if (has_colors()) {
        switch (ch) {
        return TRUE;
     } else if (has_colors()) {
        switch (ch) {
+       case 'a':
+           *ac = 0;
+           break;
+       case 'A':
+           *ac = A_ALTCHARSET;
+           break;
        case 'f':
            *fg = (*fg + 1);
            break;
        case 'f':
            *fg = (*fg + 1);
            break;
@@ -435,6 +463,18 @@ attr_getc(int *skip, int *fg, int *bg)
        if (*bg < 0)
            *bg = COLORS - 1;
        return TRUE;
        if (*bg < 0)
            *bg = COLORS - 1;
        return TRUE;
+    } else {
+       switch (ch) {
+       case 'a':
+           *ac = 0;
+           break;
+       case 'A':
+           *ac = A_ALTCHARSET;
+           break;
+       default:
+           return FALSE;
+       }
+       return TRUE;
     }
     return FALSE;
 }
     }
     return FALSE;
 }
@@ -447,6 +487,7 @@ attr_test(void)
     int skip = tigetnum("xmc");
     int fg = COLOR_BLACK;      /* color pair 0 is special */
     int bg = COLOR_BLACK;
     int skip = tigetnum("xmc");
     int fg = COLOR_BLACK;      /* color pair 0 is special */
     int bg = COLOR_BLACK;
+    int ac = 0;
     bool *pairs = (bool *) calloc(COLOR_PAIRS, sizeof(bool));
     pairs[0] = TRUE;
 
     bool *pairs = (bool *) calloc(COLOR_PAIRS, sizeof(bool));
     pairs[0] = TRUE;
 
@@ -472,28 +513,31 @@ attr_test(void)
 
        mvaddstr(0, 20, "Character attribute test display");
 
 
        mvaddstr(0, 20, "Character attribute test display");
 
-       row = show_attr(row, n, A_STANDOUT, "STANDOUT", TRUE);
-       row = show_attr(row, n, A_REVERSE, "REVERSE", TRUE);
-       row = show_attr(row, n, A_BOLD, "BOLD", TRUE);
-       row = show_attr(row, n, A_UNDERLINE, "UNDERLINE", TRUE);
-       row = show_attr(row, n, A_DIM, "DIM", TRUE);
-       row = show_attr(row, n, A_BLINK, "BLINK", TRUE);
-       row = show_attr(row, n, A_PROTECT, "PROTECT", TRUE);
-       row = show_attr(row, n, A_INVIS, "INVISIBLE", TRUE);
-       row = show_attr(row, n, A_NORMAL, "NORMAL", FALSE);
+       row = show_attr(row, n, ac | A_STANDOUT, "STANDOUT");
+       row = show_attr(row, n, ac | A_REVERSE, "REVERSE");
+       row = show_attr(row, n, ac | A_BOLD, "BOLD");
+       row = show_attr(row, n, ac | A_UNDERLINE, "UNDERLINE");
+       row = show_attr(row, n, ac | A_DIM, "DIM");
+       row = show_attr(row, n, ac | A_BLINK, "BLINK");
+       row = show_attr(row, n, ac | A_PROTECT, "PROTECT");
+       row = show_attr(row, n, ac | A_INVIS, "INVISIBLE");
+       row = show_attr(row, n, ac | A_NORMAL, "NORMAL");
 
        mvprintw(row, 8,
 
        mvprintw(row, 8,
-           "This terminal does %shave the magic-cookie glitch",
-           tigetnum("xmc") > -1 ? "" : "not ");
+                "This terminal does %shave the magic-cookie glitch",
+                tigetnum("xmc") > -1 ? "" : "not ");
        mvprintw(row + 1, 8,
        mvprintw(row + 1, 8,
-           "Enter a digit to set gaps on each side of displayed attributes");
+                "Enter a digit to set gaps on each side of displayed attributes");
        mvprintw(row + 2, 8,
        mvprintw(row + 2, 8,
-           "^L = repaint");
+                "^L = repaint");
        if (has_colors())
        if (has_colors())
-           printw(".  f/F/b/F toggle colors (now %d/%d)", fg, bg);
+           printw(".  f/F/b/F toggle colors (now %d/%d), a/A altcharset (%d)",
+                  fg, bg, ac != 0);
+       else
+           printw(".  a/A altcharset (%d)", ac != 0);
 
        refresh();
 
        refresh();
-    } while (attr_getc(&n, &fg, &bg));
+    } while (attr_getc(&n, &fg, &bg, &ac));
 
     free((char *) pairs);
     bkgdset(A_NORMAL | BLANK);
 
     free((char *) pairs);
     bkgdset(A_NORMAL | BLANK);
@@ -554,9 +598,9 @@ color_test(void)
        top = (COLORS > 8) ? 0 : base * (COLORS + 3);
        clrtobot();
        (void) mvprintw(top + 1, 0,
        top = (COLORS > 8) ? 0 : base * (COLORS + 3);
        clrtobot();
        (void) mvprintw(top + 1, 0,
-           "%dx%d matrix of foreground/background colors, bright *%s*\n",
-           COLORS, COLORS,
-           base ? "on" : "off");
+                       "%dx%d matrix of foreground/background colors, bright *%s*\n",
+                       COLORS, COLORS,
+                       base ? "on" : "off");
        for (i = 0; i < COLORS; i++)
            show_color_name(top + 2, (i + 1) * width, i);
        for (i = 0; i < COLORS; i++)
        for (i = 0; i < COLORS; i++)
            show_color_name(top + 2, (i + 1) * width, i);
        for (i = 0; i < COLORS; i++)
@@ -627,9 +671,9 @@ color_edit(void)
 
        for (i = 0; i < max_colors; i++) {
            mvprintw(2 + i, 0, "%c %-8s:",
 
        for (i = 0; i < max_colors; i++) {
            mvprintw(2 + i, 0, "%c %-8s:",
-               (i == current ? '>' : ' '),
-               (i < (int) SIZEOF(color_names)
-                   ? color_names[i] : ""));
+                    (i == current ? '>' : ' '),
+                    (i < (int) SIZEOF(color_names)
+                     ? color_names[i] : ""));
            attrset(COLOR_PAIR(i));
            addstr("        ");
            attrset(A_NORMAL);
            attrset(COLOR_PAIR(i));
            addstr("        ");
            attrset(A_NORMAL);
@@ -666,9 +710,9 @@ color_edit(void)
        }
 
        mvaddstr(max_colors + 3, 0,
        }
 
        mvaddstr(max_colors + 3, 0,
-           "Use up/down to select a color, left/right to change fields.");
+                "Use up/down to select a color, left/right to change fields.");
        mvaddstr(max_colors + 4, 0,
        mvaddstr(max_colors + 4, 0,
-           "Modify field by typing nnn=, nnn-, or nnn+.  ? for help.");
+                "Modify field by typing nnn=, nnn-, or nnn+.  ? for help.");
 
        move(2 + current, 0);
 
 
        move(2 + current, 0);
 
@@ -882,7 +926,7 @@ show_upper_chars(int first)
     erase();
     attron(A_BOLD);
     mvprintw(0, 20, "Display of %s Character Codes %d to %d",
     erase();
     attron(A_BOLD);
     mvprintw(0, 20, "Display of %s Character Codes %d to %d",
-       C1 ? "C1" : "GR", first, last);
+            C1 ? "C1" : "GR", first, last);
     attroff(A_BOLD);
     refresh();
 
     attroff(A_BOLD);
     refresh();
 
@@ -983,9 +1027,9 @@ acs_display(void)
            break;
        }
        mvprintw(LINES - 3, 0,
            break;
        }
        mvprintw(LINES - 3, 0,
-           "Note: ANSI terminals may not display C1 characters.");
+                "Note: ANSI terminals may not display C1 characters.");
        mvprintw(LINES - 2, 0,
        mvprintw(LINES - 2, 0,
-           "Select: a=ACS, 0=C1, 1,2,3=GR characters, q=quit");
+                "Select: a=ACS, 0=C1, 1,2,3=GR characters, q=quit");
        refresh();
     } while ((c = Getchar()) != 'x' && c != 'q');
 
        refresh();
     } while ((c = Getchar()) != 'x' && c != 'q');
 
@@ -1064,7 +1108,7 @@ test_sgr_attributes(void)
 
        bkgdset(normal);
        mvprintw(LINES - 2, 1, "%s background. ", pass == 0 ? "Dark" :
 
        bkgdset(normal);
        mvprintw(LINES - 2, 1, "%s background. ", pass == 0 ? "Dark" :
-           "Light");
+                "Light");
        clrtoeol();
        Pause();
     }
        clrtoeol();
        Pause();
     }
@@ -1146,7 +1190,7 @@ newwin_legend(FRAME * curp)
        {
            "^R = restore window", 0
        },
        {
            "^R = restore window", 0
        },
-#ifdef HAVE_WRESIZE
+#if HAVE_WRESIZE
        {
            "^X = resize", 0
        },
        {
            "^X = resize", 0
        },
@@ -1196,8 +1240,8 @@ transient(FRAME * curp, NCURSES_CONST char *msg)
 
     move(LINES - 1, 0);
     printw("%s characters are echoed, window should %sscroll.",
 
     move(LINES - 1, 0);
     printw("%s characters are echoed, window should %sscroll.",
-       HaveKeypad(curp) ? "Non-arrow" : "All other",
-       HaveScroll(curp) ? "" : "not ");
+          HaveKeypad(curp) ? "Non-arrow" : "All other",
+          HaveScroll(curp) ? "" : "not ");
     clrtoeol();
 }
 
     clrtoeol();
 }
 
@@ -1477,7 +1521,7 @@ acs_and_scroll(void)
            }
            break;
 
            }
            break;
 
-#ifdef HAVE_WRESIZE
+#if HAVE_WRESIZE
        case CTRL('X'): /* resize window */
            if (current) {
                pair *tmp, ul, lr;
        case CTRL('X'): /* resize window */
            if (current) {
                pair *tmp, ul, lr;
@@ -1585,8 +1629,8 @@ acs_and_scroll(void)
        wrefresh(usescr);
     } while
        ((c = wGetchar(usescr)) != QUIT
        wrefresh(usescr);
     } while
        ((c = wGetchar(usescr)) != QUIT
-       && !((c == ESCAPE) && (usescr->_use_keypad))
-       && (c != ERR));
+        && !((c == ESCAPE) && (usescr->_use_keypad))
+        && (c != ERR));
 
   breakout:
     while (current != 0)
 
   breakout:
     while (current != 0)
@@ -1739,38 +1783,38 @@ demo_panels(void)
        PANEL *p5;
 
        p1 = mkpanel(COLOR_RED,
        PANEL *p5;
 
        p1 = mkpanel(COLOR_RED,
-           LINES / 2 - 2,
-           COLS / 8 + 1,
-           0,
-           0);
+                    LINES / 2 - 2,
+                    COLS / 8 + 1,
+                    0,
+                    0);
        set_panel_userptr(p1, "p1");
 
        p2 = mkpanel(COLOR_GREEN,
        set_panel_userptr(p1, "p1");
 
        p2 = mkpanel(COLOR_GREEN,
-           LINES / 2 + 1,
-           COLS / 7,
-           LINES / 4,
-           COLS / 10);
+                    LINES / 2 + 1,
+                    COLS / 7,
+                    LINES / 4,
+                    COLS / 10);
        set_panel_userptr(p2, "p2");
 
        p3 = mkpanel(COLOR_YELLOW,
        set_panel_userptr(p2, "p2");
 
        p3 = mkpanel(COLOR_YELLOW,
-           LINES / 4,
-           COLS / 10,
-           LINES / 2,
-           COLS / 9);
+                    LINES / 4,
+                    COLS / 10,
+                    LINES / 2,
+                    COLS / 9);
        set_panel_userptr(p3, "p3");
 
        p4 = mkpanel(COLOR_BLUE,
        set_panel_userptr(p3, "p3");
 
        p4 = mkpanel(COLOR_BLUE,
-           LINES / 2 - 2,
-           COLS / 8,
-           LINES / 2 - 2,
-           COLS / 3);
+                    LINES / 2 - 2,
+                    COLS / 8,
+                    LINES / 2 - 2,
+                    COLS / 3);
        set_panel_userptr(p4, "p4");
 
        p5 = mkpanel(COLOR_MAGENTA,
        set_panel_userptr(p4, "p4");
 
        p5 = mkpanel(COLOR_MAGENTA,
-           LINES / 2 - 2,
-           COLS / 8,
-           LINES / 2,
-           COLS / 2 - 2);
+                    LINES / 2 - 2,
+                    COLS / 8,
+                    LINES / 2,
+                    COLS / 2 - 2);
        set_panel_userptr(p5, "p5");
 
        fill_panel(p1);
        set_panel_userptr(p5, "p5");
 
        fill_panel(p1);
@@ -1943,6 +1987,7 @@ demo_panels(void)
 
 #define GRIDSIZE       3
 
 
 #define GRIDSIZE       3
 
+static bool pending_pan = FALSE;
 static bool show_panner_legend = TRUE;
 
 static int
 static bool show_panner_legend = TRUE;
 
 static int
@@ -1950,10 +1995,10 @@ panner_legend(int line)
 {
     static const char *const legend[] =
     {
 {
     static const char *const legend[] =
     {
-       "Use arrow keys (or U,D,L,R) to pan, q to quit (?,t,s flags)",
-       "Use ! to shell-out.  Toggle legend:?, timer:t, scroll mark:s.",
+       "Use arrow keys (or U,D,L,R) to pan, q to quit, ! to shell-out.",
        "Use +,- (or j,k) to grow/shrink the panner vertically.",
        "Use +,- (or j,k) to grow/shrink the panner vertically.",
-       "Use <,> (or h,l) to grow/shrink the panner horizontally."
+       "Use <,> (or h,l) to grow/shrink the panner horizontally.",
+       "Number repeats.  Toggle legend:?, timer:t, scroll mark:s."
     };
     int n = (SIZEOF(legend) - (LINES - line));
     if (line < LINES && (n >= 0)) {
     };
     int n = (SIZEOF(legend) - (LINES - line));
     if (line < LINES && (n >= 0)) {
@@ -1982,8 +2027,8 @@ panner_v_cleanup(int from_y, int from_x, int to_y)
 
 static void
 panner(WINDOW *pad,
 
 static void
 panner(WINDOW *pad,
-    int top_x, int top_y, int porty, int portx,
-    int (*pgetc) (WINDOW *))
+       int top_x, int top_y, int porty, int portx,
+       int (*pgetc) (WINDOW *))
 {
 #if HAVE_GETTIMEOFDAY
     struct timeval before, after;
 {
 #if HAVE_GETTIMEOFDAY
     struct timeval before, after;
@@ -2205,29 +2250,31 @@ panner(WINDOW *pad,
        mvaddch(porty - 1, top_x - 1, ACS_LLCORNER);
        mvaddch(porty - 1, portx - 1, ACS_LRCORNER);
 
        mvaddch(porty - 1, top_x - 1, ACS_LLCORNER);
        mvaddch(porty - 1, portx - 1, ACS_LRCORNER);
 
+       if (!pending_pan) {
 #if HAVE_GETTIMEOFDAY
 #if HAVE_GETTIMEOFDAY
-       gettimeofday(&before, 0);
+           gettimeofday(&before, 0);
 #endif
 #endif
-       wnoutrefresh(stdscr);
+           wnoutrefresh(stdscr);
 
 
-       pnoutrefresh(pad,
-           basey, basex,
-           top_y, top_x,
-           porty - (pxmax > portx) - 1,
-           portx - (pymax > porty) - 1);
+           pnoutrefresh(pad,
+                        basey, basex,
+                        top_y, top_x,
+                        porty - (pxmax > portx) - 1,
+                        portx - (pymax > porty) - 1);
 
 
-       doupdate();
+           doupdate();
 #if HAVE_GETTIMEOFDAY
 #if HAVE_GETTIMEOFDAY
-       if (timing) {
-           double elapsed;
-           gettimeofday(&after, 0);
-           elapsed = (after.tv_sec + after.tv_usec / 1.0e6)
-               - (before.tv_sec + before.tv_usec / 1.0e6);
-           move(LINES - 1, COLS - 20);
-           printw("Secs: %2.03f", elapsed);
-           refresh();
-       }
+           if (timing) {
+               double elapsed;
+               gettimeofday(&after, 0);
+               elapsed = (after.tv_sec + after.tv_usec / 1.0e6)
+                   - (before.tv_sec + before.tv_usec / 1.0e6);
+               move(LINES - 1, COLS - 20);
+               printw("Secs: %2.03f", elapsed);
+               refresh();
+           }
 #endif
 #endif
+       }
 
     } while
        ((c = pgetc(pad)) != KEY_EXIT);
 
     } while
        ((c = pgetc(pad)) != KEY_EXIT);
@@ -2235,44 +2282,73 @@ panner(WINDOW *pad,
     scrollok(stdscr, TRUE);    /* reset to driver's default */
 }
 
     scrollok(stdscr, TRUE);    /* reset to driver's default */
 }
 
-static
-int
+static int
 padgetch(WINDOW *win)
 {
 padgetch(WINDOW *win)
 {
+    static int count;
+    static int last;
     int c;
 
     int c;
 
-    switch (c = wGetchar(win)) {
-    case '!':
-       ShellOut(FALSE);
-       return KEY_REFRESH;
-    case CTRL('r'):
-       endwin();
-       refresh();
-       return KEY_REFRESH;
-    case CTRL('l'):
-       return KEY_REFRESH;
-    case 'U':
-       return (KEY_UP);
-    case 'D':
-       return (KEY_DOWN);
-    case 'R':
-       return (KEY_RIGHT);
-    case 'L':
-       return (KEY_LEFT);
-    case '+':
-       return (KEY_IL);
-    case '-':
-       return (KEY_DL);
-    case '>':
-       return (KEY_IC);
-    case '<':
-       return (KEY_DC);
-    case ERR:                  /* FALLTHRU */
-    case 'q':
-       return (KEY_EXIT);
-    default:
-       return (c);
+    if ((pending_pan = (count > 0)) != FALSE) {
+       count--;
+       pending_pan = (count != 0);
+    } else {
+       for (;;) {
+           switch (c = wGetchar(win)) {
+           case '!':
+               ShellOut(FALSE);
+               c = KEY_REFRESH;
+           case CTRL('r'):
+               endwin();
+               refresh();
+               c = KEY_REFRESH;
+               break;
+           case CTRL('l'):
+               c = KEY_REFRESH;
+               break;
+           case 'U':
+               c = KEY_UP;
+               break;
+           case 'D':
+               c = KEY_DOWN;
+               break;
+           case 'R':
+               c = KEY_RIGHT;
+               break;
+           case 'L':
+               c = KEY_LEFT;
+               break;
+           case '+':
+               c = KEY_IL;
+               break;
+           case '-':
+               c = KEY_DL;
+               break;
+           case '>':
+               c = KEY_IC;
+               break;
+           case '<':
+               c = KEY_DC;
+               break;
+           case ERR:           /* FALLTHRU */
+           case 'q':
+               count = 0;
+               c = KEY_EXIT;
+               break;
+           default:
+               if (c >= '0' && c <= '9') {
+                   count = count * 10 + (c - '0');
+                   continue;
+               }
+               break;
+           }
+           last = c;
+           break;
+       }
+       if (count > 0)
+           count--;
     }
     }
+    return (last);
 }
 
 #define PAD_HIGH 200
 }
 
 #define PAD_HIGH 200
@@ -2379,7 +2455,7 @@ flushinp_test(WINDOW *win)
 
     mvwaddstr(win, 2, 1, "Type random keys for 5 seconds.");
     mvwaddstr(win, 3, 1,
 
     mvwaddstr(win, 2, 1, "Type random keys for 5 seconds.");
     mvwaddstr(win, 3, 1,
-       "These should be discarded (not echoed) after the subwindow goes away.");
+             "These should be discarded (not echoed) after the subwindow goes away.");
     wrefresh(win);
 
     for (i = 0; i < 5; i++) {
     wrefresh(win);
 
     for (i = 0; i < 5; i++) {
@@ -2396,11 +2472,11 @@ flushinp_test(WINDOW *win)
     napms(1000);
 
     mvwaddstr(win, 2, 1,
     napms(1000);
 
     mvwaddstr(win, 2, 1,
-       "If you were still typing when the window timer expired,");
+             "If you were still typing when the window timer expired,");
     mvwaddstr(win, 3, 1,
     mvwaddstr(win, 3, 1,
-       "or else you typed nothing at all while it was running,");
+             "or else you typed nothing at all while it was running,");
     mvwaddstr(win, 4, 1,
     mvwaddstr(win, 4, 1,
-       "test was invalid.  You'll see garbage or nothing at all. ");
+             "test was invalid.  You'll see garbage or nothing at all. ");
     mvwaddstr(win, 6, 1, "Press a key");
     wmove(win, 9, 10);
     wrefresh(win);
     mvwaddstr(win, 6, 1, "Press a key");
     wmove(win, 9, 10);
     wrefresh(win);
@@ -2408,7 +2484,7 @@ flushinp_test(WINDOW *win)
     wGetchar(win);
     flushinp();
     mvwaddstr(win, 12, 0,
     wGetchar(win);
     flushinp();
     mvwaddstr(win, 12, 0,
-       "If you see any key other than what you typed, flushinp() is broken.");
+             "If you see any key other than what you typed, flushinp() is broken.");
     Continue(win);
 
     wmove(win, 9, 10);
     Continue(win);
 
     wmove(win, 9, 10);
@@ -2417,7 +2493,7 @@ flushinp_test(WINDOW *win)
     wmove(win, 12, 0);
     clrtoeol();
     waddstr(win,
     wmove(win, 12, 0);
     clrtoeol();
     waddstr(win,
-       "What you typed should now have been deleted; if not, wdelch() failed.");
+           "What you typed should now have been deleted; if not, wdelch() failed.");
     Continue(win);
 
     cbreak();
     Continue(win);
 
     cbreak();
@@ -2483,7 +2559,7 @@ menu_test(void)
     mvaddstr(2, 0, "  Use up and down arrow to move the select bar.");
     mvaddstr(3, 0, "  'n' and 'p' act like arrows.");
     mvaddstr(4, 0,
     mvaddstr(2, 0, "  Use up and down arrow to move the select bar.");
     mvaddstr(3, 0, "  'n' and 'p' act like arrows.");
     mvaddstr(4, 0,
-       "  'b' and 'f' scroll up/down (page), 'u' and 'd' (line).");
+            "  'b' and 'f' scroll up/down (page), 'u' and 'd' (line).");
     mvaddstr(5, 0, "  Press return to exit.");
     refresh();
 
     mvaddstr(5, 0, "  Press return to exit.");
     refresh();
 
@@ -2512,7 +2588,7 @@ menu_test(void)
     }
 
     (void) mvprintw(LINES - 2, 0,
     }
 
     (void) mvprintw(LINES - 2, 0,
-       "You chose: %s\n", item_name(current_item(m)));
+                   "You chose: %s\n", item_name(current_item(m)));
     (void) addstr("Press any key to continue...");
     wGetchar(stdscr);
 
     (void) addstr("Press any key to continue...");
     wGetchar(stdscr);
 
@@ -2548,6 +2624,7 @@ static struct {
        T_TBL(TRACE_ICALLS),
        T_TBL(TRACE_CCALLS),
        T_TBL(TRACE_DATABASE),
        T_TBL(TRACE_ICALLS),
        T_TBL(TRACE_CCALLS),
        T_TBL(TRACE_DATABASE),
+       T_TBL(TRACE_ATTRS),
        T_TBL(TRACE_MAXIMUM),
     {
        (char *) 0, 0
        T_TBL(TRACE_MAXIMUM),
     {
        (char *) 0, 0
@@ -2677,7 +2754,7 @@ trace_set(void)
     _tracef("trace level interactively set to %s", tracetrace(_nc_tracing));
 
     (void) mvprintw(LINES - 2, 0,
     _tracef("trace level interactively set to %s", tracetrace(_nc_tracing));
 
     (void) mvprintw(LINES - 2, 0,
-       "Trace level is %s\n", tracetrace(_nc_tracing));
+                   "Trace level is %s\n", tracetrace(_nc_tracing));
     (void) addstr("Press any key to continue...");
     wGetchar(stdscr);
 
     (void) addstr("Press any key to continue...");
     wGetchar(stdscr);
 
@@ -3447,9 +3524,9 @@ main(int argc, char *argv[])
     (void) printf("Welcome to %s.  Press ? for help.\n", curses_version());
 #elif defined(NCURSES_VERSION_MAJOR) && defined(NCURSES_VERSION_MINOR) && defined(NCURSES_VERSION_PATCH)
     (void) printf("Welcome to ncurses %d.%d.%d.  Press ? for help.\n",
     (void) printf("Welcome to %s.  Press ? for help.\n", curses_version());
 #elif defined(NCURSES_VERSION_MAJOR) && defined(NCURSES_VERSION_MINOR) && defined(NCURSES_VERSION_PATCH)
     (void) printf("Welcome to ncurses %d.%d.%d.  Press ? for help.\n",
-       NCURSES_VERSION_MAJOR,
-       NCURSES_VERSION_MINOR,
-       NCURSES_VERSION_PATCH);
+                 NCURSES_VERSION_MAJOR,
+                 NCURSES_VERSION_MINOR,
+                 NCURSES_VERSION_PATCH);
 #else
     (void) puts("Welcome to ncurses.  Press ? for help.");
 #endif
 #else
     (void) puts("Welcome to ncurses.  Press ? for help.");
 #endif
index d3dc2eae80248fd9e1097afe82c1ffbe07fbefdf..90eac981941161d0a298f3b209e02fbe5d208026 100644 (file)
@@ -29,7 +29,7 @@
 /*
  * Author: Thomas E. Dickey <dickey@clark.net> 2000
  *
 /*
  * Author: Thomas E. Dickey <dickey@clark.net> 2000
  *
- * $Id: railroad.c,v 1.1 2000/01/15 02:41:27 tom Exp $
+ * $Id: railroad.c,v 1.4 2000/10/15 00:21:33 tom Exp $
  *
  * A simple demo of the termcap interface.
  */
  *
  * A simple demo of the termcap interface.
  */
 #include <ctype.h>
 #include <signal.h>
 
 #include <ctype.h>
 #include <signal.h>
 
+static char *wipeit;
+static char *moveit;
+static int length;
+static int height;
+
 static char *finisC;
 static char *finisS;
 static char *finisU;
 static char *finisC;
 static char *finisS;
 static char *finisU;
@@ -68,7 +73,7 @@ PutChar(int ch)
 {
     putchar(ch);
     fflush(stdout);
 {
     putchar(ch);
     fflush(stdout);
-    napms(50);                 /* not really termcap... */
+    napms(moveit ? 10 : 50);   /* not really termcap... */
 }
 
 static void
 }
 
 static void
@@ -104,33 +109,54 @@ Underline(int flag)
 static void
 ShowSign(char *string)
 {
 static void
 ShowSign(char *string)
 {
+    char *base = string;
     int ch, first, last;
 
     int ch, first, last;
 
+    if (moveit != 0) {
+       tputs(tgoto(moveit, 0, height - 1), 1, outc);
+       tputs(wipeit, 1, outc);
+    }
+
     while (*string != 0) {
        ch = *string;
     while (*string != 0) {
        ch = *string;
-       last = ch;
-       if (isalpha(ch)) {
-           first = isupper(ch) ? 'A' : 'a';
-       } else if (isdigit(ch)) {
-           first = '0';
+       if (moveit != 0) {
+           for (first = length - 2; first >= (string - base); first--) {
+               if (first < length - 1) {
+                   tputs(tgoto(moveit, first + 1, height - 1), 1, outc);
+                   PutChar(' ');
+               }
+               tputs(tgoto(moveit, first, height - 1), 1, outc);
+               PutChar(ch);
+           }
        } else {
        } else {
-           first = ch;
-       }
-       if (first < last) {
-           Underline(1);
-           while (first < last) {
-               PutChar(first);
-               Backup();
-               first++;
+           last = ch;
+           if (isalpha(ch)) {
+               first = isupper(ch) ? 'A' : 'a';
+           } else if (isdigit(ch)) {
+               first = '0';
+           } else {
+               first = ch;
+           }
+           if (first < last) {
+               Underline(1);
+               while (first < last) {
+                   PutChar(first);
+                   Backup();
+                   first++;
+               }
+               Underline(0);
            }
            }
-           Underline(0);
        }
        }
+       if (moveit != 0)
+           Backup();
        StandOut(1);
        PutChar(ch);
        StandOut(0);
        fflush(stdout);
        string++;
     }
        StandOut(1);
        PutChar(ch);
        StandOut(0);
        fflush(stdout);
        string++;
     }
+    if (moveit != 0)
+       tputs(wipeit, 1, outc);
     putchar('\n');
 }
 
     putchar('\n');
 }
 
@@ -153,7 +179,7 @@ onsig(int n GCC_UNUSED)
 static void
 railroad(char **args)
 {
 static void
 railroad(char **args)
 {
-    char *name = getenv("TERM");
+    NCURSES_CONST char *name = getenv("TERM");
     char buffer[1024];
     char area[1024], *ap = area;
     int j;
     char buffer[1024];
     char area[1024], *ap = area;
     int j;
@@ -161,6 +187,22 @@ railroad(char **args)
     if (name == 0)
        name = "dumb";
     if (tgetent(buffer, name)) {
     if (name == 0)
        name = "dumb";
     if (tgetent(buffer, name)) {
+
+       wipeit = tgetstr("ce", &ap);
+       height = tgetnum("li");
+       length = tgetnum("co");
+       moveit = tgetstr("cm", &ap);
+
+       if (wipeit == 0
+           || moveit == 0
+           || height <= 0
+           || length <= 0) {
+           wipeit = 0;
+           moveit = 0;
+           height = 0;
+           length = 0;
+       }
+
        startS = tgetstr("so", &ap);
        finisS = tgetstr("se", &ap);
 
        startS = tgetstr("so", &ap);
        finisS = tgetstr("se", &ap);
 
@@ -186,9 +228,7 @@ railroad(char **args)
 }
 
 int
 }
 
 int
-main(
-    int argc,
-    char *argv[])
+main(int argc, char *argv[])
 {
     if (argc > 1) {
        railroad(argv + 1);
 {
     if (argc > 1) {
        railroad(argv + 1);
index 262f87d279b95d122954c1cb0617a8360417e4bb..a7771b09d3e346831bb9b46a542b667d6164d695 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * $Id: rain.c,v 1.14 1999/11/13 23:39:07 tom Exp $
+ * $Id: rain.c,v 1.15 2000/09/02 18:41:22 tom Exp $
  */
 #include <test.priv.h>
 
  */
 #include <test.priv.h>
 
@@ -42,7 +42,7 @@ float c;
     if (has_colors()) {
        int bg = COLOR_BLACK;
        start_color();
     if (has_colors()) {
        int bg = COLOR_BLACK;
        start_color();
-#ifdef HAVE_USE_DEFAULT_COLORS
+#if HAVE_USE_DEFAULT_COLORS
        if (use_default_colors() == OK)
                bg = -1;
 #endif
        if (use_default_colors() == OK)
                bg = -1;
 #endif
index 838f45e7092045647c2f79bc73199bf5467422b4..9f846554285b4e8ba07900aa7dea7dc381c03973 100644 (file)
@@ -128,7 +128,7 @@ main(
 
     if (has_colors()) {
        start_color();
 
     if (has_colors()) {
        start_color();
-#ifdef HAVE_USE_DEFAULT_COLORS
+#if HAVE_USE_DEFAULT_COLORS
        if (use_default_colors() == OK)
            my_bg = -1;
 #endif
        if (use_default_colors() == OK)
            my_bg = -1;
 #endif
index affed8d7e76a792edf733485b80b1012f485d207..58bbd162386fe875a9ed00d45635d7c30d9957e1 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998 Free Software Foundation, Inc.                        *
+ * Copyright (c) 1998,2000 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
 /****************************************************************************
  *  Author: Thomas E. Dickey <dickey@clark.net> 1996                        *
  ****************************************************************************/
 /****************************************************************************
  *  Author: Thomas E. Dickey <dickey@clark.net> 1996                        *
  ****************************************************************************/
-/* $Id: test.priv.h,v 1.16 2000/04/15 17:52:08 tom Exp $ */
+/* $Id: test.priv.h,v 1.19 2000/09/02 19:31:58 tom Exp $ */
+
 #if HAVE_CONFIG_H
 #include <ncurses_cfg.h>
 #if HAVE_CONFIG_H
 #include <ncurses_cfg.h>
+#else
+#define HAVE_CURSES_VERSION 0
+#define HAVE_RESIZETERM 0
+#define HAVE_USE_DEFAULT_COLORS 0
+#define HAVE_WRESIZE 0
+#endif
+
+#ifndef HAVE_NC_ALLOC_H
+#define HAVE_NC_ALLOC_H 0
+#endif
+
+#ifndef HAVE_LOCALE_H
+#define HAVE_LOCALE_H 0
+#endif
+
+#ifndef NCURSES_NOMACROS
+#define NCURSES_NOMACROS 0
+#endif
+
+#ifndef NEED_PTEM_H
+#define NEED_PTEM_H 0
 #endif
 
 #include <stdlib.h>
 #endif
 
 #include <stdlib.h>
+#include <string.h>
 #include <sys/types.h>
 
 #if HAVE_UNISTD_H
 #include <sys/types.h>
 
 #if HAVE_UNISTD_H
@@ -43,7 +66,7 @@
 
 #include <curses.h>
 
 
 #include <curses.h>
 
-#ifdef NCURSES_NOMACROS
+#if NCURSES_NOMACROS
 #include <nomacros.h>
 #endif
 
 #include <nomacros.h>
 #endif
 
index f4c2f067234d821017a5603711c3426bd805bdb6..4c1344cb5d3737f2ce3543fd4ec4334c78f9ac8d 100644 (file)
@@ -23,7 +23,7 @@
  * scroll operation worked, and the refresh() code only had to do a
  * partial repaint.
  *
  * scroll operation worked, and the refresh() code only had to do a
  * partial repaint.
  *
- * $Id: view.c,v 1.29 2000/05/21 01:43:03 tom Exp $
+ * $Id: view.c,v 1.31 2000/09/02 18:14:52 tom Exp $
  */
 
 #include <test.priv.h>
  */
 
 #include <test.priv.h>
@@ -53,7 +53,7 @@
 static RETSIGTYPE finish(int sig) GCC_NORETURN;
 static void show_all(void);
 
 static RETSIGTYPE finish(int sig) GCC_NORETURN;
 static void show_all(void);
 
-#if defined(SIGWINCH) && defined(TIOCGWINSZ) && defined(HAVE_RESIZETERM)
+#if defined(SIGWINCH) && defined(TIOCGWINSZ) && HAVE_RESIZETERM
 #define CAN_RESIZE 1
 #else
 #define CAN_RESIZE 0
 #define CAN_RESIZE 1
 #else
 #define CAN_RESIZE 0
@@ -433,7 +433,7 @@ show_all(void)
     scrollok(stdscr, FALSE);   /* prevent screen from moving */
     for (i = 1; i < LINES; i++) {
        move(i, 0);
     scrollok(stdscr, FALSE);   /* prevent screen from moving */
     for (i = 1; i < LINES; i++) {
        move(i, 0);
-       printw("%3d:", (lptr + i - lines));
+       printw("%3ld:", (long) (lptr + i - lines));
        clrtoeol();
        if ((s = lptr[i - 1]) != 0) {
            int len = ch_len(s);
        clrtoeol();
        if ((s = lptr[i - 1]) != 0) {
            int len = ch_len(s);
index 43a898f84d13602c57b337518811216a5b4825c0..142982aef22158049768d429ca65de614e3636b3 100644 (file)
@@ -34,7 +34,7 @@ Options:
   traces will be dumped.  The program stops and waits for one character of
   input at the beginning and end of the interval.
 
   traces will be dumped.  The program stops and waits for one character of
   input at the beginning and end of the interval.
 
-  $Id: worm.c,v 1.30 2000/04/15 17:51:56 tom Exp $
+  $Id: worm.c,v 1.31 2000/09/02 18:41:01 tom Exp $
 */
 
 #include <test.priv.h>
 */
 
 #include <test.priv.h>
@@ -251,7 +251,7 @@ main(int argc, char *argv[])
     if (has_colors()) {
        int bg = COLOR_BLACK;
        start_color();
     if (has_colors()) {
        int bg = COLOR_BLACK;
        start_color();
-#ifdef HAVE_USE_DEFAULT_COLORS
+#if HAVE_USE_DEFAULT_COLORS
        if (use_default_colors() == OK)
            bg = -1;
 #endif
        if (use_default_colors() == OK)
            bg = -1;
 #endif
index 57d42923000cf24d8a53bc99826b98af11984b14..d99b8219c3062bb37f2039cc3ad90e8242b81e6b 100644 (file)
@@ -92,7 +92,7 @@
 /******************************************************************************/
 
 /*
 /******************************************************************************/
 
 /*
- * $Id: xmas.c,v 1.13 1999/11/13 23:39:01 tom Exp $
+ * $Id: xmas.c,v 1.15 2000/09/02 18:45:53 tom Exp $
  */
 #include <test.priv.h>
 
  */
 #include <test.priv.h>
 
 static int my_bg = COLOR_BLACK;
 static int y_pos, x_pos;
 
 static int my_bg = COLOR_BLACK;
 static int y_pos, x_pos;
 
-static WINDOW
-       *treescrn, *treescrn2,*treescrn3, *treescrn4,*treescrn5, *treescrn6,
-       *treescrn7, *treescrn8,
-       *dotdeer0,
-       *stardeer0,
-       *lildeer0, *lildeer1, *lildeer2, *lildeer3,
-       *middeer0, *middeer1, *middeer2, *middeer3,
-       *bigdeer0, *bigdeer1, *bigdeer2, *bigdeer3, *bigdeer4,
-       *lookdeer0, *lookdeer1, *lookdeer2, *lookdeer3, *lookdeer4,
-       *w_holiday,
-       *w_del_msg;
+static WINDOW *treescrn;
+static WINDOW *treescrn2;
+static WINDOW *treescrn3;
+static WINDOW *treescrn4;
+static WINDOW *treescrn5;
+static WINDOW *treescrn6;
+static WINDOW *treescrn7;
+static WINDOW *treescrn8;
+static WINDOW *dotdeer0;
+static WINDOW *stardeer0;
+static WINDOW *lildeer0;
+static WINDOW *lildeer1;
+static WINDOW *lildeer2;
+static WINDOW *lildeer3;
+static WINDOW *middeer0;
+static WINDOW *middeer1;
+static WINDOW *middeer2;
+static WINDOW *middeer3;
+static WINDOW *bigdeer0;
+static WINDOW *bigdeer1;
+static WINDOW *bigdeer2;
+static WINDOW *bigdeer3;
+static WINDOW *bigdeer4;
+static WINDOW *lookdeer0;
+static WINDOW *lookdeer1;
+static WINDOW *lookdeer2;
+static WINDOW *lookdeer3;
+static WINDOW *lookdeer4;
+static WINDOW *w_holiday;
+static WINDOW *w_del_msg;
 
 static int boxit(void);
 static int seas(void);
 
 static int boxit(void);
 static int seas(void);
@@ -129,923 +148,916 @@ static int strng4(void);
 static int strng5(void);
 static int reindeer(void);
 static int blinkit(void);
 static int strng5(void);
 static int reindeer(void);
 static int blinkit(void);
-static RETSIGTYPE done(int sig) GCC_NORETURN ;
 
 
-static void
-set_color(WINDOW *win, chtype color)
+static RETSIGTYPE
+done(int sig) GCC_NORETURN;
+
+     static void
+       set_color(WINDOW *win, chtype color)
 {
 {
-       if (has_colors()) {
-               static bool *pairs;
-               int n = (color + 1);
-               if (pairs == 0)
-                       pairs = (bool *)calloc(COLORS+1, sizeof(bool));
-               if (!pairs[n]) {
-                       init_pair(n, color, my_bg);
-                       pairs[n] = TRUE;
-               }
-               wattroff(win, A_COLOR);
-               wattron(win, COLOR_PAIR(n));
+    if (has_colors()) {
+       static bool *pairs;
+       int n = (color + 1);
+       if (pairs == 0)
+           pairs = (bool *) calloc(COLORS + 1, sizeof(bool));
+       if (!pairs[n]) {
+           init_pair(n, color, my_bg);
+           pairs[n] = TRUE;
        }
        }
+       wattroff(win, A_COLOR);
+       wattron(win, COLOR_PAIR(n));
+    }
 }
 
 static void
 unset_color(WINDOW *win)
 {
 }
 
 static void
 unset_color(WINDOW *win)
 {
-       if (has_colors())
-               wattrset(win, COLOR_PAIR(0));
+    if (has_colors())
+       wattrset(win, COLOR_PAIR(0));
 }
 
 static void
 look_out(int msecs)
 {
 }
 
 static void
 look_out(int msecs)
 {
-       napms(msecs);
-       if (getch() != ERR) {
-               beep();
-               done(0);
-       }
+    napms(msecs);
+    if (getch() != ERR) {
+       beep();
+       done(0);
+    }
 }
 
 }
 
-int main(
-       int argc GCC_UNUSED,
-       char **argv GCC_UNUSED)
+int
+main(int argc GCC_UNUSED, char **argv GCC_UNUSED)
 {
 {
-int loopy;
-
-       initscr();
-       noecho();
-       nonl();
-       refresh();
-       signal(SIGINT,done);
-       signal(SIGTERM,done);
+    int loopy;
+
+    initscr();
+    noecho();
+    nonl();
+    refresh();
+    signal(SIGINT, done);
+    signal(SIGTERM, done);
 #if !defined   DOS && !defined OS2
 #if !defined   DOS && !defined OS2
-       signal(SIGHUP,done);
-       signal(SIGQUIT,done);
+    signal(SIGHUP, done);
+    signal(SIGQUIT, done);
 #endif
 #endif
-       if (has_colors()) {
-               start_color();
-#ifdef HAVE_USE_DEFAULT_COLORS
-               if (use_default_colors() == OK)
-                       my_bg = -1;
+    if (has_colors()) {
+       start_color();
+#if HAVE_USE_DEFAULT_COLORS
+       if (use_default_colors() == OK)
+           my_bg = -1;
 #endif
 #endif
-       }
-       curs_set(0);
-
-       treescrn = newwin(16,27,3,53);
-       treescrn2 = newwin(16,27,3,53);
-       treescrn3 = newwin(16,27,3,53);
-       treescrn4 = newwin(16,27,3,53);
-       treescrn5 = newwin(16,27,3,53);
-       treescrn6 = newwin(16,27,3,53);
-       treescrn7 = newwin(16,27,3,53);
-       treescrn8 = newwin(16,27,3,53);
-
-       dotdeer0 = newwin(3,71,0,8);
-
-       stardeer0 = newwin(4,56,0,8);
-
-       lildeer0 = newwin(7,53,0,8);
-       lildeer1 = newwin(2,4,0,0);
-       lildeer2 = newwin(2,4,0,0);
-       lildeer3 = newwin(2,4,0,0);
-
-       middeer0 = newwin(15,42,0,8);
-       middeer1 = newwin(3,7,0,0);
-       middeer2 = newwin(3,7,0,0);
-       middeer3 = newwin(3,7,0,0);
-
-       bigdeer0 = newwin(10,23,0,0);
-       bigdeer1 = newwin(10,23,0,0);
-       bigdeer2 = newwin(10,23,0,0);
-       bigdeer3 = newwin(10,23,0,0);
-       bigdeer4 = newwin(10,23,0,0);
-
-       lookdeer0 = newwin(10,25,0,0);
-       lookdeer1 = newwin(10,25,0,0);
-       lookdeer2 = newwin(10,25,0,0);
-       lookdeer3 = newwin(10,25,0,0);
-       lookdeer4 = newwin(10,25,0,0);
-
-       w_holiday = newwin(1,26,3,27);
-
-       w_del_msg = newwin(1,19,23,60);
-
-       mvwaddstr(w_del_msg,0,0,"Hit any key to quit");
-
-       mvwaddstr(w_holiday,0,0,"H A P P Y  H O L I D A Y S");
-
-       /* set up the windows for our various reindeer */
-
-       /* lildeer1 */
-       mvwaddch(lildeer1,0,0,(chtype)'V');
-       mvwaddch(lildeer1,1,0,(chtype)'@');
-       mvwaddch(lildeer1,1,1,(chtype)'<');
-       mvwaddch(lildeer1,1,2,(chtype)'>');
-       mvwaddch(lildeer1,1,3,(chtype)'~');
-
-       /* lildeer2 */
-       mvwaddch(lildeer2,0,0,(chtype)'V');
-       mvwaddch(lildeer2,1,0,(chtype)'@');
-       mvwaddch(lildeer2,1,1,(chtype)'|');
-       mvwaddch(lildeer2,1,2,(chtype)'|');
-       mvwaddch(lildeer2,1,3,(chtype)'~');
-
-       /* lildeer3 */
-       mvwaddch(lildeer3,0,0,(chtype)'V');
-       mvwaddch(lildeer3,1,0,(chtype)'@');
-       mvwaddch(lildeer3,1,1,(chtype)'>');
-       mvwaddch(lildeer3,1,2,(chtype)'<');
-       mvwaddch(lildeer2,1,3,(chtype)'~');
-
-
-       /* middeer1 */
-       mvwaddch(middeer1,0,2,(chtype)'y');
-       mvwaddch(middeer1,0,3,(chtype)'y');
-       mvwaddch(middeer1,1,2,(chtype)'0');
-       mvwaddch(middeer1,1,3,(chtype)'(');
-       mvwaddch(middeer1,1,4,(chtype)'=');
-       mvwaddch(middeer1,1,5,(chtype)')');
-       mvwaddch(middeer1,1,6,(chtype)'~');
-       mvwaddch(middeer1,2,3,(chtype)'\\');
-       mvwaddch(middeer1,2,4,(chtype)'/');
-
-       /* middeer2 */
-       mvwaddch(middeer2,0,2,(chtype)'y');
-       mvwaddch(middeer2,0,3,(chtype)'y');
-       mvwaddch(middeer2,1,2,(chtype)'0');
-       mvwaddch(middeer2,1,3,(chtype)'(');
-       mvwaddch(middeer2,1,4,(chtype)'=');
-       mvwaddch(middeer2,1,5,(chtype)')');
-       mvwaddch(middeer2,1,6,(chtype)'~');
-       mvwaddch(middeer2,2,3,(chtype)'|');
-       mvwaddch(middeer2,2,5,(chtype)'|');
-
-       /* middeer3 */
-       mvwaddch(middeer3,0,2,(chtype)'y');
-       mvwaddch(middeer3,0,3,(chtype)'y');
-       mvwaddch(middeer3,1,2,(chtype)'0');
-       mvwaddch(middeer3,1,3,(chtype)'(');
-       mvwaddch(middeer3,1,4,(chtype)'=');
-       mvwaddch(middeer3,1,5,(chtype)')');
-       mvwaddch(middeer3,1,6,(chtype)'~');
-       mvwaddch(middeer3,2,2,(chtype)'/');
-       mvwaddch(middeer3,2,6,(chtype)'\\');
-
-
-       /* bigdeer1 */
-       mvwaddch(bigdeer1,0,17,(chtype)'\\');
-       mvwaddch(bigdeer1,0,18,(chtype)'/');
-       mvwaddch(bigdeer1,0,20,(chtype)'\\');
-       mvwaddch(bigdeer1,0,21,(chtype)'/');
-       mvwaddch(bigdeer1,1,18,(chtype)'\\');
-       mvwaddch(bigdeer1,1,20,(chtype)'/');
-       mvwaddch(bigdeer1,2,19,(chtype)'|');
-       mvwaddch(bigdeer1,2,20,(chtype)'_');
-       mvwaddch(bigdeer1,3,18,(chtype)'/');
-       mvwaddch(bigdeer1,3,19,(chtype)'^');
-       mvwaddch(bigdeer1,3,20,(chtype)'0');
-       mvwaddch(bigdeer1,3,21,(chtype)'\\');
-       mvwaddch(bigdeer1,4,17,(chtype)'/');
-       mvwaddch(bigdeer1,4,18,(chtype)'/');
-       mvwaddch(bigdeer1,4,19,(chtype)'\\');
-       mvwaddch(bigdeer1,4,22,(chtype)'\\');
-       mvwaddstr(bigdeer1,5,7,"^~~~~~~~~//  ~~U");
-       mvwaddstr(bigdeer1,6,7,"( \\_____( /");
-       mvwaddstr(bigdeer1,7,8,"( )    /");
-       mvwaddstr(bigdeer1,8,9,"\\\\   /");
-       mvwaddstr(bigdeer1,9,11,"\\>/>");
-
-       /* bigdeer2 */
-       mvwaddch(bigdeer2,0,17,(chtype)'\\');
-       mvwaddch(bigdeer2,0,18,(chtype)'/');
-       mvwaddch(bigdeer2,0,20,(chtype)'\\');
-       mvwaddch(bigdeer2,0,21,(chtype)'/');
-       mvwaddch(bigdeer2,1,18,(chtype)'\\');
-       mvwaddch(bigdeer2,1,20,(chtype)'/');
-       mvwaddch(bigdeer2,2,19,(chtype)'|');
-       mvwaddch(bigdeer2,2,20,(chtype)'_');
-       mvwaddch(bigdeer2,3,18,(chtype)'/');
-       mvwaddch(bigdeer2,3,19,(chtype)'^');
-       mvwaddch(bigdeer2,3,20,(chtype)'0');
-       mvwaddch(bigdeer2,3,21,(chtype)'\\');
-       mvwaddch(bigdeer2,4,17,(chtype)'/');
-       mvwaddch(bigdeer2,4,18,(chtype)'/');
-       mvwaddch(bigdeer2,4,19,(chtype)'\\');
-       mvwaddch(bigdeer2,4,22,(chtype)'\\');
-       mvwaddstr(bigdeer2,5,7,"^~~~~~~~~//  ~~U");
-       mvwaddstr(bigdeer2,6,7,"(( )____( /");
-       mvwaddstr(bigdeer2,7,7,"( /      |");
-       mvwaddstr(bigdeer2,8,8,"\\/      |");
-       mvwaddstr(bigdeer2,9,9,"|>     |>");
-
-       /* bigdeer3 */
-       mvwaddch(bigdeer3,0,17,(chtype)'\\');
-       mvwaddch(bigdeer3,0,18,(chtype)'/');
-       mvwaddch(bigdeer3,0,20,(chtype)'\\');
-       mvwaddch(bigdeer3,0,21,(chtype)'/');
-       mvwaddch(bigdeer3,1,18,(chtype)'\\');
-       mvwaddch(bigdeer3,1,20,(chtype)'/');
-       mvwaddch(bigdeer3,2,19,(chtype)'|');
-       mvwaddch(bigdeer3,2,20,(chtype)'_');
-       mvwaddch(bigdeer3,3,18,(chtype)'/');
-       mvwaddch(bigdeer3,3,19,(chtype)'^');
-       mvwaddch(bigdeer3,3,20,(chtype)'0');
-       mvwaddch(bigdeer3,3,21,(chtype)'\\');
-       mvwaddch(bigdeer3,4,17,(chtype)'/');
-       mvwaddch(bigdeer3,4,18,(chtype)'/');
-       mvwaddch(bigdeer3,4,19,(chtype)'\\');
-       mvwaddch(bigdeer3,4,22,(chtype)'\\');
-       mvwaddstr(bigdeer3,5,7,"^~~~~~~~~//  ~~U");
-       mvwaddstr(bigdeer3,6,6,"( ()_____( /");
-       mvwaddstr(bigdeer3,7,6,"/ /       /");
-       mvwaddstr(bigdeer3,8,5,"|/          \\");
-       mvwaddstr(bigdeer3,9,5,"/>           \\>");
-
-       /* bigdeer4 */
-       mvwaddch(bigdeer4,0,17,(chtype)'\\');
-       mvwaddch(bigdeer4,0,18,(chtype)'/');
-       mvwaddch(bigdeer4,0,20,(chtype)'\\');
-       mvwaddch(bigdeer4,0,21,(chtype)'/');
-       mvwaddch(bigdeer4,1,18,(chtype)'\\');
-       mvwaddch(bigdeer4,1,20,(chtype)'/');
-       mvwaddch(bigdeer4,2,19,(chtype)'|');
-       mvwaddch(bigdeer4,2,20,(chtype)'_');
-       mvwaddch(bigdeer4,3,18,(chtype)'/');
-       mvwaddch(bigdeer4,3,19,(chtype)'^');
-       mvwaddch(bigdeer4,3,20,(chtype)'0');
-       mvwaddch(bigdeer4,3,21,(chtype)'\\');
-       mvwaddch(bigdeer4,4,17,(chtype)'/');
-       mvwaddch(bigdeer4,4,18,(chtype)'/');
-       mvwaddch(bigdeer4,4,19,(chtype)'\\');
-       mvwaddch(bigdeer4,4,22,(chtype)'\\');
-       mvwaddstr(bigdeer4,5,7,"^~~~~~~~~//  ~~U");
-       mvwaddstr(bigdeer4,6,6,"( )______( /");
-       mvwaddstr(bigdeer4,7,5,"(/          \\");
-       mvwaddstr(bigdeer4,8,0,"v___=             ----^");
-
-
-       /* lookdeer1 */
-       mvwaddstr(lookdeer1,0,16,"\\/     \\/");
-       mvwaddstr(lookdeer1,1,17,"\\Y/ \\Y/");
-       mvwaddstr(lookdeer1,2,19,"\\=/");
-       mvwaddstr(lookdeer1,3,17,"^\\o o/^");
-       mvwaddstr(lookdeer1,4,17,"//( )");
-       mvwaddstr(lookdeer1,5,7,"^~~~~~~~~// \\O/");
-       mvwaddstr(lookdeer1,6,7,"( \\_____( /");
-       mvwaddstr(lookdeer1,7,8,"( )    /");
-       mvwaddstr(lookdeer1,8,9,"\\\\   /");
-       mvwaddstr(lookdeer1,9,11,"\\>/>");
-
-       /* lookdeer2 */
-       mvwaddstr(lookdeer2,0,16,"\\/     \\/");
-       mvwaddstr(lookdeer2,1,17,"\\Y/ \\Y/");
-       mvwaddstr(lookdeer2,2,19,"\\=/");
-       mvwaddstr(lookdeer2,3,17,"^\\o o/^");
-       mvwaddstr(lookdeer2,4,17,"//( )");
-       mvwaddstr(lookdeer2,5,7,"^~~~~~~~~// \\O/");
-       mvwaddstr(lookdeer2,6,7,"(( )____( /");
-       mvwaddstr(lookdeer2,7,7,"( /      |");
-       mvwaddstr(lookdeer2,8,8,"\\/      |");
-       mvwaddstr(lookdeer2,9,9,"|>     |>");
-
-       /* lookdeer3 */
-       mvwaddstr(lookdeer3,0,16,"\\/     \\/");
-       mvwaddstr(lookdeer3,1,17,"\\Y/ \\Y/");
-       mvwaddstr(lookdeer3,2,19,"\\=/");
-       mvwaddstr(lookdeer3,3,17,"^\\o o/^");
-       mvwaddstr(lookdeer3,4,17,"//( )");
-       mvwaddstr(lookdeer3,5,7,"^~~~~~~~~// \\O/");
-       mvwaddstr(lookdeer3,6,6,"( ()_____( /");
-       mvwaddstr(lookdeer3,7,6,"/ /       /");
-       mvwaddstr(lookdeer3,8,5,"|/          \\");
-       mvwaddstr(lookdeer3,9,5,"/>           \\>");
-
-       /* lookdeer4 */
-       mvwaddstr(lookdeer4,0,16,"\\/     \\/");
-       mvwaddstr(lookdeer4,1,17,"\\Y/ \\Y/");
-       mvwaddstr(lookdeer4,2,19,"\\=/");
-       mvwaddstr(lookdeer4,3,17,"^\\o o/^");
-       mvwaddstr(lookdeer4,4,17,"//( )");
-       mvwaddstr(lookdeer4,5,7,"^~~~~~~~~// \\O/");
-       mvwaddstr(lookdeer4,6,6,"( )______( /");
-       mvwaddstr(lookdeer4,7,5,"(/          \\");
-       mvwaddstr(lookdeer4,8,0,"v___=             ----^");
-
-
+    }
+    curs_set(0);
+
+    treescrn = newwin(16, 27, 3, 53);
+    treescrn2 = newwin(16, 27, 3, 53);
+    treescrn3 = newwin(16, 27, 3, 53);
+    treescrn4 = newwin(16, 27, 3, 53);
+    treescrn5 = newwin(16, 27, 3, 53);
+    treescrn6 = newwin(16, 27, 3, 53);
+    treescrn7 = newwin(16, 27, 3, 53);
+    treescrn8 = newwin(16, 27, 3, 53);
+
+    dotdeer0 = newwin(3, 71, 0, 8);
+
+    stardeer0 = newwin(4, 56, 0, 8);
+
+    lildeer0 = newwin(7, 53, 0, 8);
+    lildeer1 = newwin(2, 4, 0, 0);
+    lildeer2 = newwin(2, 4, 0, 0);
+    lildeer3 = newwin(2, 4, 0, 0);
+
+    middeer0 = newwin(15, 42, 0, 8);
+    middeer1 = newwin(3, 7, 0, 0);
+    middeer2 = newwin(3, 7, 0, 0);
+    middeer3 = newwin(3, 7, 0, 0);
+
+    bigdeer0 = newwin(10, 23, 0, 0);
+    bigdeer1 = newwin(10, 23, 0, 0);
+    bigdeer2 = newwin(10, 23, 0, 0);
+    bigdeer3 = newwin(10, 23, 0, 0);
+    bigdeer4 = newwin(10, 23, 0, 0);
+
+    lookdeer0 = newwin(10, 25, 0, 0);
+    lookdeer1 = newwin(10, 25, 0, 0);
+    lookdeer2 = newwin(10, 25, 0, 0);
+    lookdeer3 = newwin(10, 25, 0, 0);
+    lookdeer4 = newwin(10, 25, 0, 0);
+
+    w_holiday = newwin(1, 26, 3, 27);
+
+    w_del_msg = newwin(1, 19, 23, 60);
+
+    mvwaddstr(w_del_msg, 0, 0, "Hit any key to quit");
+
+    mvwaddstr(w_holiday, 0, 0, "H A P P Y  H O L I D A Y S");
+
+    /* set up the windows for our various reindeer */
+
+    /* lildeer1 */
+    mvwaddch(lildeer1, 0, 0, (chtype) 'V');
+    mvwaddch(lildeer1, 1, 0, (chtype) '@');
+    mvwaddch(lildeer1, 1, 1, (chtype) '<');
+    mvwaddch(lildeer1, 1, 2, (chtype) '>');
+    mvwaddch(lildeer1, 1, 3, (chtype) '~');
+
+    /* lildeer2 */
+    mvwaddch(lildeer2, 0, 0, (chtype) 'V');
+    mvwaddch(lildeer2, 1, 0, (chtype) '@');
+    mvwaddch(lildeer2, 1, 1, (chtype) '|');
+    mvwaddch(lildeer2, 1, 2, (chtype) '|');
+    mvwaddch(lildeer2, 1, 3, (chtype) '~');
+
+    /* lildeer3 */
+    mvwaddch(lildeer3, 0, 0, (chtype) 'V');
+    mvwaddch(lildeer3, 1, 0, (chtype) '@');
+    mvwaddch(lildeer3, 1, 1, (chtype) '>');
+    mvwaddch(lildeer3, 1, 2, (chtype) '<');
+    mvwaddch(lildeer2, 1, 3, (chtype) '~');
+
+    /* middeer1 */
+    mvwaddch(middeer1, 0, 2, (chtype) 'y');
+    mvwaddch(middeer1, 0, 3, (chtype) 'y');
+    mvwaddch(middeer1, 1, 2, (chtype) '0');
+    mvwaddch(middeer1, 1, 3, (chtype) '(');
+    mvwaddch(middeer1, 1, 4, (chtype) '=');
+    mvwaddch(middeer1, 1, 5, (chtype) ')');
+    mvwaddch(middeer1, 1, 6, (chtype) '~');
+    mvwaddch(middeer1, 2, 3, (chtype) '\\');
+    mvwaddch(middeer1, 2, 4, (chtype) '/');
+
+    /* middeer2 */
+    mvwaddch(middeer2, 0, 2, (chtype) 'y');
+    mvwaddch(middeer2, 0, 3, (chtype) 'y');
+    mvwaddch(middeer2, 1, 2, (chtype) '0');
+    mvwaddch(middeer2, 1, 3, (chtype) '(');
+    mvwaddch(middeer2, 1, 4, (chtype) '=');
+    mvwaddch(middeer2, 1, 5, (chtype) ')');
+    mvwaddch(middeer2, 1, 6, (chtype) '~');
+    mvwaddch(middeer2, 2, 3, (chtype) '|');
+    mvwaddch(middeer2, 2, 5, (chtype) '|');
+
+    /* middeer3 */
+    mvwaddch(middeer3, 0, 2, (chtype) 'y');
+    mvwaddch(middeer3, 0, 3, (chtype) 'y');
+    mvwaddch(middeer3, 1, 2, (chtype) '0');
+    mvwaddch(middeer3, 1, 3, (chtype) '(');
+    mvwaddch(middeer3, 1, 4, (chtype) '=');
+    mvwaddch(middeer3, 1, 5, (chtype) ')');
+    mvwaddch(middeer3, 1, 6, (chtype) '~');
+    mvwaddch(middeer3, 2, 2, (chtype) '/');
+    mvwaddch(middeer3, 2, 6, (chtype) '\\');
+
+    /* bigdeer1 */
+    mvwaddch(bigdeer1, 0, 17, (chtype) '\\');
+    mvwaddch(bigdeer1, 0, 18, (chtype) '/');
+    mvwaddch(bigdeer1, 0, 20, (chtype) '\\');
+    mvwaddch(bigdeer1, 0, 21, (chtype) '/');
+    mvwaddch(bigdeer1, 1, 18, (chtype) '\\');
+    mvwaddch(bigdeer1, 1, 20, (chtype) '/');
+    mvwaddch(bigdeer1, 2, 19, (chtype) '|');
+    mvwaddch(bigdeer1, 2, 20, (chtype) '_');
+    mvwaddch(bigdeer1, 3, 18, (chtype) '/');
+    mvwaddch(bigdeer1, 3, 19, (chtype) '^');
+    mvwaddch(bigdeer1, 3, 20, (chtype) '0');
+    mvwaddch(bigdeer1, 3, 21, (chtype) '\\');
+    mvwaddch(bigdeer1, 4, 17, (chtype) '/');
+    mvwaddch(bigdeer1, 4, 18, (chtype) '/');
+    mvwaddch(bigdeer1, 4, 19, (chtype) '\\');
+    mvwaddch(bigdeer1, 4, 22, (chtype) '\\');
+    mvwaddstr(bigdeer1, 5, 7, "^~~~~~~~~//  ~~U");
+    mvwaddstr(bigdeer1, 6, 7, "( \\_____( /");
+    mvwaddstr(bigdeer1, 7, 8, "( )    /");
+    mvwaddstr(bigdeer1, 8, 9, "\\\\   /");
+    mvwaddstr(bigdeer1, 9, 11, "\\>/>");
+
+    /* bigdeer2 */
+    mvwaddch(bigdeer2, 0, 17, (chtype) '\\');
+    mvwaddch(bigdeer2, 0, 18, (chtype) '/');
+    mvwaddch(bigdeer2, 0, 20, (chtype) '\\');
+    mvwaddch(bigdeer2, 0, 21, (chtype) '/');
+    mvwaddch(bigdeer2, 1, 18, (chtype) '\\');
+    mvwaddch(bigdeer2, 1, 20, (chtype) '/');
+    mvwaddch(bigdeer2, 2, 19, (chtype) '|');
+    mvwaddch(bigdeer2, 2, 20, (chtype) '_');
+    mvwaddch(bigdeer2, 3, 18, (chtype) '/');
+    mvwaddch(bigdeer2, 3, 19, (chtype) '^');
+    mvwaddch(bigdeer2, 3, 20, (chtype) '0');
+    mvwaddch(bigdeer2, 3, 21, (chtype) '\\');
+    mvwaddch(bigdeer2, 4, 17, (chtype) '/');
+    mvwaddch(bigdeer2, 4, 18, (chtype) '/');
+    mvwaddch(bigdeer2, 4, 19, (chtype) '\\');
+    mvwaddch(bigdeer2, 4, 22, (chtype) '\\');
+    mvwaddstr(bigdeer2, 5, 7, "^~~~~~~~~//  ~~U");
+    mvwaddstr(bigdeer2, 6, 7, "(( )____( /");
+    mvwaddstr(bigdeer2, 7, 7, "( /      |");
+    mvwaddstr(bigdeer2, 8, 8, "\\/      |");
+    mvwaddstr(bigdeer2, 9, 9, "|>     |>");
+
+    /* bigdeer3 */
+    mvwaddch(bigdeer3, 0, 17, (chtype) '\\');
+    mvwaddch(bigdeer3, 0, 18, (chtype) '/');
+    mvwaddch(bigdeer3, 0, 20, (chtype) '\\');
+    mvwaddch(bigdeer3, 0, 21, (chtype) '/');
+    mvwaddch(bigdeer3, 1, 18, (chtype) '\\');
+    mvwaddch(bigdeer3, 1, 20, (chtype) '/');
+    mvwaddch(bigdeer3, 2, 19, (chtype) '|');
+    mvwaddch(bigdeer3, 2, 20, (chtype) '_');
+    mvwaddch(bigdeer3, 3, 18, (chtype) '/');
+    mvwaddch(bigdeer3, 3, 19, (chtype) '^');
+    mvwaddch(bigdeer3, 3, 20, (chtype) '0');
+    mvwaddch(bigdeer3, 3, 21, (chtype) '\\');
+    mvwaddch(bigdeer3, 4, 17, (chtype) '/');
+    mvwaddch(bigdeer3, 4, 18, (chtype) '/');
+    mvwaddch(bigdeer3, 4, 19, (chtype) '\\');
+    mvwaddch(bigdeer3, 4, 22, (chtype) '\\');
+    mvwaddstr(bigdeer3, 5, 7, "^~~~~~~~~//  ~~U");
+    mvwaddstr(bigdeer3, 6, 6, "( ()_____( /");
+    mvwaddstr(bigdeer3, 7, 6, "/ /       /");
+    mvwaddstr(bigdeer3, 8, 5, "|/          \\");
+    mvwaddstr(bigdeer3, 9, 5, "/>           \\>");
+
+    /* bigdeer4 */
+    mvwaddch(bigdeer4, 0, 17, (chtype) '\\');
+    mvwaddch(bigdeer4, 0, 18, (chtype) '/');
+    mvwaddch(bigdeer4, 0, 20, (chtype) '\\');
+    mvwaddch(bigdeer4, 0, 21, (chtype) '/');
+    mvwaddch(bigdeer4, 1, 18, (chtype) '\\');
+    mvwaddch(bigdeer4, 1, 20, (chtype) '/');
+    mvwaddch(bigdeer4, 2, 19, (chtype) '|');
+    mvwaddch(bigdeer4, 2, 20, (chtype) '_');
+    mvwaddch(bigdeer4, 3, 18, (chtype) '/');
+    mvwaddch(bigdeer4, 3, 19, (chtype) '^');
+    mvwaddch(bigdeer4, 3, 20, (chtype) '0');
+    mvwaddch(bigdeer4, 3, 21, (chtype) '\\');
+    mvwaddch(bigdeer4, 4, 17, (chtype) '/');
+    mvwaddch(bigdeer4, 4, 18, (chtype) '/');
+    mvwaddch(bigdeer4, 4, 19, (chtype) '\\');
+    mvwaddch(bigdeer4, 4, 22, (chtype) '\\');
+    mvwaddstr(bigdeer4, 5, 7, "^~~~~~~~~//  ~~U");
+    mvwaddstr(bigdeer4, 6, 6, "( )______( /");
+    mvwaddstr(bigdeer4, 7, 5, "(/          \\");
+    mvwaddstr(bigdeer4, 8, 0, "v___=             ----^");
+
+    /* lookdeer1 */
+    mvwaddstr(lookdeer1, 0, 16, "\\/     \\/");
+    mvwaddstr(lookdeer1, 1, 17, "\\Y/ \\Y/");
+    mvwaddstr(lookdeer1, 2, 19, "\\=/");
+    mvwaddstr(lookdeer1, 3, 17, "^\\o o/^");
+    mvwaddstr(lookdeer1, 4, 17, "//( )");
+    mvwaddstr(lookdeer1, 5, 7, "^~~~~~~~~// \\O/");
+    mvwaddstr(lookdeer1, 6, 7, "( \\_____( /");
+    mvwaddstr(lookdeer1, 7, 8, "( )    /");
+    mvwaddstr(lookdeer1, 8, 9, "\\\\   /");
+    mvwaddstr(lookdeer1, 9, 11, "\\>/>");
+
+    /* lookdeer2 */
+    mvwaddstr(lookdeer2, 0, 16, "\\/     \\/");
+    mvwaddstr(lookdeer2, 1, 17, "\\Y/ \\Y/");
+    mvwaddstr(lookdeer2, 2, 19, "\\=/");
+    mvwaddstr(lookdeer2, 3, 17, "^\\o o/^");
+    mvwaddstr(lookdeer2, 4, 17, "//( )");
+    mvwaddstr(lookdeer2, 5, 7, "^~~~~~~~~// \\O/");
+    mvwaddstr(lookdeer2, 6, 7, "(( )____( /");
+    mvwaddstr(lookdeer2, 7, 7, "( /      |");
+    mvwaddstr(lookdeer2, 8, 8, "\\/      |");
+    mvwaddstr(lookdeer2, 9, 9, "|>     |>");
+
+    /* lookdeer3 */
+    mvwaddstr(lookdeer3, 0, 16, "\\/     \\/");
+    mvwaddstr(lookdeer3, 1, 17, "\\Y/ \\Y/");
+    mvwaddstr(lookdeer3, 2, 19, "\\=/");
+    mvwaddstr(lookdeer3, 3, 17, "^\\o o/^");
+    mvwaddstr(lookdeer3, 4, 17, "//( )");
+    mvwaddstr(lookdeer3, 5, 7, "^~~~~~~~~// \\O/");
+    mvwaddstr(lookdeer3, 6, 6, "( ()_____( /");
+    mvwaddstr(lookdeer3, 7, 6, "/ /       /");
+    mvwaddstr(lookdeer3, 8, 5, "|/          \\");
+    mvwaddstr(lookdeer3, 9, 5, "/>           \\>");
+
+    /* lookdeer4 */
+    mvwaddstr(lookdeer4, 0, 16, "\\/     \\/");
+    mvwaddstr(lookdeer4, 1, 17, "\\Y/ \\Y/");
+    mvwaddstr(lookdeer4, 2, 19, "\\=/");
+    mvwaddstr(lookdeer4, 3, 17, "^\\o o/^");
+    mvwaddstr(lookdeer4, 4, 17, "//( )");
+    mvwaddstr(lookdeer4, 5, 7, "^~~~~~~~~// \\O/");
+    mvwaddstr(lookdeer4, 6, 6, "( )______( /");
+    mvwaddstr(lookdeer4, 7, 5, "(/          \\");
+    mvwaddstr(lookdeer4, 8, 0, "v___=             ----^");
 
        /***********************************************/
 
        /***********************************************/
-       cbreak();
-       nodelay(stdscr,TRUE);
-       for (;;) {
-         clear();
-         werase(treescrn);
-         touchwin(w_del_msg);
-         touchwin(treescrn);
-         werase(treescrn2);
-         touchwin(treescrn2);
-         werase(treescrn8);
-         touchwin(treescrn8);
-         refresh();
-         look_out(150);
-         boxit();
-         refresh();
-         look_out(150);
-         seas();
-         refresh();
-         look_out(150);
-         greet();
-         refresh();
-         look_out(150);
-         fromwho();
-         refresh();
-         look_out(150);
-         tree();
-         look_out(150);
-         balls();
-         look_out(150);
-         star();
-         look_out(150);
-         strng1();
-         strng2();
-         strng3();
-         strng4();
-         strng5();
-
+    cbreak();
+    nodelay(stdscr, TRUE);
+    for (;;) {
+       clear();
+       werase(treescrn);
+       touchwin(w_del_msg);
+       touchwin(treescrn);
+       werase(treescrn2);
+       touchwin(treescrn2);
+       werase(treescrn8);
+       touchwin(treescrn8);
+       refresh();
+       look_out(150);
+       boxit();
+       refresh();
+       look_out(150);
+       seas();
+       refresh();
+       look_out(150);
+       greet();
+       refresh();
+       look_out(150);
+       fromwho();
+       refresh();
+       look_out(150);
+       tree();
+       look_out(150);
+       balls();
+       look_out(150);
+       star();
+       look_out(150);
+       strng1();
+       strng2();
+       strng3();
+       strng4();
+       strng5();
 
        /* set up the windows for our blinking trees */
        /* **************************************** */
        /* treescrn3 */
 
 
        /* set up the windows for our blinking trees */
        /* **************************************** */
        /* treescrn3 */
 
-          overlay(treescrn, treescrn3);
+       overlay(treescrn, treescrn3);
 
 
-          /*balls*/
-          mvwaddch(treescrn3, 4, 18, ' ');
-          mvwaddch(treescrn3, 7, 6, ' ');
-          mvwaddch(treescrn3, 8, 19, ' ');
-          mvwaddch(treescrn3, 11, 22, ' ');
+       /*balls */
+       mvwaddch(treescrn3, 4, 18, ' ');
+       mvwaddch(treescrn3, 7, 6, ' ');
+       mvwaddch(treescrn3, 8, 19, ' ');
+       mvwaddch(treescrn3, 11, 22, ' ');
 
 
-          /*star*/
-          mvwaddch(treescrn3, 0, 12, '*');
+       /*star */
+       mvwaddch(treescrn3, 0, 12, '*');
 
 
-          /*strng1*/
-          mvwaddch(treescrn3, 3, 11, ' ');
+       /*strng1 */
+       mvwaddch(treescrn3, 3, 11, ' ');
 
 
-          /*strng2*/
-          mvwaddch(treescrn3, 5, 13, ' ');
-          mvwaddch(treescrn3, 6, 10, ' ');
+       /*strng2 */
+       mvwaddch(treescrn3, 5, 13, ' ');
+       mvwaddch(treescrn3, 6, 10, ' ');
 
 
-          /*strng3*/
-          mvwaddch(treescrn3, 7, 16, ' ');
-          mvwaddch(treescrn3, 7, 14, ' ');
+       /*strng3 */
+       mvwaddch(treescrn3, 7, 16, ' ');
+       mvwaddch(treescrn3, 7, 14, ' ');
 
 
-                  /*strng4*/
-          mvwaddch(treescrn3, 10, 13, ' ');
-          mvwaddch(treescrn3, 10, 10, ' ');
-          mvwaddch(treescrn3, 11, 8, ' ');
-
-                  /*strng5*/
-          mvwaddch(treescrn3, 11, 18, ' ');
-          mvwaddch(treescrn3, 12, 13, ' ');
+       /*strng4 */
+       mvwaddch(treescrn3, 10, 13, ' ');
+       mvwaddch(treescrn3, 10, 10, ' ');
+       mvwaddch(treescrn3, 11, 8, ' ');
 
 
+       /*strng5 */
+       mvwaddch(treescrn3, 11, 18, ' ');
+       mvwaddch(treescrn3, 12, 13, ' ');
 
        /* treescrn4 */
 
 
        /* treescrn4 */
 
-          overlay(treescrn, treescrn4);
-
-          /*balls*/
-          mvwaddch(treescrn4, 3, 9, ' ');
-          mvwaddch(treescrn4, 4, 16, ' ');
-          mvwaddch(treescrn4, 7, 6, ' ');
-          mvwaddch(treescrn4, 8, 19, ' ');
-          mvwaddch(treescrn4, 11, 2, ' ');
-          mvwaddch(treescrn4, 12, 23, ' ');
+       overlay(treescrn, treescrn4);
 
 
-          /*star*/
-          wstandout(treescrn4);
-          mvwaddch(treescrn4, 0, 12, '*');
-          wstandend(treescrn4);
+       /*balls */
+       mvwaddch(treescrn4, 3, 9, ' ');
+       mvwaddch(treescrn4, 4, 16, ' ');
+       mvwaddch(treescrn4, 7, 6, ' ');
+       mvwaddch(treescrn4, 8, 19, ' ');
+       mvwaddch(treescrn4, 11, 2, ' ');
+       mvwaddch(treescrn4, 12, 23, ' ');
 
 
-          /*strng1*/
-          mvwaddch(treescrn4, 3, 13, ' ');
+       /*star */
+       wstandout(treescrn4);
+       mvwaddch(treescrn4, 0, 12, '*');
+       wstandend(treescrn4);
 
 
-          /*strng2*/
+       /*strng1 */
+       mvwaddch(treescrn4, 3, 13, ' ');
 
 
-          /*strng3*/
-          mvwaddch(treescrn4, 7, 15, ' ');
-          mvwaddch(treescrn4, 8, 11, ' ');
+       /*strng2 */
 
 
-          /*strng4*/
-          mvwaddch(treescrn4, 9, 16, ' ');
-          mvwaddch(treescrn4, 10, 12, ' ');
-          mvwaddch(treescrn4, 11, 8, ' ');
+       /*strng3 */
+       mvwaddch(treescrn4, 7, 15, ' ');
+       mvwaddch(treescrn4, 8, 11, ' ');
 
 
-          /*strng5*/
-          mvwaddch(treescrn4, 11, 18, ' ');
-          mvwaddch(treescrn4, 12, 14, ' ');
+       /*strng4 */
+       mvwaddch(treescrn4, 9, 16, ' ');
+       mvwaddch(treescrn4, 10, 12, ' ');
+       mvwaddch(treescrn4, 11, 8, ' ');
 
 
+       /*strng5 */
+       mvwaddch(treescrn4, 11, 18, ' ');
+       mvwaddch(treescrn4, 12, 14, ' ');
 
        /* treescrn5 */
 
 
        /* treescrn5 */
 
-          overlay(treescrn, treescrn5);
+       overlay(treescrn, treescrn5);
 
 
-          /*balls*/
-          mvwaddch(treescrn5, 3, 15, ' ');
-          mvwaddch(treescrn5, 10, 20, ' ');
-          mvwaddch(treescrn5, 12, 1, ' ');
+       /*balls */
+       mvwaddch(treescrn5, 3, 15, ' ');
+       mvwaddch(treescrn5, 10, 20, ' ');
+       mvwaddch(treescrn5, 12, 1, ' ');
 
 
-          /*star*/
-          mvwaddch(treescrn5, 0, 12, '*');
+       /*star */
+       mvwaddch(treescrn5, 0, 12, '*');
 
 
-          /*strng1*/
-          mvwaddch(treescrn5, 3, 11, ' ');
+       /*strng1 */
+       mvwaddch(treescrn5, 3, 11, ' ');
 
 
-          /*strng2*/
-          mvwaddch(treescrn5, 5, 12, ' ');
+       /*strng2 */
+       mvwaddch(treescrn5, 5, 12, ' ');
 
 
-          /*strng3*/
-          mvwaddch(treescrn5, 7, 14, ' ');
-          mvwaddch(treescrn5, 8, 10, ' ');
+       /*strng3 */
+       mvwaddch(treescrn5, 7, 14, ' ');
+       mvwaddch(treescrn5, 8, 10, ' ');
 
 
-          /*strng4*/
-          mvwaddch(treescrn5, 9, 15, ' ');
-          mvwaddch(treescrn5, 10, 11, ' ');
-          mvwaddch(treescrn5, 11, 7, ' ');
+       /*strng4 */
+       mvwaddch(treescrn5, 9, 15, ' ');
+       mvwaddch(treescrn5, 10, 11, ' ');
+       mvwaddch(treescrn5, 11, 7, ' ');
 
 
-          /*strng5*/
-          mvwaddch(treescrn5, 11, 17, ' ');
-          mvwaddch(treescrn5, 12, 13, ' ');
+       /*strng5 */
+       mvwaddch(treescrn5, 11, 17, ' ');
+       mvwaddch(treescrn5, 12, 13, ' ');
 
        /* treescrn6 */
 
 
        /* treescrn6 */
 
-          overlay(treescrn, treescrn6);
+       overlay(treescrn, treescrn6);
 
 
-          /*balls*/
-          mvwaddch(treescrn6, 6, 7, ' ');
-          mvwaddch(treescrn6, 7, 18, ' ');
-          mvwaddch(treescrn6, 10, 4, ' ');
-          mvwaddch(treescrn6, 11, 23, ' ');
+       /*balls */
+       mvwaddch(treescrn6, 6, 7, ' ');
+       mvwaddch(treescrn6, 7, 18, ' ');
+       mvwaddch(treescrn6, 10, 4, ' ');
+       mvwaddch(treescrn6, 11, 23, ' ');
 
 
-          /*star*/
-          wstandout(treescrn6);
-          mvwaddch(treescrn6, 0, 12, '*');
-          wstandend(treescrn6);
+       /*star */
+       wstandout(treescrn6);
+       mvwaddch(treescrn6, 0, 12, '*');
+       wstandend(treescrn6);
 
 
-          /*strng1*/
+       /*strng1 */
 
 
-          /*strng2*/
-          mvwaddch(treescrn6, 5, 11, ' ');
+       /*strng2 */
+       mvwaddch(treescrn6, 5, 11, ' ');
 
 
-          /*strng3*/
-          mvwaddch(treescrn6, 7, 13, ' ');
-          mvwaddch(treescrn6, 8, 9, ' ');
+       /*strng3 */
+       mvwaddch(treescrn6, 7, 13, ' ');
+       mvwaddch(treescrn6, 8, 9, ' ');
 
 
-          /*strng4*/
-          mvwaddch(treescrn6, 9, 14, ' ');
-          mvwaddch(treescrn6, 10, 10, ' ');
-          mvwaddch(treescrn6, 11, 6, ' ');
+       /*strng4 */
+       mvwaddch(treescrn6, 9, 14, ' ');
+       mvwaddch(treescrn6, 10, 10, ' ');
+       mvwaddch(treescrn6, 11, 6, ' ');
 
 
-          /*strng5*/
-          mvwaddch(treescrn6, 11, 16, ' ');
-          mvwaddch(treescrn6, 12, 12, ' ');
+       /*strng5 */
+       mvwaddch(treescrn6, 11, 16, ' ');
+       mvwaddch(treescrn6, 12, 12, ' ');
 
        /* treescrn7 */
 
 
        /* treescrn7 */
 
-          overlay(treescrn, treescrn7);
-
-          /*balls*/
-          mvwaddch(treescrn7, 3, 15, ' ');
-          mvwaddch(treescrn7, 6, 7, ' ');
-          mvwaddch(treescrn7, 7, 18, ' ');
-          mvwaddch(treescrn7, 10, 4, ' ');
-          mvwaddch(treescrn7, 11, 22, ' ');
+       overlay(treescrn, treescrn7);
 
 
-          /*star*/
-          mvwaddch(treescrn7, 0, 12, '*');
+       /*balls */
+       mvwaddch(treescrn7, 3, 15, ' ');
+       mvwaddch(treescrn7, 6, 7, ' ');
+       mvwaddch(treescrn7, 7, 18, ' ');
+       mvwaddch(treescrn7, 10, 4, ' ');
+       mvwaddch(treescrn7, 11, 22, ' ');
 
 
-          /*strng1*/
-          mvwaddch(treescrn7, 3, 12, ' ');
+       /*star */
+       mvwaddch(treescrn7, 0, 12, '*');
 
 
-          /*strng2*/
-          mvwaddch(treescrn7, 5, 13, ' ');
-          mvwaddch(treescrn7, 6, 9, ' ');
+       /*strng1 */
+       mvwaddch(treescrn7, 3, 12, ' ');
 
 
-          /*strng3*/
-          mvwaddch(treescrn7, 7, 15, ' ');
-          mvwaddch(treescrn7, 8, 11, ' ');
+       /*strng2 */
+       mvwaddch(treescrn7, 5, 13, ' ');
+       mvwaddch(treescrn7, 6, 9, ' ');
 
 
-          /*strng4*/
-          mvwaddch(treescrn7, 9, 16, ' ');
-          mvwaddch(treescrn7, 10, 12, ' ');
-          mvwaddch(treescrn7, 11, 8, ' ');
+       /*strng3 */
+       mvwaddch(treescrn7, 7, 15, ' ');
+       mvwaddch(treescrn7, 8, 11, ' ');
 
 
-          /*strng5*/
-          mvwaddch(treescrn7, 11, 18, ' ');
-          mvwaddch(treescrn7, 12, 14, ' ');
+       /*strng4 */
+       mvwaddch(treescrn7, 9, 16, ' ');
+       mvwaddch(treescrn7, 10, 12, ' ');
+       mvwaddch(treescrn7, 11, 8, ' ');
 
 
+       /*strng5 */
+       mvwaddch(treescrn7, 11, 18, ' ');
+       mvwaddch(treescrn7, 12, 14, ' ');
 
 
-          look_out(150);
-          reindeer();
+       look_out(150);
+       reindeer();
 
 
-          touchwin(w_holiday);
-          wrefresh(w_holiday);
-          wrefresh(w_del_msg);
+       touchwin(w_holiday);
+       wrefresh(w_holiday);
+       wrefresh(w_del_msg);
 
 
-          look_out(500);
-          for(loopy = 0;loopy < 100;loopy++) {
-               blinkit();
-          }
+       look_out(500);
+       for (loopy = 0; loopy < 100; loopy++) {
+           blinkit();
+       }
 
 #ifdef NOLOOP
 
 #ifdef NOLOOP
-          done(0);
+       done(0);
 #endif
 #endif
-       }
-       /*NOTREACHED*/
+    }
+    /*NOTREACHED */
 }
 
 }
 
-static int boxit(void)
+static int
+boxit(void)
 {
 {
- int x = 0;
   int x = 0;
 
 
-       while(x < 20) {
-         mvaddch(x, 7, '|');
-         ++x;
-       }
+    while (x < 20) {
+       mvaddch(x, 7, '|');
+       ++x;
+    }
 
 
-       x = 8;
+    x = 8;
 
 
-       while(x < 80) {
-         mvaddch(19, x, '_');
-         ++x;
-       }
+    while (x < 80) {
+       mvaddch(19, x, '_');
+       ++x;
+    }
 
 
-       x = 0;
+    x = 0;
 
 
-       while(x < 80) {
-         mvaddch(22, x, '_');
-         ++x;
-       }
+    while (x < 80) {
+       mvaddch(22, x, '_');
+       ++x;
+    }
 
 
-       return( 0 );
+    return (0);
 }
 
 }
 
-static int seas(void)
+static int
+seas(void)
 {
 {
-       mvaddch(4, 1, 'S');
-       mvaddch(6, 1, 'E');
-       mvaddch(8, 1, 'A');
-       mvaddch(10, 1, 'S');
-       mvaddch(12, 1, 'O');
-       mvaddch(14, 1, 'N');
-       mvaddch(16, 1, '`');
-       mvaddch(18, 1, 'S');
-
-       return( 0 );
+    mvaddch(4, 1, 'S');
+    mvaddch(6, 1, 'E');
+    mvaddch(8, 1, 'A');
+    mvaddch(10, 1, 'S');
+    mvaddch(12, 1, 'O');
+    mvaddch(14, 1, 'N');
+    mvaddch(16, 1, '`');
+    mvaddch(18, 1, 'S');
+
+    return (0);
 }
 
 }
 
-
-static int greet(void)
+static int
+greet(void)
 {
 {
-       mvaddch(3, 5, 'G');
-       mvaddch(5, 5, 'R');
-       mvaddch(7, 5, 'E');
-       mvaddch(9, 5, 'E');
-       mvaddch(11, 5, 'T');
-       mvaddch(13, 5, 'I');
-       mvaddch(15, 5, 'N');
-       mvaddch(17, 5, 'G');
-       mvaddch(19, 5, 'S');
-
-       return( 0 );
+    mvaddch(3, 5, 'G');
+    mvaddch(5, 5, 'R');
+    mvaddch(7, 5, 'E');
+    mvaddch(9, 5, 'E');
+    mvaddch(11, 5, 'T');
+    mvaddch(13, 5, 'I');
+    mvaddch(15, 5, 'N');
+    mvaddch(17, 5, 'G');
+    mvaddch(19, 5, 'S');
+
+    return (0);
 }
 
 }
 
-
-static int fromwho(void)
+static int
+fromwho(void)
 {
 {
-       mvaddstr(21, 13, FROMWHO);
-       return( 0 );
+    mvaddstr(21, 13, FROMWHO);
+    return (0);
 }
 
 }
 
-static int tree(void)
+static int
+tree(void)
 {
 {
-       set_color(treescrn, COLOR_GREEN);
-       mvwaddch(treescrn, 1, 11, (chtype)'/');
-       mvwaddch(treescrn, 2, 11, (chtype)'/');
-       mvwaddch(treescrn, 3, 10, (chtype)'/');
-       mvwaddch(treescrn, 4, 9, (chtype)'/');
-       mvwaddch(treescrn, 5, 9, (chtype)'/');
-       mvwaddch(treescrn, 6, 8, (chtype)'/');
-       mvwaddch(treescrn, 7, 7, (chtype)'/');
-       mvwaddch(treescrn, 8, 6, (chtype)'/');
-       mvwaddch(treescrn, 9, 6, (chtype)'/');
-       mvwaddch(treescrn, 10, 5, (chtype)'/');
-       mvwaddch(treescrn, 11, 3, (chtype)'/');
-       mvwaddch(treescrn, 12, 2, (chtype)'/');
-
-       mvwaddch(treescrn, 1, 13, (chtype)'\\');
-       mvwaddch(treescrn, 2, 13, (chtype)'\\');
-       mvwaddch(treescrn, 3, 14, (chtype)'\\');
-       mvwaddch(treescrn, 4, 15, (chtype)'\\');
-       mvwaddch(treescrn, 5, 15, (chtype)'\\');
-       mvwaddch(treescrn, 6, 16, (chtype)'\\');
-       mvwaddch(treescrn, 7, 17, (chtype)'\\');
-       mvwaddch(treescrn, 8, 18, (chtype)'\\');
-       mvwaddch(treescrn, 9, 18, (chtype)'\\');
-       mvwaddch(treescrn, 10, 19, (chtype)'\\');
-       mvwaddch(treescrn, 11, 21, (chtype)'\\');
-       mvwaddch(treescrn, 12, 22, (chtype)'\\');
-
-       mvwaddch(treescrn, 4, 10, (chtype)'_');
-       mvwaddch(treescrn, 4, 14, (chtype)'_');
-       mvwaddch(treescrn, 8, 7, (chtype)'_');
-       mvwaddch(treescrn, 8, 17, (chtype)'_');
-
-       mvwaddstr(treescrn, 13, 0, "//////////// \\\\\\\\\\\\\\\\\\\\\\\\");
-
-       mvwaddstr(treescrn, 14, 11, "| |");
-       mvwaddstr(treescrn, 15, 11, "|_|");
-
-       unset_color(treescrn);
-       wrefresh(treescrn);
-       wrefresh(w_del_msg);
-
-       return( 0 );
+    set_color(treescrn, COLOR_GREEN);
+    mvwaddch(treescrn, 1, 11, (chtype) '/');
+    mvwaddch(treescrn, 2, 11, (chtype) '/');
+    mvwaddch(treescrn, 3, 10, (chtype) '/');
+    mvwaddch(treescrn, 4, 9, (chtype) '/');
+    mvwaddch(treescrn, 5, 9, (chtype) '/');
+    mvwaddch(treescrn, 6, 8, (chtype) '/');
+    mvwaddch(treescrn, 7, 7, (chtype) '/');
+    mvwaddch(treescrn, 8, 6, (chtype) '/');
+    mvwaddch(treescrn, 9, 6, (chtype) '/');
+    mvwaddch(treescrn, 10, 5, (chtype) '/');
+    mvwaddch(treescrn, 11, 3, (chtype) '/');
+    mvwaddch(treescrn, 12, 2, (chtype) '/');
+
+    mvwaddch(treescrn, 1, 13, (chtype) '\\');
+    mvwaddch(treescrn, 2, 13, (chtype) '\\');
+    mvwaddch(treescrn, 3, 14, (chtype) '\\');
+    mvwaddch(treescrn, 4, 15, (chtype) '\\');
+    mvwaddch(treescrn, 5, 15, (chtype) '\\');
+    mvwaddch(treescrn, 6, 16, (chtype) '\\');
+    mvwaddch(treescrn, 7, 17, (chtype) '\\');
+    mvwaddch(treescrn, 8, 18, (chtype) '\\');
+    mvwaddch(treescrn, 9, 18, (chtype) '\\');
+    mvwaddch(treescrn, 10, 19, (chtype) '\\');
+    mvwaddch(treescrn, 11, 21, (chtype) '\\');
+    mvwaddch(treescrn, 12, 22, (chtype) '\\');
+
+    mvwaddch(treescrn, 4, 10, (chtype) '_');
+    mvwaddch(treescrn, 4, 14, (chtype) '_');
+    mvwaddch(treescrn, 8, 7, (chtype) '_');
+    mvwaddch(treescrn, 8, 17, (chtype) '_');
+
+    mvwaddstr(treescrn, 13, 0, "//////////// \\\\\\\\\\\\\\\\\\\\\\\\");
+
+    mvwaddstr(treescrn, 14, 11, "| |");
+    mvwaddstr(treescrn, 15, 11, "|_|");
+
+    unset_color(treescrn);
+    wrefresh(treescrn);
+    wrefresh(w_del_msg);
+
+    return (0);
 }
 
 }
 
-
-static int balls(void)
+static int
+balls(void)
 {
 {
-       overlay(treescrn, treescrn2);
-
-       set_color(treescrn2, COLOR_BLUE);
-       mvwaddch(treescrn2, 3, 9, (chtype)'@');
-       mvwaddch(treescrn2, 3, 15, (chtype)'@');
-       mvwaddch(treescrn2, 4, 8, (chtype)'@');
-       mvwaddch(treescrn2, 4, 16, (chtype)'@');
-       mvwaddch(treescrn2, 5, 7, (chtype)'@');
-       mvwaddch(treescrn2, 5, 17, (chtype)'@');
-       mvwaddch(treescrn2, 7, 6, (chtype)'@');
-       mvwaddch(treescrn2, 7, 18, (chtype)'@');
-       mvwaddch(treescrn2, 8, 5, (chtype)'@');
-       mvwaddch(treescrn2, 8, 19, (chtype)'@');
-       mvwaddch(treescrn2, 10, 4, (chtype)'@');
-       mvwaddch(treescrn2, 10, 20, (chtype)'@');
-       mvwaddch(treescrn2, 11, 2, (chtype)'@');
-       mvwaddch(treescrn2, 11, 22, (chtype)'@');
-       mvwaddch(treescrn2, 12, 1, (chtype)'@');
-       mvwaddch(treescrn2, 12, 23, (chtype)'@');
-
-       unset_color(treescrn2);
-       wrefresh(treescrn2);
-       wrefresh(w_del_msg);
-       return( 0 );
+    overlay(treescrn, treescrn2);
+
+    set_color(treescrn2, COLOR_BLUE);
+    mvwaddch(treescrn2, 3, 9, (chtype) '@');
+    mvwaddch(treescrn2, 3, 15, (chtype) '@');
+    mvwaddch(treescrn2, 4, 8, (chtype) '@');
+    mvwaddch(treescrn2, 4, 16, (chtype) '@');
+    mvwaddch(treescrn2, 5, 7, (chtype) '@');
+    mvwaddch(treescrn2, 5, 17, (chtype) '@');
+    mvwaddch(treescrn2, 7, 6, (chtype) '@');
+    mvwaddch(treescrn2, 7, 18, (chtype) '@');
+    mvwaddch(treescrn2, 8, 5, (chtype) '@');
+    mvwaddch(treescrn2, 8, 19, (chtype) '@');
+    mvwaddch(treescrn2, 10, 4, (chtype) '@');
+    mvwaddch(treescrn2, 10, 20, (chtype) '@');
+    mvwaddch(treescrn2, 11, 2, (chtype) '@');
+    mvwaddch(treescrn2, 11, 22, (chtype) '@');
+    mvwaddch(treescrn2, 12, 1, (chtype) '@');
+    mvwaddch(treescrn2, 12, 23, (chtype) '@');
+
+    unset_color(treescrn2);
+    wrefresh(treescrn2);
+    wrefresh(w_del_msg);
+    return (0);
 }
 
 }
 
-
-static int star(void)
+static int
+star(void)
 {
 {
-       wattrset(treescrn2, A_BOLD | A_BLINK);
-       set_color(treescrn2, COLOR_YELLOW);
+    wattrset(treescrn2, A_BOLD | A_BLINK);
+    set_color(treescrn2, COLOR_YELLOW);
 
 
-       mvwaddch(treescrn2, 0, 12, (chtype)'*');
-       wstandend(treescrn2);
+    mvwaddch(treescrn2, 0, 12, (chtype) '*');
+    wstandend(treescrn2);
 
 
-       unset_color(treescrn2);
-       wrefresh(treescrn2);
-       wrefresh(w_del_msg);
-       return( 0 );
+    unset_color(treescrn2);
+    wrefresh(treescrn2);
+    wrefresh(w_del_msg);
+    return (0);
 }
 
 }
 
-
-static int strng1(void)
+static int
+strng1(void)
 {
 {
-       wattrset(treescrn2, A_BOLD | A_BLINK);
-       set_color(treescrn2, COLOR_WHITE);
+    wattrset(treescrn2, A_BOLD | A_BLINK);
+    set_color(treescrn2, COLOR_WHITE);
 
 
-       mvwaddch(treescrn2, 3, 13, (chtype)'\'');
-       mvwaddch(treescrn2, 3, 12, (chtype)':');
-       mvwaddch(treescrn2, 3, 11, (chtype)'.');
+    mvwaddch(treescrn2, 3, 13, (chtype) '\'');
+    mvwaddch(treescrn2, 3, 12, (chtype) ':');
+    mvwaddch(treescrn2, 3, 11, (chtype) '.');
 
 
-       wattroff(treescrn2, A_BOLD | A_BLINK);
-       unset_color(treescrn2);
+    wattroff(treescrn2, A_BOLD | A_BLINK);
+    unset_color(treescrn2);
 
 
-       wrefresh(treescrn2);
-       wrefresh(w_del_msg);
-       return( 0 );
+    wrefresh(treescrn2);
+    wrefresh(w_del_msg);
+    return (0);
 }
 
 }
 
-
-static int strng2(void)
+static int
+strng2(void)
 {
 {
-       wattrset(treescrn2, A_BOLD | A_BLINK);
-       set_color(treescrn2, COLOR_WHITE);
-
-       mvwaddch(treescrn2, 5, 14, (chtype)'\'');
-       mvwaddch(treescrn2, 5, 13, (chtype)':');
-       mvwaddch(treescrn2, 5, 12, (chtype)'.');
-       mvwaddch(treescrn2, 5, 11, (chtype)',');
-       mvwaddch(treescrn2, 6, 10, (chtype)'\'');
-       mvwaddch(treescrn2, 6, 9, (chtype)':');
-
-       wattroff(treescrn2, A_BOLD | A_BLINK);
-       unset_color(treescrn2);
-
-       wrefresh(treescrn2);
-       wrefresh(w_del_msg);
-       return( 0 );
+    wattrset(treescrn2, A_BOLD | A_BLINK);
+    set_color(treescrn2, COLOR_WHITE);
+
+    mvwaddch(treescrn2, 5, 14, (chtype) '\'');
+    mvwaddch(treescrn2, 5, 13, (chtype) ':');
+    mvwaddch(treescrn2, 5, 12, (chtype) '.');
+    mvwaddch(treescrn2, 5, 11, (chtype) ',');
+    mvwaddch(treescrn2, 6, 10, (chtype) '\'');
+    mvwaddch(treescrn2, 6, 9, (chtype) ':');
+
+    wattroff(treescrn2, A_BOLD | A_BLINK);
+    unset_color(treescrn2);
+
+    wrefresh(treescrn2);
+    wrefresh(w_del_msg);
+    return (0);
 }
 
 }
 
-
-static int strng3(void)
+static int
+strng3(void)
 {
 {
-       wattrset(treescrn2, A_BOLD | A_BLINK);
-       set_color(treescrn2, COLOR_WHITE);
-
-       mvwaddch(treescrn2, 7, 16, (chtype)'\'');
-       mvwaddch(treescrn2, 7, 15, (chtype)':');
-       mvwaddch(treescrn2, 7, 14, (chtype)'.');
-       mvwaddch(treescrn2, 7, 13, (chtype)',');
-       mvwaddch(treescrn2, 8, 12, (chtype)'\'');
-       mvwaddch(treescrn2, 8, 11, (chtype)':');
-       mvwaddch(treescrn2, 8, 10, (chtype)'.');
-       mvwaddch(treescrn2, 8, 9, (chtype)',');
-
-       wattroff(treescrn2, A_BOLD | A_BLINK);
-       unset_color(treescrn2);
-
-       wrefresh(treescrn2);
-       wrefresh(w_del_msg);
-       return( 0 );
+    wattrset(treescrn2, A_BOLD | A_BLINK);
+    set_color(treescrn2, COLOR_WHITE);
+
+    mvwaddch(treescrn2, 7, 16, (chtype) '\'');
+    mvwaddch(treescrn2, 7, 15, (chtype) ':');
+    mvwaddch(treescrn2, 7, 14, (chtype) '.');
+    mvwaddch(treescrn2, 7, 13, (chtype) ',');
+    mvwaddch(treescrn2, 8, 12, (chtype) '\'');
+    mvwaddch(treescrn2, 8, 11, (chtype) ':');
+    mvwaddch(treescrn2, 8, 10, (chtype) '.');
+    mvwaddch(treescrn2, 8, 9, (chtype) ',');
+
+    wattroff(treescrn2, A_BOLD | A_BLINK);
+    unset_color(treescrn2);
+
+    wrefresh(treescrn2);
+    wrefresh(w_del_msg);
+    return (0);
 }
 
 }
 
-
-static int strng4(void)
+static int
+strng4(void)
 {
 {
-       wattrset(treescrn2, A_BOLD | A_BLINK);
-       set_color(treescrn2, COLOR_WHITE);
-
-       mvwaddch(treescrn2, 9, 17, (chtype)'\'');
-       mvwaddch(treescrn2, 9, 16, (chtype)':');
-       mvwaddch(treescrn2, 9, 15, (chtype)'.');
-       mvwaddch(treescrn2, 9, 14, (chtype)',');
-       mvwaddch(treescrn2, 10, 13, (chtype)'\'');
-       mvwaddch(treescrn2, 10, 12, (chtype)':');
-       mvwaddch(treescrn2, 10, 11, (chtype)'.');
-       mvwaddch(treescrn2, 10, 10, (chtype)',');
-       mvwaddch(treescrn2, 11, 9, (chtype)'\'');
-       mvwaddch(treescrn2, 11, 8, (chtype)':');
-       mvwaddch(treescrn2, 11, 7, (chtype)'.');
-       mvwaddch(treescrn2, 11, 6, (chtype)',');
-       mvwaddch(treescrn2, 12, 5, (chtype)'\'');
-
-       wattroff(treescrn2, A_BOLD | A_BLINK);
-       unset_color(treescrn2);
-
-       wrefresh(treescrn2);
-       wrefresh(w_del_msg);
-       return( 0 );
+    wattrset(treescrn2, A_BOLD | A_BLINK);
+    set_color(treescrn2, COLOR_WHITE);
+
+    mvwaddch(treescrn2, 9, 17, (chtype) '\'');
+    mvwaddch(treescrn2, 9, 16, (chtype) ':');
+    mvwaddch(treescrn2, 9, 15, (chtype) '.');
+    mvwaddch(treescrn2, 9, 14, (chtype) ',');
+    mvwaddch(treescrn2, 10, 13, (chtype) '\'');
+    mvwaddch(treescrn2, 10, 12, (chtype) ':');
+    mvwaddch(treescrn2, 10, 11, (chtype) '.');
+    mvwaddch(treescrn2, 10, 10, (chtype) ',');
+    mvwaddch(treescrn2, 11, 9, (chtype) '\'');
+    mvwaddch(treescrn2, 11, 8, (chtype) ':');
+    mvwaddch(treescrn2, 11, 7, (chtype) '.');
+    mvwaddch(treescrn2, 11, 6, (chtype) ',');
+    mvwaddch(treescrn2, 12, 5, (chtype) '\'');
+
+    wattroff(treescrn2, A_BOLD | A_BLINK);
+    unset_color(treescrn2);
+
+    wrefresh(treescrn2);
+    wrefresh(w_del_msg);
+    return (0);
 }
 
 }
 
-
-static int strng5(void)
+static int
+strng5(void)
 {
 {
-       wattrset(treescrn2, A_BOLD | A_BLINK);
-       set_color(treescrn2, COLOR_WHITE);
-
-       mvwaddch(treescrn2, 11, 19, (chtype)'\'');
-       mvwaddch(treescrn2, 11, 18, (chtype)':');
-       mvwaddch(treescrn2, 11, 17, (chtype)'.');
-       mvwaddch(treescrn2, 11, 16, (chtype)',');
-       mvwaddch(treescrn2, 12, 15, (chtype)'\'');
-       mvwaddch(treescrn2, 12, 14, (chtype)':');
-       mvwaddch(treescrn2, 12, 13, (chtype)'.');
-       mvwaddch(treescrn2, 12, 12, (chtype)',');
-
-       wattroff(treescrn2, A_BOLD | A_BLINK);
-       unset_color(treescrn2);
-
-       /* save a fully lit tree */
-       overlay(treescrn2, treescrn);
-
-       wrefresh(treescrn2);
-       wrefresh(w_del_msg);
-       return( 0 );
+    wattrset(treescrn2, A_BOLD | A_BLINK);
+    set_color(treescrn2, COLOR_WHITE);
+
+    mvwaddch(treescrn2, 11, 19, (chtype) '\'');
+    mvwaddch(treescrn2, 11, 18, (chtype) ':');
+    mvwaddch(treescrn2, 11, 17, (chtype) '.');
+    mvwaddch(treescrn2, 11, 16, (chtype) ',');
+    mvwaddch(treescrn2, 12, 15, (chtype) '\'');
+    mvwaddch(treescrn2, 12, 14, (chtype) ':');
+    mvwaddch(treescrn2, 12, 13, (chtype) '.');
+    mvwaddch(treescrn2, 12, 12, (chtype) ',');
+
+    wattroff(treescrn2, A_BOLD | A_BLINK);
+    unset_color(treescrn2);
+
+    /* save a fully lit tree */
+    overlay(treescrn2, treescrn);
+
+    wrefresh(treescrn2);
+    wrefresh(w_del_msg);
+    return (0);
 }
 
 }
 
-
-
-static int blinkit(void)
+static int
+blinkit(void)
 {
 {
-static int cycle;
+    static int cycle;
 
 
-       if(cycle > 4) {
-         cycle = 0;
-       }
+    if (cycle > 4) {
+       cycle = 0;
+    }
 
 
+    touchwin(treescrn8);
 
 
-       touchwin(treescrn8);
-
-       switch(cycle) {
-         case 0:
-                    overlay(treescrn3, treescrn8);
-                    wrefresh(treescrn8);
-                    wrefresh(w_del_msg);
-                    break;
-         case 1:
-                    overlay(treescrn4, treescrn8);
-                    wrefresh(treescrn8);
-                    wrefresh(w_del_msg);
-                    break;
-         case 2:
-                    overlay(treescrn5, treescrn8);
-                    wrefresh(treescrn8);
-                    wrefresh(w_del_msg);
-                    break;
-         case 3:
-                    overlay(treescrn6, treescrn8);
-                    wrefresh(treescrn8);
-                    wrefresh(w_del_msg);
-                    break;
-         case 4:
-                    overlay(treescrn7, treescrn8);
-                    wrefresh(treescrn8);
-                    wrefresh(w_del_msg);
-                    break;
-       }
-        touchwin(treescrn8);
+    switch (cycle) {
+    case 0:
+       overlay(treescrn3, treescrn8);
+       wrefresh(treescrn8);
+       wrefresh(w_del_msg);
+       break;
+    case 1:
+       overlay(treescrn4, treescrn8);
+       wrefresh(treescrn8);
+       wrefresh(w_del_msg);
+       break;
+    case 2:
+       overlay(treescrn5, treescrn8);
+       wrefresh(treescrn8);
+       wrefresh(w_del_msg);
+       break;
+    case 3:
+       overlay(treescrn6, treescrn8);
+       wrefresh(treescrn8);
+       wrefresh(w_del_msg);
+       break;
+    case 4:
+       overlay(treescrn7, treescrn8);
+       wrefresh(treescrn8);
+       wrefresh(w_del_msg);
+       break;
+    }
+    touchwin(treescrn8);
 
 
-        /*ALL ON***************************************************/
+    /*ALL ON************************************************** */
 
 
-        overlay(treescrn, treescrn8);
-        wrefresh(treescrn8);
-        wrefresh(w_del_msg);
+    overlay(treescrn, treescrn8);
+    wrefresh(treescrn8);
+    wrefresh(w_del_msg);
 
 
-       ++cycle;
-       return( 0 );
+    ++cycle;
+    return (0);
 }
 
 static void
 deer_step(WINDOW *win, int y, int x)
 {
 }
 
 static void
 deer_step(WINDOW *win, int y, int x)
 {
-           mvwin(win, y, x);
-           wrefresh(win);
-           wrefresh(w_del_msg);
-           look_out(5);
+    mvwin(win, y, x);
+    wrefresh(win);
+    wrefresh(w_del_msg);
+    look_out(5);
 }
 
 }
 
-static int reindeer(void)
+static int
+reindeer(void)
 {
 {
- int looper;
- y_pos = 0;
-
+    int looper;
+    y_pos = 0;
 
 
-       for(x_pos = 70; x_pos > 62; x_pos--) {
-         if(x_pos < 62) {
+    for (x_pos = 70; x_pos > 62; x_pos--) {
+       if (x_pos < 62) {
            y_pos = 1;
            y_pos = 1;
-         }
-         for(looper = 0; looper < 4; looper++) {
-           mvwaddch(dotdeer0, y_pos, x_pos, (chtype)'.');
+       }
+       for (looper = 0; looper < 4; looper++) {
+           mvwaddch(dotdeer0, y_pos, x_pos, (chtype) '.');
            wrefresh(dotdeer0);
            wrefresh(w_del_msg);
            werase(dotdeer0);
            wrefresh(dotdeer0);
            wrefresh(w_del_msg);
            look_out(50);
            wrefresh(dotdeer0);
            wrefresh(w_del_msg);
            werase(dotdeer0);
            wrefresh(dotdeer0);
            wrefresh(w_del_msg);
            look_out(50);
-         }
        }
        }
+    }
 
 
-       y_pos = 2;
+    y_pos = 2;
 
 
-       for(; x_pos > 50; x_pos--) {
-         for(looper = 0; looper < 4; looper++) {
+    for (; x_pos > 50; x_pos--) {
+       for (looper = 0; looper < 4; looper++) {
 
 
-           if(x_pos < 56) {
-             y_pos = 3;
+           if (x_pos < 56) {
+               y_pos = 3;
 
 
-             mvwaddch(stardeer0, y_pos, x_pos, (chtype)'*');
-             wrefresh(stardeer0);
-             wrefresh(w_del_msg);
-             werase(stardeer0);
-             wrefresh(stardeer0);
-             wrefresh(w_del_msg);
+               mvwaddch(stardeer0, y_pos, x_pos, (chtype) '*');
+               wrefresh(stardeer0);
+               wrefresh(w_del_msg);
+               werase(stardeer0);
+               wrefresh(stardeer0);
+               wrefresh(w_del_msg);
            } else {
            } else {
-             mvwaddch(dotdeer0, y_pos, x_pos, (chtype)'*');
-             wrefresh(dotdeer0);
-             wrefresh(w_del_msg);
-             werase(dotdeer0);
-             wrefresh(dotdeer0);
-             wrefresh(w_del_msg);
+               mvwaddch(dotdeer0, y_pos, x_pos, (chtype) '*');
+               wrefresh(dotdeer0);
+               wrefresh(w_del_msg);
+               werase(dotdeer0);
+               wrefresh(dotdeer0);
+               wrefresh(w_del_msg);
            }
            }
-         }
        }
        }
+    }
 
 
-       x_pos = 58;
+    x_pos = 58;
 
 
-       for(y_pos = 2; y_pos < 5; y_pos++) {
+    for (y_pos = 2; y_pos < 5; y_pos++) {
 
 
-         touchwin(lildeer0);
-         wrefresh(lildeer0);
-         wrefresh(w_del_msg);
+       touchwin(lildeer0);
+       wrefresh(lildeer0);
+       wrefresh(w_del_msg);
 
 
-         for(looper = 0; looper < 4; looper++) {
+       for (looper = 0; looper < 4; looper++) {
            deer_step(lildeer3, y_pos, x_pos);
            deer_step(lildeer2, y_pos, x_pos);
            deer_step(lildeer1, y_pos, x_pos);
            deer_step(lildeer3, y_pos, x_pos);
            deer_step(lildeer2, y_pos, x_pos);
            deer_step(lildeer1, y_pos, x_pos);
@@ -1057,19 +1069,18 @@ static int reindeer(void)
            wrefresh(w_del_msg);
 
            x_pos -= 2;
            wrefresh(w_del_msg);
 
            x_pos -= 2;
-         }
        }
        }
+    }
 
 
+    x_pos = 35;
 
 
-       x_pos = 35;
+    for (y_pos = 5; y_pos < 10; y_pos++) {
 
 
-       for(y_pos = 5; y_pos < 10; y_pos++) {
-
-         touchwin(middeer0);
-         wrefresh(middeer0);
-         wrefresh(w_del_msg);
+       touchwin(middeer0);
+       wrefresh(middeer0);
+       wrefresh(w_del_msg);
 
 
-         for(looper = 0; looper < 2; looper++) {
+       for (looper = 0; looper < 2; looper++) {
            deer_step(middeer3, y_pos, x_pos);
            deer_step(middeer2, y_pos, x_pos);
            deer_step(middeer1, y_pos, x_pos);
            deer_step(middeer3, y_pos, x_pos);
            deer_step(middeer2, y_pos, x_pos);
            deer_step(middeer1, y_pos, x_pos);
@@ -1081,40 +1092,40 @@ static int reindeer(void)
            wrefresh(w_del_msg);
 
            x_pos -= 3;
            wrefresh(w_del_msg);
 
            x_pos -= 3;
-         }
        }
        }
+    }
 
 
-       look_out(300);
+    look_out(300);
 
 
-       y_pos = 1;
+    y_pos = 1;
 
 
-       for(x_pos = 8; x_pos < 16; x_pos++) {
-           deer_step(bigdeer4, y_pos, x_pos);
-           deer_step(bigdeer3, y_pos, x_pos);
-           deer_step(bigdeer2, y_pos, x_pos);
-           deer_step(bigdeer1, y_pos, x_pos);
-           deer_step(bigdeer2, y_pos, x_pos);
-           deer_step(bigdeer3, y_pos, x_pos);
-           deer_step(bigdeer4, y_pos, x_pos);
-           deer_step(bigdeer0, y_pos, x_pos);
-       }
+    for (x_pos = 8; x_pos < 16; x_pos++) {
+       deer_step(bigdeer4, y_pos, x_pos);
+       deer_step(bigdeer3, y_pos, x_pos);
+       deer_step(bigdeer2, y_pos, x_pos);
+       deer_step(bigdeer1, y_pos, x_pos);
+       deer_step(bigdeer2, y_pos, x_pos);
+       deer_step(bigdeer3, y_pos, x_pos);
+       deer_step(bigdeer4, y_pos, x_pos);
+       deer_step(bigdeer0, y_pos, x_pos);
+    }
 
 
-         --x_pos;
+    --x_pos;
 
 
-         for(looper = 0; looper < 6; looper++) {
-           deer_step(lookdeer4, y_pos, x_pos);
-           deer_step(lookdeer3, y_pos, x_pos);
-           deer_step(lookdeer2, y_pos, x_pos);
-           deer_step(lookdeer1, y_pos, x_pos);
-           deer_step(lookdeer2, y_pos, x_pos);
-           deer_step(lookdeer3, y_pos, x_pos);
-           deer_step(lookdeer4, y_pos, x_pos);
-         }
+    for (looper = 0; looper < 6; looper++) {
+       deer_step(lookdeer4, y_pos, x_pos);
+       deer_step(lookdeer3, y_pos, x_pos);
+       deer_step(lookdeer2, y_pos, x_pos);
+       deer_step(lookdeer1, y_pos, x_pos);
+       deer_step(lookdeer2, y_pos, x_pos);
+       deer_step(lookdeer3, y_pos, x_pos);
+       deer_step(lookdeer4, y_pos, x_pos);
+    }
 
 
-         deer_step(lookdeer0, y_pos, x_pos);
+    deer_step(lookdeer0, y_pos, x_pos);
 
 
-       for(; y_pos < 10; y_pos++) {
-         for(looper = 0; looper < 2; looper++) {
+    for (; y_pos < 10; y_pos++) {
+       for (looper = 0; looper < 2; looper++) {
            deer_step(bigdeer4, y_pos, x_pos);
            deer_step(bigdeer3, y_pos, x_pos);
            deer_step(bigdeer2, y_pos, x_pos);
            deer_step(bigdeer4, y_pos, x_pos);
            deer_step(bigdeer3, y_pos, x_pos);
            deer_step(bigdeer2, y_pos, x_pos);
@@ -1122,27 +1133,28 @@ static int reindeer(void)
            deer_step(bigdeer2, y_pos, x_pos);
            deer_step(bigdeer3, y_pos, x_pos);
            deer_step(bigdeer4, y_pos, x_pos);
            deer_step(bigdeer2, y_pos, x_pos);
            deer_step(bigdeer3, y_pos, x_pos);
            deer_step(bigdeer4, y_pos, x_pos);
-         }
-         deer_step(bigdeer0, y_pos, x_pos);
        }
        }
+       deer_step(bigdeer0, y_pos, x_pos);
+    }
 
 
-       --y_pos;
+    --y_pos;
 
 
-       deer_step(lookdeer3, y_pos, x_pos);
-       return( 0 );
+    deer_step(lookdeer3, y_pos, x_pos);
+    return (0);
 }
 
 }
 
-static RETSIGTYPE done(int sig GCC_UNUSED)
+static RETSIGTYPE
+done(int sig GCC_UNUSED)
 {
 {
-       signal(SIGINT,done);
-       signal(SIGTERM,done);
+    signal(SIGINT, done);
+    signal(SIGTERM, done);
 #if !defined   DOS && !defined OS2
 #if !defined   DOS && !defined OS2
-       signal(SIGHUP,done);
-       signal(SIGQUIT,done);
+    signal(SIGHUP, done);
+    signal(SIGQUIT, done);
 #endif
 #endif
-       move(LINES-1,0);
-       refresh();
-       endwin();
-       curs_set(1);
-       exit(EXIT_SUCCESS);
+    move(LINES - 1, 0);
+    refresh();
+    endwin();
+    curs_set(1);
+    exit(EXIT_SUCCESS);
 }
 }