- 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,
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:
- * 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:
- * 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
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/
# Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
#
# Version Control
-# $Revision: 1.30 $
+# $Revision: 1.34 $
#
.SUFFIXES:
SHELL = /bin/sh
THIS = Makefile
+x = @PROG_EXT@
+
top_srcdir = @top_srcdir@
+DESTDIR = @DESTDIR@
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@
AWK = @AWK@
LN_S = @LN_S@
-CC = @CC@
+HOST_CC = @BUILD_CC@
CFLAGS = @CFLAGS@
CPPFLAGS = @ACPPFLAGS@ \
CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
-LINK = $(CC)
+LINK = $(HOST_CC)
LD_FLAGS = @LD_MODEL@ $(LOCAL_LIBS) @LDFLAGS@ @LIBS@ @LOCAL_LDFLAGS2@ $(LDFLAGS)
RANLIB = @RANLIB@
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`
$(ADA_INCLUDE) \
$(ADA_OBJECTS) :
- $(top_srcdir)/mkinstalldirs $(INSTALL_PREFIX)$@
+ $(top_srcdir)/mkinstalldirs $@
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)
- @echo installing package $(ALIB) in $(INSTALL_PREFIX)$(ADA_OBJECTS)
+ @echo installing package $(ALIB) in $(ADA_OBJECTS)
@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 ::
- @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 ::
- @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
- $(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 >$@
-Base_Defs: gen
+Base_Defs: gen$x
$(GENERATE) B B >$@
-Color_Defs: gen
+Color_Defs: gen$x
$(GENERATE) B C >$@
-Key_Definitions: gen
+Key_Definitions: gen$x
$(GENERATE) B K >$@
-Old_Keys: gen
+Old_Keys: gen$x
$(GENERATE) B O >$@
-ACS_Map: gen
+ACS_Map: gen$x
$(GENERATE) B M >$@
-AC_Rep: gen
+AC_Rep: gen$x
$(GENERATE) B R >$@
-Linker_Options: gen
+Linker_Options: gen$x
$(GENERATE) B L >$@
-Version_Info: gen
+Version_Info: gen$x
$(GENERATE) B V >$@
-Window_Offsets: gen
+Window_Offsets: gen$x
$(GENERATE) B D >$@
-Menu_Opt_Rep: gen
+Menu_Opt_Rep: gen$x
$(GENERATE) M R >$@
-Menu_Base_Defs: gen
+Menu_Base_Defs: gen$x
$(GENERATE) M B >$@
-Menu_Linker_Options: gen
+Menu_Linker_Options: gen$x
$(GENERATE) M L >$@
-Item_Rep: gen
+Item_Rep: gen$x
$(GENERATE) M I >$@
-Form_Opt_Rep: gen
+Form_Opt_Rep: gen$x
$(GENERATE) F R >$@
-Form_Base_Defs: gen
+Form_Base_Defs: gen$x
$(GENERATE) F B >$@
-Form_Linker_Options: gen
+Form_Linker_Options: gen$x
$(GENERATE) F L >$@
-Field_Rep: gen
+Field_Rep: gen$x
$(GENERATE) F I >$@
-Mouse_Base_Defs: gen
+Mouse_Base_Defs: gen$x
$(GENERATE) P B >$@
-Mouse_Event_Rep: gen
+Mouse_Event_Rep: gen$x
$(GENERATE) P M >$@
-Mouse_Events: gen
+Mouse_Events: gen$x
$(GENERATE) B E >$@
-Panel_Linker_Options: gen
+Panel_Linker_Options: gen$x
$(GENERATE) P L >$@
-Chtype_Def: gen
+Chtype_Def: gen$x
$(GENERATE) E C >$@
-Eti_Defs: gen
+Eti_Defs: gen$x
$(GENERATE) E E >$@
$(ADA_SRCDIR)/$(ABASE).ads: $(srcdir)/$(ABASE).ads.m4 \
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)
/*
Version Control
- $Revision: 1.31 $
+ $Revision: 1.32 $
--------------------------------------------------------------------------*/
/*
This program generates various record structures and constants from the
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");
}
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)
{
- int o;
+ long o;
const char* s_bool = "";
GEN_OFFSET(_maxy,short);
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
*/
------------------------------------------------------------------------------
-- 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;
-with Interfaces.C;
package Terminal_Interface.Curses.Forms is
pragma Preelaborate (Terminal_Interface.Curses.Forms);
------------------------------------------------------------------------------
-- 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;
-with Interfaces.C;
with Ada.Characters.Latin_1;
package Terminal_Interface.Curses.Menus is
# Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
#
# Version Control
-# $Revision: 1.24 $
+# $Revision: 1.25 $
#
.SUFFIXES:
SHELL = /bin/sh
THIS = Makefile
+x = @PROG_EXT@
+
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
RAIN_OBJS = rain.o status.o
-all :: demo1 rainy_day
+all :: tour$x rain$x
@
sources :
uninstall.libs ::
@
-demo1: explain.msg
+tour$x : explain.msg
$(ADAMAKE) $(ADAMAKEFLAGS) tour $(CARGS) $(LARGS)
explain.msg: $(srcdir)/explain.txt
cp $(srcdir)/explain.txt $@
-rainy_day:
+rain$x :
$(ADAMAKE) $(ADAMAKEFLAGS) rain $(CARGS) $(LARGS)
mostlyclean:
------------------------------------------------------------------------------
-- 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.
--
-with Terminal_Interface.Curses;
-
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.
------------------------------------------------------------------------------
-- 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;
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);
------------------------------------------------------------------------------
-- Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
-- Version Control
--- $Revision: 1.11 $
+-- $Revision: 1.12 $
-- Binding Version 01.00
------------------------------------------------------------------------------
with Text_IO;
Init_Keyboard_Handler;
- Set_Echo_Mode (FALSE);
+ Set_Echo_Mode (False);
Set_Raw_Mode;
Set_Meta_Mode;
Set_KeyPad_Mode;
# Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
#
# Version Control
-# $Revision: 1.20 $
+# $Revision: 1.22 $
#
.SUFFIXES:
THIS = Makefile
MODEL = ../../@DFT_OBJ_SUBDIR@
+DESTDIR = @DESTDIR@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
-libdir = @libdir@
-includedir = @includedir@
-datadir = @datadir@
-ticdir = $(datadir)/terminfo
ADA_INCLUDE = @ADA_INCLUDE@
INSTALL = @INSTALL@
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
------------------------------------------------------------------------------
-- 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
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;
------------------------------------------------------------------------------
-- Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
-- Version Control:
--- $Revision: 1.25 $
+-- $Revision: 1.26 $
-- Binding Version 01.00
------------------------------------------------------------------------------
with System;
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;
--- $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
---------------------------------------------------------------------
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.
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:
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
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
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
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.
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.
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
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
--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.
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.
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,
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).
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
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
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>
- 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.
./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/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/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
./form/modules
./include/Caps
./include/MKhashsize.sh
+./include/MKncurses_def.sh
./include/MKparametrized.sh
./include/MKterm.h.awk.in
./include/Makefile.in
./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
./man/curs_trace.3x
./man/curs_util.3x
./man/curs_window.3x
+./man/default_colors.3x
./man/define_key.3x
-./man/dft_fgbg.3x
./man/form.3x
./man/form_cursor.3x
./man/form_data.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
./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
./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/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
tinfo/lib_setup \
tinfo/lib_termcap \
tinfo/lib_termname \
+ tinfo/lib_tgoto \
tinfo/lib_ti \
tinfo/lib_tparm \
tinfo/lib_tputs \
tinfo/read_entry \
tinfo/read_termcap \
tinfo/setbuf \
+ tinfo/strings \
tinfo/write_entry \
trace/lib_trace \
trace/lib_traceatr \
-# $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. #
# #
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@
exec_prefix = @exec_prefix@
bindir = @bindir@
-datadir = @datadir@
+ticdir = @TERMINFO@
includedir = @includedir@
libdir = @libdir@
mandir = @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'
################################################################################
# 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/
#
# 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'...
$(DEFS) : make.defs
-LIBDIR = $(INSTALL_PREFIX)$(libdir)
+LIBDIR = $(DESTDIR)$(libdir)
$(LIBDIR) :
mkdir -p $@
# 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 $@
--- $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.
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.
--- $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
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:
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
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.
--- $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
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
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,
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 $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 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
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
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>
[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
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>
-#if HAVE_GXX_BUILTIN_H
+#ifdef HAVE_GXX_BUILTIN_H
#include <g++/builtin.h>
#elif HAVE_GPP_BUILTIN_H
#include <gpp/builtin.h>
[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 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_CANONICAL_HOST
+ ifelse([$1],,[AC_CANONICAL_HOST],[$1])
system_name="$host_os"
else
system_name="`(uname -s -r) 2>/dev/null`"
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([
[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)
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],
[
-if test -n "$GCC"
+if test "$GCC" = yes
then
cat > conftest.i <<EOF
#ifndef GCC_PRINTF
#define GCC_UNUSED /* nothing */
#endif
EOF
-if test -n "$GCC"
+if test "$GCC" = yes
then
AC_CHECKING([for $CC __attribute__ directives])
changequote(,)dnl
dnl
AC_DEFUN([CF_GCC_WARNINGS],
[
-if test -n "$GCC"
+if test "$GCC" = yes
then
changequote(,)dnl
cat > conftest.$ac_ext <<EOF
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"
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
[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
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)' ;;
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
DST=\[$]1
REF=\[$]2
SRC=\[$]3
+TMPSRC=\${TMPDIR-/tmp}/\`basename \$SRC\`\$\$
+TMPSED=\${TMPDIR-/tmp}/headers.sed\$\$
echo installing \$SRC in \$DST
+CF_EOF
+if test $WITH_CURSES_H = yes; then
+ cat >>headers.sh <<CF_EOF
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
- 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
+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
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 \\
-install.includes :: \$(INSTALL_PREFIX)\$(includedir) \\
+install.includes :: \$(AUTO_SRC) \$(DESTDIR)\$(includedir) \\
CF_EOF
j=""
for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
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
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
[
AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
case $1 in
+ libtool) $2='.la' ;;
normal) $2='.a' ;;
debug) $2='_g.a' ;;
profile) $2='_p.a' ;;
AC_DEFUN([CF_LIB_TYPE],
[
case $1 in
+ libtool) $2='' ;;
normal) $2='' ;;
debug) $2='_g' ;;
profile) $2='_p' ;;
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.
}
],[
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
])
+ test "$ac_cv_func_link" = yes && AC_DEFINE(HAVE_LINK)
+ test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK)
fi
])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],
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.
CF_MANPAGE_FORMAT
CF_MANPAGE_RENAMES
CF_MANPAGE_SYMLINKS
+CF_MANPAGE_TBL
if test "$prefix" = "NONE" ; then
cf_prefix="$ac_default_prefix"
# 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
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 \$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
- 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
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
;;
esac
cat >>man/edit_man.sh <<CF_EOF
- echo \$verb \$target
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
+
if test -f \$cf_alias\${suffix} ; then
if ( cmp -s \$target \$cf_alias\${suffix} )
then
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
+ 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
)
)
+ else
+# echo ".hy 0"
+ cat \$TMP
fi
;;
esac
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
+ libtool) $2='obj_lo' ;;
normal) $2='objects' ;;
debug) $2='obj_g' ;;
profile) $2='obj_p' ;;
# 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"
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)
- if test -n "$GCC"; then
+ if test "$GCC" = yes; then
LD_SHARED_OPTS='-Xlinker +b -Xlinker $(libdir)'
else
CC_SHARED_OPTS='+Z'
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'.
- 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*)
- # 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
- 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*)
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"
- 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 $[@]'
- 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
# 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 $[@]'
- 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
- 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 [$]@'
- 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
- 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
- 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 $[@]'
- 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
- 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 $[@]'
- 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"
- EXTRA_LDFLAGS="-R ../lib:\$(libdir) $EXTRA_LDFLAGS"
+ EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
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)
- 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 [$]@'
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)
- 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
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"
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
-#if HAVE_TERMIO_H
+#ifdef HAVE_TERMIO_H
#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
*/
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
- ])
-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 ---------------------------------------------------------------------------
# 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"
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
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
[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 ---------------------------------------------------------------------------
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>
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
- 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_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
-#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)
-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
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
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.
[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
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 ---------------------------------------------------------------------------
<!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>
<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>
- <li>made the extended terminal capabilities
- (<code>configure --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>
-New features:
+New features and improvements:
<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>
- <li>modified <code>tic</code> so that if extended names (i.e.,
- configure --enable-tcap-names) are active, then <code>tic -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>
- <li>implemented limited support for UTF-8, useful with XFree86 xterm:
+ <li>modified configure script options:
<ul>
- <li>if the <code>configure --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 -o</code>, to eliminate dependency on
+ <code>$TERMINFO</code> variable for installs.
</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 reset</code> or <code>tput 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>
- <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 <string.h> 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>
-# $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. #
# #
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@
+LIBTOOL = @LIBTOOL@
+
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
CCFLAGS = $(CPPFLAGS) $(CXXFLAGS)
+CFLAGS_LIBTOOL = $(CCFLAGS)
CFLAGS_NORMAL = $(CCFLAGS)
CFLAGS_DEBUG = $(CCFLAGS) @CXX_G_OPT@ -DTRACE
CFLAGS_PROFILE = $(CCFLAGS) -pg
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@
-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)
+LDFLAGS_LIBTOOL = $(LDFLAGS)
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
$(MODEL)/cursesapp.o \
$(MODEL)/cursesmain.o
-../lib/$(LIBNAME) : $(LIB_OBJS)
+../lib/$(LIBNAME_NORMAL) : $(LIB_OBJS)
$(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 \
cp $(srcdir)/etip.h.in $@
sh $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
-$(INSTALL_PREFIX)$(libdir) :
+$(DESTDIR)$(libdir) :
$(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::
- -rm -f $(INSTALL_PREFIX)$(libdir)/$(LIBNAME)
+ -$(LIBTOOL) rm -f $(DESTDIR)$(libdir)/$(LIBNAME)
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
#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)
FIELD**
NCursesForm::mapFields(NCursesFormField* nfields[]) {
int fieldCount = 0,lcv;
-
+ FIELD** old_fields;
+
assert(nfields != 0);
for (lcv=0; nfields[lcv]->field; ++lcv)
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;
}
// * 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 *
* 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>
+#include <string.h>
extern "C" {
# include <form.h>
if (err != E_OK)
THROW(new NCursesFormException (err));
}
-
+
public:
// Create a 'Null' field. Can be used to delimit a field list
- NCursesFormField()
+ NCursesFormField()
: field((FIELD*)0), ftype((NCursesFieldType*)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);
}
-
+
virtual ~NCursesFormField ();
// Duplicate the field at a new position
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[]);
-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);
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);
// '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) {
}
-
+
public:
// Create form for the default panel.
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?
// 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
- 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) {
- OnError (flag ? ::post_form(form) : ::unpost_form (form));
+ OnError (flag ? ::post_form(form) : ::unpost_form (form));
}
// Decorations
else
OnError(E_SYSTEM_ERROR);
}
-
+
inline void label(const char *topLabel, const char *bottomLabel) {
if (b_framed)
NCursesPanel::label(topLabel,bottomLabel);
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,
- 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:
- NCursesUserForm (NCursesFormField Fields[],
+ NCursesUserForm (NCursesFormField Fields[],
bool with_frame=FALSE,
bool autoDelete_Fields=FALSE)
: NCursesForm (Fields, with_frame, autoDelete_Fields) {
if (form)
set_user ((void *)p_UserData);
};
-
+
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,
with_frame, autoDelete_Fields) {
if (form)
set_user ((void *)p_UserData);
- };
-
+ };
+
virtual ~NCursesUserForm() {
};
-
+
inline T* UserData (void) const {
return (T*)get_user ();
};
}
public:
- Alpha_Field(int width)
+ Alpha_Field(int width)
: NCursesFieldType(TYPE_ALPHA),
min_field_width(width) {
}
}
public:
- Alphanumeric_Field(int width)
+ Alphanumeric_Field(int width)
: NCursesFieldType(TYPE_ALNUM),
min_field_width(width) {
}
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) {
}
};
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) {
}
};
// -------------------------------------------------------------------------
//
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.
- static FIELDTYPE* generic_fieldtype;
+ static FIELDTYPE* generic_fieldtype;
protected:
// This are the functions required by the low level libforms functions
// -------------------------------------------------------------------------
//
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:
- // 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;
// * 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 *
#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;
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);
-}
+}
NCursesPanel::~NCursesPanel() {
UserHook* hook = (UserHook*)::panel_userptr(p);
void
NCursesPanel::redraw() {
PANEL *pan;
-
+
pan = ::panel_above(NULL);
while (pan) {
::touchwin(panel_window(pan));
int err = OK;
if (!title && !btitle) {
err = box();
- }
+ }
else {
err = box();
if (err==OK)
- label(title,btitle);
+ label(title,btitle);
}
OnError(err);
}
void
NCursesPanel::label(const char *tLabel, const char *bLabel) {
- if (tLabel)
+ if (tLabel)
centertext(0,tLabel);
- if (bLabel)
+ if (bLabel)
centertext(maxy(),bLabel);
}
#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
return OK;
}
-#ifdef HAVE_HAS_KEY
+#if HAVE_HAS_KEY
extern "C" int _nc_has_mouse(void);
bool NCursesWindow::has_mouse() const {
// * 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 *
#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;
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() {
// * 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 *
* 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
-#ifdef USE_RCS_IDS
+#if USE_RCS_IDS
#define MODULE_ID(id) static const char Ident[] = id;
#else
#define MODULE_ID(id) /*nothing*/
# 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*,
*: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:*:*)
# 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
### 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.
;;
| 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
+ os=-none
;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
;;
| 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.
basic_machine=t3e-cray
os=-unicos
;;
+ tic54x | c54x*)
+ basic_machine=tic54x-unknown
+ os=-coff
+ ;;
tx39)
basic_machine=mipstx39-unknown
;;
os=-nto-qnx
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -os2 \
| -windows* | -osx | -abug | -netware* | -os9* | -beos* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;;
#! /bin/sh
-# From configure.in Revision: 1.195
+# From configure.in Revision: 1.220
# 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
--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
-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:
+ --with-libtool generate libraries with libtool
--with-shared generate shared-libraries
-EOF
-cat <<EOF
--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
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
- --with-fallbacks=XXX specify list of fallback terminal descriptions
--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
--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
+ --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-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
+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:
- --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-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
+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:
- --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)
-EOF
-cat <<EOF
EOF
exit 0 ;;
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-*)
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
-echo "configure:646: checking host system type" >&5
+echo "configure:675: checking host system type" >&5
host_alias=$host
case "$host_alias" in
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`"
### 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
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 \
# 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
# 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
# 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
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.
cat > conftest.$ac_ext << EOF
-#line 906 "configure"
+#line 976 "configure"
#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
{ 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 "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
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_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
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
-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
-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
test -n "$BUILD_CC" && break
done
+else
+ BUILD_CC="$CC"
fi
+
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 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"
-{ (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
:
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"
-{ (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
:
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"
-{ (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
:
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
-#line 1130 "configure"
+#line 1203 "configure"
#include "confdefs.h"
#include <sgtty.h>
Autoconf TIOCGETP
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
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
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
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
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
# 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
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
# 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
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.
cat > conftest.$ac_ext << EOF
-#line 1393 "configure"
+#line 1466 "configure"
#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
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 "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
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_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
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 "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
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
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
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"
+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
-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
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
# 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
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
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 "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
# 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
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
-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
# 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
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
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
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
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
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
case "$withval" in #(vi
yes|no) #(vi
;;
- *) INSTALL_PREFIX="$withval"
+ *) DESTDIR="$withval"
;;
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
- cf_manpage_form=unknown
+ with_libtool=no
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
- cf_manpage_renames=yes
+ with_normal=yes
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
-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
- cf_manpage_symlinks=yes
+ with_profile=no
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
-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_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
###############################################################################
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
### 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
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 "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_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
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
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
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 "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_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
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
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
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 "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_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
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
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
-#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"
-{ (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*
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
+libtool) LD_MODEL='' ;;
normal) LD_MODEL='' ;;
debug) LD_MODEL=$CC_G_OPT ;;
profile) LD_MODEL='-pg';;
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
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
# 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
-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
-#line 2634 "configure"
+#line 2605 "configure"
#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
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)
- if test -n "$GCC"; then
+ if test "$GCC" = yes; then
LD_SHARED_OPTS='-Xlinker +b -Xlinker $(libdir)'
else
CC_SHARED_OPTS='+Z'
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'.
- 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*)
- # 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
- 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*)
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"
- 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 $@'
- 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
# 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 $@'
- 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
- 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 $@'
- 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
- 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
- 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 $@'
- 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
- 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 $@'
- 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"
- EXTRA_LDFLAGS="-R ../lib:\$(libdir) $EXTRA_LDFLAGS"
+ EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
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)
- 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 $@'
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"
- LIBS="$LIBS ${cf_ld_rpath_opt}/usr/lib"
+ LIBS="$LIBS ${cf_ld_rpath_opt}$libdir"
cat > conftest.$ac_ext <<EOF
-#line 2814 "configure"
+#line 2784 "configure"
#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 -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
### 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
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"
- with_database=$enableval
+ use_database=$enableval
else
- with_database=yes
+ use_database=yes
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
+ 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 "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
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
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
+
+
### 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
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>
-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
-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
### 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
### 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
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
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
-#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. */
; 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
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
-#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. */
; 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
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
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>
}
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'
-
-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
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
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
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
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
### 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
### 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
- 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
+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
###############################################################################
### 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
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
### 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
fi
echo "$ac_t""$with_ext_const" 1>&6
-NCURSES_CONST=""
+NCURSES_CONST='/*nothing*/'
if test "$with_ext_const" = yes ; then
- cat >> confdefs.h <<\EOF
-#define NCURSES_CONST const
-EOF
-
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 "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
### 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
### 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
###############################################################################
+# 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
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
### 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
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 "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
# 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
### 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
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
+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
ECHO_LINK=
else
ECHO_LINK='@ echo linking $@ ... ;'
+ test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
fi
+echo "$ac_t""$with_echo" 1>&6
### 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
with_warnings=$enableval
fi
+echo "$ac_t""$with_warnings" 1>&6
+
if test -n "$with_warnings"; then
ADAFLAGS="$ADAFLAGS -gnatg"
-if test -n "$GCC"
+if test "$GCC" = yes
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
-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=""
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"
fi
-if test -n "$GCC"
+if test "$GCC" = yes
then
cat > conftest.i <<EOF
#ifndef GCC_PRINTF
#define GCC_UNUSED /* nothing */
#endif
EOF
-if test -n "$GCC"
+if test "$GCC" = yes
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
-#line 3702 "configure"
+#line 4143 "configure"
#include "confdefs.h"
#include "conftest.h"
#include "conftest.i"
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
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
### 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
with_assertions=no
fi
+echo "$ac_t""$with_assertions" 1>&6
if test -n "$GCC"
then
- if test $with_assertions = no
+ if test "$with_assertions" = no
then
cat >> confdefs.h <<\EOF
#define NDEBUG 1
# 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
# 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
# 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
### 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
-#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. */
; 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
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_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
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
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
-#line 3924 "configure"
+#line 4368 "configure"
#include "confdefs.h"
#include <stdio.h>
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
### 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
-#line 3961 "configure"
+#line 4405 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
#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*
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
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
:
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')
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
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
-#line 4069 "configure"
+#line 4513 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$ac_hdr>
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
# 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_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
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
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_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
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
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
-#line 4192 "configure"
+#line 4636 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <regex.h>
; 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*
cat > conftest.$ac_ext <<EOF
-#line 4214 "configure"
+#line 4658 "configure"
#include "confdefs.h"
#include <regexp.h>
int main() {
; 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
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() {
; 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
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
-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
-#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"
-{ (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*
# 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_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
-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
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_%'`
-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
- 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 <$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
-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*
- eval "ac_cv_header_$ac_safe=yes"
+ eval "ac_cv_lib_$ac_lib_var=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"
+ eval "ac_cv_lib_$ac_lib_var=no"
fi
rm -f conftest*
+LIBS="$ac_save_LIBS"
+
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
- 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
-done
-
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
-#line 4473 "configure"
+#line 4875 "configure"
#include "confdefs.h"
#include <sys/types.h>
-#if HAVE_SYS_TIME_H
+#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
-#if HAVE_SYS_SELECT_H
+#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
; 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
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
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
-#line 4522 "configure"
+#line 4924 "configure"
#include "confdefs.h"
int main() {
; 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
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
-#line 4599 "configure"
+#line 5001 "configure"
#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
;;
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
-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
-#line 4644 "configure"
+#line 5046 "configure"
#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
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
cf_cv_typeof_chtype=long
else
cat > conftest.$ac_ext <<EOF
-#line 4678 "configure"
+#line 5080 "configure"
#include "confdefs.h"
-#if USE_WIDEC_SUPPORT
+#ifdef USE_WIDEC_SUPPORT
#include <stddef.h> /* we want wchar_t */
#define WANT_BITS 39
#else
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.
}
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
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
cf_cv_shift_limit=32
else
cat > conftest.$ac_ext <<EOF
-#line 4766 "configure"
+#line 5168 "configure"
#include "confdefs.h"
#include <stdio.h>
}
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
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
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
-#line 4842 "configure"
+#line 5244 "configure"
#include "confdefs.h"
#ifdef HAVE_STDLIB_H
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
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
# 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
-#line 4892 "configure"
+#line 5294 "configure"
#include "confdefs.h"
#undef errno
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
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
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
-#line 4941 "configure"
+#line 5343 "configure"
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
-#line 4950 "configure"
+#line 5352 "configure"
int testfunc()
{
#if defined(NeXT)
#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
cf_cv_link_dataonly=unknown
else
cat > conftest.$ac_ext <<EOF
-#line 4975 "configure"
+#line 5377 "configure"
#include "confdefs.h"
int main()
}
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
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
-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 \
+getegid \
+geteuid \
getttynam \
+issetugid \
memccpy \
mkstemp \
nanosleep \
sigvec \
strdup \
strstr \
-tcgetattr \
tcgetpgrp \
times \
vfscanf \
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
-#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. */
; 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
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
-#line 5146 "configure"
+#line 5499 "configure"
#include "confdefs.h"
#include <stdlib.h>
; 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
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
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
-#line 5190 "configure"
+#line 5543 "configure"
#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
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
-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 "configure:5218: checking whether sigaction needs _POSIX_SOURCE" >&5
+echo "configure:5571: checking whether sigaction needs _POSIX_SOURCE" >&5
cat > conftest.$ac_ext <<EOF
-#line 5220 "configure"
+#line 5573 "configure"
#include "confdefs.h"
#include <sys/types.h>
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*
cat > conftest.$ac_ext <<EOF
-#line 5238 "configure"
+#line 5591 "configure"
#include "confdefs.h"
#define _POSIX_SOURCE
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
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
- 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 "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
-#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
-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*
cat > conftest.$ac_ext <<EOF
-#line 5294 "configure"
+#line 5733 "configure"
#include "confdefs.h"
#define _POSIX_SOURCE
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
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
-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
{ 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. */
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
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
-#line 5380 "configure"
+#line 5869 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
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
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
-#line 5423 "configure"
+#line 5912 "configure"
#include "confdefs.h"
#include <signal.h>
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
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
+
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
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>
-#if HAVE_TERMIOS_H
+#ifdef HAVE_TERMIOS_H
#include <termios.h>
#else
-#if HAVE_TERMIO_H
+#ifdef HAVE_TERMIO_H
#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
*/
; 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
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
-
+
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
+ 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 "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
-#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. */
; 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
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
-#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. */
; 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
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
cf_cv_good_bcopy=unknown
else
cat > conftest.$ac_ext <<EOF
-#line 5636 "configure"
+#line 6133 "configure"
#include "confdefs.h"
int main() {
}
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
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
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
cf_cv_working_poll=unknown
else
cat > conftest.$ac_ext <<EOF
-#line 5696 "configure"
+#line 6193 "configure"
#include "confdefs.h"
#include <stdio.h>
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
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
-#line 5750 "configure"
+#line 6247 "configure"
#include "confdefs.h"
#include <stdio.h>
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
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
;;
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
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>
; 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
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
- 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_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 "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
-#line 5855 "configure"
+#line 6353 "configure"
#include "confdefs.h"
#include <$cf_gpp_libname/builtin.h>
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"
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>
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"
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 "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
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"
-{ (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
:
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
-#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"
-{ (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*
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
-#line 6010 "configure"
+#line 6511 "configure"
#include "confdefs.h"
#include <stdio.h>
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
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
-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
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 <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>
}
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
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
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>
; 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
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 "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
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);
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
# 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 ;;
# 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
# 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
- 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
- ac_cv_prog_m4_exists="yes"
+ ac_cv_prog_M4_exists="yes"
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
-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
- 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
-echo "configure:6335: checking if GNAT works" >&5
+echo "configure:6836: checking if GNAT works" >&5
rm -f conftest*
cat >>conftest.ads <<CF_EOF
-# 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
### 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
### 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 "$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
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
### 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
+ libtool) DFT_ARG_SUFFIX='' ;;
normal) DFT_ARG_SUFFIX='' ;;
debug) DFT_ARG_SUFFIX='_g' ;;
profile) DFT_ARG_SUFFIX='_p' ;;
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
+ libtool) DFT_DEP_SUFFIX='.la' ;;
normal) DFT_DEP_SUFFIX='.a' ;;
debug) DFT_DEP_SUFFIX='_g.a' ;;
profile) DFT_DEP_SUFFIX='_p.a' ;;
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
+ libtool) DFT_OBJ_SUBDIR='obj_lo' ;;
normal) DFT_OBJ_SUBDIR='objects' ;;
debug) DFT_OBJ_SUBDIR='obj_g' ;;
profile) DFT_OBJ_SUBDIR='obj_p' ;;
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"
-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 "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}
### 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"
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"
-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"
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
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
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
do
case $cf_item in
+ libtool) cf_subdir='obj_lo' ;;
normal) cf_subdir='objects' ;;
debug) cf_subdir='obj_g' ;;
profile) cf_subdir='obj_p' ;;
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 ;;
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
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%@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%@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%@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%@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%@TERMINFO@%$TERMINFO%g
s%@NCURSES_CONST@%$NCURSES_CONST%g
s%@NCURSES_XNAMES@%$NCURSES_XNAMES%g
s%@ECHO_LINK@%$ECHO_LINK%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%@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%@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
include/curses.h \
include/termcap.h \
include/unctrl.h \
+ misc/run_tic.sh:misc/run_tic.in \
$SUB_MAKEFILES \
Makefile"}
EOF
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"
+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"
case $cf_item in
+ libtool) cf_suffix='.la' ;;
normal) cf_suffix='.a' ;;
debug) cf_suffix='_g.a' ;;
profile) cf_suffix='_p.a' ;;
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)' ;;
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
+ libtool) cf_suffix='.la' ;;
normal) cf_suffix='.a' ;;
debug) cf_suffix='_g.a' ;;
profile) cf_suffix='_p.a' ;;
case $cf_item in
+ libtool) cf_subdir='obj_lo' ;;
normal) cf_subdir='objects' ;;
debug) cf_subdir='obj_g' ;;
profile) cf_subdir='obj_p' ;;
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
DST=\$1
REF=\$2
SRC=\$3
+TMPSRC=\${TMPDIR-/tmp}/\`basename \$SRC\`\$\$
+TMPSED=\${TMPDIR-/tmp}/headers.sed\$\$
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/*)
- 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\`
+ if test "\$NAME" = "curses.h"
+ then
+ echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
+ NAME=ncurses.h
+ fi
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
+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
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 \\
-install.includes :: \$(INSTALL_PREFIX)\$(includedir) \\
+install.includes :: \$(AUTO_SRC) \$(DESTDIR)\$(includedir) \\
CF_EOF
j=""
for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
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
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
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 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.
-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
-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)
### 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
-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
+AC_SUBST(BUILD_CC)
AC_PROG_CPP
AC_PROG_GCC_TRADITIONAL
AC_ISC_POSIX
AC_PROG_CXX
popdef([AC_MSG_ERROR])dnl
fi
+
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)
[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"
+AC_ARG_PROGRAM
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
+CF_MAKE_TAGS
AC_CHECK_PROGS(LINT, tdlint lint alint)
AC_CHECK_PROGS(MAN, man man_db)
AC_SUBST(LINT_OPTS)
[case "$withval" in #(vi
yes|no) #(vi
;;
- *) INSTALL_PREFIX="$withval"
+ *) DESTDIR="$withval"
;;
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_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(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
[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
[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
[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_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';;
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,
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_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
+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)
[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])])
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:)
[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)
[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
- AC_DEFINE(NCURSES_CONST,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_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,
- [ --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
-AC_MSG_CHECKING(if you want experimental colorfgbg code)
+AC_MSG_CHECKING(if you want colorfgbg code)
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
-AC_MSG_CHECKING(if you want experimental hard-tabs code)
+AC_MSG_CHECKING(if you want hard-tabs code)
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)
+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],
### 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)
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
+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],
ECHO_LINK=
else
ECHO_LINK='@ echo linking $@ ... ;'
+ test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
fi
+AC_MSG_RESULT($with_echo)
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_MSG_RESULT($with_warnings)
+
if test -n "$with_warnings"; then
ADAFLAGS="$ADAFLAGS -gnatg"
CF_GCC_WARNINGS
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_MSG_RESULT($with_assertions)
if test -n "$GCC"
then
- if test $with_assertions = no
+ if test "$with_assertions" = no
then
AC_DEFINE(NDEBUG)
CPPFLAGS="$CPPFLAGS -DNDEBUG"
### 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],
- [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],
- [test $enableval = no && AC_DEFINE(NCURSES_NOMACROS)])
+ [test "$enableval" = no && AC_DEFINE(NCURSES_NOMACROS)])
### Checks for libraries.
AC_CHECK_FUNC(gettimeofday,
sys/select.h \
sys/time.h \
sys/times.h \
-termio.h \
-termios.h \
ttyent.h \
unistd.h \
)
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
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
### Checks for external-data
CF_ERRNO
CF_LINK_DATAONLY
-CF_SPEED_TYPE
### Checks for library functions.
AC_CHECK_FUNCS( \
getcwd \
+getegid \
+geteuid \
getttynam \
+issetugid \
memccpy \
mkstemp \
nanosleep \
sigvec \
strdup \
strstr \
-tcgetattr \
tcgetpgrp \
times \
vfscanf \
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
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
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
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])
[$]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
### 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
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"
-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 && \
### 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"
include/curses.h \
include/termcap.h \
include/unctrl.h \
+ misc/run_tic.sh:misc/run_tic.in \
$SUB_MAKEFILES \
Makefile,[
CF_LIB_RULES
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"
+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"
#
# 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
+EOF
+
+print <<EOF unless $no_zexe;
# Make sensible defaults:
-CC="gcc -Zexe"
+CC="gcc -Zexe -Zmt"
export CC
+CXX="gcc -Zexe -Zmt"
+export CXX
#GCCOPT="$GCCOPT -Zexe"
#export GCCOPT
+EOF
+
+print <<EOF;
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 (<>) {
- 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 = 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*;}
- {$2$subst$1 -f $3 -o -f $3.exe ;}
+ {$2$subst$1 -f $3 -o -f $3.exe ;}
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/\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/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,^(\s*/usr/sbin/sendmail\s*)\\$,$1 "`whence sendmail | tr '\\\\\\\\' / `" \\,;
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
-# $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
# 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)
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
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 ;\
<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");
- <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");
<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>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>);
<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");
- <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");
<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
- (<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>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>);
<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>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>generic</b>
<b>type</b> <FONT COLOR=red><A NAME="42_9">T</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#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
- (<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#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>
<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>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;
- <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");
- <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>;
<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> => <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> => <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>)),
<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
- (<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;
<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>);
<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");
- <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>;
<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>
<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>);
<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");
- <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");
<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
- (<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>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>);
<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;
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>;
<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>
<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>);
<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;
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");
<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;
<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>);
<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;
<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;
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>,
<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
- (<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;
<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="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>
<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>
- <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>
<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;
- <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>;
<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;
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>,
<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;
<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=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>
<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>
<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>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>
<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;
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>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> 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>
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");
<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 => System.Null_Address,
Typ => <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>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>);
<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>);
<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>);
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>,
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>,
<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>
- <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=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>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>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>
<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);
<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>
- <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=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>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>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>
<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>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>type</b> <FONT COLOR=red><A NAME="54_9">C_Field_Array</A></FONT> <b>is</b> <b>array</b> (Natural <b>range</b> <>) <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> <>) <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>
- <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>-- 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-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>
- 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-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>
- <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>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>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>
<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>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");
- <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>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>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>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>
- <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>;
- <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>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>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="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");
- <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>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>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>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="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");
- <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>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;
<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>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> :=
- <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>);
<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>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>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>
<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>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="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>
- 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>;
<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>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>
- <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>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>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>
- <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>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>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="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>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>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>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");
- <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;
<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>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="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>);
<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>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="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>
- <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>;
<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>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");
- <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="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>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>
- <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>);
<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>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");
- <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>
- <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>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>
- <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>
- <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>
<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>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 => Character'First,
- Color => <A HREF="terminal_interface-curses-forms__ads.htm#432_7">Color</A>,
- Attr => <A HREF="terminal_interface-curses-forms__ads.htm#431_7">Fore</A>);
+ Color => <A HREF="terminal_interface-curses-forms__ads.htm#431_7">Color</A>,
+ Attr => <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> :=
- <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>);
<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>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>
- <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>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>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>
- <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>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>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 => Character'First,
- Color => <A HREF="terminal_interface-curses-forms__ads.htm#452_7">Color</A>,
- Attr => <A HREF="terminal_interface-curses-forms__ads.htm#451_7">Back</A>);
+ Color => <A HREF="terminal_interface-curses-forms__ads.htm#451_7">Color</A>,
+ Attr => <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> :=
- <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>);
<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>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>
- <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>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>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>
- <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>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>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="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>);
<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>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>
- <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>
<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>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>;
- <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>);
<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>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>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>;
- <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__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>
<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>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="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>);
<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>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");
- <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>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>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="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>);
<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>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");
- <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>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>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>;
- <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>;
- <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>
<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>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");
- <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>);
<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>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");
- <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>);
<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>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");
- <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>);
<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>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");
- <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>);
<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>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);
- <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>
- <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>;
<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>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");
- 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>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>
- 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>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>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>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>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>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");
- <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>);
<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>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");
- <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>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>
- <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>;
<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>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");
- <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>;
- <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>
<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>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="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>
- <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>;
<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>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");
- <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="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>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>
- <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>);
<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>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");
- <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>
- <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>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>
- <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>
- <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>
<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>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>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>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>
- <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>);
<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>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");
- <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>);
<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>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");
- <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;
<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>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");
- <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;
<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>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");
- <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>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>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>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>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>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>
<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>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");
- <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>);
<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>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");
- <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>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>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>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");
- <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>);
<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>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");
- <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> < 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>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>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>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");
- <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>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;
<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>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");
- <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>);
<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>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");
- <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>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
- (<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>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>;
- <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>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>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>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>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;
<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
<FONT COLOR=green><EM>-- Author: <A HREF="http://home.t-online.de/home/Juergen.Pfeifer">Jürgen Pfeifer</A> <<A HREF="mailto:juergen.pfeifer@gmx.net"><juergen.pfeifer@gmx.net></A>> 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>-- 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);
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>;
- <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,
<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;
- <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> 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;
- <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>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>
<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;
- <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;
- <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;
- <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>
- <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>
- <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;
- <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>
- <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;
- <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;
- <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;
- <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;
- <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;
- <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;
- <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;
- <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;
<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>
- <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>
<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>
- <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);
<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);
<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
- (<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
- (<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>
- <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);
<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);
<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>
- <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>
- <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>
<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>
- <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>
- <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
- (<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>
- <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>
- <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>
- <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>
- <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);
<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>
- <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);
<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);
<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);
<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);
<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>
- <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>
- <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>
- <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);
<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>
- <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>
- <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);
<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);
<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>
- <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>
- <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>
<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>
<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>
- <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>
<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);
<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);
<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);
<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;
- <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;
<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>
- <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");
<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>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>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>
<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>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>
- <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");
<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>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>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>
<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>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> <>) <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> <>) <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>
- <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>
- 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-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>
- 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-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>
- <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>
- <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>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>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>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>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>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="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;
- <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>
- 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>);
- <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>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>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>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>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>
- <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>;
- <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>;
- <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>;
- <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>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>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="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>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>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>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>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>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>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>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>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="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>
- <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>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>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");
- <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="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>
- <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>
- <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>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>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");
- <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>
- <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>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>
- <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>
- <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>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>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>
- <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>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>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>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>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>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>
- <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>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>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>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>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>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");
- <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>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>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");
- <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>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>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>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="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>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>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");
- <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>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>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>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");
- <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>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>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>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>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>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>
- <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>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>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="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>
- <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>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>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");
- <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="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>
- <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>
- <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>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>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");
- <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>
- <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>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>
- <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>
- <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>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>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="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>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>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");
- <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>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>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="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>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>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");
- <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>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>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>;
- <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>;
- <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>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>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");
- <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>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>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");
- <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>
- 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>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>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>
- <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>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>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>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>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>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 => Character'First,
- Color => <A HREF="terminal_interface-curses-menus__ads.htm#428_7">Color</A>,
- Attr => <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 => <A HREF="terminal_interface-curses-menus__ads.htm#427_7">Color</A>,
+ Attr => <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>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>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>
- <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>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>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>
- <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>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>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 => Character'First,
- Color => <A HREF="terminal_interface-curses-menus__ads.htm#448_7">Color</A>,
- Attr => <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 => <A HREF="terminal_interface-curses-menus__ads.htm#447_7">Color</A>,
+ Attr => <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>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>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>
- <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>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>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>
- <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>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>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 => Character'First,
- Color => <A HREF="terminal_interface-curses-menus__ads.htm#468_7">Color</A>,
- Attr => <A HREF="terminal_interface-curses-menus__ads.htm#467_7">Grey</A>);
+ Color => <A HREF="terminal_interface-curses-menus__ads.htm#467_7">Color</A>,
+ Attr => <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>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>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>
- <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>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>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>
- <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>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>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="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>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>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>
- <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>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>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="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>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>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>;
- <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>);
<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>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>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");
- <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>
- 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> => <b>return</b> False;
<b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#80_4">E_Ok</A> => <b>return</b> True;
<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>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>
- <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>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>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="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>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>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>;
- <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>
- <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>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>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");
- <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>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>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");
- <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>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>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");
- <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>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>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");
- <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>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>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>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>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>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>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>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>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>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>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>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>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>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>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);
- <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>
- <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>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>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>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>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>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");
- 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>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>
- 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>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>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");
- <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>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>
- <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>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>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");
- <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>;
- <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>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>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="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>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#88_4">E_Unknown_Command</A> => <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> => <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> => <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> => <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> |
- <A HREF="terminal_interface-curses-aux__ads.htm#90_4">E_Not_Selectable</A> => <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> => <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#649_27">Request_Denied</A>;
<b>when</b> <b>others</b> =>
<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>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
- (<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>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>;
- <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>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>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>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>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>
<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
<FONT COLOR=green><EM>-- Author: <A HREF="http://home.t-online.de/home/Juergen.Pfeifer">Jürgen Pfeifer</A> <<A HREF="mailto:juergen.pfeifer@gmx.net"><juergen.pfeifer@gmx.net></A>> 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>
-<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>
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>
- <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>
- <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>
- <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;
- <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;
<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;
- <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>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>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>
<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>
- <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>
<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);
<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>
- <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>
<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>
<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;
<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>
<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);
<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);
<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>
<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>
- <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>
- <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>
<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);
<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);
<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);
<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>
- <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>
<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>
- <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>
- <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
- (<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>
- <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>
- <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
- (<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>
- <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
- (<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>
- <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>
- <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);
<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>
- <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);
<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>
- <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);
<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>
- <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);
<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>
- <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>
- <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>
- <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);
<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);
- <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>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);
<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>
- <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>
- <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;
- <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;
<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
<FONT COLOR=green><EM>-- Author: <A HREF="http://home.t-online.de/home/Juergen.Pfeifer">Jürgen Pfeifer</A> <<A HREF="mailto:juergen.pfeifer@gmx.net"><juergen.pfeifer@gmx.net></A>> 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>
<b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#128_7">P_Size</A> > 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>) >= <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;
<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
<FONT COLOR=green><EM>-- Author: <A HREF="http://home.t-online.de/home/Juergen.Pfeifer">Jürgen Pfeifer</A> <<A HREF="mailto:juergen.pfeifer@gmx.net"><juergen.pfeifer@gmx.net></A>> 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;
<b>when</b> <A HREF="terminal_interface-curses__ads.htm#895_36">Non_Blocking</A> => <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> =>
<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>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;
<!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>
-<TITLE>Announcing ncurses 5.1</TITLE>
+<TITLE>Announcing ncurses 5.2</TITLE>
<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,
<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>
- <li>made the extended terminal capabilities
- (<code>configure --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>
-New features:
+New features and improvements:
<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>
- <li>modified <code>tic</code> so that if extended names (i.e.,
- configure --enable-tcap-names) are active, then <code>tic -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>
- <li>implemented limited support for UTF-8, useful with XFree86 xterm:
+ <li>modified configure script options:
<ul>
- <li>if the <code>configure --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 -o</code>, to eliminate dependency on
+ <code>$TERMINFO</code> variable for installs.
</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 reset</code> or <code>tput 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>
- <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 <string.h> 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>
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 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>
- @DATADIR@/terminfo Compiled terminal description
+ /usr/share/terminfo Compiled terminal description
database.
<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.
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
-----------------------------
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
-------------
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>
<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>
</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>
<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>
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.
-
-
-
</PRE>
<HR>
<ADDRESS>
</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>
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>]
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
</PRE>
<H2>FILES</H2><PRE>
- @DATADIR@/terminfo Compiled terminal description
+ /usr/share/terminfo Compiled terminal description
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
</PRE>
<H2>FILES</H2><PRE>
- @DATADIR@/terminfo Compiled terminal description
+ /usr/share/terminfo Compiled terminal description
database.
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_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_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_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>
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_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_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>
</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
- 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
- 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
- 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>
- 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
- 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>
<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
- <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.]
- 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>.
- 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>.)
- 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.
- 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
- 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><curses.h></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
- running in an AT&T 630 layer, for example, where the size
+ running in an AT&T 630 layer, for example, where the size
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
- 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
- <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><curses.h></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><curses.h></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
- 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>
- 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
- 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
- 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.
- 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
- 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><curses.h></B>. The type <B>TERMINAL</B> is defined in <B><term.h></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><curses.h></B>. The type <B>TERMINAL</B> is defined in <B><term.h></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
- 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.
- <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>
- 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).
</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
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.
- 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
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 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
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
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
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.
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.
- one or more directories whose names are configured
and compiled into the ncurses library, e.g.,
- @DATADIR@/terminfo
+ /usr/share/terminfo
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
- 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.
+ 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>
- @DATADIR@/tabset
+ /usr/share/tabset
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>
<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
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>
- 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
- of the EXTENDED XSI Curses functionality (including color
+ of the EXTENDED XSI Curses functionality (including color
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>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>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>,
- 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
- 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.
- 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
- 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.
-
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>).
- 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><type></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><type></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><type></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><type></B> <B>*</B> globally.
</PRE>
<H2>NOTES</H2><PRE>
- The header file <B><curses.h></B> automatically includes the
+ The header file <B><curses.h></B> automatically includes the
header files <B><stdio.h></B> and <B><unctrl.h></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&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&T System V Release 3 curses.
</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.
-
-
-
-
-
</PRE>
</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
- 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
</PRE>
<H2>FILES</H2><PRE>
- @DATADIR@/terminfo/*/* compiled terminal capability data
+ /usr/share/terminfo/*/* compiled terminal capability data
base
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
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>.
</PRE>
<H2>FILES</H2><PRE>
- @DATADIR@/terminfo/?/*
+ /usr/share/terminfo/?/*
compiled terminal capability data base
/etc/inittab
</PRE>
<H2>SYNOPSIS</H2><PRE>
- @DATADIR@/terminfo/*/*
+ /usr/share/terminfo/*/*
</PRE>
(P*)
change_char_pitch cpi ZA Change number of
characters per inch
+ to #1
change_line_pitch lpi ZB Change number of
- lines per inch
+ lines per inch to #1
change_res_horz chr ZC Change horizontal
- resolution
+ resolution to #1
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)
ble
cursor_left cub1 le move left one space
-
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_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
- 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
mode
enter_protected_mode prot mp turn on protected
mode
+
enter_reverse_mode rev mr turn on reverse
video mode
-
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
- hangup hup HU hang-up phone
-
+ hangup hup HU hang-up phone
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
- 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_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_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
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
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
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_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)
- 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_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_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
- (#2)
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
- (#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
- 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
- character set
+ character set #1
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
- 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
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
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
- 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>
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
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
display mode
exit_scancode_mode rmsc S5 Exit PC scancode
mode
+
+
+
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
-
-
-
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
- color using ANSI
- escape
+ color to #1, using
+ ANSI escape
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
- #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
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-
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
- 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>
- 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
- 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-
- 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.
- 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
- 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>
- 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
- 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
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,
%+ %- %* %/ %m
arithmetic (%m is mod): push(pop() op pop())
+
%& %| %^ bit operations: push(pop() op pop())
%= %> %< logical operations: push(pop() op pop())
%A, %O logical and & or operations (for conditionals)
\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%;
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
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
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
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 > 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
- 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
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
</PRE>
<H2>FILES</H2><PRE>
- @DATADIR@/terminfo/?/* files containing terminal
+ /usr/share/terminfo/?/* files containing terminal
descriptions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
</PRE>
<HR>
<ADDRESS>
</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>
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.
- 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
- 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
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
- 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-
- 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
- if/then/else/endif expressions indented for read-
+ if/then/else/endif expressions indented for read-
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.
- <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
- 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:
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.
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.
- 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>.
- 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
- 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
- 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>
- 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
- 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.
- 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-
- 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.
- 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.
- 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>
- <B>@DATADIR@/terminfo/?/*</B>
+ <B>/usr/share/terminfo/?/*</B>
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>.
-
-
-
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>
- <B>@DATADIR@/terminfo/?/*</B>
+ <B>/usr/share/terminfo/?/*</B>
Compiled terminal description database.
</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>
<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><<</B>
+ <B>tput</B> <B>-V</B>
</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
- 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
- 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>-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-
- 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.
- 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,
- 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.
- <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
- (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).
+ <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-
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>
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>-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,
the type of terminal specified in the environmental
variable <B>TERM</B>.
- <B>tput</B> <B>-S</B> <B><<!</B>
- <B>></B> <B>clear</B>
- <B>></B> <B>cup</B> <B>10</B> <B>10</B>
- <B>></B> <B>bold</B>
- <B>></B> <B>!</B>
+ <B>tput</B> <B>-S</B> <B><<!</B>
+ <B>></B> <B>clear</B>
+ <B>></B> <B>cup</B> <B>10</B> <B>10</B>
+ <B>></B> <B>bold</B>
+ <B>></B> <B>!</B>
This example shows tput processing several capabili-
ties in one invocation. This example clears the
</PRE>
<H2>FILES</H2><PRE>
- <B>@DATADIR@/terminfo</B>
+ <B>/usr/share/terminfo</B>
compiled terminal description database
<B>/usr/include/curses.h</B>
<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
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>
+ ---------------------------------------------------------------------
</PRE>
tion features used in the <B>cup</B> example, are not supported
in BSD curses or in AT&T/USL curses before SVr4.
-
-
-
-
-
-
-
-
-
-
</PRE>
<HR>
<ADDRESS>
</PRE>
<H2>NAME</H2><PRE>
- <B>tset</B> - terminal initialization
+ <B>tset</B>, <B>reset</B> - terminal initialization
</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>]
- 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 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>.
-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.
- -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.
- 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
- 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>
- 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
- 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
- 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 ... `
<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.
- 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
- 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 ``>'', ``<'', ``@'', and ``!''; ``>'' means
- greater than, ``<'' means less than, ``@'' means equal to
+ greater than, ``<'' means less than, ``@'' means equal to
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,
- 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.
- For example, consider the following mapping:
+ For example, consider the following mapping:
<B>dialup>9600:vt100</B>. The port type is dialup , the operator
- is >, the baud rate specification is 9600, and the termi-
+ is >, 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
- 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
- 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,
- 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.
- 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>
- 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 <esr@snark.thyr-
sus.com>.
</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.
- 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
- <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).
- 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-
- 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.
- 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
- 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.
- 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.
- 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.
+
</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
- system port name to terminal type mapping database
+ system port name to terminal type mapping database
(BSD versions only).
- @DATADIR@/terminfo
+ /usr/share/terminfo
terminal capability database
-
-
-
-
-# $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. #
# #
THIS = Makefile
MODEL = @DFT_LWR_MODEL@
-INSTALL_PREFIX = @INSTALL_PREFIX@
+DESTDIR = @DESTDIR@
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@
CCFLAGS = $(CPPFLAGS) $(CFLAGS)
+CFLAGS_LIBTOOL = $(CCFLAGS)
CFLAGS_NORMAL = $(CCFLAGS)
CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
CFLAGS_PROFILE = $(CCFLAGS) -pg
CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
-LINK = $(CC)
+LINK = $(LIBTOOL) $(CC)
LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
SHLIB_DIRS = -L../lib -L$(libdir)
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@
sources : $(AUTO_SRC)
-$(INSTALL_PREFIX)$(libdir) :
+$(DESTDIR)$(libdir) :
$(srcdir)/../mkinstalldirs $@
# make copies to simplify include-paths while still keeping form's include
tags:
ctags *.[ch]
-TAGS:
- etags *.[ch]
+@MAKE_UPPER_TAGS@TAGS:
+@MAKE_UPPER_TAGS@ etags *.[ch]
mostlyclean ::
-rm -f core tags TAGS *~ *.ln *.atac trace
#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;
static void *Make_Enum_Type(va_list * ap)
{
enumARG *argp = (enumARG *)malloc(sizeof(enumARG));
- char **kp;
- int cnt=0;
if (argp)
{
+ int cnt = 0;
+ char **kp = (char **)0;
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;
-
+
kp = argp->kwds;
- while( (*kp++) ) cnt++;
+ while( kp && (*kp++) ) cnt++;
argp->count = cnt;
}
return (void *)argp;
+--------------------------------------------------------------------------*/
static void *Copy_Enum_Type(const void * argp)
{
- const enumARG *ap = (const enumARG *)argp;
enumARG *result = (enumARG *)0;
if (argp)
{
+ const enumARG *ap = (const enumARG *)argp;
+
result = (enumARG *)malloc(sizeof(enumARG));
if (result)
*result = *ap;
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))
{
- while( (p = *kwds++) )
+ while( kwds && (p = *kwds++) )
{
if ((res=Compare((unsigned char *)p,bp,ccase))!=NOMATCH)
{
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;
}
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;
}
# 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.
#
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)
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
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
-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
#
# 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
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
-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_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_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_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_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
#%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
-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
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
#
# 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
--- /dev/null
+#! /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 */"
+ }
+'
#!/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
#
/*
* 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.
-# $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. #
# #
SHELL = /bin/sh
THIS = Makefile
-INSTALL_PREFIX = @INSTALL_PREFIX@
+DESTDIR = @DESTDIR@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
# These files are generated by this makefile
AUTO_SRC = \
hashsize.h \
+ ncurses_def.h \
parametrized.h \
term.h
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]
-TAGS:
- etags *.[ch]
+@MAKE_UPPER_TAGS@TAGS:
+@MAKE_UPPER_TAGS@ etags *.[ch]
mostlyclean ::
-rm -f core tags TAGS *~ *.ln *.atac trace
* 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
* 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
-#if GCC_SCANF
+#ifdef GCC_SCANF
#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
#else
#define GCC_SCANFLIKE(fmt,var) /*nothing*/
#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)
#!/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"), #
# 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:
HAVE_TCGETATTR \
HAVE_TERMIOS_H \
HAVE_TERMIO_H \
- NCURSES_CONST \
BROKEN_LINKER
do
mv $2 $BAK
* 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.
*
- * 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@
+#include <ncurses_def.h>
+
/* The C compiler may not treat these properly but C++ has to */
#ifdef __cplusplus
#undef const
--- /dev/null
+# $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
* 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
#endif /* __cplusplus */
#include <sys/types.h>
-@OSPEED_INCLUDES@
#undef NCURSES_CONST
#define NCURSES_CONST @NCURSES_CONST@
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 **);
****************************************************************************/
/*
+ * $Id: tic.h,v 1.35 2000/09/09 19:47:16 tom Exp $
* tic.h - Global variables and structures for the terminfo
* compiler.
- *
*/
#ifndef __TIC_H
#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 *);
-# $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"), #
SHELL = /bin/sh
-INSTALL_PREFIX = @INSTALL_PREFIX@
+DESTDIR = @DESTDIR@
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_PREFIX)$(mandir) :
+$(DESTDIR)$(mandir) :
$(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 :
.\" 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
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
.SH NAME
\fBcaptoinfo\fR - convert a \fItermcap\fR description into a \fIterminfo\fR description
.SH SYNOPSIS
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>
.\"#
.\"***************************************************************************
-.\" 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 *
.\" 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
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:
.\" 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,
\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:
.\"
.\" 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,
\fBcurs_getch\fR(3X),
\fBcurs_mouse\fR(3X),
\fBcurs_print\fR(3X),
+\fBdefault_colors\fR(3X),
\fBdefine_key\fR(3X),
-\fBdft_fgbg\fR(3X),
\fBkeybound\fR(3X),
\fBkeyok\fR(3X),
\fBresizeterm\fR(3X),
.\" 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,
-\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
.\" 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,
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.
.\" 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
-\fBdft_fgbg\fR:
+\fBdefault_colors\fR:
\fBuse_default_colors\fR,
\fBassume_default_colors\fR \- use terminal's default colors
..
'\" 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 *
.\" 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
.\" 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
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
.SH NAME
\fBinfocmp\fR - compare or print out \fIterminfo\fR descriptions
.SH SYNOPSIS
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
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
\fB-G\fR,
\fB-R\fR,
\fB-T\fR,
+\fB-V\fR,
\fB-a\fR,
\fB-e\fR,
\fB-f\fR,
.\" 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
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
.SH NAME
\fBinfotocap\fR - convert a \fIterminfo\fR description into a \fItermcap\fR description
.SH SYNOPSIS
-# $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
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
-dft_fgbg.3x use_default_colors.3ncurses
form.3x form.3form
form_cursor.3x cursor.3form
form_data.3x data.3form
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
-# $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. #
# #
s/ /\
/g
}
-:syn
/^\.SH_(SYNOPSIS/,/^\.SH_(DESCRIPTION/{
/^#/d
/^[^(]*$/d
- s/^\([^ (]\+ [*]*\)\+//g
+ s/^\([^ (]* [^ (]* [*]*\)//g
+ s/^\([^ (]* [*]*\)//g
s/\.SH_(/.SH_/
s/(.*//
s/\.SH_/.SH_(/
'\" 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 *
.\" 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
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_fore \fBmenu_attribs\fR(3X)
+menu_fore \fBmenu_attributes\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_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)
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_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_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)
.\" 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
.\" 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
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
.SH NAME
\fBncurses\fR - CRT screen handling and optimization package
.SH SYNOPSIS
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)
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)
-
one or more directories whose names are configured and compiled into the
ncurses library, e.g.,
-@DATADIR@/terminfo
+@TERMINFO@
.RE
.TP 5
TERMINFO_DIRS
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
-@DATADIR@/terminfo
+@TERMINFO@
terminal capability database
.SH SEE ALSO
\fBterminfo\fR(\*n) and 3X pages whose names begin "curs_" for detailed routine
.\" 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
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
.SH NAME
panel - panel stack extension for curses
.SH SYNOPSIS
.\" 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
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
.SH NAME
term \- format of compiled term file.
.SH SYNOPSIS
.\" 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
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
.SH NAME
term \- conventions for naming terminal types
.SH DESCRIPTION
.\" 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
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
.SH NAME
terminfo \- terminal capability data base
.SH SYNOPSIS
-.\" $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
.BR is2 ;
set the margins using
.BR mgc ,
-.BR smgl and
+.BR smgl
+and
.BR smgr ;
set tabs using
.B tbc
.\" 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
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
.SH NAME
\fBtic\fR - the \fIterminfo\fR entry-description compiler
.SH SYNOPSIS
N\
R\
T\
+V\
a\
c\
f\
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-N\fR,
\fB-R\fR,
\fB-T\fR,
+\fB-V\fR,
\fB-a\fR,
\fB-e\fR,
\fB-f\fR,
\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:
.\"***************************************************************************
-.\" 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 *
.\" 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
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
.SH NAME
\fBtoe\fR - table of (terminfo) entries
.SH SYNOPSIS
\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
-\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:
'\" 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 *
.\" 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 ""
-.ds d @DATADIR@/terminfo
+.ds d @TERMINFO@
.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
.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
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
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
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
\fB> bold\fR
.br
\fB> !\fR
+.RE
.TP 5
\&
This example shows tput processing several capabilities in one
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.
-
+.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).
-
+.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.
-
+.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.
-
+.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.
-
+.PP
.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
+=
.TE
.SH PORTABILITY
The \fBlongname\fR and \fB-S\fR options, and the parameter-substitution
.\"***************************************************************************
-.\" 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 *
.\" 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
-\fBtset\fR - terminal initialization
+\fBtset\fR, \fBreset\fR - terminal initialization
.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
-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.
-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
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
/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),
-# $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. #
# #
THIS = Makefile
MODEL = @DFT_LWR_MODEL@
-INSTALL_PREFIX = @INSTALL_PREFIX@
+DESTDIR = @DESTDIR@
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@
CCFLAGS = $(CPPFLAGS) $(CFLAGS)
+CFLAGS_LIBTOOL = $(CCFLAGS)
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@)
-LINK = $(CC)
+LINK = $(LIBTOOL) $(CC)
LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
SHLIB_DIRS = -L../lib -L$(libdir)
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@
sources : $(AUTO_SRC)
-$(INSTALL_PREFIX)$(libdir) :
+$(DESTDIR)$(libdir) :
$(srcdir)/../mkinstalldirs $@
# make copies to simplify include-paths while still keeping menu's include
tags:
ctags *.[ch]
-TAGS:
- etags *.[ch]
+@MAKE_UPPER_TAGS@TAGS:
+@MAKE_UPPER_TAGS@ etags *.[ch]
mostlyclean ::
-rm -f core tags TAGS *~ *.ln *.atac trace
#ifndef ETI_MENU
#define ETI_MENU
+#ifdef AMIGA
+#define TEXT TEXT_ncurses
+#endif
+
#include <curses.h>
#include <eti.h>
/****************************************************************************
- * 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 *
#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*/
-# $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"), #
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@
datadir = @datadir@
tabsetdir = $(datadir)/tabset
-ticdir = $(datadir)/terminfo
+ticdir = @TERMINFO@
+source = @TERMINFO_SRC@
INSTALL = @INSTALL@
INSTALL_DATA = @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 && \
- 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:
- -cd $(INSTALL_PREFIX)$(ticdir) && rm -rf *
- -cd $(INSTALL_PREFIX)$(tabsetdir) && rm -rf *
+ -cd $(DESTDIR)$(ticdir) && rm -rf *
+ -cd $(DESTDIR)$(tabsetdir) && rm -rf *
tags:
-TAGS:
+@MAKE_UPPER_TAGS@TAGS:
mostlyclean:
-rm -f core tags TAGS *~ *.ln *.atac trace
clean :: mostlyclean
distclean: clean
- -rm -f Makefile
+ -rm -f Makefile run_tic.sh
realclean: distclean
-# $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/
# 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
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,
/* 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 '(' */
-#!/bin/sh
+#!@SHELL@
##############################################################################
# Copyright (c) 1998,2000 Free Software Foundation, Inc. #
# #
# 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.
#
-# 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:
-# The leaf directory names (bin, lib, shared, tabset, terminfo)
+# The leaf directory names (lib, tabset, terminfo)
#
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
-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
-:*) PATH=../progs:$IP$bindir$PATH ;;
-*) PATH=../progs:$IP$bindir:$PATH ;;
+:*) PATH=../progs:${DESTDIR}$bindir$PATH ;;
+*) PATH=../progs:${DESTDIR}$bindir:$PATH ;;
esac
export PATH
#
NEWPATH=$PATH
export NEWPATH
-PROG_BIN_DIR=$IP$bindir
+PROG_BIN_DIR=${DESTDIR}$bindir
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.
-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.
-( 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).
-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}/$$
- 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
- SRC=$TMP
+ source=$TMP
fi
cat <<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
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
- if ( ln -s $RELATIVE $TICDIR )
+ if ( @LN_S@ $RELATIVE $TICDIR )
then
echo '** linked '$TICDIR' for compatibility'
fi
# 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)
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.)
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)
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}
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,
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,
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%;,
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~,
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,
# 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,
- 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,
- 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,
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~,
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,
- 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,
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,
- 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,
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,
# 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,
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,
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;,
#### 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,
- 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,
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,
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,
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,
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,
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;
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*/>,
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,
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,
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,
- 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,
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
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,
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,
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,
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,
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,
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,
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,
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
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,
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,
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
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,
- 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,
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
#
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,
# 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"
-# $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. #
# #
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
- 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 != "" ) {
- 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
- 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)
- 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 ""
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;
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"
- 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" )
{
- 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
- 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"
- printf "\t-@rm -f $(INSTALL_PREFIX)$(libdir)/libcurses.a\n"
+ printf "\t-@rm -f $(DESTDIR)$(libdir)/libcurses.a\n"
}
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 ""
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
+ if ( MODEL == "LIBTOOL" ) {
+ printf "\t-rm -f $(%s_OBJS:.o=.lo)\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
+ }
}
}
-# $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. #
# #
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
- 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
-# $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. #
# #
@SET_MAKE@
MODEL = @DFT_LWR_MODEL@
-INSTALL_PREFIX = @INSTALL_PREFIX@
+DESTDIR = @DESTDIR@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
includedir = @includedir@
datadir = @datadir@
-ticdir = $(datadir)/terminfo
+LIBTOOL = @LIBTOOL@
INSTALL = @INSTALL@
INSTALL_LIB = @INSTALL@ @INSTALL_LIB@
INCDIR = $(srcdir)/../include
CPPFLAGS = -I../ncurses -I$(srcdir) @CPPFLAGS@ \
- -DHAVE_CONFIG_H -DTERMINFO=\"$(ticdir)\"
+ -DHAVE_CONFIG_H
CCFLAGS = $(CPPFLAGS) $(CFLAGS)
HOSTCCFLAGS = @CFLAGS@ $(CPPFLAGS)
HOSTLDFLAGS = @LDFLAGS@ @LIBS@
+CFLAGS_LIBTOOL = $(CCFLAGS)
CFLAGS_NORMAL = $(CCFLAGS)
CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
CFLAGS_PROFILE = $(CCFLAGS) -pg
CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
-LINK = $(CC)
+LINK = $(LIBTOOL) $(CC)
LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
SHLIB_DIRS = -L../lib -L$(libdir)
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@
sources: $(AUTO_SRC)
-$(INSTALL_PREFIX)$(libdir) :
+$(DESTDIR)$(libdir) :
$(srcdir)/../mkinstalldirs $@
../lib : ; mkdir $@
tags:
ctags *.[ch]
-TAGS:
- etags *.[ch]
+@MAKE_UPPER_TAGS@TAGS:
+@MAKE_UPPER_TAGS@ etags *.[ch]
mostlyclean ::
-rm -f core tags TAGS *~ *.ln *.atac trace
-rm -f $(AUTO_SRC)
-rm -f make_keys$x
-rm -f make_hash$x
+ -rm -rf .libs
distclean :: clean
-rm -f Makefile
#
# 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
print "\n"
skip=1;
+ if ( $1 == "chtype" ) {
+ returnType = "Char";
+ } else {
+ returnType = "Code";
+ }
print "M_" $2
print $0;
print "{";
if (match($0, "^void"))
call = ""
else if (dotrace)
- call = "returnCode( ";
+ call = sprintf("return%s( ", returnType);
else
call = "%%return ";
#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)
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)
#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
};
/* *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.
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;
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
return;
}
-#ifdef NCURSES_EXT_FUNCS
+#if NCURSES_EXT_FUNCS
if (fg == C_MASK)
fg = default_fg();
if (bg == C_MASK)
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);
/****************************************************************************
- * 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 *
#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);
}
-
-
#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 */
-#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];
- T(("peeking at %d", peek));
+ TR(TRACE_IEVENT, ("peeking at %d", peek));
p_inc();
return ch;
{
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();
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);
#endif
{
unsigned char c2 = 0;
-#ifdef USE_EMX_MOUSE
- n = kbd_mouse_read(&c2);
-#else
n = read(SP->_ifd, &c2, 1);
-#endif
ch = c2 & 0xff;
}
#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;
}
- 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();
- 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();
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);
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;
- 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))
#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
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
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;
MOUEVENTINFO mouev;
HMOU hmou;
unsigned short mask = MOUSE_BN1_DOWN | MOUSE_BN2_DOWN | MOUSE_BN3_DOWN;
+ int nbuttons = 3;
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) {
-
- 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 */
- if (MouReadEventQue(&mouev, &fWait, hmou))
+ rc = MouReadEventQue(&mouev, &fWait, hmou);
+ if (rc) {
+ sprintf(err, "Error reading mouse queue, rc=%lu.\r\n", rc);
break;
+ }
if (!mouse_activated)
goto finish;
*/
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,
- 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,
- mouse_buttons[2], mouev.col, mouev.row);
+ mouse_buttons[2], mouev.col, mouev.row);
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);
}
+
static void
server_state(const int state)
{ /* It would be nice to implement pointer-off and stop looping... */
&& strstr(cur_term->type.term_names, "xterm") == 0
&& key_mouse) {
int handles[2];
+
if (pipe(handles) < 0) {
perror("mouse pipe error");
+ return;
} else {
int rc;
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);
+ return;
} else {
mousetype = M_XTERM;
return;
}
#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 */
}
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->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
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);
switch (mousetype) {
case M_XTERM:
-#ifdef NCURSES_EXT_FUNCS
+#if NCURSES_EXT_FUNCS
keyok(KEY_MOUSE, on);
#endif
TPUTS_TRACE("xterm mouse initialization");
*/
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;
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 */
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 */
/* 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)
/* 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)
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 */
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,
- ("_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? */
*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);
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);
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;
}
#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>
-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
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;
- 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;
}
}
/****************************************************************************
- * 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 *
#include <curses.priv.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 */
+#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
- _nc_update_screensize();
+ _nc_update_screensize();
#endif
- returnCode(OK);
+ returnCode(OK);
}
#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)
{
}
-#if defined(NCURSES_EXT_FUNCS) && defined(USE_COLORFGBG)
+#if NCURSES_EXT_FUNCS && USE_COLORFGBG
static char *
extract_fgbg(char *src, int *result)
{
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
-#ifdef NCURSES_EXT_FUNCS
+
+#if NCURSES_EXT_FUNCS
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;
-#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
/****************************************************************************
- * 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 *
#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);
+ }
}
/*
- * $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
*
/* 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>
* 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 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).
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 _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 _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 */
extern SCREEN *_nc_screen_chain;
-#ifdef NCURSES_NOMACROS
+#if NCURSES_NOMACROS
#include <nomacros.h>
#endif
#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);
+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);
#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
(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) {\
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) \
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)); \
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)
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
-/* lib_mouse.c */
-extern int _nc_has_mouse(void);
-
/* safe_sprintf.c */
extern char * _nc_printf_string(const char *fmt, va_list ap);
extern void _nc_update_screensize(void);
#endif
-#ifdef USE_WIDEC_SUPPORT
+#if USE_WIDEC_SUPPORT
extern int _nc_utf8_outch(int);
#endif
* 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);
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
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)
/* ./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_env_access
+int _nc_env_access(void)
+ { return(*(int *)0); }
+
/* ./tinfo/add_tries.c */
#undef _nc_add_to_try
#include <termcap.h>
struct speed {
- speed_t s;
- int sp;
+ int s;
+ int sp;
};
#undef _nc_baudrate
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,
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_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
#undef PC
char PC;
#undef ospeed
-speed_t ospeed;
+short ospeed;
#undef _nc_nulls_sent
int _nc_nulls_sent;
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 {
-# $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. #
# #
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
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 .
/****************************************************************************
- * 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey <dickey@clark.net> 1998 *
+ * Author: Thomas E. Dickey <dickey@clark.net> 1998,2000 *
****************************************************************************/
-
#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
#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
/*
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++;
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);
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 {
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 {
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 {
* 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;
tp->num_Strings -= 1;
break;
}
+ return TRUE;
}
+ return FALSE;
}
/*
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],
- 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++;
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 */
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,
- 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,
- 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.
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);
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));
}
}
}
#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 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;
- 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)
#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.
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);
_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';
ch = next_char();
if (ch == '.'
-#ifdef NCURSES_EXT_FUNCS
- && !_nc_disable_period
+#if NCURSES_EXT_FUNCS
+ && !_nc_disable_period
#endif
- ) {
+ ) {
dot_flag = TRUE;
DEBUG(8, ("dot-flag set"));
/* 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
- && !strchr(terminfo_punct, (char) ch)) {
+ && !strchr(terminfo_punct, (char) ch)) {
_nc_warning("Illegal character (expected alphanumeric or %s) - %s",
- terminfo_punct, unctrl(ch));
+ terminfo_punct, unctrl(ch));
_nc_panic_mode(separator);
goto start_token;
}
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;
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",
- _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",
- _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'",
- _nc_curr_token.tk_name);
+ _nc_curr_token.tk_name);
break;
case NAMES:
_tracef("Token: Names; value='%s'",
- _nc_curr_token.tk_name);
+ _nc_curr_token.tk_name);
break;
case EOF:
default:
_nc_warning("Illegal character %s in \\ sequence",
- unctrl(ch));
+ unctrl(ch));
*(ptr++) = (char) ch;
} /* endswitch (ch) */
} /* endelse (ch < '0' || ch > '7') */
_nc_get_type(pushname);
DEBUG(3, ("pushing token: `%s', class %d",
- _nc_curr_token.tk_name, pushtype));
+ _nc_curr_token.tk_name, pushtype));
}
/*
} while
(bufstart != NULL && line[0] == '#');
- if (bufstart == NULL)
+ if (bufstart == NULL || *bufstart == 0)
return (EOF);
while (iswhite(*bufptr))
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);
/* are we at end of input? */
{
return ((yyin ? feof(yyin) : (bufptr && *bufptr == '\0'))
- ? TRUE : FALSE);
+ ? TRUE : FALSE);
}
/* comp_scan.c ends here */
/****************************************************************************
- * 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey <dickey@clark.net> 1998 *
+ * Author: Thomas E. Dickey <dickey@clark.net> 1998,2000 *
****************************************************************************/
/*
#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))
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 ((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 0;
}
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
****************************************************************************/
-
/*
* 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
*/
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
- {B19200, 19200},
+ {B19200, 19200},
#else
#ifdef EXTA
- {EXTA, 19200},
+ {EXTA, 19200},
#endif
#endif
#ifdef B38400
- {B38400, 38400},
+ {B38400, 38400},
#else
#ifdef EXTB
- {EXTB, 38400},
+ {EXTB, 38400},
#endif
#endif
#ifdef B57600
- {B57600, 57600},
+ {B57600, 57600},
#endif
#ifdef B115200
- {B115200, 115200},
+ {B115200, 115200},
#endif
#ifdef B230400
- {B230400, 230400},
+ {B230400, 230400},
#endif
#ifdef B460800
- {B460800, 460800},
+ {B460800, 460800},
#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 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
- 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
#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);
}
#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)
**
*/
-#ifdef NCURSES_EXT_FUNCS
+#if NCURSES_EXT_FUNCS
static int
has_key_internal(int keycode, struct tries *tp)
{
#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
#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 */
-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 $")
/****************************************************************************
*
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
#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:
}
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));
-}
--- /dev/null
+/****************************************************************************
+ * 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);
+}
/****************************************************************************
- * 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 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
****************************************************************************/
-
/*
* tparm.c
*
#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 *
* %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()
#define STACKSIZE 20
-typedef union {
- unsigned int num;
- char *str;
+typedef struct {
+ union {
+ unsigned int num;
+ char *str;
+ } data;
+ bool num_type;
} 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 */
-static char *out_buff;
+static char *out_buff;
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
-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')
-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
-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
- 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 */
- 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;
+ }
- 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;
+ }
+ }
- 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
- tname = "tparm";
+ tname = "tparm";
#endif /* TRACE */
- result = tparam_internal(string, ap);
- va_end(ap);
- return result;
+ result = tparam_internal(string, ap);
+ va_end(ap);
+ return result;
}
#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 */
-speed_t ospeed = 0; /* used by termcap library */
+short ospeed = 0; /* used by termcap library */
int _nc_nulls_sent = 0; /* used by 'tack' program */
void
_nc_flush(void)
{
- (void)fflush(NC_OUTPUT);
+ (void) fflush(NC_OUTPUT);
}
int
return OK;
}
-#ifdef USE_WIDEC_SUPPORT
+#if USE_WIDEC_SUPPORT
/*
* Reference: The Unicode Standard 2.0
*
int result[7], *ptr;
int count = 0;
- if (ch < 0x80)
+ if ((unsigned int) ch < 0x80)
count = 1;
- else if (ch < 0x800)
+ else if ((unsigned int) ch < 0x800)
count = 2;
- else if (ch < 0x10000)
+ else if ((unsigned int) ch < 0x10000)
count = 3;
- else if (ch < 0x200000)
+ else if ((unsigned int) ch < 0x200000)
count = 4;
- else if (ch < 0x4000000)
+ else if ((unsigned int) ch < 0x4000000)
count = 5;
- else if (ch <= 0x7FFFFFFF)
+ else if ((unsigned int) ch <= 0x7FFFFFFF)
count = 6;
else {
- count = 2;
+ count = 3;
ch = 0xFFFD;
}
ptr = result + count;
case 6:
*--ptr = (ch | otherMark) & byteMask;
ch >>= 6;
+ /* FALLTHRU */
case 5:
*--ptr = (ch | otherMark) & byteMask;
ch >>= 6;
+ /* FALLTHRU */
case 4:
*--ptr = (ch | otherMark) & byteMask;
ch >>= 6;
+ /* FALLTHRU */
case 3:
*--ptr = (ch | otherMark) & byteMask;
ch >>= 6;
+ /* FALLTHRU */
case 2:
*--ptr = (ch | otherMark) & byteMask;
ch >>= 6;
+ /* FALLTHRU */
case 1:
*--ptr = (ch | firstMark[count]);
+ break;
}
while (count--)
_nc_outch(*ptr++);
bool always_delay;
bool normal_delay;
int number;
-#ifdef BSD_TPUTS
+#if BSD_TPUTS
int trailpad;
#endif /* BSD_TPUTS */
(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);
}
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);
}
-#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.
string++;
}
-#ifdef BSD_TPUTS
+#if BSD_TPUTS
/*
* Emit any BSD-style prefix padding that we've accumulated now.
*/
#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[] =
{
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();
_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();
- 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);
} 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
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",
- ap->from, ap->source, ap->to);
+ ap->from, ap->source, ap->to);
break;
}
} else { /* if (_nc_syntax == SYN_TERMINFO) */
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",
- ap->from, ap->source, ap->to);
+ ap->from, ap->source, ap->to);
break;
}
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 (entry_ptr == NOTFOUND) {
if (!silent)
_nc_warning("unknown capability '%s'",
- _nc_curr_token.tk_name);
+ _nc_curr_token.tk_name);
continue;
}
/* 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,
- _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)
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;
}
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;
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 == '/' ||
- *t == '>'))
+ *t == '>'))
break;
}
}
}
+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
#undef CUR
#define CUR tp->
-static
-void
+static void
postprocess_termcap(TERMTYPE * tp, bool has_base)
{
char buf[MAX_LINE * 2 + 2];
+ string_desc result;
/*
* TERMCAP DEFAULTS AND OBSOLETE-CAPABILITY TRANSLATIONS
} 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)) {
- 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);
}
}
}
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);
* 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;
/* 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... */
- 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++)
- if (strcmp(ap->from, cp) == 0)
+ if (len == strlen(ap->from)
+ && strncmp(ap->from, base, len) == 0)
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;
* 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",
- 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;
}
* 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
- *dp++ = *cp;
+ *dp++ = *bp;
}
*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'
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
- && 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{{||}}~~");
}
}
-static
-void
+static void
postprocess_terminfo(TERMTYPE * tp)
{
/*
* 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;
* 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;
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;
}
#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 (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);
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
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",
- 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)
- 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",
- 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);
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 ((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,
- 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",
- 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",
- i + STRCOUNT,
- _nc_visbuf(ptr->Strings[i + STRCOUNT])));
+ i + STRCOUNT,
+ _nc_visbuf(ptr->Strings[i + STRCOUNT])));
}
}
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,
- 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)",
- 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",
- 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
*/
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)
*/
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;
&& _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
#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] == '/')) \
#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 *);
/*-
#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;
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;
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) {
register char *p;
register char *cp;
- char *dummy;
+ char *dummy = NULL;
char **fname;
char *home;
int i;
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;
- 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
* 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) {
- strncpy(pathbuf, termpath, PBUFSIZ - 1);
+ _nc_safe_strcat(&desc, termpath);
} 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) {
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);
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 */
#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);
--- /dev/null
+/****************************************************************************
+ * 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;
+}
#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;
const char *destination;
char actual[PATH_MAX];
+ if (dir == 0
+ && use_terminfo_vars())
+ dir = getenv("TERMINFO");
+
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) {
/****************************************************************************
- * 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 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
****************************************************************************/
-
-
/*
* 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
-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_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_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 */
-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, "{");
- 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 */
}
}
- if (found != 0)
- {
+ if (found != 0) {
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, _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, "}");
- 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
-extern void _nc_lib_traceatr(void);
- void _nc_lib_traceatr(void) { }
+extern void _nc_lib_traceatr(void);
+void
+_nc_lib_traceatr(void)
+{
+}
#endif /* TRACE */
#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
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
#! /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"), #
#
# 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,
/* generated by MKexpanded.sh */
#include <curses.priv.h>
#include <term.h>
-#ifdef NCURSES_EXPANDED
+#if NCURSES_EXPANDED
EOF
cat >$TMP <<EOF
{
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);
#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 */
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)
{
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);
{
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 (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, '>')) {
- float number = 0;
+ float number = 0.0;
for (cp += 2; *cp != '>'; cp++) {
if (isdigit(*cp))
number += (*cp - '0') / 10.0;
}
-#ifdef NCURSES_NO_PADDING
+#if NCURSES_NO_PADDING
if (!(SP->_no_padding))
#endif
cum_cost += number * 10;
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
* 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 {
*/
#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
-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) */
{
+ string_desc save;
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 (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);
- 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)) {
- 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);
- 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)) {
- 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);
}
}
return (INFINITY);
}
- if (result)
- result += strlen(result);
+ save = *target;
if (to_x != from_x) {
char str[OPT_SIZE];
+ string_desc check;
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;
- 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;
- 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 */
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;
}
#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 (ovw
&& n > 0
+ && n < (int) check.s_size
&& vcost == 0
&& str[0] == '\0'
&& isdigit(TextOf(WANT_CHAR(to_y, from_x))))
}
}
if (ovw) {
- char *sp;
int i;
- sp = str + strlen(str);
-
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 = 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;
- 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;
- 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) {
- 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;
}
}
#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;
}
}
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;
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 */
- sp = tparm(SP->_address_cursor, ynew, xnew);
- if (sp) {
+ if (_nc_safe_strcpy(InitResult, tparm(SP->_address_cursor, ynew, xnew))) {
tactic = 0;
- (void) strcpy(use, sp);
usecost = SP->_cup_cost;
#if defined(TRACE) || defined(NCURSES_TEST)
#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;
/* 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;
/* 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;
/* 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;
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;
/*
* These cases are ordered by estimated relative frequency.
*/
+ if (tactic)
+ InitResult;
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:
- (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:
- (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:
- (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:
- use[0] = '\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 */
+ (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");
- tputs(use, 1, _nc_outch);
+ tputs(buffer, 1, _nc_outch);
return (OK);
} else
return (ERR);
}
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
(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");
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;
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();
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);
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",
- 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",
- np->nte_name, np->nte_index);
+ np->nte_name, np->nte_index);
break;
}
}
* 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};
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++) {
/*
(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);
/****************************************************************************
- * 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 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
****************************************************************************/
-
/*
** lib_tstp.c
**
#include <signal.h>
#include <SigAction.h>
-#if defined(SVR4_ACTION) && !defined(_POSIX_SOURCE)
+#if SVR4_ACTION && !defined(_POSIX_SOURCE)
#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 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
- int sigttou_blocked;
+ int sigttou_blocked;
#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();
- /*
- * 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
- (void)sigaddset(&mask, SIGWINCH);
+ (void) sigaddset(&mask, SIGWINCH);
#endif
- (void)sigprocmask(SIG_BLOCK, &mask, &omask);
+ (void) sigprocmask(SIG_BLOCK, &mask, &omask);
#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
- /*
- * 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
- 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
- (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
- act.sa_flags |= SA_RESTART;
+ act.sa_flags |= 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
- 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
- if (signal(sig, SIG_IGN) != SIG_ERR)
+ if (signal(sig, SIG_IGN) != SIG_ERR)
#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
-static void sigwinch(int sig GCC_UNUSED)
+static void
+sigwinch(int sig GCC_UNUSED)
{
SCREEN *scan = _nc_screen_chain;
- while(scan)
- {
+ while (scan) {
scan->_sig_winch = TRUE;
scan = scan->_next_screen;
}
* 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
- )) {
- (void)sigaction(sig, act, (sigaction_t *)0);
- return TRUE;
- }
- return FALSE;
+ )) {
+ (void) sigaction(sig, act, (sigaction_t *) 0);
+ return TRUE;
+ }
+ return FALSE;
}
#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
- || (sig == SIGWINCH && ohandler == SIG_IGN)
+ || (sig == SIGWINCH && ohandler == SIG_IGN)
#endif
) {
- signal(sig, handler);
- return TRUE;
- } else {
- signal(sig, ohandler);
- return FALSE;
- }
+ signal(sig, handler);
+ return TRUE;
+ } else {
+ signal(sig, ohandler);
+ return FALSE;
+ }
}
#endif
* 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
- act.sa_handler = sigwinch;
- CatchIfDefault(SIGWINCH, &act);
+ act.sa_handler = sigwinch;
+ CatchIfDefault(SIGWINCH, &act);
#endif
#ifdef SA_RESTART
- act.sa_flags |= SA_RESTART;
+ act.sa_flags |= 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 */
- if (enable)
- {
+ if (enable) {
#if HAVE_SIGACTION || HAVE_SIGVEC
- static sigaction_t act;
- sigemptyset(&act.sa_mask);
+ static sigaction_t act;
+ sigemptyset(&act.sa_mask);
#if USE_SIGWINCH
- act.sa_handler = sigwinch;
- CatchIfDefault(SIGWINCH, &act);
+ act.sa_handler = sigwinch;
+ CatchIfDefault(SIGWINCH, &act);
#endif
#ifdef SA_RESTART
- act.sa_flags |= SA_RESTART;
+ act.sa_flags |= 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) */
- CatchIfDefault(SIGINT, cleanup);
- CatchIfDefault(SIGTERM, cleanup);
+ CatchIfDefault(SIGINT, cleanup);
+ CatchIfDefault(SIGTERM, cleanup);
#if USE_SIGWINCH
- CatchIfDefault(SIGWINCH, sigwinch);
+ CatchIfDefault(SIGWINCH, sigwinch);
#endif
#endif /* !(HAVE_SIGACTION || HAVE_SIGVEC) */
- }
+ }
#endif /* !USE_SIGTSTP */
}
# 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
- 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
- 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
- T(("%s time: %ld msec", first ? "get" : "elapsed", res));
- return res;
+ T(("%s time: %ld msec", first ? "get" : "elapsed", res));
+ return res;
}
/*
* 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
-struct pollfd fds[2];
+ struct pollfd fds[2];
#elif defined(__BEOS__)
#elif HAVE_SELECT
-static fd_set set;
+ static fd_set set;
#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
-retry:
+ retry:
#endif
- starttime = _nc_gettime(TRUE);
+ starttime = _nc_gettime(TRUE);
- count = 0;
+ count = 0;
#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__)
- /*
- * 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
- /*
- * 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
- returntime = _nc_gettime(FALSE);
+ returntime = _nc_gettime(FALSE);
- if (milliseconds >= 0)
- milliseconds -= (returntime - starttime);
+ if (milliseconds >= 0)
+ milliseconds -= (returntime - starttime);
#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
- /* 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
- 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__)
- result = 1; /* redundant, but simple */
+ result = 1; /* redundant, but simple */
#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
- }
- else
- result = 0;
- }
+ } else
+ result = 0;
+ }
- return (result);
+ return (result);
}
#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 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))) { \
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
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)
* attributes, use the colors in preference.
*/
if (((newmode & A_COLOR) != 0
- || fix_pair0)
+ || fix_pair0)
&& (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)
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;
}
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 {
- T(("turning %s off", _traceattr(turn_off)));
+ TR(TRACE_ATTRS, ("turning %s off", _traceattr(turn_off)));
TurnOff(A_ALTCHARSET, exit_alt_charset_mode);
}
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);
{
chtype attrs = A_NORMAL;
+ T((T_CALLED("termattrs()")));
if (enter_alt_charset_mode)
attrs |= A_ALTCHARSET;
if (SP->_coloron)
attrs |= A_COLOR;
- return (attrs);
+ returnChar(attrs);
}
#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
/* 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;
+ _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 */
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",
- 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);
}
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");
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);
}
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) {
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);
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)
* 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);
- else
+ } else {
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;
*/
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)",
- otext, ntext, row, first, last));
+ otext, ntext, row, first, last));
if (otext != ntext
&& (last - first + 1) > SP->_inline_cost) {
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
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;
}
- T(("Range attributed with %s ends offscreen",
- _traceattr(turnon)));
+ TR(TRACE_ATTRS,
+ ("Range attributed with %s ends offscreen",
+ _traceattr(turnon)));
foundit:;
if (end_onscreen) {
* 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 */
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++) {
}
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
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 */
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.
#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);
chtype blank = ClrBlank(stdscr);
int nonempty = min(screen_lines, newscr->_maxy + 1);
- T(("ClrUpdate() called"));
+ TR(TRACE_UPDATE, ("ClrUpdate() called"));
ClearScreen(blank);
- T(("updating screen from scratch"));
+ TR(TRACE_UPDATE, ("updating screen from scratch"));
nonempty = ClrBottom(nonempty);
int j;
if (curscr != 0
- && SP->_cursrow >= 0
- && SP->_curscol >= 0) {
+ && SP->_cursrow >= 0) {
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 {
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;
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);
}
- if (!ok) top = row;
+ if (!ok)
+ top = row;
}
/* don't use clr_eos for just one line if clr_eol available */
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)
*/
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),
- newLine[n])))) {
+ newLine[n])))) {
n = m;
}
*/
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))))) {
/* 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 */
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,
- newLine + firstChar,
- (nLastChar - firstChar + 1) * sizeof(chtype));
+ newLine + firstChar,
+ (nLastChar - firstChar + 1) * sizeof(chtype));
}
return;
}
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))
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 {
/* 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));
}
/*
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);
curscr->_line[i].text[j] = blank;
}
- T(("screen cleared"));
+ TR(TRACE_UPDATE, ("screen cleared"));
}
/*
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. */
{
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");
} else
return ERR;
-#ifdef NCURSES_EXT_FUNCS
+#if NCURSES_EXT_FUNCS
if (FILL_BCE()) {
for (i = 0; i < n; i++) {
GoTo(bot - i, 0);
} else
return ERR;
-#ifdef NCURSES_EXT_FUNCS
+#if NCURSES_EXT_FUNCS
if (FILL_BCE()) {
for (i = 0; i < n; i++) {
GoTo(top + i, 0);
* 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)
- && (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");
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) {
- GoTo(maxy + n, 0);
+ GoTo(bot - n, 0);
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);
}
}
}
+ } else { /* (n < 0) - scroll down (backward) */
res = scroll_csr_backward(-n, top, bot, 0, maxy, blank);
if (res == ERR && change_scroll_region) {
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)
_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;
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;
}
-# $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. #
# #
THIS = Makefile
MODEL = @DFT_LWR_MODEL@
-INSTALL_PREFIX = @INSTALL_PREFIX@
+DESTDIR = @DESTDIR@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
includedir = @includedir@
datadir = @datadir@
-ticdir = $(datadir)/terminfo
+LIBTOOL = @LIBTOOL@
INSTALL = @INSTALL@
INSTALL_LIB = @INSTALL@ @INSTALL_LIB@
CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@ \
- -DHAVE_CONFIG_H -DTERMINFO=\"$(ticdir)\"
+ -DHAVE_CONFIG_H
CCFLAGS = $(CPPFLAGS) $(CFLAGS)
+CFLAGS_LIBTOOL = $(CCFLAGS)
CFLAGS_NORMAL = $(CCFLAGS)
CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
CFLAGS_PROFILE = $(CCFLAGS) -pg
CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
-LINK = $(CC)
+LINK = $(LIBTOOL) $(CC)
LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
SHLIB_DIRS = -L../lib -L$(libdir)
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@
sources: $(AUTO_SRC)
-$(INSTALL_PREFIX)$(libdir) :
+$(DESTDIR)$(libdir) :
$(srcdir)/../mkinstalldirs $@
# make a copy to simplify include-paths while still keeping panel's include
tags:
ctags *.[ch]
-TAGS:
- etags *.[ch]
+@MAKE_UPPER_TAGS@TAGS:
+@MAKE_UPPER_TAGS@ etags *.[ch]
mostlyclean ::
-rm -f core tags TAGS *~ *.ln *.atac trace
-/* $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
# 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*/
-# $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. #
# #
x = @PROG_EXT@
MODEL = ../@DFT_OBJ_SUBDIR@
-INSTALL_PREFIX = @INSTALL_PREFIX@
+DESTDIR = @DESTDIR@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
includedir = @includedir@
datadir = @datadir@
-ticdir = $(datadir)/terminfo
+LIBTOOL = @LIBTOOL@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
+transform = @program_transform_name@
AWK = @AWK@
LN_S = @LN_S@
INCDIR = $(srcdir)/../include
CPPFLAGS = -I../progs -I$(srcdir) @CPPFLAGS@ \
- -DHAVE_CONFIG_H -DTERMINFO=\"$(ticdir)\"
+ -DHAVE_CONFIG_H
CCFLAGS = $(CPPFLAGS) $(CFLAGS)
+CFLAGS_LIBTOOL = $(CCFLAGS)
CFLAGS_NORMAL = $(CCFLAGS)
CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
CFLAGS_PROFILE = $(CCFLAGS) -pg
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_LIBTOOL = $(LDFLAGS)
LDFLAGS_NORMAL = $(LDFLAGS)
LDFLAGS_DEBUG = $(LDFLAGS) @CC_G_OPT@
LDFLAGS_PROFILE = $(LDFLAGS) -pg
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
DEPS_CURSES = ../lib/@LIB_PREFIX@ncurses@DFT_DEP_SUFFIX@
################################################################################
-all: $(AUTO_SRC) $(PROGS)
+all: $(AUTO_SRC) $(PROGS)
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:
-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:
- -@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 $@
#
$(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 = \
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 = \
$(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
tags:
ctags *.[ch]
-TAGS:
- etags *.[ch]
+@MAKE_UPPER_TAGS@TAGS:
+@MAKE_UPPER_TAGS@ etags *.[ch]
mostlyclean ::
-rm -f core tags TAGS *~ *.ln *.atac trace
clean :: mostlyclean
-rm -f $(AUTO_SRC)
-rm -f $(PROGS)
+ -rm -rf .libs
distclean :: clean
-rm -f Makefile
#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
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 *cv = _nc_infotocap(name, srccap, parametrized[i]);
+ char *cv = _nc_infotocap(name, srccap, params);
if (cv == 0) {
if (outform == F_TCONVERR) {
#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 "}"
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 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);
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:
/* 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 (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,
- "\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,
- "%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,
- "\t%s\n",
- _nc_first_name((rp->crosslinks[i])->tterm.term_names));
+ "\t%s\n",
+ _nc_first_name((rp->crosslinks[i])->tterm.term_names));
}
}
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",
- _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) {
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;
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;
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;
," -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;
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);
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);
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 {
(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
- (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("#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",
- NUM_BOOLEANS(term) - BOOLCOUNT);
+ NUM_BOOLEANS(term) - BOOLCOUNT);
(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",
- NUM_STRINGS(term) - STRCOUNT);
+ NUM_STRINGS(term) - STRCOUNT);
(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
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;
}
sortmode = S_TERMCAP;
else {
(void) fprintf(stderr,
- "infocmp: unknown sort mode\n");
+ "infocmp: unknown sort mode\n");
return EXIT_FAILURE;
}
break;
break;
case 'v':
- itrace = atoi(optarg);
+ itrace = optarg_to_number();
set_trace_level(itrace);
break;
case 'V':
- (void) fputs(NCURSES_VERSION, stdout);
- putchar('\n');
+ puts(curses_version());
ExitProgram(EXIT_SUCCESS);
case 'w':
- mwidth = atoi(optarg);
+ mwidth = optarg_to_number();
break;
case 'A':
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;
if (directory) {
(void) sprintf(tfile[termcount], "%s/%c/%s",
- directory,
- *argv[optind], argv[optind]);
+ directory,
+ *argv[optind], argv[optind]);
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],
- &entries[termcount].tterm);
+ &entries[termcount].tterm);
} 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],
- tfile[termcount],
- &entries[termcount].tterm);
+ tfile[termcount],
+ &entries[termcount].tterm);
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);
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",
- tfile[0]);
+ tfile[0]);
len = dump_entry(&entries[0].tterm, limited, numbers, NULL);
putchar('\n');
if (itrace)
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;
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;
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);
(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);
* 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
*
#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*/
/* 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)
# define isascii(c) 1 /* not really ascii anyway */
# endif
#endif
+
+#define SIZEOF(v) (sizeof(v)/sizeof(v[0]))
*/
#include <progs.priv.h>
+#include <sys/stat.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";
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)
" -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
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);
}
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
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
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)
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;
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;
}
- if ((capdump = (strcmp(_nc_progname, "infotocap") == 0)) != FALSE) {
+ if ((capdump = (strcmp(_nc_progname, PROG_INFOTOCAP) == 0)) != FALSE) {
outform = F_TERMCAP;
sortmode = S_TERMCAP;
}
* 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':
limited = FALSE;
break;
case 'V':
- puts(NCURSES_VERSION);
+ puts(curses_version());
return EXIT_SUCCESS;
case 'c':
check_only = TRUE;
save_check_termtype = _nc_check_termtype;
_nc_check_termtype = check_termtype;
}
-#ifndef HAVE_BIG_CORE
+#if !HAVE_BIG_CORE
/*
* Aaargh! immedhook seriously hoses us!
*
*/
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;
}
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 {
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);
- tmp_fp = fopen(source_file, "r");
+ tmp_fp = open_input(source_file);
to_remove = source_file;
} else {
failed("tmpnam");
} 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;
}
}
- 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,
- 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,
- outform,
- sortmode, width, debug_level, FALSE);
+ outform,
+ sortmode, width, debug_level, FALSE);
/* 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,
- !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) {
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);
}
}
}
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");
}
#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
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,
- _nc_visbuf(test));
+ _nc_visbuf(test));
}
} else if (strcmp(test, zero)) {
_nc_warning("sgr(%d) present, but not %s", num, name);
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",
- keyname(_nc_tinfo_fkeys[k].code));
+ keyname(_nc_tinfo_fkeys[k].code));
}
}
}
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.
#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, ".."))
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) {
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");
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;
*/
#include <progs.priv.h>
-#ifndef PURE_TERMINFO
+
+#if !PURE_TERMINFO
#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)
+typedef enum {
+ Numbers = 0
+ ,Num_Str
+ ,Num_Str_Str
+} TParams;
+
static char *prg_name;
+static bool is_init = FALSE;
+static bool is_reset = FALSE;
static void
quit(int status, const char *fmt,...)
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);
}
+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;
- int reset, status;
+ int status;
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 (reset && reset_1string != 0) {
+ if (is_reset && reset_1string != 0) {
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);
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
- && 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);
}
}
- 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);
}
FLUSH;
- if (reset && reset_3string != 0) {
+ if (is_reset && reset_3string != 0) {
PUTS(reset_3string);
} else if (init_2string != 0) {
PUTS(init_2string);
PUTS(longname());
return 0;
}
-#ifndef PURE_TERMINFO
+#if !PURE_TERMINFO
{
const struct name_table_entry *np;
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;
- 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
*/
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 */
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;
- 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");
- while ((c = getopt(argc, argv, "ST:")) != EOF)
+ while ((c = getopt(argc, argv, "ST:V")) != EOF) {
switch (c) {
case 'S':
- cmdline = 0;
+ cmdline = FALSE;
break;
case 'T':
use_env(FALSE);
term = optarg;
break;
+ case 'V':
+ puts(curses_version());
+ return EXIT_SUCCESS;
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 (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);
+ }
while (fgets(buf, sizeof(buf), stdin) != 0) {
char *argvec[16]; /* command, 9 parms, null, & slop */
#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;
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 isreset; /* invoked as reset */
static int tkillchar = -1; /* new kill character */
static int tlines, tcolumns; /* window size */
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;
{"2400", B2400},
{"4800", B4800},
{"9600", B9600},
+ /* sgttyb may define up to this point */
+#ifdef B19200
{"19200", B19200},
+#endif
+#ifdef B38400
{"38400", B38400},
+#endif
+#ifdef B19200
{"19200", B19200},
+#endif
+#ifdef B38400
{"38400", B38400},
+#endif
#ifdef B19200
{"19200", B19200},
#else
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
}
/* 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",
- ttype);
+ ttype);
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);
mode.c_iflag &= ~(IGNBRK | PARMRK | INPCK | ISTRIP | INLCR | IGNCR
#ifdef IUCLC
- | IUCLC
+ | IUCLC
#endif
#ifdef IXANY
- | IXANY
+ | IXANY
#endif
- | IXOFF);
+ | IXOFF);
mode.c_iflag |= (BRKINT | IGNPAR | ICRNL | IXON
#ifdef IMAXBEL
- | IMAXBEL
+ | IMAXBEL
#endif
);
mode.c_oflag &= ~(0
#ifdef OLCUC
- | OLCUC
+ | OLCUC
#endif
#ifdef OCRNL
- | OCRNL
+ | OCRNL
#endif
#ifdef ONOCR
- | ONOCR
+ | ONOCR
#endif
#ifdef ONLRET
- | ONLRET
+ | ONLRET
#endif
#ifdef OFILL
- | OFILL
+ | OFILL
#endif
#ifdef OFDEL
- | OFDEL
+ | OFDEL
#endif
#ifdef NLDLY
- | NLDLY | CRDLY | TABDLY | BSDLY | VTDLY | FFDLY
+ | NLDLY | CRDLY | TABDLY | BSDLY | VTDLY | FFDLY
#endif
);
mode.c_oflag |= (OPOST
#ifdef ONLCR
- | ONLCR
+ | ONLCR
#endif
);
mode.c_cflag |= (CS8 | CREAD);
mode.c_lflag &= ~(ECHONL | NOFLSH
#ifdef TOSTOP
- | TOSTOP
+ | TOSTOP
#endif
#ifdef ECHOPTR
- | ECHOPRT
+ | ECHOPRT
#endif
#ifdef XCASE
- | XCASE
+ | XCASE
#endif
);
mode.c_lflag |= (ISIG | ICANON | ECHO | ECHOE | ECHOK
#ifdef ECHOCTL
- | ECHOCTL
+ | ECHOCTL
#endif
#ifdef ECHOKE
- | ECHOKE
+ | ECHOKE
#endif
);
#endif
* Returns a "good" value for the erase character. This is loosely based on
* the BSD4.4 logic.
*/
+#ifdef TERMIOS
static int
default_erase(void)
{
return result;
}
+#endif
/*
* Update the values of the erase, interrupt, and kill characters in 'mode'.
/*
* 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)
{
-#ifdef TERMIOS
unsigned older, newer;
char *p;
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);
-#endif
}
+#endif
/*
* Convert the obsolete argument forms into something that getopt can handle.
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);
}
const char *p;
const char *ttype;
-#ifdef TERMIOS
- if (tcgetattr(STDERR_FILENO, &mode) < 0)
+ if (GET_TTY(STDERR_FILENO, &mode) < 0)
failed("standard error");
-
oldmode = mode;
+#ifdef TERMIOS
ospeed = cfgetospeed(&mode);
#else
- if (gtty(STDERR_FILENO, &mode) < 0)
- failed("standard error");
-
- oldmode = mode;
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;
- 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;
case 's': /* output TERM set command */
sflag = 1;
break;
+ case 'V':
+ puts(curses_version());
+ return EXIT_SUCCESS;
case '?':
default:
usage(*argv);
* 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);
}
+#endif
}
if (Sflag)
-# $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
x = @PROG_EXT@
MODEL = ../@DFT_OBJ_SUBDIR@
-INSTALL_PREFIX = @INSTALL_PREFIX@
+DESTDIR = @DESTDIR@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
includedir = @includedir@
datadir = @datadir@
-ticdir = $(datadir)/terminfo
+LIBTOOL = @LIBTOOL@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
CCFLAGS = $(CPPFLAGS) $(CFLAGS)
+CFLAGS_LIBTOOL = $(CCFLAGS)
CFLAGS_NORMAL = $(CCFLAGS)
CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
CFLAGS_PROFILE = $(CCFLAGS) -pg
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_LIBTOOL = $(LDFLAGS)
LDFLAGS_NORMAL = $(LDFLAGS)
LDFLAGS_DEBUG = $(LDFLAGS) @CC_G_OPT@
LDFLAGS_PROFILE = $(LDFLAGS) -pg
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:
- -@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 $@
#
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)
+ -rm -rf .libs
distclean :: clean
-rm -f Makefile
#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
+#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 */
+#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))
+#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;
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
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;
- 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;
+#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_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) */
}
if (!(new_modes.c_oflag & ~OPOST))
new_modes.c_oflag &= ~OPOST;
+#else
+ new_modes.sg_flags |= RAW;
if (not_a_tty)
return;
- tcsetattr(fileno(stdin), TCSAFLUSH, &new_modes);
+#endif
+ PUT_TTY(fileno(stdin), &new_modes);
}
fflush(stdout);
if (not_a_tty)
return;
- tcsetattr(fileno(stdin), TCSAFLUSH, &old_modes);
+ PUT_TTY(fileno(stdin), &old_modes);
}
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 TAB3 is set then setterm() wipes out tabs (ht) */
new_modes = old_modes;
+#ifdef TERMIOS
#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);
}
old_modes.c_cflag |= CS7 | PARENB;
#endif
catchsig();
+#ifdef TERMIOS
switch (old_modes.c_cflag & CSIZE) {
#if defined(CS5) && (CS5 != 0)
case CS5:
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
}
/*
-# $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. #
# #
libdir = @libdir@
includedir = @includedir@
+LIBTOOL = @LIBTOOL@
+
CC = @CC@
CPP = @CPP@
CCFLAGS = $(CPPFLAGS) $(CFLAGS)
+CFLAGS_LIBTOOL = $(CCFLAGS)
CFLAGS_NORMAL = $(CCFLAGS)
CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
CFLAGS_PROFILE = $(CCFLAGS) -pg
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_LIBTOOL = $(LDFLAGS)
LDFLAGS_NORMAL = $(LDFLAGS)
LDFLAGS_DEBUG = $(LDFLAGS) @CC_G_OPT@
LDFLAGS_PROFILE = $(LDFLAGS) -pg
-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.*
/*
* 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.
*/
}
#endif /* not HAVE_STRDUP */
-static char *
-skip(char *buffer)
+static const char *
+skip(const char *buffer)
{
while (isspace(*buffer))
buffer++;
}
static void
-add_content(CARD * card, char *content)
+add_content(CARD * card, const char *content)
{
unsigned total, offset;
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:
#! /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
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-*)
LDFLAGS_SHARED=""
LD_MODEL=""
LD_SHARED_OPTS=""
+LIBTOOL=""
LIB_NAME=curses
LIB_PREFIX="-l"
LINK_TESTS=""
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
-#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. */
; 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
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_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
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
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
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
-#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. */
; 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
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_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
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
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_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
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
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_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
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
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_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
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
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
-#line 1154 "configure"
+#line 1156 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
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
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 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"
-{ (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
:
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"
-{ (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
:
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"
-{ (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
:
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
-#line 1276 "configure"
+#line 1278 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
#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*
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
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
:
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')
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
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
-#line 1380 "configure"
+#line 1382 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
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
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
-#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"
-{ (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*
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
-#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. */
; 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
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
cf_cv_func_curses_version=unknown
else
cat > conftest.$ac_ext <<EOF
-#line 1535 "configure"
+#line 1537 "configure"
#include "confdefs.h"
#include <curses.h>
}
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
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
-#line 1577 "configure"
+#line 1579 "configure"
#include "confdefs.h"
#if HAVE_SYS_TIME_H
; 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
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 ;;
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
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 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 $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 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)
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)
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
/*
* 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>
#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
- 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();
- endwin();
- return 0;
+ }
+ printw("done");
+ refresh();
+ endwin();
+ return 0;
}
/*
- * $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>
if (has_colors()) {
start_color();
-#ifdef HAVE_USE_DEFAULT_COLORS
+#if HAVE_USE_DEFAULT_COLORS
if (use_default_colors() == OK)
my_bg = -1;
#endif
* 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>
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
*
* 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>
#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 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;
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
- trace(TRACE_MAXIMUM);
+ trace(TRACE_MAXIMUM);
#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
- 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();
- 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)
{
- 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)
{
- 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)
{
- 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)
{
- 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)
{
- 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)
{
- if(Num == 1) {
- MakeMove(From, To);
- napms(500);
- return;
- }
- AutoMove(From, OTHER(From, To), Num-1);
+ if (Num == 1) {
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)
{
- 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()
{
- 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");
}
*
* 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
#define USE_TRACE 1
#else
#define Trace(p) /* nothing */
+#define USE_TRACE 0
#endif
#include <test.priv.h>
* 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>
#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 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();
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);
- msgwin = newwin(1, INSTRX-1, NOTIFYY, 0);
+ msgwin = newwin(1, INSTRX - 1, NOTIFYY, 0);
scrollok(msgwin, TRUE);
keypad(boardwin, TRUE);
- if (has_colors())
- {
+ 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
- (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);
- plus |= COLOR_PAIR(PLUS_COLOR);
+ plus |= COLOR_PAIR(PLUS_COLOR);
minus |= COLOR_PAIR(MINUS_COLOR);
}
-
#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;
}
-static void help1(void)
+static void
+help1(void)
/* 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 */
{
- (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 */
{
- 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 {
- /* 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
- 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 */
- 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");
- move(BOARDY,BOARDX);
+ move(BOARDY, BOARDX);
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_URCORNER);
- for (i = 1; i < BDEPTH; i++)
- {
+ for (i = 1; i < BDEPTH; i++) {
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, 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);
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, ' ');
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_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 */
{
- if (movecount <= 1)
- {
+ if (movecount <= 1) {
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);
}
- }
- else
- {
+ } else {
cellmove(oldy, oldx);
waddch(boardwin, '\b');
waddch(boardwin, tchar);
mark_possibles(oldy, oldx, ' ');
}
- if (row != -1 && column != -1)
- {
+ if (row != -1 && column != -1) {
cellmove(row, column);
waddch(boardwin, '\b');
waddch(boardwin, trail);
wprintw(msgwin, "\nMove %d", movecount);
}
-static bool evalmove(int row, int column)
+static bool
+evalmove(int row, int column)
/* 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.");
- 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.");
- return(FALSE);
+ return (FALSE);
}
}
- return(TRUE);
+ return (TRUE);
}
-static bool chkmoves (void)
+static bool
+chkmoves(void)
/* 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);
}
-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))
- return(FALSE);
+ return (FALSE);
if ((c1 < 0) || (c1 > BWIDTH - 1))
- return(FALSE);
+ return (FALSE);
return ((!board[r1][c1]) ? TRUE : FALSE);
}
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 $
***************************************************************************/
extern int _nc_tracing;
#endif
-#if !HAVE_NAPMS
+#if !defined(HAVE_NAPMS)
#define HAVE_NAPMS 1
#endif
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");
}
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, " ");
- 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("|");
}
static bool
-attr_getc(int *skip, int *fg, int *bg)
+attr_getc(int *skip, int *fg, int *bg, int *ac)
{
int ch = Getchar();
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;
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;
}
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;
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,
- "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,
- "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,
- "^L = repaint");
+ "^L = repaint");
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();
- } while (attr_getc(&n, &fg, &bg));
+ } while (attr_getc(&n, &fg, &bg, &ac));
free((char *) pairs);
bkgdset(A_NORMAL | BLANK);
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 < 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);
}
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,
- "Modify field by typing nnn=, nnn-, or nnn+. ? for help.");
+ "Modify field by typing nnn=, nnn-, or nnn+. ? for help.");
move(2 + current, 0);
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();
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,
- "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');
bkgdset(normal);
mvprintw(LINES - 2, 1, "%s background. ", pass == 0 ? "Dark" :
- "Light");
+ "Light");
clrtoeol();
Pause();
}
{
"^R = restore window", 0
},
-#ifdef HAVE_WRESIZE
+#if HAVE_WRESIZE
{
"^X = resize", 0
},
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();
}
}
break;
-#ifdef HAVE_WRESIZE
+#if HAVE_WRESIZE
case CTRL('X'): /* resize window */
if (current) {
pair *tmp, ul, lr;
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)
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,
- 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,
- 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,
- 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,
- 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);
#define GRIDSIZE 3
+static bool pending_pan = FALSE;
static bool show_panner_legend = TRUE;
static int
{
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 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)) {
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;
mvaddch(porty - 1, top_x - 1, ACS_LLCORNER);
mvaddch(porty - 1, portx - 1, ACS_LRCORNER);
+ if (!pending_pan) {
#if HAVE_GETTIMEOFDAY
- gettimeofday(&before, 0);
+ gettimeofday(&before, 0);
#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 (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
+ }
} while
((c = pgetc(pad)) != KEY_EXIT);
scrollok(stdscr, TRUE); /* reset to driver's default */
}
-static
-int
+static int
padgetch(WINDOW *win)
{
+ static int count;
+ static int last;
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
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++) {
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,
- "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,
- "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);
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);
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();
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();
}
(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);
T_TBL(TRACE_ICALLS),
T_TBL(TRACE_CCALLS),
T_TBL(TRACE_DATABASE),
+ T_TBL(TRACE_ATTRS),
T_TBL(TRACE_MAXIMUM),
{
(char *) 0, 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) 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
/*
* 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.
*/
#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;
{
putchar(ch);
fflush(stdout);
- napms(50); /* not really termcap... */
+ napms(moveit ? 10 : 50); /* not really termcap... */
}
static void
static void
ShowSign(char *string)
{
+ char *base = string;
int ch, first, last;
+ if (moveit != 0) {
+ tputs(tgoto(moveit, 0, height - 1), 1, outc);
+ tputs(wipeit, 1, outc);
+ }
+
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 {
- 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++;
}
+ if (moveit != 0)
+ tputs(wipeit, 1, outc);
putchar('\n');
}
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;
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);
}
int
-main(
- int argc,
- char *argv[])
+main(int argc, char *argv[])
{
if (argc > 1) {
railroad(argv + 1);
/*
- * $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>
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 (has_colors()) {
start_color();
-#ifdef HAVE_USE_DEFAULT_COLORS
+#if HAVE_USE_DEFAULT_COLORS
if (use_default_colors() == OK)
my_bg = -1;
#endif
/****************************************************************************
- * 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 *
/****************************************************************************
* 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>
+#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>
+#include <string.h>
#include <sys/types.h>
#if HAVE_UNISTD_H
#include <curses.h>
-#ifdef NCURSES_NOMACROS
+#if NCURSES_NOMACROS
#include <nomacros.h>
#endif
* 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>
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
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);
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>
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
/******************************************************************************/
/*
- * $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>
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 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)
{
- if (has_colors())
- wattrset(win, COLOR_PAIR(0));
+ if (has_colors())
+ wattrset(win, COLOR_PAIR(0));
}
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
- signal(SIGHUP,done);
- signal(SIGQUIT,done);
+ signal(SIGHUP, done);
+ signal(SIGQUIT, done);
#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
- }
- 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 */
- 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 */
- 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 */
- 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 */
- 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 */
- 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
- done(0);
+ done(0);
#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)
{
- 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;
- }
- 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);
- }
}
+ }
- 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 {
- 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);
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);
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(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
- signal(SIGHUP,done);
- signal(SIGQUIT,done);
+ signal(SIGHUP, done);
+ signal(SIGQUIT, done);
#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);
}