ncurses 5.6 - patch 20080621
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 22 Jun 2008 00:16:39 +0000 (00:16 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 22 Jun 2008 00:16:39 +0000 (00:16 +0000)
+ regenerated html documentation.
+ expand manpage description of parameters for form_driver() and
  menu_driver() (prompted by discussion with Adam Spragg).
+ add null-pointer checks for cur_term in baudrate() and
  def_shell_mode(), def_prog_mode()
+ fix some memory leaks in delscreen() and wide acs.

57 files changed:
INSTALL
MANIFEST
NEWS
dist.mk
doc/html/ada/funcs/C.htm
doc/html/ada/funcs/D.htm
doc/html/ada/funcs/P.htm
doc/html/ada/funcs/S.htm
doc/html/ada/main.htm
doc/html/ada/table.html
doc/html/ada/terminal_interface-curses-aux__ads.htm
doc/html/man/captoinfo.1m.html
doc/html/man/clear.1.html
doc/html/man/curs_addch.3x.html
doc/html/man/curs_attr.3x.html
doc/html/man/curs_clear.3x.html
doc/html/man/curs_deleteln.3x.html
doc/html/man/curs_getcchar.3x.html
doc/html/man/curs_getyx.3x.html
doc/html/man/curs_legacy.3x.html [new file with mode: 0644]
doc/html/man/curs_opaque.3x.html [new file with mode: 0644]
doc/html/man/curs_outopts.3x.html
doc/html/man/curs_slk.3x.html
doc/html/man/curs_termattrs.3x.html
doc/html/man/curs_termcap.3x.html
doc/html/man/curs_terminfo.3x.html
doc/html/man/curs_threads.3x.html [new file with mode: 0644]
doc/html/man/curs_util.3x.html
doc/html/man/form.3x.html
doc/html/man/form_driver.3x.html
doc/html/man/form_field_new.3x.html
doc/html/man/infocmp.1m.html
doc/html/man/infotocap.1m.html
doc/html/man/menu.3x.html
doc/html/man/menu_driver.3x.html
doc/html/man/menu_pattern.3x.html
doc/html/man/ncurses.3x.html
doc/html/man/panel.3x.html
doc/html/man/term.7.html
doc/html/man/terminfo.5.html
doc/html/man/tic.1m.html
doc/html/man/toe.1m.html
doc/html/man/tput.1.html
doc/html/man/tset.1.html
man/form_driver.3x
man/menu_driver.3x
man/menu_pattern.3x
ncurses/base/lib_freeall.c
ncurses/base/lib_newterm.c
ncurses/base/lib_restart.c
ncurses/base/lib_set_term.c
ncurses/llib-lncurses
ncurses/llib-lncursesw
ncurses/tinfo/entries.c
ncurses/tinfo/lib_baudrate.c
ncurses/tinfo/lib_setup.c
ncurses/tinfo/lib_ttyflags.c

diff --git a/INSTALL b/INSTALL
index 7917e299abae0beff72f82b374bd27531afe5482..de5a7318b9f88127f6d85c9f891479b8bd4a9e0b 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 -------------------------------------------------------------------------------
--- Copyright (c) 1998-2005,2006 Free Software Foundation, Inc.               --
+-- Copyright (c) 1998-2006,2008 Free Software Foundation, Inc.               --
 --                                                                           --
 -- Permission is hereby granted, free of charge, to any person obtaining a   --
 -- copy of this software and associated documentation files (the             --
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: INSTALL,v 1.124 2008/03/29 18:07:32 tom Exp $
+-- $Id: INSTALL,v 1.126 2008/06/21 22:31:04 tom Exp $
 ---------------------------------------------------------------------
              How to install Ncurses/Terminfo on your system
 ---------------------------------------------------------------------
@@ -795,6 +795,14 @@ SUMMARY OF CONFIGURE OPTIONS:
        may be unsigned.  Use this option if you need to preserve compatibility
        with 64-bit executables.
 
+    --with-normal
+       Generate normal (i.e., static) libraries (default).
+
+       Note:  on Linux, the configure script will attempt to use the GPM
+       library via the dlsym() function call.  Use --without-dlsym to disable
+       this feature, or --without-gpm, depending on whether you wish to use
+       GPM.
+
     --with-ospeed=TYPE
        Override type of ospeed variable, which is part of the termcap
        compatibility interface.  In termcap, this is a 'short', which works
@@ -808,14 +816,6 @@ SUMMARY OF CONFIGURE OPTIONS:
        those using termcap, do not use the higher speeds.  Your application
        (or system, in general) may or may not.
 
-    --with-normal
-       Generate normal (i.e., static) libraries (default).
-
-       Note:  on Linux, the configure script will attempt to use the GPM
-       library via the dlsym() function call.  Use --without-dlsym to disable
-       this feature, or --without-gpm, depending on whether you wish to use
-       GPM.
-
     --with-profile
        Generate profile-libraries These are named by adding "_p" to the root,
        e.g., libncurses_p.a
index 62f052ff1801a0d0e391462411646489c020f4a5..335b27dc427e899f95e238fef47f81e7e7c43cf8 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
 ./doc/html/man/curs_instr.3x.html
 ./doc/html/man/curs_inwstr.3x.html
 ./doc/html/man/curs_kernel.3x.html
+./doc/html/man/curs_legacy.3x.html
 ./doc/html/man/curs_mouse.3x.html
 ./doc/html/man/curs_move.3x.html
+./doc/html/man/curs_opaque.3x.html
 ./doc/html/man/curs_outopts.3x.html
 ./doc/html/man/curs_overlay.3x.html
 ./doc/html/man/curs_pad.3x.html
 ./doc/html/man/curs_termattrs.3x.html
 ./doc/html/man/curs_termcap.3x.html
 ./doc/html/man/curs_terminfo.3x.html
+./doc/html/man/curs_threads.3x.html
 ./doc/html/man/curs_touch.3x.html
 ./doc/html/man/curs_trace.3x.html
 ./doc/html/man/curs_util.3x.html
diff --git a/NEWS b/NEWS
index b68220fb1a257e149a0864237d77ad322f5ad241..2f027f4fab10c3f84ebed2b3f610710699eb93a4 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.1245 2008/06/14 23:08:10 tom Exp $
+-- $Id: NEWS,v 1.1248 2008/06/21 23:26:56 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,14 @@ See the AUTHORS file for the corresponding full names.
 Changes through 1.9.9e did not credit all contributions;
 it is not possible to add this information.
 
+20080621
+       + regenerated html documentation.
+       + expand manpage description of parameters for form_driver() and
+         menu_driver() (prompted by discussion with Adam Spragg).
+       + add null-pointer checks for cur_term in baudrate() and
+         def_shell_mode(), def_prog_mode()
+       + fix some memory leaks in delscreen() and wide acs.
+
 20080614
        + modify test/ditto.c to illustrate multi-threaded use_screen().
        + change CC_SHARED_OPTS from -KPIC to -xcode=pic32 for Solaris.
diff --git a/dist.mk b/dist.mk
index aef5c47a2add370627fc1f2dc7fe47b4d40e7ffe..044ba6475994a3b1ed4e09e3891ac92a46ed7e29 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -25,7 +25,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: dist.mk,v 1.646 2008/06/14 18:11:41 tom Exp $
+# $Id: dist.mk,v 1.647 2008/06/21 15:45:19 tom Exp $
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
@@ -37,7 +37,7 @@ SHELL = /bin/sh
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 5
 NCURSES_MINOR = 6
-NCURSES_PATCH = 20080614
+NCURSES_PATCH = 20080621
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index 0ae83fa9cc79a7078e54ac842e8e7694e8a26d3e..79dbe4e978343981f97f4d82672027259c1d2dcc 100644 (file)
 <LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_167_13" TARGET="main">Copy_Arg</A>
 <LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_774_16" TARGET="main">Count -  terminal_interface-curses-forms.adb:774</A>
 <LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_912_16" TARGET="main">Count -  terminal_interface-curses-menus.adb:912</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_48_13" TARGET="main">Create -  terminal_interface-curses-forms-field_types-enumeration-ada.ads:48</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_13" TARGET="main">Create -  terminal_interface-curses-forms-field_types-enumeration.ads:64</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_569_13" TARGET="main">Create -  terminal_interface-curses.ads:569</A>
 <LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_293_13" TARGET="main">Create -  terminal_interface-curses-forms.ads:293</A>
 <LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_623_13" TARGET="main">Create -  terminal_interface-curses-forms.ads:623</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_48_13" TARGET="main">Create -  terminal_interface-curses-forms-field_types-enumeration-ada.ads:48</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_13" TARGET="main">Create -  terminal_interface-curses-forms-field_types-enumeration.ads:64</A>
 <LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_191_13" TARGET="main">Create -  terminal_interface-curses-menus.ads:191</A>
 <LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_638_13" TARGET="main">Create -  terminal_interface-curses-menus.ads:638</A>
 <LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_67_13" TARGET="main">Create -  terminal_interface-curses-panels.ads:67</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_569_13" TARGET="main">Create -  terminal_interface-curses.ads:569</A>
 <LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_729_13" TARGET="main">Current -  terminal_interface-curses-forms.ads:729</A>
 <LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_294_13" TARGET="main">Current -  terminal_interface-curses-menus.ads:294</A>
 <LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_1040_16" TARGET="main">Current_Fld</A>
index cd6b24b3be5cfdb0ecdbc48da812acc5ca9e99c6..a98f98ebef68a48a9e706451f9f54287167f64e7 100644 (file)
 <LI><A HREF="../terminal_interface-curses__adb.htm#ref_2250_16" TARGET="main">Def_Shell_Mode</A>
 <LI><A HREF="../terminal_interface-curses__adb.htm#ref_2032_16" TARGET="main">Delayoutput</A>
 <LI><A HREF="../terminal_interface-curses__ads.htm#ref_1633_14" TARGET="main">Delay_Output</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_588_14" TARGET="main">Delete -  terminal_interface-curses.ads:588</A>
 <LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_315_14" TARGET="main">Delete -  terminal_interface-curses-forms.ads:315</A>
 <LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_634_14" TARGET="main">Delete -  terminal_interface-curses-forms.ads:634</A>
 <LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_203_14" TARGET="main">Delete -  terminal_interface-curses-menus.ads:203</A>
 <LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_645_14" TARGET="main">Delete -  terminal_interface-curses-menus.ads:645</A>
 <LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_139_14" TARGET="main">Delete -  terminal_interface-curses-panels.ads:139</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_588_14" TARGET="main">Delete -  terminal_interface-curses.ads:588</A>
 <LI><A HREF="../terminal_interface-curses__ads.htm#ref_1334_14" TARGET="main">Delete_Character -  terminal_interface-curses.ads:1334</A>
 <LI><A HREF="../terminal_interface-curses__ads.htm#ref_1339_14" TARGET="main">Delete_Character -  terminal_interface-curses.ads:1339</A>
 <LI><A HREF="../terminal_interface-curses__ads.htm#ref_1212_14" TARGET="main">Delete_Line</A>
@@ -38,8 +38,8 @@
 <LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_711_13" TARGET="main">Driver -  terminal_interface-curses-forms.ads:711</A>
 <LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_660_13" TARGET="main">Driver -  terminal_interface-curses-menus.ads:660</A>
 <LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_973_16" TARGET="main">Driver -  terminal_interface-curses-menus.adb:973</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_321_13" TARGET="main">Duplicate -  terminal_interface-curses-forms.ads:321</A>
 <LI><A HREF="../terminal_interface-curses__ads.htm#ref_614_13" TARGET="main">Duplicate -  terminal_interface-curses.ads:614</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_321_13" TARGET="main">Duplicate -  terminal_interface-curses-forms.ads:321</A>
 <LI><A HREF="../terminal_interface-curses__adb.htm#ref_321_16" TARGET="main">Dupwin</A>
 <LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_151_16" TARGET="main">Dup_Field</A>
 <LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_493_14" TARGET="main">Dynamic_Info</A>
index b631580d6bceada15683e9beca67b0301e698db8..0893046f2f3300ceeb7010afc4d0bb613286dae6 100644 (file)
 <LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_499_16" TARGET="main">Pos_Menu_Cursor</A>
 <LI><A HREF="../terminal_interface-curses__adb.htm#ref_1476_16" TARGET="main">Prefresh</A>
 <LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_201_13" TARGET="main">Prev_Router</A>
+<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_108_14" TARGET="main">Put -  terminal_interface-curses-text_io.ads:108</A>
+<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_109_14" TARGET="main">Put -  terminal_interface-curses-text_io.ads:109</A>
+<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_115_14" TARGET="main">Put -  terminal_interface-curses-text_io.ads:115</A>
+<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_116_14" TARGET="main">Put -  terminal_interface-curses-text_io.ads:116</A>
 <LI><A HREF="../terminal_interface-curses-text_io-complex_io__ads.htm#ref_54_14" TARGET="main">Put -  terminal_interface-curses-text_io-complex_io.ads:54</A>
 <LI><A HREF="../terminal_interface-curses-text_io-complex_io__ads.htm#ref_61_14" TARGET="main">Put -  terminal_interface-curses-text_io-complex_io.ads:61</A>
 <LI><A HREF="../terminal_interface-curses-text_io-decimal_io__ads.htm#ref_50_14" TARGET="main">Put -  terminal_interface-curses-text_io-decimal_io.ads:50</A>
 <LI><A HREF="../terminal_interface-curses-text_io-integer_io__ads.htm#ref_55_14" TARGET="main">Put -  terminal_interface-curses-text_io-integer_io.ads:55</A>
 <LI><A HREF="../terminal_interface-curses-text_io-modular_io__ads.htm#ref_49_14" TARGET="main">Put -  terminal_interface-curses-text_io-modular_io.ads:49</A>
 <LI><A HREF="../terminal_interface-curses-text_io-modular_io__ads.htm#ref_55_14" TARGET="main">Put -  terminal_interface-curses-text_io-modular_io.ads:55</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_108_14" TARGET="main">Put -  terminal_interface-curses-text_io.ads:108</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_109_14" TARGET="main">Put -  terminal_interface-curses-text_io.ads:109</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_115_14" TARGET="main">Put -  terminal_interface-curses-text_io.ads:115</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_116_14" TARGET="main">Put -  terminal_interface-curses-text_io.ads:116</A>
 <LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_143_16" TARGET="main">putp</A>
 <LI><A HREF="../terminal_interface-curses-putwin__adb.htm#ref_53_16" TARGET="main">putwin</A>
 <LI><A HREF="../terminal_interface-curses-text_io-aux__ads.htm#ref_48_14" TARGET="main">Put_Buf</A>
index e65e53861e5ed7542bb1d0db97a9d7aa4d4a8bc7..f1d0007fa0a1a3fbe1b1bb9bd1de1efd413d7d33 100644 (file)
@@ -20,9 +20,9 @@
 <LI><A HREF="../terminal_interface-curses__adb.htm#ref_2515_16" TARGET="main">scr_init</A>
 <LI><A HREF="../terminal_interface-curses__adb.htm#ref_2502_16" TARGET="main">scr_restore</A>
 <LI><A HREF="../terminal_interface-curses__adb.htm#ref_2528_16" TARGET="main">scr_set</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1108_14" TARGET="main">Set_Background -  terminal_interface-curses.ads:1108</A>
 <LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_446_14" TARGET="main">Set_Background -  terminal_interface-curses-forms.ads:446</A>
 <LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_443_14" TARGET="main">Set_Background -  terminal_interface-curses-menus.ads:443</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1108_14" TARGET="main">Set_Background -  terminal_interface-curses.ads:1108</A>
 <LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_354_14" TARGET="main">Set_Buffer</A>
 <LI><A HREF="../terminal_interface-curses__ads.htm#ref_886_14" TARGET="main">Set_Cbreak_Mode</A>
 <LI><A HREF="../terminal_interface-curses__ads.htm#ref_817_14" TARGET="main">Set_Character_Attributes</A>
@@ -60,6 +60,7 @@
 <LI><A HREF="../terminal_interface-curses-forms-field_user_data__adb.htm#ref_57_16" TARGET="main">Set_Field_Userptr</A>
 <LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_231_16" TARGET="main">Set_Fld_Buffer</A>
 <LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_278_16" TARGET="main">Set_Fld_Status</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types__adb.htm#ref_153_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types.adb:153</A>
 <LI><A HREF="../terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_54_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-alpha.adb:54</A>
 <LI><A HREF="../terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_54_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-alphanumeric.adb:54</A>
 <LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_97_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-enumeration.adb:97</A>
@@ -67,7 +68,6 @@
 <LI><A HREF="../terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_54_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-ipv4_address.adb:54</A>
 <LI><A HREF="../terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_56_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-numeric.adb:56</A>
 <LI><A HREF="../terminal_interface-curses-forms-field_types-user__adb.htm#ref_56_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-user.adb:56</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types__adb.htm#ref_153_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types.adb:153</A>
 <LI><A HREF="../terminal_interface-curses__ads.htm#ref_928_14" TARGET="main">Set_Flush_On_Interrupt_Mode</A>
 <LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_426_14" TARGET="main">Set_Foreground -  terminal_interface-curses-forms.ads:426</A>
 <LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_423_14" TARGET="main">Set_Foreground -  terminal_interface-curses-menus.ads:423</A>
index 701fe7d1437bb2702f62e7b330b7d86e53afcc0a..d850608c647f36be537ef58796337f4c951fb2ff 100644 (file)
 <HR>
 You should start your browsing with one of these files:
 <UL>
+<LI><A HREF="terminal_interface__ads.htm">terminal_interface.ads</A>
+<LI><A HREF="terminal_interface-curses__ads.htm">terminal_interface-curses.ads</A>
 <LI><A HREF="terminal_interface-curses-aux__ads.htm">terminal_interface-curses-aux.ads</A>
+<LI><A HREF="terminal_interface-curses-forms__ads.htm">terminal_interface-curses-forms.ads</A>
+<LI><A HREF="terminal_interface-curses-forms-field_types__ads.htm">terminal_interface-curses-forms-field_types.ads</A>
 <LI><A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm">terminal_interface-curses-forms-field_types-alpha.ads</A>
 <LI><A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm">terminal_interface-curses-forms-field_types-alphanumeric.ads</A>
 <LI><A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm">terminal_interface-curses-forms-field_types-enumeration-ada.ads</A>
@@ -38,21 +42,20 @@ You should start your browsing with one of these files:
 <LI><A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm">terminal_interface-curses-forms-field_types-ipv4_address.ads</A>
 <LI><A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm">terminal_interface-curses-forms-field_types-numeric.ads</A>
 <LI><A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm">terminal_interface-curses-forms-field_types-regexp.ads</A>
-<LI><A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm">terminal_interface-curses-forms-field_types-user-choice.ads</A>
 <LI><A HREF="terminal_interface-curses-forms-field_types-user__ads.htm">terminal_interface-curses-forms-field_types-user.ads</A>
-<LI><A HREF="terminal_interface-curses-forms-field_types__ads.htm">terminal_interface-curses-forms-field_types.ads</A>
+<LI><A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm">terminal_interface-curses-forms-field_types-user-choice.ads</A>
 <LI><A HREF="terminal_interface-curses-forms-field_user_data__ads.htm">terminal_interface-curses-forms-field_user_data.ads</A>
 <LI><A HREF="terminal_interface-curses-forms-form_user_data__ads.htm">terminal_interface-curses-forms-form_user_data.ads</A>
-<LI><A HREF="terminal_interface-curses-forms__ads.htm">terminal_interface-curses-forms.ads</A>
+<LI><A HREF="terminal_interface-curses-menus__ads.htm">terminal_interface-curses-menus.ads</A>
 <LI><A HREF="terminal_interface-curses-menus-item_user_data__ads.htm">terminal_interface-curses-menus-item_user_data.ads</A>
 <LI><A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm">terminal_interface-curses-menus-menu_user_data.ads</A>
-<LI><A HREF="terminal_interface-curses-menus__ads.htm">terminal_interface-curses-menus.ads</A>
 <LI><A HREF="terminal_interface-curses-mouse__ads.htm">terminal_interface-curses-mouse.ads</A>
-<LI><A HREF="terminal_interface-curses-panels-user_data__ads.htm">terminal_interface-curses-panels-user_data.ads</A>
 <LI><A HREF="terminal_interface-curses-panels__ads.htm">terminal_interface-curses-panels.ads</A>
+<LI><A HREF="terminal_interface-curses-panels-user_data__ads.htm">terminal_interface-curses-panels-user_data.ads</A>
 <LI><A HREF="terminal_interface-curses-putwin__ads.htm">terminal_interface-curses-putwin.ads</A>
 <LI><A HREF="terminal_interface-curses-termcap__ads.htm">terminal_interface-curses-termcap.ads</A>
 <LI><A HREF="terminal_interface-curses-terminfo__ads.htm">terminal_interface-curses-terminfo.ads</A>
+<LI><A HREF="terminal_interface-curses-text_io__ads.htm">terminal_interface-curses-text_io.ads</A>
 <LI><A HREF="terminal_interface-curses-text_io-aux__ads.htm">terminal_interface-curses-text_io-aux.ads</A>
 <LI><A HREF="terminal_interface-curses-text_io-complex_io__ads.htm">terminal_interface-curses-text_io-complex_io.ads</A>
 <LI><A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm">terminal_interface-curses-text_io-decimal_io.ads</A>
@@ -61,9 +64,6 @@ You should start your browsing with one of these files:
 <LI><A HREF="terminal_interface-curses-text_io-float_io__ads.htm">terminal_interface-curses-text_io-float_io.ads</A>
 <LI><A HREF="terminal_interface-curses-text_io-integer_io__ads.htm">terminal_interface-curses-text_io-integer_io.ads</A>
 <LI><A HREF="terminal_interface-curses-text_io-modular_io__ads.htm">terminal_interface-curses-text_io-modular_io.ads</A>
-<LI><A HREF="terminal_interface-curses-text_io__ads.htm">terminal_interface-curses-text_io.ads</A>
 <LI><A HREF="terminal_interface-curses-trace__ads.htm">terminal_interface-curses-trace.ads</A>
-<LI><A HREF="terminal_interface-curses__ads.htm">terminal_interface-curses.ads</A>
-<LI><A HREF="terminal_interface__ads.htm">terminal_interface.ads</A>
 </UL>
 </BODY></HTML>
index ce8d91f4eb614482401f9833ac3d32cd68a3d110..ff6d0bd404b17af7bd2dac7b09b659d20003764a 100644 (file)
@@ -10,8 +10,6 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TABLE ALIGN=CENTER BORDER>
 <TR ALIGN=LEFT>
 <TH>C name</TH><TH>Ada name</TH><TH>man page</TH></TR>
-<TR><TD>_nc_freeall()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_159">Curses_Free_All</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
-<TR><TD>_tracef()</TD><TD><A HREF="terminal_interface-curses-trace__ads.htm#AFU_2">Trace_Put</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
 <TR><TD>assume_default_colors()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_156">Assume_Default_Colors</A></TD><TD><A HREF="../man/default_colors.3x.html">default_colors.3x</A></TD></TR>
 <TR><TD>baudrate()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_131">Baudrate</A></TD><TD><A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></TD></TR>
 <TR><TD>beep()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_40">Beep</A></TD><TD><A HREF="../man/curs_beep.3x.html">curs_beep.3x</A></TD></TR>
@@ -24,15 +22,15 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>copywin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_79">Copy</A></TD><TD><A HREF="../man/curs_overlay.3x.html">curs_overlay.3x</A></TD></TR>
 <TR><TD>current_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_58">Current</A></TD><TD><A HREF="../man/form_page.3x.html">form_page.3x</A></TD></TR>
 <TR><TD>current_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_14">Current</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
-<TR><TD>curs_set()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_153">Set_Cursor_Visibility</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
 <TR><TD>curscr</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_2">Current_Window</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
 <TR><TD>curses_version()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_157">Curses_Version</A></TD><TD><A HREF="../man/curs_extend.3x.html">curs_extend.3x</A></TD></TR>
+<TR><TD>curs_set()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_153">Set_Cursor_Visibility</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
 <TR><TD>data_ahead()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_54">Data_Ahead</A></TD><TD><A HREF="../man/form_data.3x.html">form_data.3x</A></TD></TR>
 <TR><TD>data_behind()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_55">Data_Behind</A></TD><TD><A HREF="../man/form_data.3x.html">form_data.3x</A></TD></TR>
-<TR><TD>def_prog_mode()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_148">Save_Curses_Mode</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
 <TR><TD>define_key()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_124">Define_Key</A></TD><TD><A HREF="../man/define_key.3x.html">define_key.3x</A></TD></TR>
-<TR><TD>del_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_15">Delete</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
+<TR><TD>def_prog_mode()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_148">Save_Curses_Mode</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
 <TR><TD>delay_output()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_129">Delay_Output</A></TD><TD><A HREF="../man/curs_util.3x.html">curs_util.3x</A></TD></TR>
+<TR><TD>del_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_15">Delete</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>delwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_12">Delete</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
 <TR><TD>derwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_14">Derived_Window</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
 <TR><TD>doupdate()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_61">Update_Screen</A></TD><TD><A HREF="../man/curs_refresh.3x.html">curs_refresh.3x</A></TD></TR>
@@ -52,9 +50,9 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>field_info()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_25">Info</A></TD><TD><A HREF="../man/form_field_info.3x.html">form_field_info.3x</A></TD></TR>
 <TR><TD>field_init()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_36">Get_Field_Init_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
 <TR><TD>field_just()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_7">Get_Justification</A></TD><TD><A HREF="../man/form_field_just.3x.html">form_field_just.3x</A></TD></TR>
+<TR><TD>field_opts_on()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_14">Switch_Options</A></TD><TD><A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></TD></TR>
 <TR><TD>field_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_15">Get_Options</A></TD><TD><A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></TD></TR>
 <TR><TD>field_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_16">Get_Options</A></TD><TD><A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></TD></TR>
-<TR><TD>field_opts_on()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_14">Switch_Options</A></TD><TD><A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></TD></TR>
 <TR><TD>field_pad()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_24">Pad_Character</A></TD><TD><A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></TD></TR>
 <TR><TD>field_status()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_11">Changed</A></TD><TD><A HREF="../man/form_field_buffer.3x.html">form_field_buffer.3x</A></TD></TR>
 <TR><TD>field_term()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_37">Get_Field_Term_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
@@ -66,9 +64,9 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>form_driver()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_56">Driver</A></TD><TD><A HREF="../man/form_driver.3x.html">form_driver.3x</A></TD></TR>
 <TR><TD>form_fields()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_42">Fields</A></TD><TD><A HREF="../man/form_field.3x.html">form_field.3x</A></TD></TR>
 <TR><TD>form_init()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_38">Get_Form_Init_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
+<TR><TD>form_opts_on()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_49">Switch_Options</A></TD><TD><A HREF="../man/form_opts.3x.html">form_opts.3x</A></TD></TR>
 <TR><TD>form_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_50">Get_Options</A></TD><TD><A HREF="../man/form_opts.3x.html">form_opts.3x</A></TD></TR>
 <TR><TD>form_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_51">Get_Options</A></TD><TD><A HREF="../man/form_opts.3x.html">form_opts.3x</A></TD></TR>
-<TR><TD>form_opts_on()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_49">Switch_Options</A></TD><TD><A HREF="../man/form_opts.3x.html">form_opts.3x</A></TD></TR>
 <TR><TD>form_page()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_60">Page</A></TD><TD><A HREF="../man/form_page.3x.html">form_page.3x</A></TD></TR>
 <TR><TD>form_sub()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_30">Get_Sub_Window</A></TD><TD><A HREF="../man/form_win.3x.html">form_win.3x</A></TD></TR>
 <TR><TD>form_term()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_39">Get_Form_Term_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
@@ -98,17 +96,17 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>initscr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_3">Init_Screen</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
 <TR><TD>initscr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_4">Init_Windows</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
 <TR><TD>intrflush()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_48">Set_Flush_On_Interrupt_Mode</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR>
+<TR><TD>isendwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_6">Is_End_Window</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
 <TR><TD>is_linetouched()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_77">Is_Touched</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
 <TR><TD>is_wintouched()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_78">Is_Touched</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
-<TR><TD>isendwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_6">Is_End_Window</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
 <TR><TD>item_count()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_58">Item_Count</A></TD><TD><A HREF="../man/menu_items.3x.html">menu_items.3x</A></TD></TR>
 <TR><TD>item_description();</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_12">Description</A></TD><TD><A HREF="../man/mitem_name.3x.html">mitem_name.3x</A></TD></TR>
 <TR><TD>item_index()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_17">Get_Index</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
 <TR><TD>item_init()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_52">Get_Item_Init_Hook</A></TD><TD><A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></TD></TR>
 <TR><TD>item_name()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_11">Name</A></TD><TD><A HREF="../man/mitem_name.3x.html">mitem_name.3x</A></TD></TR>
+<TR><TD>item_opts_on()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_8">Switch_Options</A></TD><TD><A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></TD></TR>
 <TR><TD>item_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_10">Get_Options</A></TD><TD><A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></TD></TR>
 <TR><TD>item_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_9">Get_Options</A></TD><TD><A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></TD></TR>
-<TR><TD>item_opts_on()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_8">Switch_Options</A></TD><TD><A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></TD></TR>
 <TR><TD>item_term()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_53">Get_Item_Term_Hook</A></TD><TD><A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></TD></TR>
 <TR><TD>item_userptr</TD><TD><A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#AFU_2">Get_User_Data</A></TD><TD><A HREF="../man/mitem_userptr.3x.html">mitem_userptr.3x</A></TD></TR>
 <TR><TD>item_userptr</TD><TD><A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#AFU_3">Get_User_Data</A></TD><TD><A HREF="../man/mitem_userptr.3x.html">mitem_userptr.3x</A></TD></TR>
@@ -134,9 +132,9 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>menu_init()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_54">Get_Menu_Init_Hook</A></TD><TD><A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></TD></TR>
 <TR><TD>menu_items()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_57">Items</A></TD><TD><A HREF="../man/menu_items.3x.html">menu_items.3x</A></TD></TR>
 <TR><TD>menu_mark()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_30">Mark</A></TD><TD><A HREF="../man/menu_mark.3x.html">menu_mark.3x</A></TD></TR>
+<TR><TD>menu_opts_on()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_20">Switch_Options</A></TD><TD><A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></TD></TR>
 <TR><TD>menu_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_21">Get_Options</A></TD><TD><A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></TD></TR>
 <TR><TD>menu_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_22">Get_Options</A></TD><TD><A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></TD></TR>
-<TR><TD>menu_opts_on()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_20">Switch_Options</A></TD><TD><A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></TD></TR>
 <TR><TD>menu_pad()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_41">Pad_Character</A></TD><TD><A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></TD></TR>
 <TR><TD>menu_pattern()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_45">Pattern</A></TD><TD><A HREF="../man/menu_pattern.3x.html">menu_pattern.3x</A></TD></TR>
 <TR><TD>menu_requestname.3x</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_62"></A></TD><TD><A HREF="../man/menu_driver.3x.html">menu_driver.3x</A></TD></TR>
@@ -152,19 +150,20 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>move_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_44">Move</A></TD><TD><A HREF="../man/form_field.3x.html">form_field.3x</A></TD></TR>
 <TR><TD>move_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_11">Move</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>mvderwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_17">Move_Derived_Window</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
-<TR><TD>mvwaddch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_9">Add</A></TD><TD><A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></TD></TR>
 <TR><TD>mvwaddchnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_24">Add</A></TD><TD><A HREF="../man/curs_addchstr.3x.html">curs_addchstr.3x</A></TD></TR>
+<TR><TD>mvwaddch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_9">Add</A></TD><TD><A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></TD></TR>
 <TR><TD>mvwaddnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_22">Add</A></TD><TD><A HREF="../man/curs_addstr.3x.html">curs_addstr.3x</A></TD></TR>
 <TR><TD>mvwchgat()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_39">Change_Attributes</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>mvwdelch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_96">Delete_Character</A></TD><TD><A HREF="../man/curs_delch.3x.html">curs_delch.3x</A></TD></TR>
 <TR><TD>mvwgetnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_108">Get</A></TD><TD><A HREF="../man/curs_getstr.3x.html">curs_getstr.3x</A></TD></TR>
-<TR><TD>mvwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_16">Move_Window</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
-<TR><TD>mvwinch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_98">Peek</A></TD><TD><A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></TD></TR>
 <TR><TD>mvwinchnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_106">Peek</A></TD><TD><A HREF="../man/curs_inchstr.3x.html">curs_inchstr.3x</A></TD></TR>
+<TR><TD>mvwinch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_98">Peek</A></TD><TD><A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></TD></TR>
 <TR><TD>mvwinnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_104">Peek</A></TD><TD><A HREF="../man/curs_instr.3x.html">curs_instr.3x</A></TD></TR>
 <TR><TD>mvwinsch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_100">Insert</A></TD><TD><A HREF="../man/curs_insch.3x.html">curs_insch.3x</A></TD></TR>
 <TR><TD>mvwinsnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_102">Insert</A></TD><TD><A HREF="../man/curs_insstr.3x.html">curs_insstr.3x</A></TD></TR>
+<TR><TD>mvwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_16">Move_Window</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
 <TR><TD>napms()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_154">Nap_Milli_Seconds</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
+<TR><TD>_nc_freeall()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_159">Curses_Free_All</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
 <TR><TD>new_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_1">Create</A></TD><TD><A HREF="../man/form_field_new.3x.html">form_field_new.3x</A></TD></TR>
 <TR><TD>new_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_2">New_Field</A></TD><TD><A HREF="../man/form_field_new.3x.html">form_field_new.3x</A></TD></TR>
 <TR><TD>new_form()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_45">Create</A></TD><TD><A HREF="../man/form_new.3x.html">form_new.3x</A></TD></TR>
@@ -172,10 +171,10 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>new_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_1">Create</A></TD><TD><A HREF="../man/mitem_new.3x.html">mitem_new.3x</A></TD></TR>
 <TR><TD>new_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_2">New_Item</A></TD><TD><A HREF="../man/mitem_new.3x.html">mitem_new.3x</A></TD></TR>
 <TR><TD>new_menu()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_59">Create</A></TD><TD><A HREF="../man/menu_new.3x.html">menu_new.3x</A></TD></TR>
+<TR><TD>newpad()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_89">New_Pad</A></TD><TD><A HREF="../man/curs_pad.3x.html">curs_pad.3x</A></TD></TR>
 <TR><TD>new_page()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_63">Is_New_Page</A></TD><TD><A HREF="../man/form_new_page.3x.html">form_new_page.3x</A></TD></TR>
 <TR><TD>new_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_1">Create</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>new_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_2">New_Panel</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
-<TR><TD>newpad()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_89">New_Pad</A></TD><TD><A HREF="../man/curs_pad.3x.html">curs_pad.3x</A></TD></TR>
 <TR><TD>newwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_11">Create</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
 <TR><TD>nl()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_53">Set_NL_Mode</A></TD><TD><A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></TD></TR>
 <TR><TD>nodelay()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_50">Set_NoDelay_Mode</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR>
@@ -209,9 +208,9 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>scale_menu()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_27">Scale</A></TD><TD><A HREF="../man/menu_win.3x.html">menu_win.3x</A></TD></TR>
 <TR><TD>scr_dump()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_160">Screen_Dump_To_File</A></TD><TD><A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></TD></TR>
 <TR><TD>scr_init()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_162">Screen_Init_From_File</A></TD><TD><A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></TD></TR>
+<TR><TD>scrollok()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_59">Allow_Scrolling</A></TD><TD><A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></TD></TR>
 <TR><TD>scr_restore()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_161">Screen_Restore_From_File</A></TD><TD><A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></TD></TR>
 <TR><TD>scr_set()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_163">Screen_Set_File</A></TD><TD><A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></TD></TR>
-<TR><TD>scrollok()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_59">Allow_Scrolling</A></TD><TD><A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></TD></TR>
 <TR><TD>set_current_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_57">Set_Current</A></TD><TD><A HREF="../man/form_page.3x.html">form_page.3x</A></TD></TR>
 <TR><TD>set_current_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_13">Set_Current</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
 <TR><TD>set_field_back()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_20">Set_Background</A></TD><TD><A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></TD></TR>
@@ -259,10 +258,10 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>set_panel_userptr</TD><TD><A HREF="terminal_interface-curses-panels-user_data__ads.htm#AFU_1">Set_User_Data</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>set_top_row()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_15">Set_Top_Row</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
 <TR><TD>show_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_5">Show</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
-<TR><TD>slk_attr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_120">Get_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
-<TR><TD>slk_attr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_121">Get_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
 <TR><TD>slk_attron()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_118">Switch_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
 <TR><TD>slk_attrset()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_119">Set_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
+<TR><TD>slk_attr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_120">Get_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
+<TR><TD>slk_attr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_121">Get_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
 <TR><TD>slk_clear()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_115">Clear_Soft_Label_Keys</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
 <TR><TD>slk_color()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_122">Set_Soft_Label_Key_Color</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
 <TR><TD>slk_init()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_109">Init_Soft_Label_Keys</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
@@ -286,6 +285,7 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>top_row()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_16">Top_Row</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
 <TR><TD>touchline()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_75">Touch</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
 <TR><TD>touchwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_74">Touch</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
+<TR><TD>_tracef()</TD><TD><A HREF="terminal_interface-curses-trace__ads.htm#AFU_2">Trace_Put</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
 <TR><TD>trace()</TD><TD><A HREF="terminal_interface-curses-trace__ads.htm#AFU_1">Trace_on</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
 <TR><TD>unctrl()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_127">Un_Control</A></TD><TD><A HREF="../man/curs_util.3x.html">curs_util.3x</A></TD></TR>
 <TR><TD>unctrl()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_128">Un_Control</A></TD><TD><A HREF="../man/curs_util.3x.html">curs_util.3x</A></TD></TR>
@@ -295,16 +295,16 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>update_panels()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_6">Update_Panels</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>use_default_colors()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_155">Use_Default_Colors</A></TD><TD><A HREF="../man/default_colors.3x.html">default_colors.3x</A></TD></TR>
 <TR><TD>use_extended_names()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_158">Use_Extended_Names</A></TD><TD><A HREF="../man/curs_extend.3x.html">curs_extend.3x</A></TD></TR>
-<TR><TD>waddch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_8">Add</A></TD><TD><A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></TD></TR>
 <TR><TD>waddchnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_23">Add</A></TD><TD><A HREF="../man/curs_addchstr.3x.html">curs_addchstr.3x</A></TD></TR>
+<TR><TD>waddch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_8">Add</A></TD><TD><A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></TD></TR>
 <TR><TD>waddnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_21">Add</A></TD><TD><A HREF="../man/curs_addstr.3x.html">curs_addstr.3x</A></TD></TR>
 <TR><TD>wattr_get()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_35">Get_Character_Attributes</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>wattr_get()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_36">Get_Character_Attribute</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>wattron()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_33">Switch_Character_Attribute</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>wattrset()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_34">Set_Character_Attributes</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
-<TR><TD>wbkgd()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_71">Change_Background</A></TD><TD><A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></TD></TR>
 <TR><TD>wbkgdget()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_72">Get_Background</A></TD><TD><A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></TD></TR>
 <TR><TD>wbkgdset()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_70">Set_Background</A></TD><TD><A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></TD></TR>
+<TR><TD>wbkgd()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_71">Change_Background</A></TD><TD><A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></TD></TR>
 <TR><TD>wborder()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_25">Border</A></TD><TD><A HREF="../man/curs_border.3x.html">curs_border.3x</A></TD></TR>
 <TR><TD>wchgat()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_38">Change_Attributes</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>wclear()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_67">Clear</A></TD><TD><A HREF="../man/curs_clear.3x.html">curs_clear.3x</A></TD></TR>
@@ -319,8 +319,8 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
 <TR><TD>wgetch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_29">Get_Keystroke</A></TD><TD><A HREF="../man/curs_getch.3x.html">curs_getch.3x</A></TD></TR>
 <TR><TD>wgetnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_107">Get</A></TD><TD><A HREF="../man/curs_getstr.3x.html">curs_getstr.3x</A></TD></TR>
 <TR><TD>whline()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_27">Horizontal_Line</A></TD><TD><A HREF="../man/curs_border.3x.html">curs_border.3x</A></TD></TR>
-<TR><TD>winch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_97">Peek</A></TD><TD><A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></TD></TR>
 <TR><TD>winchnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_105">Peek</A></TD><TD><A HREF="../man/curs_inchstr.3x.html">curs_inchstr.3x</A></TD></TR>
+<TR><TD>winch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_97">Peek</A></TD><TD><A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></TD></TR>
 <TR><TD>winnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_103">Peek</A></TD><TD><A HREF="../man/curs_instr.3x.html">curs_instr.3x</A></TD></TR>
 <TR><TD>winsch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_99">Insert</A></TD><TD><A HREF="../man/curs_insch.3x.html">curs_insch.3x</A></TD></TR>
 <TR><TD>winsdelln()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_82">Insert_Delete_Lines</A></TD><TD><A HREF="../man/curs_deleteln.3x.html">curs_deleteln.3x</A></TD></TR>
index 9d6a80314ef0aebaa35dac10017c7a29107979dd..f2160cd6536f48af03e1e99034849cdb09340b26 100644 (file)
@@ -40,7 +40,7 @@
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
 <FONT COLOR=green><EM>--  Version Control:</EM></FONT>
-<FONT COLOR=green><EM>--  @Revision: 1.15 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.16 @</EM></FONT>
 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
 <FONT COLOR=green><EM>--  curses binding.</EM></FONT>
index b980f1d626ffc474f205b228d85bbdd2cfedb2ca..6fcacb72f7e35427d00037900374446cdf188992 100644 (file)
@@ -2,7 +2,7 @@
 <!-- 
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2004,2006 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2006,2007 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            *
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: captoinfo.1m,v 1.21 2006/12/24 18:07:15 tom Exp @
+  * @Id: captoinfo.1m,v 1.22 2007/06/02 20:40:07 tom Exp @
 -->
 <HTML>
 <HEAD>
        This utility is actually a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, running in  <EM>-I</EM>
        mode.  You can use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and  <STRONG>-x</STRONG>.
 
-       The  trace  option isn't identical to SVr4's.  Under SVr4,
+       The  trace option is not identical to SVr4's.  Under SVr4,
        instead of following the <STRONG>-v</STRONG> with  a  trace  level  n,  you
        repeat it n times.
 
 <H2>SEE ALSO</H2><PRE>
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20070303).
+       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20080621).
 
 
 </PRE>
index 54a6a0430e67ab1d44813a73459da5f685791c88..bcc5a85ed41e7a19cbf3fa9e4f09826c9bb12c23 100644 (file)
@@ -69,7 +69,7 @@
 <H2>SEE ALSO</H2><PRE>
        <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20070303).
+       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20080621).
 
 
 
index e59f7eced5fc1275fdb20ead0602a1163250f5fb..162532cecea1f96ddeb6c55b18748bb7b3579f60 100644 (file)
@@ -2,7 +2,7 @@
 <!-- 
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2006,2007 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            *
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_addch.3x,v 1.26 2006/12/24 16:05:17 tom Exp @
+  * @Id: curs_addch.3x,v 1.27 2007/06/02 20:40:07 tom Exp @
 -->
 <HTML>
 <HEAD>
        The  following  variables  may be used to add line drawing
        characters to the screen with routines of the  <STRONG>addch</STRONG>  fam-
        ily.   The  default  character listed below is used if the
-       <STRONG>acsc</STRONG>  capability  doesn't   define   a   terminal-specific
+       <STRONG>acsc</STRONG>  capability  does  not  define  a   terminal-specific
        replacement  for  it.   The  names  are  taken  from VT100
        nomenclature.
 
index f693943907761da0d47237b97965bb2a8ce5e31c..9a7b2a46963e9064a4789786f29c6687d132b9b1 100644 (file)
@@ -2,7 +2,7 @@
 <!-- 
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2006,2007 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            *
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_attr.3x,v 1.30 2006/07/15 18:39:05 tom Exp @
+  * @Id: curs_attr.3x,v 1.31 2007/03/17 20:30:33 tom Exp @
 -->
 <HTML>
 <HEAD>
        This implementation returns an error if the window pointer
        is  null.  The <STRONG>wcolor_set</STRONG> function returns an error if the
        color  pair  parameter  is  outside  the   range   0..COL-
-       OR_PAIRS-1.
+       OR_PAIRS-1.   This  implementation  also provides <STRONG>getattrs</STRONG>
+       for compatibility with older versions of curses.
 
 
 </PRE>
index e70f7757289e1f41401c40a69d2ba1d52e014474..86bb486851aa0e31b45cb658721de3fa2b958643 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1998,2005 Free Software Foundation, Inc.                   *
+  * Copyright (c) 1998-2005,2007 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            *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_clear.3x,v 1.10 2005/10/01 19:34:43 tom Exp @
+  * @Id: curs_clear.3x,v 1.11 2007/12/29 15:58:38 tom Exp @
 -->
 <HTML>
 <HEAD>
        tations, and may not be true of implementations which were
        not derived from SVr4 source.
 
+       Not  obvious  from  the  description, most implementations
+       clear the screen after <STRONG>wclear</STRONG> even for a subwindow or  de-
+       rived window.  If you do not want to clear the screen dur-
+       ing the next <STRONG>wrefresh</STRONG>, use <STRONG>werase</STRONG> instead.
+
 
 </PRE>
 <H2>SEE ALSO</H2><PRE>
index 2db8bd8f40e8c6e4e3dda7399defcbb28b4d52c2..8e73ce5b8cd1285ef52a87916fe62ab00c6ae1d4 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2006,2007 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            *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_deleteln.3x,v 1.10 2006/02/25 21:49:19 tom Exp @
+  * @Id: curs_deleteln.3x,v 1.11 2007/06/02 20:40:07 tom Exp @
 -->
 <HTML>
 <HEAD>
        Note that all but <STRONG>winsdelln</STRONG> may be macros.
 
        These  routines  do  not require a hardware line delete or
-       insert feature in the terminal.  In fact, they  won't  use
-       hardware  line  delete/insert  unless <STRONG>idlok(...,</STRONG> <STRONG>TRUE)</STRONG> has
-       been set on the current window.
+       insert feature in the terminal.  In fact,  they  will  not
+       use  hardware  line  delete/insert unless <STRONG>idlok(...,</STRONG> <STRONG>TRUE)</STRONG>
+       has been set on the current window.
 
 
 </PRE>
index 235e41c9fb413d59a44fb9311246ec6a48d6f825..b55ce1d7dfbfaa406946710e08a43abf1b6ae691 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <!-- 
   ****************************************************************************
-  * Copyright (c) 2001-2003,2006 Free Software Foundation, Inc.              *
+  * Copyright (c) 2001-2006,2008 Free Software Foundation, Inc.              *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_getcchar.3x,v 1.10 2006/12/24 16:00:02 tom Exp @
+  * @Id: curs_getcchar.3x,v 1.11 2008/05/17 19:37:05 tom Exp @
 -->
 <HTML>
 <HEAD>
 
        -    The wide-character string pointed  to  by  <EM>wch</EM>.   The
             string  must be L'\0' terminated, contain at most one
-            character with strictly positive width, which must be
-            the  first,  and  contain  no  characters of negative
-            width.
+            spacing character, which must be the first.
+
+            Up to <STRONG>CCHARW_MAX</STRONG>-1 nonspacing characters may  follow.
+            Additional nonspacing characters are ignored.
+
+            The  string  may  contain  a single control character
+            instead.  In that case, no nonspacing characters  are
+            allowed.
 
 
 </PRE>
 <H2>NOTES</H2><PRE>
-       The <EM>opts</EM> argument is reserved for future use.   Currently,
+       The  <EM>opts</EM> argument is reserved for future use.  Currently,
        an application must provide a null pointer as <EM>opts</EM>.
 
-       The  <EM>wcval</EM>  argument may be a value generated by a call to
-       <STRONG>setcchar</STRONG> or by a function that has a <STRONG>cchar_t</STRONG> output  argu-
-       ment.   If  <EM>wcval</EM>  is  constructed by any other means, the
+       The <EM>wcval</EM> argument may be a value generated by a  call  to
+       <STRONG>setcchar</STRONG>  or by a function that has a <STRONG>cchar_t</STRONG> output argu-
+       ment.  If <EM>wcval</EM> is constructed by  any  other  means,  the
        effect is unspecified.
 
 
        When <EM>wch</EM> is a null pointer, <STRONG>getcchar</STRONG> returns the number of
        wide characters referenced by <EM>wcval</EM>.
 
-       When  <EM>wch</EM>  is not a null pointer, <STRONG>getcchar</STRONG> returns <STRONG>OK</STRONG> upon
+       When <EM>wch</EM> is not a null pointer, <STRONG>getcchar</STRONG> returns  <STRONG>OK</STRONG>  upon
        successful completion, and <STRONG>ERR</STRONG> otherwise.
 
-       Upon successful completion, <STRONG>setcchar</STRONG> returns  <STRONG>OK</STRONG>.   Other-
+       Upon  successful  completion, <STRONG>setcchar</STRONG> returns <STRONG>OK</STRONG>.  Other-
        wise, it returns <STRONG>ERR</STRONG>.
 
 
 </PRE>
 <H2>SEE ALSO</H2><PRE>
-       Functions:   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,   <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>,  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
+       Functions:  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,   <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>,   <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
        <STRONG><A HREF="wcwidth.3.html">wcwidth(3)</A></STRONG>.
 
 
index 796528f82b777489eb3f0a7d67f60ea45f0689b8..22b3aec6b15372817a27a17130500c9f4e89266d 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1998-2003,2006 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2006,2007 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            *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_getyx.3x,v 1.13 2006/05/27 20:28:05 tom Exp @
+  * @Id: curs_getyx.3x,v 1.16 2007/05/12 16:34:49 tom Exp @
 -->
 <HTML>
 <HEAD>
        The  <STRONG>getyx</STRONG>,  <STRONG>getparyx</STRONG>,  <STRONG>getbegyx</STRONG>  and  <STRONG>getmaxyx</STRONG> macros are
        described in the XSI Curses standard, Issue 4.
 
-       This  implementation  also  provides   <STRONG>getbegx</STRONG>,   <STRONG>getbegy</STRONG>,
-       <STRONG>getcurx</STRONG>,  <STRONG>getcury</STRONG>,  <STRONG>getmaxx</STRONG>,  <STRONG>getmaxy</STRONG>, <STRONG>getparx</STRONG> and <STRONG>getpary</STRONG>
-       for compatibility with older versions of  curses.   X/Open
-       does  not define a corresponding <STRONG>getcuryx</STRONG> function, though
-       that would be needed to  make  references  to  the  WINDOW
-       structure opaque.
+       This implementation also provides functions <STRONG>getbegx</STRONG>, <STRONG>getb-</STRONG>
+       <STRONG>egy</STRONG>,  <STRONG>getcurx</STRONG>, <STRONG>getcury</STRONG>, <STRONG>getmaxx</STRONG>, <STRONG>getmaxy</STRONG>, <STRONG>getparx</STRONG> and <STRONG>get-</STRONG>
+       <STRONG>pary</STRONG> for compatibility with older versions of curses.
+
+       Although X/Open Curses does not address this, many  imple-
+       mentations  provide  members  of the WINDOW structure con-
+       taining values corresponding to these  macros.   For  best
+       portability,  do  not  rely  on  using the data in WINDOW,
+       since some implementations  make  WINDOW  opaque  (do  not
+       allow direct use of its members).
+
+       Besides  the problem of opaque structures, the data stored
+       in like-named members may not have like-values in  differ-
+       ent  implementations.   For  example, the WINDOW._maxx and
+       WINDOW._maxy  values  in  ncurses  have  (at  least  since
+       release 1.8.1) differed by one from some other implementa-
+       tions.  The difference is hidden by  means  of  the  macro
+       <STRONG>getmaxyx</STRONG>.
 
 
 </PRE>
 <H2>SEE ALSO</H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
 
 
 
diff --git a/doc/html/man/curs_legacy.3x.html b/doc/html/man/curs_legacy.3x.html
new file mode 100644 (file)
index 0000000..d1de590
--- /dev/null
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2007 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: curs_legacy.3x,v 1.1 2007/04/07 23:54:29 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_legacy 3x</TITLE>
+<link rev=made href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
+<BODY>
+<H1>curs_legacy 3x</H1>
+<HR>
+<PRE>
+<!-- Manpage converted by man2html 3.0.1 -->
+<STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>                                         <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>getbegx</STRONG>, <STRONG>getbegy</STRONG>, <STRONG>getcurx</STRONG>, <STRONG>getcury</STRONG>, <STRONG>getmaxx</STRONG>, <STRONG>getmaxy</STRONG>, <STRONG>get-</STRONG>
+       <STRONG>parx</STRONG>, <STRONG>getpary</STRONG> - get <STRONG>curses</STRONG> cursor and window coordinates
+
+
+</PRE>
+<H2>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>getbegx(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>getbegy(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>getcurx(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>getcury(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>getmaxx(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>getmaxy(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>getparx(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>getpary(WINDOW</STRONG> <STRONG>*win);</STRONG>
+
+
+</PRE>
+<H2>DESCRIPTION</H2><PRE>
+       The <STRONG>getbegy</STRONG> and <STRONG>getbegx</STRONG> functions return the same data  as
+       <STRONG>getbegyx</STRONG>.
+
+       The  <STRONG>getcury</STRONG> and <STRONG>getcurx</STRONG> functions return the same data as
+       <STRONG>getyx</STRONG>.
+
+       The <STRONG>getmaxy</STRONG> and <STRONG>getmaxx</STRONG> functions return the same data  as
+       <STRONG>getmaxyx</STRONG>.
+
+       The  <STRONG>getpary</STRONG> and <STRONG>getparx</STRONG> functions return the same data as
+       <STRONG>getparyx</STRONG>.
+
+
+</PRE>
+<H2>RETURN VALUE</H2><PRE>
+       These functions return an integer, or ERR  if  the  window
+       parameter is null.
+
+
+</PRE>
+<H2>NOTES</H2><PRE>
+       All  of  these interfaces are provided as macros and func-
+       tions.  The macros are suppressed (and only the  functions
+       provided)  when  <STRONG>NCURSES_OPAQUE</STRONG>  is defined.  The standard
+       forms such as <STRONG>getyx</STRONG> must be implemented as macros, and (in
+       this implementation) are defined in terms of the functions
+       described here, to avoid reliance on internal  details  of
+       the WINDOW structure.
+
+
+</PRE>
+<H2>PORTABILITY</H2><PRE>
+       These functions were supported on Version 7, BSD or System
+       V implementations.
+
+
+</PRE>
+<H2>SEE ALSO</H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
+
+
+
+                                                        <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
+</PRE>
+<HR>
+<ADDRESS>
+Man(1) output converted with
+<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
+</ADDRESS>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_opaque.3x.html b/doc/html/man/curs_opaque.3x.html
new file mode 100644 (file)
index 0000000..3e0f1ae
--- /dev/null
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2007 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: curs_opaque.3x,v 1.6 2007/09/08 18:49:13 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_opaque 3x</TITLE>
+<link rev=made href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
+<BODY>
+<H1>curs_opaque 3x</H1>
+<HR>
+<PRE>
+<!-- Manpage converted by man2html 3.0.1 -->
+<STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>                                         <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>is_cleared</STRONG>, <STRONG>is_idlok</STRONG>, <STRONG>is_idcok</STRONG>, <STRONG>is_immedok</STRONG>, <STRONG>is_keypad</STRONG>,
+       <STRONG>is_leaveok</STRONG>, <STRONG>is_nodelay</STRONG>, <STRONG>is_timeout</STRONG>, <STRONG>is_scrollok</STRONG>, <STRONG>is_syncok</STRONG>
+       - <STRONG>curses</STRONG> window properties
+
+
+</PRE>
+<H2>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>bool</STRONG> <STRONG>is_cleared(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_idcok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_idlok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_immedok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_keypad(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_leaveok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_nodelay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_notimeout(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_scrollok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_syncok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>wgetparent(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wgetscrreg(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>*top,</STRONG> <STRONG>int</STRONG> <STRONG>*bottom);</STRONG>
+
+
+</PRE>
+<H2>DESCRIPTION</H2><PRE>
+       This  implementation provides functions which return prop-
+       erties set in the WINDOW  structure,  allowing  it  to  be
+       ``opaque'' if the symbol <STRONG>NCURSES_OPAQUE</STRONG> is defined:
+
+       <STRONG>is_cleared</STRONG>
+            returns the value set in <STRONG>clearok</STRONG>
+
+       <STRONG>is_idcok</STRONG>
+            returns the value set in <STRONG>idcok</STRONG>
+
+       <STRONG>is_idlok</STRONG>
+            returns the value set in <STRONG>idlok</STRONG>
+
+       <STRONG>is_immedok</STRONG>
+            returns the value set in <STRONG>immedok</STRONG>
+
+       <STRONG>is_keypad</STRONG>
+            returns the value set in <STRONG>keypad</STRONG>
+
+       <STRONG>is_leaveok</STRONG>
+            returns the value set in <STRONG>leaveok</STRONG>
+
+       <STRONG>is_nodelay</STRONG>
+            returns the value set in <STRONG>nodelay</STRONG>
+
+       <STRONG>is_notimeout</STRONG>
+            returns the value set in <STRONG>notimeout</STRONG>
+
+       <STRONG>is_scrollok</STRONG>
+            returns the value set in <STRONG>scrollok</STRONG>
+
+       <STRONG>is_syncok</STRONG>
+            returns the value set in <STRONG>syncok</STRONG>
+
+       <STRONG>wgetparent</STRONG>
+            returns  the parent WINDOW pointer for subwindows, or
+            NULL for windows having no parent.
+
+       <STRONG>wgetscrreg</STRONG>
+            returns the top and bottom  rows  for  the  scrolling
+            margin as set in <STRONG>wsetscrreg</STRONG>.
+
+
+</PRE>
+<H2>RETURN VALUE</H2><PRE>
+       These functions all return TRUE or FALSE, except as noted.
+
+
+</PRE>
+<H2>NOTES</H2><PRE>
+       Both a macro and a function are provided for each name.
+
+
+</PRE>
+<H2>PORTABILITY</H2><PRE>
+       These routines are specific to  ncurses.   They  were  not
+       supported  on  Version 7, BSD or System V implementations.
+       It is recommended that any code depending on  ncurses  ex-
+       tensions be conditioned using NCURSES_VERSION.
+
+
+</PRE>
+<H2>SEE ALSO</H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG>curs_win-</STRONG>
+       <STRONG><A HREF="curs_window.3x.html">dow(3x)</A></STRONG>
+
+
+
+                                                        <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
+</PRE>
+<HR>
+<ADDRESS>
+Man(1) output converted with
+<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
+</ADDRESS>
+</BODY>
+</HTML>
index 1ff83a943728bb4c114f9117d692140cdfb4039a..c8d4a06c094cecb1b3504003801ef2f9e82fbe02 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2005,2007 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            *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_outopts.3x,v 1.20 2005/05/15 16:18:32 tom Exp @
+  * @Id: curs_outopts.3x,v 1.21 2007/06/02 20:40:07 tom Exp @
 -->
 <HTML>
 <HEAD>
@@ -91,7 +91,7 @@
        needs  insert/delete  line, for example, for a screen edi-
        tor.  It is disabled by default because insert/delete line
        tends  to  be  visually annoying when used in applications
-       where it isn't really needed.  If insert/delete line  can-
+       where it is not really needed.  If insert/delete line can-
        not  be  used,  <STRONG>curses</STRONG> redraws the changed portions of all
        lines.
 
index cd2effcaebb12169fa902b0160ed405de4db04fc..e76dcc7e3f5c64043905b6c429002152dd9c2940 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2006,2007 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            *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_slk.3x,v 1.15 2006/02/25 21:49:19 tom Exp @
+  * @Id: curs_slk.3x,v 1.16 2007/06/02 20:40:07 tom Exp @
 -->
 <HTML>
 <HEAD>
@@ -89,7 +89,7 @@
        bels of up to five characters each. This  is  most  common
        for  todays  PC  like  enduser  devices.  Please note that
        ncurses simulates this mode by taking over up to two lines
-       at  the  bottom  of  the screen, it doesn't try to use any
+       at  the  bottom  of the screen, it does not try to use any
        hardware support for this mode.
 
        The <STRONG>slk_init</STRONG> routine must  be  called  before  <STRONG>initscr</STRONG>  or
index 9b9cdae96fab14239dc81c45aa53bae6e6b40f33..daf3a76660e81d948cef089b103f9875fa4bb1c2 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2003,2007 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            *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_termattrs.3x,v 1.9 2003/12/27 18:37:47 tom Exp @
+  * @Id: curs_termattrs.3x,v 1.10 2007/06/02 20:40:07 tom Exp @
 -->
 <HTML>
 <HEAD>
        saved between calls to <STRONG>newterm</STRONG> if <STRONG>longname</STRONG> is going to  be
        used with multiple terminals.
 
-       If a given terminal doesn't support a video attribute that
-       an application program is trying to use, <STRONG>curses</STRONG>  may  sub-
-       stitute a different video attribute for it.  The <STRONG>termattrs</STRONG>
-       and <STRONG>term_attrs</STRONG> functions return a logical <STRONG>OR</STRONG> of all  video
-       attributes supported by the terminal using <EM>A</EM><STRONG>_</STRONG> and <EM>WA</EM><STRONG>_</STRONG> con-
-       stants respectively.  This information is  useful  when  a
-       <STRONG>curses</STRONG>  program needs complete control over the appearance
-       of the screen.
+       If  a  given  terminal  does not support a video attribute
+       that an application program is trying to use,  <STRONG>curses</STRONG>  may
+       substitute  a  different  video  attribute  for  it.   The
+       <STRONG>termattrs</STRONG> and <STRONG>term_attrs</STRONG> functions return a logical <STRONG>OR</STRONG>  of
+       all  video  attributes  supported by the terminal using <EM>A</EM><STRONG>_</STRONG>
+       and <EM>WA</EM><STRONG>_</STRONG> constants respectively.  This information is  use-
+       ful  when a <STRONG>curses</STRONG> program needs complete control over the
+       appearance of the screen.
 
        The <STRONG>termname</STRONG> routine returns the  terminal  name  used  by
        <STRONG>setupterm</STRONG>.
index c1688f5034889ae2f7f43808729135b5f9f64c2a..a2457784c7f2d81404335f63b7c58fecb40c6da1 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2006,2007 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            *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_termcap.3x,v 1.21 2006/12/24 16:05:49 tom Exp @
+  * @Id: curs_termcap.3x,v 1.22 2007/06/02 20:40:07 tom Exp @
 -->
 <HTML>
 <HEAD>
        If you call <STRONG>tgetstr</STRONG> to fetch <STRONG>ca</STRONG> or any other parameterized
        string,  be  aware  that  it  will be returned in terminfo
        notation, not the older and  not-quite-compatible  termcap
-       notation.  This won't cause problems if all you do with it
-       is call <STRONG>tgoto</STRONG> or <STRONG>tparm</STRONG>, which both  expand  terminfo-style
-       strings  as  terminfo.  (The <STRONG>tgoto</STRONG> function, if configured
-       to support termcap, will check if  the  string  is  indeed
-       terminfo-style  by  looking for "%p" parameters or "$&lt;..&gt;"
-       delays, and invoke a termcap-style parser  if  the  string
-       does not appear to be terminfo).
+       notation.  This will not cause problems if all you do with
+       it is call <STRONG>tgoto</STRONG> or <STRONG>tparm</STRONG>,  which  both  expand  terminfo-
+       style  strings  as terminfo.  (The <STRONG>tgoto</STRONG> function, if con-
+       figured to support termcap, will check if  the  string  is
+       indeed  terminfo-style  by  looking for "%p" parameters or
+       "$&lt;..&gt;" delays, and invoke a termcap-style parser  if  the
+       string does not appear to be terminfo).
 
        Because  terminfo  conventions for representing padding in
        string capabilities differ  from  termcap's,  <STRONG>tputs("50");</STRONG>
index 85ad7f9b5bef0797282be27c02d6e4e655d69ab5..51e41701dab1f8120617499df0508d1d12cba2d6 100644 (file)
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_terminfo.3x,v 1.26 2007/02/24 16:37:50 tom Exp @
+  * @Id: curs_terminfo.3x,v 1.28 2007/05/26 20:09:06 tom Exp @
 -->
 <HTML>
 <HEAD>
        <STRONG>tupterm</STRONG>  is  automatically  called by <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG>.
        This  defines  the  set  of  terminal-dependent  variables
        [listed in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>].  The <STRONG>terminfo</STRONG> variables <STRONG>lines</STRONG> and
-       <STRONG>columns</STRONG>  are  initialized  by  <STRONG>setupterm</STRONG>  as  follows:  If
-       <STRONG>use_env(FALSE)</STRONG>  has  been  called,  values  for  <STRONG>lines</STRONG> and
-       <STRONG>columns</STRONG> specified in <STRONG>terminfo</STRONG> are used.  Otherwise, if the
-       environment  variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> exist, their val-
-       ues are used.  If these environment variables do not exist
-       and the program is running in a window, the current window
-       size is used.  Otherwise, if the environment variables  do
-       not  exist,  the values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG> specified in
-       the <STRONG>terminfo</STRONG> database are used.
-
-       The header files <STRONG>curses.h</STRONG> and <STRONG>term.h</STRONG>  should  be  included
-       (in  this order) to get the definitions for these strings,
+       <STRONG>columns</STRONG> are initialized by <STRONG>setupterm</STRONG> as follows:
+
+              If <STRONG>use_env(FALSE)</STRONG> has been called, values for <STRONG>lines</STRONG>
+              and <STRONG>columns</STRONG> specified in <STRONG>terminfo</STRONG> are used.
+
+              Otherwise,  if  the environment variables <STRONG>LINES</STRONG> and
+              <STRONG>COLUMNS</STRONG> exist, their values are used.  If these en-
+              vironment variables do not exist and the program is
+              running in a window, the  current  window  size  is
+              used.   Otherwise,  if the environment variables do
+              not exist, the values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG>  speci-
+              fied in the <STRONG>terminfo</STRONG> database are used.
+
+       The  header  files  <STRONG>curses.h</STRONG> and <STRONG>term.h</STRONG> should be included
+       (in this order) to get the definitions for these  strings,
        numbers,  and  flags.   Parameterized  strings  should  be
-       passed  through  <STRONG>tparm</STRONG>  to instantiate them.  All <STRONG>terminfo</STRONG>
-       strings [including the output of <STRONG>tparm</STRONG>] should be  printed
-       with  <STRONG>tputs</STRONG> or <STRONG>putp</STRONG>.  Call the <STRONG>reset_shell_mode</STRONG> to restore
-       the tty modes before exiting [see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>].   Pro-
+       passed through <STRONG>tparm</STRONG> to instantiate  them.   All  <STRONG>terminfo</STRONG>
+       strings  [including the output of <STRONG>tparm</STRONG>] should be printed
+       with <STRONG>tputs</STRONG> or <STRONG>putp</STRONG>.  Call the <STRONG>reset_shell_mode</STRONG> to  restore
+       the  tty modes before exiting [see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>].  Pro-
        grams  which  use  cursor  addressing  should  output  <STRONG>en-</STRONG>
-       <STRONG>ter_ca_mode</STRONG> upon startup and  should  output  <STRONG>exit_ca_mode</STRONG>
-       before  exiting.   Programs  desiring shell escapes should
+       <STRONG>ter_ca_mode</STRONG>  upon  startup  and should output <STRONG>exit_ca_mode</STRONG>
+       before exiting.  Programs desiring  shell  escapes  should
        call
 
-       <STRONG>reset_shell_mode</STRONG> and output <STRONG>exit_ca_mode</STRONG> before the  shell
-       is  called  and  should  output <STRONG>enter_ca_mode</STRONG> and call <STRONG>re-</STRONG>
+       <STRONG>reset_shell_mode</STRONG>  and output <STRONG>exit_ca_mode</STRONG> before the shell
+       is called and should output  <STRONG>enter_ca_mode</STRONG>  and  call  <STRONG>re-</STRONG>
        <STRONG>set_prog_mode</STRONG> after returning from the shell.
 
        The <STRONG>setupterm</STRONG> routine reads in the <STRONG>terminfo</STRONG> database, ini-
        tializing the <STRONG>terminfo</STRONG> structures, but does not set up the
        output virtualization structures used by <STRONG>curses</STRONG>.  The ter-
-       minal  type is the character string <EM>term</EM>; if <EM>term</EM> is null,
-       the environment variable <STRONG>TERM</STRONG> is used.  All output  is  to
-       file  descriptor  <STRONG>fildes</STRONG>  which is initialized for output.
-       If <EM>errret</EM> is not null, then <STRONG>setupterm</STRONG> returns  <STRONG>OK</STRONG>  or  <STRONG>ERR</STRONG>
+       minal type is the character string <EM>term</EM>; if <EM>term</EM> is  null,
+       the  environment  variable <STRONG>TERM</STRONG> is used.  All output is to
+       file descriptor <STRONG>fildes</STRONG> which is  initialized  for  output.
+       If  <EM>errret</EM>  is  not null, then <STRONG>setupterm</STRONG> returns <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>
        and stores a status value in the integer pointed to by <EM>er-</EM>
-       <EM>rret</EM>.  A return value of <STRONG>OK</STRONG> combined with status of  <STRONG>1</STRONG>  in
+       <EM>rret</EM>.   A  return value of <STRONG>OK</STRONG> combined with status of <STRONG>1</STRONG> in
        <EM>errret</EM> is normal.  If <STRONG>ERR</STRONG> is returned, examine <EM>errret</EM>:
 
               <STRONG>1</STRONG>    means that the terminal is hardcopy, cannot be
                    used for curses applications.
 
               <STRONG>0</STRONG>    means that the terminal could not be found, or
-                   that  it  is a generic type, having too little
+                   that it is a generic type, having  too  little
                    information for curses applications to run.
 
-              <STRONG>-1</STRONG>   means that the <STRONG>terminfo</STRONG> database could not  be
+              <STRONG>-1</STRONG>   means  that the <STRONG>terminfo</STRONG> database could not be
                    found.
 
-       If  <EM>errret</EM> is null, <STRONG>setupterm</STRONG> prints an error message upon
+       If <EM>errret</EM> is null, <STRONG>setupterm</STRONG> prints an error message  upon
        finding an error and exits.  Thus, the simplest call is:
 
              <STRONG>setupterm((char</STRONG> <STRONG>*)0,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0);</STRONG>,
 
-       which uses all the defaults and sends the output  to  <STRONG>std-</STRONG>
+       which  uses  all the defaults and sends the output to <STRONG>std-</STRONG>
        <STRONG>out</STRONG>.
 
-       The  <STRONG>setterm</STRONG>  routine is being replaced by <STRONG>setupterm</STRONG>.  The
+       The <STRONG>setterm</STRONG> routine is being replaced by  <STRONG>setupterm</STRONG>.   The
        call:
 
              <STRONG>setupterm(</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0)</STRONG>
 
-       provides the same  functionality  as  <STRONG>setterm(</STRONG><EM>term</EM><STRONG>)</STRONG>.   The
-       <STRONG>setterm</STRONG>  routine  is  included here for BSD compatibility,
+       provides  the  same  functionality  as <STRONG>setterm(</STRONG><EM>term</EM><STRONG>)</STRONG>.  The
+       <STRONG>setterm</STRONG> routine is included here  for  BSD  compatibility,
        and is not recommended for new programs.
 
-       The <STRONG>set_curterm</STRONG> routine  sets  the  variable  <STRONG>cur_term</STRONG>  to
+       The  <STRONG>set_curterm</STRONG>  routine  sets  the  variable <STRONG>cur_term</STRONG> to
        <EM>nterm</EM>, and makes all of the <STRONG>terminfo</STRONG> boolean, numeric, and
-       string variables use the values from  <EM>nterm</EM>.   It  returns
+       string  variables  use  the values from <EM>nterm</EM>.  It returns
        the old value of <STRONG>cur_term</STRONG>.
 
-       The  <STRONG>del_curterm</STRONG>  routine  frees  the  space pointed to by
+       The <STRONG>del_curterm</STRONG> routine frees  the  space  pointed  to  by
        <EM>oterm</EM> and makes it available for further use.  If <EM>oterm</EM> is
-       the  same  as  <STRONG>cur_term</STRONG>, references to any of the <STRONG>terminfo</STRONG>
-       boolean, numeric, and string variables thereafter may  re-
-       fer  to  invalid  memory locations until another <STRONG>setupterm</STRONG>
+       the same as <STRONG>cur_term</STRONG>, references to any  of  the  <STRONG>terminfo</STRONG>
+       boolean,  numeric, and string variables thereafter may re-
+       fer to invalid memory locations  until  another  <STRONG>setupterm</STRONG>
        has been called.
 
        The  <STRONG>restartterm</STRONG>  routine  is  similar  to  <STRONG>setupterm</STRONG>  and
-       <STRONG>initscr</STRONG>,  except  that it is called after restoring memory
-       to a previous state (for example, when  reloading  a  game
-       saved  as a core image dump).  It assumes that the windows
+       <STRONG>initscr</STRONG>, except that it is called after  restoring  memory
+       to  a  previous  state (for example, when reloading a game
+       saved as a core image dump).  It assumes that the  windows
        and the input and output options are the same as when mem-
-       ory  was saved, but the terminal type and baud rate may be
-       different.  Accordingly, it saves various tty state  bits,
-       does a setupterm, and then restores the bits.
+       ory was saved, but the terminal type and baud rate may  be
+       different.   Accordingly, it saves various tty state bits,
+       calls <STRONG>setupterm</STRONG>, and then restores the bits.
 
        The <STRONG>tparm</STRONG> routine instantiates the string <EM>str</EM> with parame-
-       ters <EM>pi</EM>.  A pointer is returned to the result of <EM>str</EM>  with
+       ters  <EM>pi</EM>.  A pointer is returned to the result of <EM>str</EM> with
        the parameters applied.
 
-       The  <STRONG>tputs</STRONG>  routine  applies  padding  information  to the
-       string <EM>str</EM> and outputs it.  The <EM>str</EM>  must  be  a  terminfo
-       string  variable  or the return value from <STRONG>tparm</STRONG>, <STRONG>tgetstr</STRONG>,
+       The <STRONG>tputs</STRONG>  routine  applies  padding  information  to  the
+       string  <EM>str</EM>  and  outputs  it.  The <EM>str</EM> must be a terminfo
+       string variable or the return value from  <STRONG>tparm</STRONG>,  <STRONG>tgetstr</STRONG>,
        or <STRONG>tgoto</STRONG>.  <EM>affcnt</EM> is the number of lines affected, or 1 if
-       not  applicable.   <EM>putc</EM> is a <STRONG>putchar</STRONG>-like routine to which
+       not applicable.  <EM>putc</EM> is a <STRONG>putchar</STRONG>-like routine  to  which
        the characters are passed, one at a time.
 
-       The <STRONG>putp</STRONG> routine calls <STRONG>tputs(</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>putchar)</STRONG>.  Note  that
-       the  output  of  <STRONG>putp</STRONG>  always  goes  to <STRONG>stdout</STRONG>, not to the
+       The  <STRONG>putp</STRONG> routine calls <STRONG>tputs(</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>putchar)</STRONG>.  Note that
+       the output of <STRONG>putp</STRONG> always  goes  to  <STRONG>stdout</STRONG>,  not  to  the
        <EM>fildes</EM> specified in <STRONG>setupterm</STRONG>.
 
        The <STRONG>vidputs</STRONG> routine displays the string on the terminal in
-       the  video  attribute mode <EM>attrs</EM>, which is any combination
-       of the attributes listed in  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.   The  characters
+       the video attribute mode <EM>attrs</EM>, which is  any  combination
+       of  the  attributes  listed in <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.  The characters
        are passed to the <STRONG>putchar</STRONG>-like routine <EM>putc</EM>.
 
-       The  <STRONG>vidattr</STRONG>  routine  is like the <STRONG>vidputs</STRONG> routine, except
+       The <STRONG>vidattr</STRONG> routine is like the  <STRONG>vidputs</STRONG>  routine,  except
        that it outputs through <STRONG>putchar</STRONG>.
 
-       The <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> routines correspond  to  vidattr
-       and  vidputs,  respectively.   They use a set of arguments
-       for representing the video attributes  plus  color,  i.e.,
+       The  <STRONG>vid_attr</STRONG>  and <STRONG>vid_puts</STRONG> routines correspond to vidattr
+       and vidputs, respectively.  They use a  set  of  arguments
+       for  representing  the  video attributes plus color, i.e.,
        one of type attr_t for the attributes and one of short for
        the color_pair number.  The <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> routines
-       are  designed  to use the attribute constants with the <EM>WA</EM><STRONG>_</STRONG>
-       prefix.  The opts argument is  reserved  for  future  use.
-       Currently,  applications  must  provide a null pointer for
+       are designed to use the attribute constants with  the  <EM>WA</EM><STRONG>_</STRONG>
+       prefix.   The  opts  argument  is reserved for future use.
+       Currently, applications must provide a  null  pointer  for
        that argument.
 
-       The <STRONG>mvcur</STRONG> routine provides low-level  cursor  motion.   It
-       takes  effect  immediately  (rather  than  at the next re-
+       The  <STRONG>mvcur</STRONG>  routine  provides low-level cursor motion.  It
+       takes effect immediately (rather  than  at  the  next  re-
        fresh).
 
-       The <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG> and <STRONG>tigetstr</STRONG> routines  return  the
+       The  <STRONG>tigetflag</STRONG>,  <STRONG>tigetnum</STRONG> and <STRONG>tigetstr</STRONG> routines return the
        value of the capability corresponding to the <STRONG>terminfo</STRONG> <EM>cap-</EM>
        <EM>name</EM> passed to them, such as <STRONG>xenl</STRONG>.
 
-       The <STRONG>tigetflag</STRONG> routine returns the value <STRONG>-1</STRONG> if  <EM>capname</EM>  is
+       The  <STRONG>tigetflag</STRONG>  routine returns the value <STRONG>-1</STRONG> if <EM>capname</EM> is
        not a boolean capability, or <STRONG>0</STRONG> if it is canceled or absent
        from the terminal description.
 
-       The <STRONG>tigetnum</STRONG> routine returns the value <STRONG>-2</STRONG>  if  <EM>capname</EM>  is
-       not  a  numeric capability, or <STRONG>-1</STRONG> if it is canceled or ab-
+       The  <STRONG>tigetnum</STRONG>  routine  returns the value <STRONG>-2</STRONG> if <EM>capname</EM> is
+       not a numeric capability, or <STRONG>-1</STRONG> if it is canceled  or  ab-
        sent from the terminal description.
 
-       The <STRONG>tigetstr</STRONG> routine returns the value <STRONG>(char</STRONG> <STRONG>*)-1</STRONG> if  <EM>cap-</EM>
+       The  <STRONG>tigetstr</STRONG> routine returns the value <STRONG>(char</STRONG> <STRONG>*)-1</STRONG> if <EM>cap-</EM>
        <EM>name</EM> is not a string capability, or <STRONG>0</STRONG> if it is canceled or
        absent from the terminal description.
 
        The <EM>capname</EM> for each capability is given in the table col-
-       umn  entitled  <EM>capname</EM> code in the capabilities section of
+       umn entitled <EM>capname</EM> code in the capabilities  section  of
        <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
               <STRONG>char</STRONG> <STRONG>*boolnames[]</STRONG>, <STRONG>*boolcodes[]</STRONG>, <STRONG>*boolfnames[]</STRONG>
 
               <STRONG>char</STRONG> <STRONG>*strnames[]</STRONG>, <STRONG>*strcodes[]</STRONG>, <STRONG>*strfnames[]</STRONG>
 
-       These null-terminated arrays  contain  the  <EM>capnames</EM>,  the
-       <STRONG>termcap</STRONG>  codes, and the full C names, for each of the <STRONG>ter-</STRONG>
+       These  null-terminated  arrays  contain  the <EM>capnames</EM>, the
+       <STRONG>termcap</STRONG> codes, and the full C names, for each of the  <STRONG>ter-</STRONG>
        <STRONG>minfo</STRONG> variables.
 
 
 </PRE>
 <H2>RETURN VALUE</H2><PRE>
-       Routines that return an integer return  <STRONG>ERR</STRONG>  upon  failure
-       and  <STRONG>OK</STRONG>  (SVr4 only specifies "an integer value other than
-       <STRONG>ERR</STRONG>") upon successful completion, unless  otherwise  noted
+       Routines  that  return  an integer return <STRONG>ERR</STRONG> upon failure
+       and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value  other  than
+       <STRONG>ERR</STRONG>")  upon  successful completion, unless otherwise noted
        in the preceding routine descriptions.
 
        Routines that return pointers always return <STRONG>NULL</STRONG> on error.
 
-       X/Open defines no error conditions.  In  this  implementa-
+       X/Open  defines  no error conditions.  In this implementa-
        tion
 
               <STRONG>del_curterm</STRONG>
-                   returns  an error if its terminal parameter is
+                   returns an error if its terminal parameter  is
                    null.
 
               <STRONG>restartterm</STRONG>
                    <STRONG>tupterm</STRONG> returns an error.
 
               <STRONG>setupterm</STRONG>
-                   returns  an error if it cannot allocate enough
+                   returns an error if it cannot allocate  enough
                    memory, or create the initial windows (stdscr,
-                   curscr,  newscr).   Other error conditions are
+                   curscr, newscr).  Other error  conditions  are
                    documented above.
 
 
 </PRE>
 <H2>NOTES</H2><PRE>
-       The <STRONG>setupterm</STRONG> routine should be used in place of  <STRONG>setterm</STRONG>.
-       It  may be useful when you want to test for terminal capa-
-       bilities without committing to the allocation  of  storage
+       The  <STRONG>setupterm</STRONG> routine should be used in place of <STRONG>setterm</STRONG>.
+       It may be useful when you want to test for terminal  capa-
+       bilities  without  committing to the allocation of storage
        involved in <STRONG>initscr</STRONG>.
 
        Note that <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> may be macros.
 
 </PRE>
 <H2>PORTABILITY</H2><PRE>
-       The  function  <STRONG>setterm</STRONG>  is not described in the XSI Curses
-       standard and must be considered non-portable.   All  other
+       The function <STRONG>setterm</STRONG> is not described in  the  XSI  Curses
+       standard  and  must be considered non-portable.  All other
        functions are as described in the XSI curses standard.
 
-       In  System V Release 4, <STRONG>set_curterm</STRONG> has an <STRONG>int</STRONG> return type
-       and returns <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>.  We have chosen  to  implement  the
+       <STRONG>setupterm</STRONG> copies the terminal name to the  array  <STRONG>ttytype</STRONG>.
+       This  is not part of X/Open Curses, but is assumed by some
+       applications.
+
+       In System V Release 4, <STRONG>set_curterm</STRONG> has an <STRONG>int</STRONG> return  type
+       and  returns  <STRONG>OK</STRONG>  or <STRONG>ERR</STRONG>.  We have chosen to implement the
        XSI Curses semantics.
 
        In System V Release 4, the third argument of <STRONG>tputs</STRONG> has the
        type <STRONG>int</STRONG> <STRONG>(*putc)(char)</STRONG>.
 
        The XSI Curses standard prototypes <STRONG>tparm</STRONG> with a fixed num-
-       ber  of  parameters, rather than a variable argument list.
-       This  implementation  uses  a  variable   argument   list.
-       Portable  applications  should  provide 9 parameters after
+       ber of parameters, rather than a variable  argument  list.
+       This   implementation   uses  a  variable  argument  list.
+       Portable applications should provide  9  parameters  after
        the format; zeroes are fine for this purpose.
 
-       XSI notes that after calling <STRONG>mvcur</STRONG>, the curses  state  may
-       not  match the actual terminal state, and that an applica-
-       tion should touch and refresh the window  before  resuming
-       normal  curses calls.  Both ncurses and System V Release 4
-       curses implement <STRONG>mvcur</STRONG> using the SCREEN data allocated  in
-       either  <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>.  So though it is documented as
-       a terminfo function, <STRONG>mvcur</STRONG> is  really  a  curses  function
+       XSI  notes  that after calling <STRONG>mvcur</STRONG>, the curses state may
+       not match the actual terminal state, and that an  applica-
+       tion  should  touch and refresh the window before resuming
+       normal curses calls.  Both ncurses and System V Release  4
+       curses  implement <STRONG>mvcur</STRONG> using the SCREEN data allocated in
+       either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>.  So though it is documented  as
+       a  terminfo  function,  <STRONG>mvcur</STRONG>  is really a curses function
        which is not well specified.
 
-       XSI  states that the old location must be given.  This im-
-       plementation allows the caller to use -1's for the old or-
-       dinates.  In that case, the old location is unknown.
+       XSI states that the old location must be given for  <STRONG>mvcur</STRONG>.
+       This  implementation allows the caller to use -1's for the
+       old ordinates.  In that case, the old location is unknown.
 
        Extended  terminal  capability  names, e.g., as defined by
        <STRONG>tic</STRONG> <STRONG>-x</STRONG>, are not stored in the  arrays  described  in  this
diff --git a/doc/html/man/curs_threads.3x.html b/doc/html/man/curs_threads.3x.html
new file mode 100644 (file)
index 0000000..2a2f0fd
--- /dev/null
@@ -0,0 +1,631 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2008 Free Software Foundation, Inc.                        *
+  *                                                                          *
+  * Permission is hereby granted, free of charge, to any person obtaining a  *
+  * copy of this software and associated documentation files (the            *
+  * "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: curs_threads.3x,v 1.12 2008/04/12 18:22:51 tom Exp @
+  * ***************************************************************************
+  * ***************************************************************************
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_threads 3x</TITLE>
+<link rev=made href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
+<BODY>
+<H1>curs_threads 3x</H1>
+<HR>
+<PRE>
+<!-- Manpage converted by man2html 3.0.1 -->
+<STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>                                       <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>use_screen</STRONG>, <STRONG>use_window</STRONG> - <STRONG>curses</STRONG> thread support
+
+
+</PRE>
+<H2>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>typedef</STRONG>  <STRONG>int</STRONG> <STRONG>(*NCURSES_WINDOW_CB)(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>void</STRONG> <STRONG>*);</STRONG> <STRONG>type-</STRONG>
+       <STRONG>def</STRONG> <STRONG>int</STRONG> <STRONG>(*NCURSES_SCREEN_CB)(SCREEN</STRONG> <STRONG>*,</STRONG> <STRONG>void</STRONG> <STRONG>*);</STRONG>
+       <STRONG>int</STRONG> <STRONG>set_escdelay(int</STRONG> <STRONG>size);</STRONG>
+       <STRONG>int</STRONG> <STRONG>set_tabsize(int</STRONG> <STRONG>size);</STRONG>
+       <STRONG>int</STRONG> <STRONG>use_screen(SCREEN</STRONG> <STRONG>*scr,</STRONG> <STRONG>NCURSES_WINDOW_CB</STRONG>  <STRONG>func,</STRONG>  <STRONG>void</STRONG>
+       <STRONG>*data);</STRONG>
+       <STRONG>int</STRONG>  <STRONG>use_window(WINDOW</STRONG>  <STRONG>*win,</STRONG> <STRONG>NCURSES_SCREEN_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG>
+       <STRONG>*data);</STRONG>
+
+
+</PRE>
+<H2>DESCRIPTION</H2><PRE>
+       This implementation can be configured to provide  rudimen-
+       tary  support for multi-threaded applications.  This makes
+       a different set of libraries, e.g., <EM>libncursest</EM> since  the
+       binary interfaces are different.
+
+       Rather  than modify the interfaces to pass a thread speci-
+       fier to each function, it adds a few functions  which  can
+       be used in any configuration which hide the mutex's needed
+       to prevent concurrent use of  the  global  variables  when
+       configured for threading.
+
+       In  addition  to  forcing  access to members of the <STRONG>WINDOW</STRONG>
+       structure to be via functions  (see  <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>),  it
+       makes functions of the common global variables, e.g., COL-
+       ORS, COLOR_PAIRS, COLS, ESCDELAY, LINES,  TABSIZE  curscr,
+       newscr  and  ttytype.   Those  variables are maintained as
+       read-only values, stored in the <STRONG>SCREEN</STRONG> structure.
+
+       Even this is not enough to make a thread-safe  application
+       using  curses.   A multi-threaded application would be ex-
+       pected to have threads updating separate  windows  (within
+       the same device), or updating on separate screens (on dif-
+       ferent devices).  Also, a few of the global variables  are
+       considered  writable  by some applications.  The functions
+       described here address these special situations.
+
+       The ESCDELAY and TABSIZE global variables are modified  by
+       some  applications.   To modify them in any configuration,
+       use the  <STRONG>set_escdelay</STRONG>  or  <STRONG>set_tabsize</STRONG>  functions.   Other
+       global variables are not modifiable.
+
+       The  <STRONG>use_window</STRONG>  and  <STRONG>use_screen</STRONG>  functions provide coarse
+       granularity mutexes for their respective <STRONG>WINDOW</STRONG> and <STRONG>SCREEN</STRONG>
+       parameters,  and call a user-supplied function, passing it
+       a <EM>data</EM> parameter, and returning the value from  the  user-
+       supplied function to the application.
+
+   <STRONG>USAGE</STRONG>
+       All  of  the ncurses library functions assume that the lo-
+       cale is not altered during operation.  In  addition,  they
+       use data which is maintained within a hierarchy of scopes.
+
+              -  global data, e.g., used in the low-level termin-
+                 fo or termcap interfaces.
+
+              -  terminal  data,  e.g., associated with a call to
+                 <EM>set</EM><STRONG>_</STRONG><EM>curterm</EM>.  The terminal data are  initialized
+                 when screens are created.
+
+              -  screen  data,  e.g.,  associated  with a call to
+                 <EM>newterm</EM> or <EM>initscr</EM>.
+
+              -  window data, e.g., associated  with  a  call  to
+                 <EM>newwin</EM>  or  <EM>subwin</EM>.  Windows are associated with
+                 screens.  Pads are  not  necessarily  associated
+                 with a particular screen.
+
+                 Most  curses applications operate on one or more
+                 windows within a single screen.
+
+              -  reentrant, i.e., it uses only the data passed as
+                 parameters.
+
+       This table lists the scope of data used for each symbol in
+       the ncurses library  when  it  is  configured  to  support
+       threading:
+
+      Symbol                  Scope
+      -------------------------------------------------------------
+      BC                      global
+      COLORS                  screen (readonly)
+      COLOR_PAIR              reentrant
+      COLOR_PAIRS             screen (readonly)
+      COLS                    screen (readonly)
+      ESCDELAY                screen (readonly, see <EM>set</EM><STRONG>_</STRONG><EM>escdelay</EM>)
+      LINES                   screen (readonly)
+      PAIR_NUMBER             reentrant
+      PC                      global
+      SP                      global
+      TABSIZE                 screen (readonly)
+      UP                      global
+      acs_map                 screen (readonly)
+      add_wch                 window (stdscr)
+      add_wchnstr             window (stdscr)
+      add_wchstr              window (stdscr)
+      addch                   window (stdscr)
+      addchnstr               window (stdscr)
+      addchstr                window (stdscr)
+      addnstr                 window (stdscr)
+      addnwstr                window (stdscr)
+      addstr                  window (stdscr)
+      addwstr                 window (stdscr)
+      assume_default_colors   screen
+      attr_get                window (stdscr)
+      attr_off                window (stdscr)
+      attr_on                 window (stdscr)
+      attr_set                window (stdscr)
+      attroff                 window (stdscr)
+      attron                  window (stdscr)
+      attrset                 window (stdscr)
+      baudrate                screen
+      beep                    screen
+      bkgd                    window (stdscr)
+      bkgdset                 window (stdscr)
+      bkgrnd                  window (stdscr)
+      bkgrndset               window (stdscr)
+      boolcodes               global (readonly)
+      boolfnames              global (readonly)
+      boolnames               global (readonly)
+      border                  window (stdscr)
+      border_set              window (stdscr)
+      box                     window (stdscr)
+      box_set                 window (stdscr)
+
+      can_change_color        terminal
+      cbreak                  screen
+      chgat                   window (stdscr)
+      clear                   window (stdscr)
+      clearok                 window
+      clrtobot                window (stdscr)
+      clrtoeol                window (stdscr)
+      color_content           screen
+      color_set               window (stdscr)
+      copywin                 window locks(source, target)
+      cur_term                terminal
+      curs_set                screen
+      curscr                  screen (readonly)
+      curses_version          global (readonly)
+      def_prog_mode           terminal
+      def_shell_mode          terminal
+      define_key              screen
+      del_curterm             screen
+      delay_output            screen
+      delch                   window (stdscr)
+      deleteln                window (stdscr)
+      delscreen               global locks(screenlist, screen)
+      delwin                  global locks(windowlist)
+      derwin                  screen
+      doupdate                screen
+      dupwin                  screen locks(window)
+      echo                    screen
+      echo_wchar              window (stdscr)
+      echochar                window (stdscr)
+      endwin                  screen
+      erase                   window (stdscr)
+      erasechar               window (stdscr)
+      erasewchar              window (stdscr)
+      filter                  global
+      flash                   terminal
+      flushinp                screen
+      get_wch                 screen (input-operation)
+      get_wstr                screen (input-operation)
+      getattrs                window
+      getbegx                 window
+      getbegy                 window
+      getbkgd                 window
+      getbkgrnd               window
+      getcchar                reentrant
+      getch                   screen (input-operation)
+      getcurx                 window
+      getcury                 window
+      getmaxx                 window
+      getmaxy                 window
+      getmouse                screen (input-operation)
+      getn_wstr               screen (input-operation)
+      getnstr                 screen (input-operation)
+      getparx                 window
+      getpary                 window
+      getstr                  screen (input-operation)
+      getwin                  screen (input-operation)
+      halfdelay               screen
+      has_colors              terminal
+      has_ic                  terminal
+      has_il                  terminal
+      has_key                 screen
+      hline                   window (stdscr)
+      hline_set               window (stdscr)
+      idcok                   window
+      idlok                   window
+      immedok                 window
+
+      in_wch                  window (stdscr)
+      in_wchnstr              window (stdscr)
+      in_wchstr               window (stdscr)
+      inch                    window (stdscr)
+      inchnstr                window (stdscr)
+      inchstr                 window (stdscr)
+      init_color              screen
+      init_pair               screen
+      initscr                 global locks(screenlist)
+      innstr                  window (stdscr)
+      innwstr                 window (stdscr)
+      ins_nwstr               window (stdscr)
+      ins_wch                 window (stdscr)
+      ins_wstr                window (stdscr)
+      insch                   window (stdscr)
+      insdelln                window (stdscr)
+      insertln                window (stdscr)
+      insnstr                 window (stdscr)
+      insstr                  window (stdscr)
+      instr                   window (stdscr)
+      intrflush               terminal
+      inwstr                  window (stdscr)
+      is_cleared              window
+      is_idcok                window
+      is_idlok                window
+      is_immedok              window
+      is_keypad               window
+      is_leaveok              window
+      is_linetouched          window
+      is_nodelay              window
+      is_notimeout            window
+      is_scrollok             window
+      is_syncok               window
+      is_term_resized         terminal
+      is_wintouched           window
+      isendwin                screen
+      key_defined             screen
+      key_name                global (static data)
+      keybound                screen
+      keyname                 global (static data)
+      keyok                   screen
+      keypad                  window
+      killchar                terminal
+      killwchar               terminal
+      leaveok                 window
+      longname                screen
+      mcprint                 terminal
+      meta                    screen
+      mouse_trafo             window (stdscr)
+      mouseinterval           screen
+      mousemask               screen
+      move                    window (stdscr)
+      mvadd_wch               window (stdscr)
+      mvadd_wchnstr           window (stdscr)
+      mvadd_wchstr            window (stdscr)
+      mvaddch                 window (stdscr)
+      mvaddchnstr             window (stdscr)
+      mvaddchstr              window (stdscr)
+      mvaddnstr               window (stdscr)
+      mvaddnwstr              window (stdscr)
+      mvaddstr                window (stdscr)
+      mvaddwstr               window (stdscr)
+      mvchgat                 window (stdscr)
+      mvcur                   screen
+      mvdelch                 window (stdscr)
+      mvderwin                window (stdscr)
+
+      mvget_wch               screen (input-operation)
+      mvget_wstr              screen (input-operation)
+      mvgetch                 screen (input-operation)
+      mvgetn_wstr             screen (input-operation)
+      mvgetnstr               screen (input-operation)
+      mvgetstr                screen (input-operation)
+      mvhline                 window (stdscr)
+      mvhline_set             window (stdscr)
+      mvin_wch                window (stdscr)
+      mvin_wchnstr            window (stdscr)
+      mvin_wchstr             window (stdscr)
+      mvinch                  window (stdscr)
+      mvinchnstr              window (stdscr)
+      mvinchstr               window (stdscr)
+      mvinnstr                window (stdscr)
+      mvinnwstr               window (stdscr)
+      mvins_nwstr             window (stdscr)
+      mvins_wch               window (stdscr)
+      mvins_wstr              window (stdscr)
+      mvinsch                 window (stdscr)
+      mvinsnstr               window (stdscr)
+      mvinsstr                window (stdscr)
+      mvinstr                 window (stdscr)
+      mvinwstr                window (stdscr)
+      mvprintw                window (stdscr)
+      mvscanw                 screen
+      mvvline                 window (stdscr)
+      mvvline_set             window (stdscr)
+      mvwadd_wch              window
+      mvwadd_wchnstr          window
+      mvwadd_wchstr           window
+      mvwaddch                window
+      mvwaddchnstr            window
+      mvwaddchstr             window
+      mvwaddnstr              window
+      mvwaddnwstr             window
+      mvwaddstr               window
+      mvwaddwstr              window
+      mvwchgat                window
+      mvwdelch                window
+      mvwget_wch              screen (input-operation)
+      mvwget_wstr             screen (input-operation)
+      mvwgetch                screen (input-operation)
+      mvwgetn_wstr            screen (input-operation)
+      mvwgetnstr              screen (input-operation)
+      mvwgetstr               screen (input-operation)
+      mvwhline                window
+      mvwhline_set            window
+      mvwin                   window
+      mvwin_wch               window
+      mvwin_wchnstr           window
+      mvwin_wchstr            window
+      mvwinch                 window
+      mvwinchnstr             window
+      mvwinchstr              window
+      mvwinnstr               window
+      mvwinnwstr              window
+      mvwins_nwstr            window
+      mvwins_wch              window
+      mvwins_wstr             window
+      mvwinsch                window
+      mvwinsnstr              window
+      mvwinsstr               window
+      mvwinstr                window
+      mvwinwstr               window
+      mvwprintw               window
+
+      mvwscanw                screen
+      mvwvline                window
+      mvwvline_set            window
+      napms                   reentrant
+      newpad                  global locks(windowlist)
+      newscr                  screen (readonly)
+      newterm                 global locks(screenlist)
+      newwin                  global locks(windowlist)
+      nl                      screen
+      nocbreak                screen
+      nodelay                 window
+      noecho                  screen
+      nofilter                global
+      nonl                    screen
+      noqiflush               terminal
+      noraw                   screen
+      notimeout               window
+      numcodes                global (readonly)
+      numfnames               global (readonly)
+      numnames                global (readonly)
+      ospeed                  global
+      overlay                 window locks(source, target)
+      overwrite               window locks(source, target)
+      pair_content            screen
+      pecho_wchar             screen
+      pechochar               screen
+      pnoutrefresh            screen
+      prefresh                screen
+      printw                  window
+      putp                    global
+      putwin                  window
+      qiflush                 terminal
+      raw                     screen
+      redrawwin               window
+      refresh                 screen
+      reset_prog_mode         screen
+      reset_shell_mode        screen
+      resetty                 terminal
+      resize_term             screen locks(windowlist)
+      resizeterm              screen
+      restartterm             screen
+      ripoffline              global (static data)
+      savetty                 terminal
+      scanw                   screen
+      scr_dump                screen
+      scr_init                screen
+      scr_restore             screen
+      scr_set                 screen
+      scrl                    window (stdscr)
+      scroll                  window
+      scrollok                window
+      set_curterm             screen
+      set_escdelay            screen
+      set_tabsize             screen
+      set_term                global locks(screenlist, screen)
+      setcchar                reentrant
+      setscrreg               window (stdscr)
+      setupterm               global
+      slk_attr                screen
+      slk_attr_off            screen
+      slk_attr_on             screen
+      slk_attr_set            screen
+      slk_attroff             screen
+      slk_attron              screen
+      slk_attrset             screen
+      slk_clear               screen
+
+      slk_color               screen
+      slk_init                screen
+      slk_label               screen
+      slk_noutrefresh         screen
+      slk_refresh             screen
+      slk_restore             screen
+      slk_set                 screen
+      slk_touch               screen
+      slk_wset                screen
+      standend                window
+      standout                window
+      start_color             screen
+      stdscr                  screen (readonly)
+      strcodes                global (readonly)
+      strfnames               global (readonly)
+      strnames                global (readonly)
+      subpad                  window
+      subwin                  window
+      syncok                  window
+      term_attrs              screen
+      termattrs               screen
+      termname                terminal
+      tgetent                 global
+      tgetflag                global
+      tgetnum                 global
+      tgetstr                 global
+      tgoto                   global
+      tigetflag               terminal
+      tigetnum                terminal
+      tigetstr                terminal
+      timeout                 window (stdscr)
+      touchline               window
+      touchwin                window
+      tparm                   global (static data)
+      tputs                   screen
+      trace                   global (static data)
+      ttytype                 screen (readonly)
+      typeahead               screen
+      unctrl                  screen
+      unget_wch               screen (input-operation)
+      ungetch                 screen (input-operation)
+      ungetmouse              screen (input-operation)
+      untouchwin              window
+      use_default_colors      screen
+      use_env                 global (static data)
+      use_extended_names      global (static data)
+      use_legacy_coding       screen
+      use_screen              global locks(screenlist, screen)
+      use_window              global locks(windowlist, window)
+      vid_attr                screen
+      vid_puts                screen
+      vidattr                 screen
+      vidputs                 screen
+      vline                   window (stdscr)
+      vline_set               window (stdscr)
+      vw_printw               window
+      vw_scanw                screen
+      vwprintw                window
+      vwscanw                 screen
+      wadd_wch                window
+      wadd_wchnstr            window
+      wadd_wchstr             window
+      waddch                  window
+      waddchnstr              window
+      waddchstr               window
+      waddnstr                window
+
+      waddnwstr               window
+      waddstr                 window
+      waddwstr                window
+      wattr_get               window
+      wattr_off               window
+      wattr_on                window
+      wattr_set               window
+      wattroff                window
+      wattron                 window
+      wattrset                window
+      wbkgd                   window
+      wbkgdset                window
+      wbkgrnd                 window
+      wbkgrndset              window
+      wborder                 window
+      wborder_set             window
+      wchgat                  window
+      wclear                  window
+      wclrtobot               window
+      wclrtoeol               window
+      wcolor_set              window
+      wcursyncup              screen (affects window plus parents)
+      wdelch                  window
+      wdeleteln               window
+      wecho_wchar             window
+      wechochar               window
+      wenclose                window
+      werase                  window
+      wget_wch                screen (input-operation)
+      wget_wstr               screen (input-operation)
+      wgetbkgrnd              window
+      wgetch                  screen (input-operation)
+      wgetn_wstr              screen (input-operation)
+      wgetnstr                screen (input-operation)
+      wgetparent              window
+      wgetscrreg              window
+      wgetstr                 screen (input-operation)
+      whline                  window
+      whline_set              window
+      win_wch                 window
+      win_wchnstr             window
+      win_wchstr              window
+      winch                   window
+      winchnstr               window
+      winchstr                window
+      winnstr                 window
+      winnwstr                window
+      wins_nwstr              window
+      wins_wch                window
+      wins_wstr               window
+      winsch                  window
+      winsdelln               window
+      winsertln               window
+      winsnstr                window
+      winsstr                 window
+      winstr                  window
+      winwstr                 window
+      wmouse_trafo            window
+      wmove                   window
+      wnoutrefresh            screen
+      wprintw                 window
+      wredrawln               window
+      wrefresh                screen
+      wresize                 window locks(windowlist)
+      wscanw                  screen
+      wscrl                   window
+
+      wsetscrreg              window
+      wstandend               window
+      wstandout               window
+      wsyncdown               screen (affects window plus parents)
+      wsyncup                 screen (affects window plus parents)
+      wtimeout                window
+      wtouchln                window
+      wunctrl                 global (static data)
+      wvline                  window
+      wvline_set              window
+
+
+</PRE>
+<H2>RETURN VALUE</H2><PRE>
+       These functions all return TRUE or FALSE, except as noted.
+
+
+</PRE>
+<H2>NOTES</H2><PRE>
+       Both a macro and a function are provided for each name.
+
+
+</PRE>
+<H2>PORTABILITY</H2><PRE>
+       These routines are specific to  ncurses.   They  were  not
+       supported  on  Version 7, BSD or System V implementations.
+       It is recommended that any code depending on  ncurses  ex-
+       tensions be conditioned using NCURSES_VERSION.
+
+
+</PRE>
+<H2>SEE ALSO</H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
+
+
+
+                                                       <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
+</PRE>
+<HR>
+<ADDRESS>
+Man(1) output converted with
+<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
+</ADDRESS>
+</BODY>
+</HTML>
index cc49925196cef0b89017ec0788bdf4d9ebe37f57..b377bcbee4a84371693e8312f6762facf650f28b 100644 (file)
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_util.3x,v 1.23 2007/02/24 15:59:07 tom Exp @
+  * @Id: curs_util.3x,v 1.25 2007/05/26 21:44:42 tom Exp @
 -->
 <HTML>
 <HEAD>
        The  XSI  Curses  standard,  Issue 4 describes these func-
        tions.  It states that <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG>  will  return  a
        null  pointer if unsuccessful, but does not define any er-
-       ror conditions.
+       ror conditions.  This implementation checks for three cas-
+       es:
+
+              -    the  parameter is a 7-bit US-ASCII code.  This
+                   is the case that X/Open Curses documented.
+
+              -    the parameter is in the range 128-159, i.e., a
+                   C1  control  code.   If  <STRONG>use_legacy_coding</STRONG> has
+                   been called with a <STRONG>2</STRONG> parameter, <STRONG>unctrl</STRONG> returns
+                   the  parameter,  i.e.,  a one-character string
+                   with the parameter  as  the  first  character.
+                   Otherwise,  it  returns  ``~@'', ``~A'', etc.,
+                   analogous to ``^@'', ``^A'', C0 controls.
+
+                   X/Open Curses does not document whether <STRONG>unctrl</STRONG>
+                   can  be  called  before  initializing  curses.
+                   This implementation permits that, and  returns
+                   the ``~@'', etc., values in that case.
+
+              -    parameter  values  outside the 0 to 255 range.
+                   <STRONG>unctrl</STRONG> returns a null pointer.
 
        The SVr4 documentation describes the action of <STRONG>filter</STRONG> only
        in  the  vaguest  terms.   The description here is adapted
        implementations have different conventions.  For  example,
        they  may  show  both sets of control characters with `^',
        and strip the parameter to 7 bits.  Or they may ignore  C1
-       controls  and  treat all of the upper-1280 codes as print-
+       controls  and  treat  all of the upper-128 codes as print-
        able.  This implementation uses 8 bits but does not modify
        the string to reflect locale.  The <STRONG>use_legacy_coding</STRONG> func-
        tion allows the caller to change the output of <STRONG>unctrl</STRONG>.
 
+       Likewise, the <STRONG>meta</STRONG> function allows the  caller  to  change
+       the  output of <STRONG>keyname</STRONG>, i.e., it determines whether to use
+       the `M-' prefix for ``meta'' keys (codes in the range  128
+       to 255).  Both <STRONG>use_legacy_coding</STRONG> and <STRONG>meta</STRONG> succeed only af-
+       ter curses is initialized.  X/Open Curses does  not  docu-
+       ment  the  treatment  of  codes 128 to 159.  When treating
+       them as ``meta'' keys (or if <STRONG>keyname</STRONG> is called before ini-
+       tializing  curses),  this  implementation  returns strings
+       ``M-^@'', ``M-^A'', etc.
+
        The <STRONG>keyname</STRONG> function may return the names of  user-defined
        string  capabilities which are defined in the terminfo en-
        try via the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>.  This  implementation  auto-
 </PRE>
 <H2>SEE ALSO</H2><PRE>
        <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG>curs_ker-</STRONG>
-       <STRONG><A HREF="curs_kernel.3x.html">nel(3x)</A></STRONG>, <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>.
+       <STRONG><A HREF="curs_kernel.3x.html">nel(3x)</A></STRONG>, <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>.
 
 
 
index f7ef59574d1a9356c0c878f019415f239cc6f1db..9cf621cee057cdaedcf6081e3e2f818cff1ba908 100644 (file)
@@ -2,7 +2,7 @@
 <!-- 
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2002,2006 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2006,2008 Free Software Foundation, Inc.              *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form.3x,v 1.20 2006/11/04 18:50:09 tom Exp @
+  * @Id: form.3x,v 1.21 2008/04/26 17:11:52 tom Exp @
 -->
 <HTML>
 <HEAD>
@@ -88,7 +88,7 @@
        data_ahead             <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
        data_behind            <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
        dup_field              <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
-       dynamic_fieldinfo      <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
+       dynamic_field_info     <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
        field_arg              <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
        field_back             <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
        field_buffer           <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
 
 </PRE>
 <H2>SEE ALSO</H2><PRE>
-       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20070303).
+       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20080621).
 
 
 
index 0d9efcfde7d2f0ccb252167860da85e500e69941..66eb7e6adab840c6853ce1a889931f9580699b2d 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1998-2002,2006 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc.              *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_driver.3x,v 1.12 2006/11/04 18:51:00 tom Exp @
+  * @Id: form_driver.3x,v 1.16 2008/06/21 21:55:39 tom Exp @
 -->
 <HTML>
 <HEAD>
 <H2>DESCRIPTION</H2><PRE>
        Once a form has been posted (displayed), you should funnel
        input events to it through <STRONG>form_driver</STRONG>.  This routine  has
-       two  major input cases; either the input is a form naviga-
-       tion request or it's a  printable  ASCII  character.   The
-       form driver requests are as follows:
+       three major input cases:
+
+       -  The  input  is  a  form navigation request.  Navigation
+          request codes are constants defined in <STRONG>&lt;form.h&gt;</STRONG>,  which
+          are distinct from the key- and character codes returned
+          by <STRONG>wgetch</STRONG>.
+
+       -  The input is a printable character.  Printable  charac-
+          ters  (which  must  be  positive,  less  than  256) are
+          checked according to the program's locale settings.
+
+       -  The input is the KEY_MOUSE special key associated  with
+          an mouse event.
+
+       The form driver requests are as follows:
 
        REQ_NEXT_PAGE
             Move to the next page.
        REQ_PREV_CHOICE
             Display previous field choice.
 
-       If the second argument is a printable ASCII character, the
+       If  the  second  argument  is  a  printable character, the
        driver places it in the current position  in  the  current
        field.   If  it is one of the forms requests listed above,
        that request is executed.
 
-       If the second argument is neither printable ASCII nor  one
-       of the above pre-defined form requests, the driver assumes
-       it  is  an  application-specific   command   and   returns
-       <STRONG>E_UNKNOWN_COMMAND</STRONG>.  Application-defined commands should be
-       defined relative to  <STRONG>MAX_COMMAND</STRONG>,  the  maximum  value  of
-       these pre-defined requests.
+   <STRONG>MOUSE</STRONG> <STRONG>HANDLING</STRONG>
+       If the second argument is the KEY_MOUSE special  key,  the
+       associated mouse event is translated into one of the above
+       pre-defined requests.  Currently only clicks in  the  user
+       window  (e.g.  inside the form display area or the decora-
+       tion window) are handled.
+
+       If you click above the display region of the form:
+
+              a REQ_PREV_FIELD is generated for a single click,
+
+              a REQ_PREV_PAGE is generated for a double-click and
+
+              a REQ_FIRST_FIELD is generated for a  triple-click.
+
+       If you click below the display region of the form:
+
+              a REQ_NEXT_FIELD is generated for a single click,
+
+              a REQ_NEXT_PAGE is generated for a double-click and
+
+              a REQ_LAST_FIELD is generated for a triple-click.
+
+       If you click at an field inside the display  area  of  the
+       form:
+
+              -  the form cursor is positioned to that field.
+
+              -  If  you double-click a field, the form cursor is
+                 positioned to that field  and  <STRONG>E_UNKNOWN_COMMAND</STRONG>
+                 is  returned.   This  return  value makes sense,
+                 because a double click  usually  means  that  an
+                 field-specific action should be returned.  It is
+                 exactly the purpose of this return value to sig-
+                 nal  that an application specific command should
+                 be executed.
+
+              -  If  a  translation  into  a  request  was  done,
+                 <STRONG>form_driver</STRONG>  returns the result of this request.
+
+       If you clicked outside the user window or the mouse  event
+       could   not   be   translated   into  a  form  request  an
+       <STRONG>E_REQUEST_DENIED</STRONG> is returned.
+
+   <STRONG>APPLICATION-DEFINED</STRONG> <STRONG>COMMANDS</STRONG>
+       If the second argument is neither printable nor one of the
+       above  pre-defined form requests, the driver assumes it is
+       an application-specific command and returns <STRONG>E_UNKNOWN_COM-</STRONG>
+       <STRONG>MAND</STRONG>.  Application-defined commands should be defined rel-
+       ative to <STRONG>MAX_COMMAND</STRONG>, the  maximum  value  of  these  pre-
+       defined requests.
 
 
 </PRE>
 
 </PRE>
 <H2>SEE ALSO</H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="wgetch.3x.html">wgetch(3x)</A></STRONG>.
 
 
 </PRE>
index de6a498a0c0de6dfc661694e229d2bdc4e2e459f..1a0269a8311127e89e1b7cd3269bdc5d31106221 100644 (file)
@@ -2,7 +2,7 @@
 <!-- 
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2003,2006 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2006,2007 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            *
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_field_new.3x,v 1.15 2006/12/24 14:56:41 tom Exp @
+  * @Id: form_field_new.3x,v 1.16 2007/06/02 20:40:07 tom Exp @
 -->
 <HTML>
 <HEAD>
        It may be unwise to count on the set of attributes  copied
        by  <STRONG>dup_field</STRONG>  being  portable; the System V forms library
        documents are not very explicit about what gets copied and
-       what doesn't.
+       what does not.
 
 
 </PRE>
index 7bdc3bf28953ea23b13dd63c4975654619c1e22c..eaea4380fb04ef4fb6466f3b5b0dd784088a72c8 100644 (file)
        <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,    <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,     <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>,     <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20070303).
+       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20080621).
 
 
 </PRE>
index 28ce9604fdf56b34ecff0018c57028d5fb15d236..a7b058fd84039302acc8bc1938d76dc045a24378 100644 (file)
@@ -93,7 +93,7 @@
 <H2>SEE ALSO</H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20070303).
+       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20080621).
 
 
 
index 64be8a867a9012c4118158218fde3adeb207ea65..941ebd6ece547bbba6b07ffda47ae502f543f216 100644 (file)
 
 </PRE>
 <H2>SEE ALSO</H2><PRE>
-       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20070303).
+       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20080621).
 
 
 
index 6182405990d9f0454566f6b608f1f204ee0d3ec7..c592699410610e5a88c75d7050aa0f0bb0012a4c 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1998-2003,2006 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc.              *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_driver.3x,v 1.12 2006/11/04 17:13:50 tom Exp @
+  * @Id: menu_driver.3x,v 1.15 2008/06/21 21:55:30 tom Exp @
 -->
 <HTML>
 <HEAD>
 <H2>DESCRIPTION</H2><PRE>
        Once a menu has been posted (displayed), you should funnel
        input events to it through <STRONG>menu_driver</STRONG>.  This routine  has
-       three  major input cases; either the input is a menu navi-
-       gation request, it's a printable ASCII character or it  is
-       the  KEY_MOUSE special key associated with an mouse event.
+       three major input cases:
+
+       -  The  input  is  a  form navigation request.  Navigation
+          request codes are constants defined in <STRONG>&lt;form.h&gt;</STRONG>,  which
+          are distinct from the key- and character codes returned
+          by <STRONG>wgetch</STRONG>.
+
+       -  The input is a printable character.  Printable  charac-
+          ters  (which  must  be  positive,  less  than  256) are
+          checked according to the program's locale settings.
+
+       -  The input is the KEY_MOUSE special key associated  with
+          an mouse event.
+
        The menu driver requests are as follows:
 
        REQ_LEFT_ITEM
             Clear the menu pattern buffer.
 
        REQ_BACK_PATTERN
-            Delete  the  previous  character  from  the   pattern
+            Delete   the  previous  character  from  the  pattern
             buffer.
 
        REQ_NEXT_MATCH
        REQ_PREV_MATCH
             Move to the previous item matching the pattern match.
 
-       If the second argument is a printable ASCII character, the
-       code appends it to the pattern buffer and attempts to move
-       to the next item matching the new pattern.  If there is no
+       If  the second argument is a printable character, the code
+       appends it to the pattern buffer and attempts to  move  to
+       the  next  item  matching the new pattern.  If there is no
        such match, <STRONG>menu_driver</STRONG> returns <STRONG>E_NO_MATCH</STRONG> and deletes the
        appended character from the buffer.
 
-       If the second argument is one  of  the  above  pre-defined
+       If  the  second  argument  is one of the above pre-defined
        requests, the corresponding action is performed.
 
-       If  the  second argument is the KEY_MOUSE special key, the
+   <STRONG>MOUSE</STRONG> <STRONG>HANDLING</STRONG>
+       If the second argument is the KEY_MOUSE special  key,  the
        associated mouse event is translated into one of the above
-       pre-defined  requests.   Currently only clicks in the user
-       window (e.g. inside the menu display area or  the  decora-
-       tion  window)  are handled. If you click above the display
-       region of the menu, a REQ_SCR_ULINE is generated,  if  you
-       doubleclick  a  REQ_SCR_UPAGE  is  generated  and  if  you
-       tripleclick a REQ_FIRST_ITEM is generated.  If  you  click
-       below  the  display region of the menu, a REQ_SCR_DLINE is
-       generated, if you doubleclick a REQ_SCR_DPAGE is generated
-       and  if  you  tripleclick a REQ_LAST_ITEM is generated. If
-       you click at an item inside the display area of the  menu,
-       the menu cursor is positioned to that item. If you double-
-       click at  an  item  a  REQ_TOGGLE_ITEM  is  generated  and
-       <STRONG>E_UNKNOWN_COMMAND</STRONG>  is  returned.  This  return value makes
-       sense, because a double click usually means that an  item-
-       specific  action should be returned. It's exactly the pur-
-       pose of this return value to signal  that  an  application
-       specific command should be executed. If a translation into
-       a request was done, <STRONG>menu_driver</STRONG> returns the result of this
-       request.   If  you  clicked outside the user window or the
-       mouse event couldn't be translated into a menu request  an
+       pre-defined requests.  Currently only clicks in  the  user
+       window  (e.g.  inside the menu display area or the decora-
+       tion window) are handled.
+
+       If you click above the display region of the menu:
+
+              a REQ_SCR_ULINE is generated for a single click,
+
+              a REQ_SCR_UPAGE is generated for a double-click and
+
+              a REQ_FIRST_ITEM is generated for a triple-click.
+
+       If you click below the display region of the menu:
+
+              a REQ_SCR_DLINE is generated for a single click,
+
+              a REQ_SCR_DPAGE is generated for a double-click and
+
+              a REQ_LAST_ITEM is generated for a triple-click.
+
+       If you click at an item inside the  display  area  of  the
+       menu:
+
+              -  the menu cursor is positioned to that item.
+
+              -  If you double-click an item a REQ_TOGGLE_ITEM is
+                 generated  and  <STRONG>E_UNKNOWN_COMMAND</STRONG>  is  returned.
+                 This  return value makes sense, because a double
+                 click usually means that an item-specific action
+                 should  be  returned.  It is exactly the purpose
+                 of this return value to signal that an  applica-
+                 tion specific command should be executed.
+
+              -  If  a  translation  into  a  request  was  done,
+                 <STRONG>menu_driver</STRONG> returns the result of this  request.
+
+       If  you clicked outside the user window or the mouse event
+       could  not  be  translated  into   a   menu   request   an
        <STRONG>E_REQUEST_DENIED</STRONG> is returned.
 
-       If  the second argument is neither printable ASCII nor one
-       of the above pre-defined menu requests or  KEY_MOUSE,  the
-       drive  assumes  it  is an application-specific command and
-       returns <STRONG>E_UNKNOWN_COMMAND</STRONG>.   Application-defined  commands
-       should  be  defined  relative  to <STRONG>MAX_COMMAND</STRONG>, the maximum
-       value of these pre-defined requests.
+   <STRONG>APPLICATION-DEFINED</STRONG> <STRONG>COMMANDS</STRONG>
+       If the second argument is neither printable nor one of the
+       above pre-defined menu requests or  KEY_MOUSE,  the  drive
+       assumes  it is an application-specific command and returns
+       <STRONG>E_UNKNOWN_COMMAND</STRONG>.  Application-defined commands should be
+       defined  relative  to  <STRONG>MAX_COMMAND</STRONG>,  the  maximum value of
+       these pre-defined requests.
 
 
 </PRE>
 
 </PRE>
 <H2>SEE ALSO</H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>, <STRONG><A HREF="wgetch.3x.html">wgetch(3x)</A></STRONG>.
 
 
 </PRE>
index e39be1ed29c0b67f7c095f13b02e7523c0be3000..0345c56797d0d6d70d7a38a02a8ff379a4424260 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1998-2003,2006 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2006,2008 Free Software Foundation, Inc.              *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_pattern.3x,v 1.10 2006/11/04 18:25:24 tom Exp @
+  * @Id: menu_pattern.3x,v 1.11 2008/06/21 21:58:20 tom Exp @
 -->
 <HTML>
 <HEAD>
@@ -60,9 +60,9 @@
 </PRE>
 <H2>DESCRIPTION</H2><PRE>
        Every  menu  has  an  associated pattern match buffer.  As
-       input events that are printable ASCII characters come  in,
-       they  are  appended  to this match buffer and tested for a
-       match, as described in <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>.
+       input events that are printable characters come  in,  they
+       are  appended to this match buffer and tested for a match,
+       as described in <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>.
 
        The function <STRONG>set_menu_pattern</STRONG> sets the pattern buffer  for
        the  given menu and tries to find the first matching item.
index e3d6d08b2d63250a520cc0b6c8877cad4f1a0b4c..a825da78b50cb364a6413361a9bdc4b6e855cd4e 100644 (file)
@@ -2,7 +2,7 @@
 <!-- 
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2006,2007 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            *
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: ncurses.3x,v 1.82 2006/12/24 14:44:05 tom Exp @
+  * @Id: ncurses.3x,v 1.89 2007/09/01 18:57:29 tom Exp @
 -->
 <HTML>
 <HEAD>
        sonable   optimization.    This  implementation  is  ``new
        curses'' (ncurses) and is  the  approved  replacement  for
        4.4BSD  classic curses, which has been discontinued.  This
-       describes <STRONG>ncurses</STRONG> version 5.6 (patch 20070303).
-
-       The <STRONG>ncurses</STRONG> routines emulate  the  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  library  of
-       System V Release 4 UNIX, and the XPG4 curses standard (XSI
-       curses) but the <STRONG>ncurses</STRONG> library is freely  redistributable
-       in source form.  Differences from the SVr4 curses are sum-
-       marized under  the  <STRONG>EXTENSIONS</STRONG>  and  <STRONG>PORTABILITY</STRONG>  sections
-       below  and  described  in  detail in the respective <STRONG>EXTEN-</STRONG>
-       <STRONG>SIONS</STRONG>, <STRONG>PORTABILITY</STRONG> and <STRONG>BUGS</STRONG>  sections  of  individual  man
-       pages.
+       describes <STRONG>ncurses</STRONG> version 5.6 (patch 20080621).
+
+       The <STRONG>ncurses</STRONG> library emulates  the  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  library  of
+       System  V  Release  4  UNIX,  and XPG4 (X/Open Portability
+       Guide) curses (also known as XSI curses).  XSI stands  for
+       X/Open  System  Interfaces Extension.  The <STRONG>ncurses</STRONG> library
+       is freely redistributable  in  source  form.   Differences
+       from  the  SVr4 curses are summarized under the <STRONG>EXTENSIONS</STRONG>
+       and <STRONG>PORTABILITY</STRONG> sections below and described in detail  in
+       the  respective  <STRONG>EXTENSIONS</STRONG>, <STRONG>PORTABILITY</STRONG> and <STRONG>BUGS</STRONG> sections
+       of individual man pages.
+
+       The <STRONG>ncurses</STRONG> library also provides many useful  extensions,
+       i.e.,  features  which  cannot  be implemented by a simple
+       add-on library but which require access to  the  internals
+       of the library.
 
        A  program  using  these  routines must be linked with the
        <STRONG>-lncurses</STRONG> option, or (if it has been generated)  with  the
              <STRONG>intrflush(stdscr,</STRONG> <STRONG>FALSE);</STRONG>
              <STRONG>keypad(stdscr,</STRONG> <STRONG>TRUE);</STRONG>
 
-       Before  a <STRONG>curses</STRONG> program is run, the tab stops of the ter-
-       minal should be set and  its  initialization  strings,  if
+       Before  a  <STRONG>curses</STRONG>  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 <STRONG>tput</STRONG> <STRONG>init</STRONG> command after the shell environment variable
        <STRONG>TERM</STRONG>  has  been  exported.  <STRONG>tset(1)</STRONG> is usually responsible
        be created with <STRONG>newwin</STRONG>.
 
        Note  that  <STRONG>curses</STRONG>  does  not  handle overlapping windows,
-       that's done by the <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> library. This means that  you
+       that's done by the <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> library.  This means that you
        can either use <STRONG>stdscr</STRONG> or divide the screen into tiled win-
-       dows and not using <STRONG>stdscr</STRONG> at  all.  Mixing  the  two  will
+       dows and not using <STRONG>stdscr</STRONG> at all.   Mixing  the  two  will
        result in unpredictable, and undesired, effects.
 
        Windows are referred to by variables declared as <STRONG>WINDOW</STRONG> <STRONG>*</STRONG>.
        If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or
        if the program is executing in a window environment,  line
        and  column  information  in the environment will override
-       information read by <EM>terminfo</EM>.  This would effect a program
+       information read by <EM>terminfo</EM>.  This would affect a program
        running  in an AT&amp;T 630 layer, for example, where the size
        of a screen is changeable (see <STRONG>ENVIRONMENT</STRONG>).
 
        <STRONG>DOW</STRONG>.
 
        Option setting routines require a Boolean flag <EM>bf</EM> with the
-       value <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>.  The vari-
-       ables <EM>ch</EM> and <EM>attrs</EM> below are always of type  <STRONG>chtype</STRONG>.   The
-       types  <STRONG>WINDOW</STRONG>,  <STRONG>SCREEN</STRONG>,  <STRONG>bool</STRONG>,  and  <STRONG>chtype</STRONG> are defined in
-       <STRONG>&lt;curses.h&gt;</STRONG>.  The type <STRONG>TERMINAL</STRONG>  is  defined  in  <STRONG>&lt;term.h&gt;</STRONG>.
-       All other arguments are integers.
+       value  <STRONG>TRUE</STRONG>  or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>.  Most of
+       the data types used in the library routines, such as  <STRONG>WIN-</STRONG>
+       <STRONG>DOW</STRONG>,  <STRONG>SCREEN</STRONG>,  <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are defined in <STRONG>&lt;curses.h&gt;</STRONG>.
+       Types used for the terminfo routines such as <STRONG>TERMINAL</STRONG>  are
+       defined in <STRONG>&lt;term.h&gt;</STRONG>.
+
+       This  manual  page describes functions which may appear in
+       any configuration of the library.  There  are  two  common
+       configurations of the library:
+
+              ncurses
+                   the  "normal"  library,  which  handles  8-bit
+                   characters.  The normal (8-bit) library stores
+                   characters  combined with attributes in <STRONG>chtype</STRONG>
+                   data.
+
+                   Attributes alone (no corresponding  character)
+                   may  be  stored  in  <STRONG>chtype</STRONG>  or the equivalent
+                   <STRONG>attr_t</STRONG> data.  In  either  case,  the  data  is
+                   stored in something like an integer.
+
+                   Each  cell  (row  and  column)  in a <STRONG>WINDOW</STRONG> is
+                   stored as a <STRONG>chtype</STRONG>.
+
+              ncursesw
+                   the so-called "wide"  library,  which  handles
+                   multibyte   characters  (See  the  section  on
+                   <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>).  The "wide" library
+                   includes  all  of  the calls from the "normal"
+                   library.  It adds about one third  more  calls
+                   using data types which store multibyte charac-
+                   ters:
+
+                   <STRONG>cchar_t</STRONG>
+                        corresponds to <STRONG>chtype</STRONG>.  However it  is  a
+                        structure,  because  more  data is stored
+                        than can fit into an integer.  The  char-
+                        acters are large enough to require a full
+                        integer value - and  there  may  be  more
+                        than  one  character per cell.  The video
+                        attributes and color are stored in  sepa-
+                        rate fields of the structure.
+
+                        Each cell (row and column) in a <STRONG>WINDOW</STRONG> is
+                        stored as a <STRONG>cchar_t</STRONG>.
+
+                   <STRONG>wchar_t</STRONG>
+                        stores a "wide" character.  Like  <STRONG>chtype</STRONG>,
+                        this may be an integer.
+
+                   <STRONG>wint_t</STRONG>
+                        stores  a <STRONG>wchar_t</STRONG> or <STRONG>WEOF</STRONG> - not the same,
+                        though both may have the same size.
+
+                   The  "wide"  library  provides  new  functions
+                   which  are analogous to functions in the "nor-
+                   mal" library.  There is  a  naming  convention
+                   which  relates  many  of the normal/wide vari-
+                   ants: a "_w" is inserted into the  name.   For
+                   example, <STRONG>waddch</STRONG> becomes <STRONG>wadd_wch</STRONG>.
+
 
    <STRONG>Routine</STRONG> <STRONG>Name</STRONG> <STRONG>Index</STRONG>
        The following table lists each <STRONG>curses</STRONG> routine and the name
               _tracedump              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
               _tracef                 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
               _tracemouse             <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-
               add_wch                 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
               add_wchnstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
               add_wchstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
               addch                   <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+
               addchnstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
               addchstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
               addnstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
               flushinp                <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
               get_wch                 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
               get_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+              getattrs                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              getbegx                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+              getbegy                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
               getbegyx                <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
-
               getbkgd                 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+
               getbkgrnd               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
               getcchar                <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
               getch                   <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+              getcurx                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+              getcury                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+              getmaxx                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+              getmaxy                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
               getmaxyx                <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
               getmouse                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
               getn_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
               getnstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+              getparx                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+              getpary                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
               getparyx                <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
               getstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
               getsyx                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
               instr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
               intrflush               <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
               inwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+              is_cleared              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_idcok                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_idlok                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_immedok              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_keypad               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_leaveok              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
               is_linetouched          <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+              is_nodelay              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_notimeout            <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_scrollok             <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_syncok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_term_resized         <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
               is_wintouched           <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
               isendwin                <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
               key_defined             <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
+
               key_name                <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
               keybound                <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
               keyname                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
               mousemask               <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
               move                    <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
               mvadd_wch               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
-
               mvadd_wchnstr           <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
               mvadd_wchstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
               mvaddch                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
               mvwaddchstr             <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
               mvwaddnstr              <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
               mvwaddnwstr             <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+
               mvwaddstr               <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
               mvwaddwstr              <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
               mvwchgat                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
               mvwin_wch               <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
               mvwin_wchnstr           <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
               mvwin_wchstr            <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-
               mvwinch                 <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
               mvwinchnstr             <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
               mvwinchstr              <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
               nocbreak                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
               nodelay                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
               noecho                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+              nofilter                <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
               nonl                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
               noqiflush               <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
               noraw                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
               resizeterm              <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
               restartterm             <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
               ripoffline              <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+
               savetty                 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
               scanw                   <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
               scr_dump                <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
               setterm                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
               setupterm               <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
               slk_attr                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
-
               slk_attr_off            <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
               slk_attr_on             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
               slk_attr_set            <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
               use_default_colors      <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
               use_env                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
               use_extended_names      <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
+
+              use_legacy_coding       <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
               vid_attr                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
               vid_puts                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
               vidattr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
               waddchnstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
               waddchstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
               waddnstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
-
               waddnwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
               waddstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
               waddwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
               winnwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
               wins_nwstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
               wins_wch                <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+
               wins_wstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
               winsch                  <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
               winsdelln               <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
               wscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
               wscrl                   <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
               wsetscrreg              <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-
               wstandend               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
               wstandout               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
               wsyncdown               <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
             nal's  default   colors   are   white-on-black   (see
             <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>).   You may set the foreground and
             background color values with this  environment  vari-
-            able     by     proving     a     2-element     list:
-            foreground,background.  For example, to tell  ncurses
-            to  not assume anything about the colors, set this to
-            "-1,-1".  To make it green-on-black, set it to "2,0".
-            Any positive value from zero to the terminfo <STRONG>max_col-</STRONG>
-            <STRONG>ors</STRONG> value is allowed.
+            able  by  proving  a 2-element list: foreground,back-
+            ground.  For example, to tell ncurses to  not  assume
+            anything  about  the colors, set this to "-1,-1".  To
+            make it green-on-black, set it to "2,0".   Any  posi-
+            tive value from zero to the terminfo <STRONG>max_colors</STRONG> value
+            is allowed.
 
        NCURSES_NO_HARD_TABS
             <STRONG>Ncurses</STRONG> may use tabs as part of the  cursor  movement
 
        TERMPATH
             If TERMCAP does not hold a  file  name  then  <STRONG>ncurses</STRONG>
-            checks  the  TERMPATH  symbol.   This  is  a  list of
-            filenames separated by spaces or colons  (i.e.,  ":")
-            on  Unix,  semicolons  on  OS/2 EMX.  If the TERMPATH
-            symbol  is  not  set,  <STRONG>ncurses</STRONG>  looks  in  the  files
-            /etc/termcap,       /usr/share/misc/termcap       and
-            $HOME/.termcap, in that order.
+            checks  the TERMPATH symbol.  This is a list of file-
+            names separated by spaces or colons  (i.e.,  ":")  on
+            Unix, semicolons on OS/2 EMX.  If the TERMPATH symbol
+            is not set, <STRONG>ncurses</STRONG> 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),
             extended (wide-character)  functions.   The  <STRONG>curses.h</STRONG>
             file   which  is  installed  for  the  wide-character
             library is designed to be compatible with the  normal
-            library's header.  Only the size of the <STRONG>WINDOW</STRONG> struc-
-            ture differs, and very few applications require  more
-            than  a  pointer  to  <STRONG>WINDOW</STRONG>s.   If  the  headers are
+            library's  header.   Only  the  size  of  the  <STRONG>WINDOW</STRONG>
+            structure differs, and very few applications  require
+            more  than  a pointer to <STRONG>WINDOW</STRONG>s.  If the headers are
             installed  allowing  overwrite,  the   wide-character
             library's  headers should be installed last, to allow
             applications to be built using  either  library  from
 
        --with-profile
             The  shared  and normal (static) library names differ
-            by   their   suffixes,   e.g.,   <STRONG>libncurses.so</STRONG>    and
-            <STRONG>libncurses.a</STRONG>.   The debug and profiling libraries add
-            a "_g" and a "_p" to  the  root  names  respectively,
-            e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
+            by their  suffixes,  e.g.,  <STRONG>libncurses.so</STRONG>  and  <STRONG>libn-</STRONG>
+            <STRONG>curses.a</STRONG>.   The  debug  and profiling libraries add a
+            "_g" and a "_p" to the root names respectively, e.g.,
+            <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
 
        --with-trace
             The  <STRONG>trace</STRONG>  function  normally  resides  in the debug
        in core and startup cycles.
 
        The <STRONG>ncurses</STRONG>  library  includes  facilities  for  capturing
-       mouse  events  on certain terminals (including xterm). See
+       mouse  events on certain terminals (including xterm).  See
        the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
 
        The <STRONG>ncurses</STRONG> library includes facilities for responding  to
        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 <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> manual page for details.
+       ored   text   on   a   background   whose   color  is  set
+       independently, providing better control  over  color  con-
+       trasts.    See  the  <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>  manual  page  for
+       details.
 
-       The  <STRONG>ncurses</STRONG>  library  includes  a  function for directing
-       application output to a printer attached to  the  terminal
+       The <STRONG>ncurses</STRONG> library  includes  a  function  for  directing
+       application  output  to a printer attached to the terminal
        device.  See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
 
 
 </PRE>
 <H2>PORTABILITY</H2><PRE>
-       The  <STRONG>ncurses</STRONG>  library is intended to be BASE-level confor-
-       mant with the  XSI  Curses  standard.   The  EXTENDED  XSI
-       Curses  functionality  (including  color  support) is sup-
-       ported.
+       The <STRONG>ncurses</STRONG> library is intended to be  BASE-level  confor-
+       mant with XSI Curses.  The EXTENDED XSI Curses functional-
+       ity (including color support) is supported.
 
        A small number of local differences (that  is,  individual
        differences  between the XSI Curses and <STRONG>ncurses</STRONG> calls) are
        described in  <STRONG>PORTABILITY</STRONG>  sections  of  the  library  man
        pages.
 
-       The routine <STRONG>has_key</STRONG> is not part of XPG4, nor is it present
-       in SVr4.  See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page for  details.
+       This implementation also contains several extensions:
 
-       The  routine  <STRONG>slk_attr</STRONG>  is  not  part  of  XPG4, nor is it
-       present in SVr4.  See the  <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>  manual  page  for
-       details.
+            The  routine  <STRONG>has_key</STRONG>  is not part of XPG4, nor is it
+            present in SVr4.  See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual  page
+            for details.
 
-       The  routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mouseinter-</STRONG>
-       <STRONG>val</STRONG>, and <STRONG>wenclose</STRONG> relating to mouse  interfacing  are  not
-       part  of  XPG4,  nor  are  they  present in SVr4.  See the
-       <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
+            The  routine  <STRONG>slk_attr</STRONG> is not part of XPG4, nor is it
+            present in SVr4.  See the  <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>  manual  page
+            for details.
 
-       The routine <STRONG>mcprint</STRONG> was not present in any previous curses
-       implementation.   See  the  <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for
-       details.
+            The  routines  <STRONG>getmouse</STRONG>,  <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mou-</STRONG>
+            <STRONG>seinterval</STRONG>, and <STRONG>wenclose</STRONG> relating to mouse  interfac-
+            ing  are  not  part  of XPG4, nor are they present in
+            SVr4.   See  the  <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>  manual   page   for
+            details.
+
+            The  routine  <STRONG>mcprint</STRONG> was not present in any previous
+            curses implementation.  See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual
+            page for details.
+
+            The  routine  <STRONG>wresize</STRONG>  is not part of XPG4, nor is it
+            present in SVr4.  See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page for
+            details.
 
-       The routine <STRONG>wresize</STRONG> is not part of XPG4, nor is it present
-       in SVr4.  See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page for details.
+            The WINDOW structure's internal details can be hidden
+            from application programs.  See  <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>  for
+            the discussion of <STRONG>is_scrollok</STRONG>, etc.
 
        In  historic curses versions, delays embedded in the capa-
        bilities <STRONG>cr</STRONG>, <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> 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.
+       tion, all padding is done  by  sending  NUL  bytes.   This
+       method  is slightly more expensive, but narrows the inter-
+       face to the UNIX kernel significantly  and  increases  the
+       package's portability correspondingly.
 
 
 </PRE>
index f6e275054d50ddea69b7dc5492d3b5f6e7ca6d05..c40c7db088ade68430536b85c50a959d66784100 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1998-2003,2006 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2006,2007 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            *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: panel.3x,v 1.12 2006/05/13 15:35:45 tom Exp @
+  * @Id: panel.3x,v 1.14 2007/05/12 20:45:20 tom Exp @
 -->
 <HTML>
 <HEAD>
               (causes   it  to   be   displayed  above  any other
               panel) and returns a pointer to the new panel.
 
-       <STRONG>void</STRONG> <STRONG>update_panels()</STRONG>
+       <STRONG>update_panels()</STRONG>
               refreshes the virtual screen to reflect  the  rela-
               tions between the panels in the stack, but does not
               call doupdate() to  refresh  the  physical  screen.
               thus hides it from view. The <STRONG>PANEL</STRONG> structure is not
               lost, merely removed from the stack.
 
+       <STRONG>panel_hidden(pan)</STRONG>
+              returns  TRUE  if  the panel is in the panel stack,
+              FALSE if it  is  not.   If  the  panel  is  a  null
+              pointer, return ERR.
+
        <STRONG>show_panel(pan)</STRONG>
               makes  a  hidden panel visible by placing it on top
               of the panels in the panel stack. See COMPATIBILITY
 <H2>COMPATIBILITY</H2><PRE>
        Reasonable  care  has been taken to  ensure  compatibility
        with  the  native  panel  facility  introduced  in  SVr3.2
-       (inspection of the SVr4 manual pages suggests the program-
-       ming interface is unchanged).  The <STRONG>PANEL</STRONG>  data  structures
-       are  merely   similar. The  programmer is cautioned not to
-       directly use <STRONG>PANEL</STRONG> fields.
+       (inspection   of   the  SVr4  manual  pages  suggests  the
+       programming  interface  is  unchanged).   The  <STRONG>PANEL</STRONG>  data
+       structures  are  merely   similar. The  programmer is cau-
+       tioned not to directly use <STRONG>PANEL</STRONG> fields.
 
        The functions <STRONG>show_panel()</STRONG> and <STRONG>top_panel()</STRONG>  are  identical
        in  this  implementation,  and work equally well with dis-
 <H2>SEE ALSO</H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20070303).
+       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20080621).
 
 
 </PRE>
index 8d2573dfb86246c70dbeaa2bae4512ac2c864be1..53ea633e80177ce8dc497d92956923ab500a92ac 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1998-2003,2006 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2006,2007 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            *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: term.7,v 1.17 2006/12/24 18:14:09 tom Exp @
+  * @Id: term.7,v 1.18 2007/06/02 20:40:07 tom Exp @
 -->
 <HTML>
 <HEAD>
        lows, it should indicate either the OS  release  level  or
        the console driver release level.
 
-       The root name for a terminal emulator (assuming it doesn't
-       fit one of the standard ANSI or vt100 types) should be the
-       program  name or a readily recognizable abbreviation of it
-       (i.e. <STRONG>versaterm</STRONG>, <STRONG>ctrm</STRONG>).
+       The  root  name  for a terminal emulator (assuming it does
+       not fit one of the standard ANSI or vt100 types) should be
+       the program name or a readily recognizable abbreviation of
+       it (i.e. <STRONG>versaterm</STRONG>, <STRONG>ctrm</STRONG>).
 
        Following the root name, you may add any reasonable number
        of hyphen-separated feature suffixes.
index 56b6b3979d7ebabfb3cc8681e58ec8802578a2a3..51a41ace5eb574208e4cb82356f05ac146d99dd6 100644 (file)
@@ -32,9 +32,9 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: terminfo.head,v 1.15 2006/12/24 18:04:42 tom Exp @
+  * @Id: terminfo.head,v 1.16 2007/03/04 00:09:46 tom Exp @
   * Head of terminfo man page ends here
-  * @Id: terminfo.tail,v 1.47 2006/12/24 18:14:22 tom Exp @
+  * @Id: terminfo.tail,v 1.49 2008/02/16 20:57:43 tom Exp @
   * Beginning of terminfo.tail file
   * This file is part of ncurses.
   * See "terminfo.head" for copyright.
@@ -78,7 +78,7 @@
        nals by giving a set of capabilities which they  have,  by
        specifying how to perform screen operations, and by speci-
        fying padding requirements and  initialization  sequences.
-       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20070303).
+       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20080621).
 
        Entries in <EM>terminfo</EM> consist of a sequence of `,' separated
        fields (embedded commas may be escaped with a backslash or
        %%   outputs `%'
 
        %<EM>[[</EM>:<EM>]flags][width[.precision]][</EM>doxXs<EM>]</EM>
-            as in <STRONG>printf</STRONG>, flags are [-+#] and space
+            as in <STRONG>printf</STRONG>, flags are [-+#] and space.  Use  a  `:'
+            to  allow the next character to be a `-' flag, avoid-
+            ing interpreting "%-" as an operator.
 
        %c   print pop() like %c in <STRONG>printf</STRONG>
 
        <STRONG>hpa</STRONG> (horizontal position absolute) and <STRONG>vpa</STRONG> (vertical posi-
        tion absolute).  Sometimes these are shorter than the more
        general two parameter sequence (as with  the  hp2645)  and
-       can be used in preference to <STRONG>cup</STRONG>.  If there are parameter-
-       ized local motions (e.g., move  <EM>n</EM>  spaces  to  the  right)
-       these can be given as <STRONG>cud</STRONG>, <STRONG>cub</STRONG>, <STRONG>cuf</STRONG>, and <STRONG>cuu</STRONG> with a single
-       parameter indicating how many spaces to move.   These  are
-       primarily  useful  if the terminal does not have <STRONG>cup</STRONG>, such
-       as the TEKTRONIX 4025.
+       can   be   used  in  preference  to  <STRONG>cup</STRONG>.   If  there  are
+       parameterized local motions (e.g., move <EM>n</EM>  spaces  to  the
+       right) these can be given as <STRONG>cud</STRONG>, <STRONG>cub</STRONG>, <STRONG>cuf</STRONG>, and <STRONG>cuu</STRONG> with a
+       single parameter  indicating  how  many  spaces  to  move.
+       These  are  primarily useful if the terminal does not have
+       <STRONG>cup</STRONG>, such as the TEKTRONIX 4025.
 
        If the terminal needs to be in a special mode when running
        a program that uses these capabilities, the codes to enter
        blank position on the current  line.   Give  as  <STRONG>smir</STRONG>  the
        sequence  to  get  into  insert  mode.   Give  as <STRONG>rmir</STRONG> the
        sequence to leave insert  mode.   Now  give  as  <STRONG>ich1</STRONG>  any
-       sequence needed to be sent just before sending the charac-
-       ter to be inserted.  Most terminals  with  a  true  insert
-       mode  will  not give <STRONG>ich1</STRONG>; terminals which send a sequence
-       to open a screen position should give it here.
+       sequence  needed  to  be  sent  just  before  sending  the
+       character to be inserted.   Most  terminals  with  a  true
+       insert  mode  will  not  give <STRONG>ich1</STRONG>; terminals which send a
+       sequence to open a screen position should give it here.
 
        If your terminal has both, insert mode is usually  prefer-
        able  to  <STRONG>ich1</STRONG>.   Technically,  you  should  not give both
          ;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%;
-
          m          always              m
          ^N or ^O   if p9 ^N, else ^O   %?%p9%t^N%e^O%;
 
        tion  keys  such  as f0, f1, ..., f10, the codes they send
        can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>.  If these  keys  have
        labels  other  than the default f0 through f10, the labels
-       can be given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>.  The codes  transmit-
-       ted  by certain other special keys can be given: <STRONG>kll</STRONG> (home
-       down), <STRONG>kbs</STRONG>  (backspace),  <STRONG>ktbc</STRONG>  (clear  all  tabs),  <STRONG>kctab</STRONG>
-       (clear the tab stop in this column), <STRONG>kclr</STRONG> (clear screen or
-       erase key), <STRONG>kdch1</STRONG> (delete character), <STRONG>kdl1</STRONG> (delete  line),
-       <STRONG>krmir</STRONG>  (exit insert mode), <STRONG>kel</STRONG> (clear to end of line), <STRONG>ked</STRONG>
-       (clear to end of screen), <STRONG>kich1</STRONG> (insert character or enter
-       insert  mode),  <STRONG>kil1</STRONG>  (insert  line), <STRONG>knp</STRONG> (next page), <STRONG>kpp</STRONG>
-       (previous page), <STRONG>kind</STRONG> (scroll forward/down),  <STRONG>kri</STRONG>  (scroll
-       backward/up),  <STRONG>khts</STRONG>  (set  a tab stop in this column).  In
-       addition, if the keypad has a 3 by 3 array of keys includ-
-       ing  the four arrow keys, the other five keys can be given
-       as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>, <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>.   These  keys  are  useful
-       when the effects of a 3 by 3 directional pad are needed.
-
-       Strings  to  program  function keys can be given as <STRONG>pfkey</STRONG>,
-       <STRONG>pfloc</STRONG>, and <STRONG>pfx</STRONG>.  A string to program screen labels  should
-       be  specified  as  <STRONG>pln</STRONG>.   Each  of these strings takes two
-       parameters: the function key number to program (from 0  to
-       10)  and the string to program it with.  Function key num-
-       bers out of this range may program  undefined  keys  in  a
-       terminal  dependent  manner.   The  difference between the
-       capabilities is that <STRONG>pfkey</STRONG> causes pressing the  given  key
-       to  be the same as the user typing the given string; <STRONG>pfloc</STRONG>
+       can  be  given  as  <STRONG>lf0,</STRONG>  <STRONG>lf1,</STRONG>  <STRONG>...,</STRONG>  <STRONG>lf10</STRONG>.    The   codes
+       transmitted  by  certain  other special keys can be given:
+       <STRONG>kll</STRONG> (home down), <STRONG>kbs</STRONG> (backspace), <STRONG>ktbc</STRONG> (clear  all  tabs),
+       <STRONG>kctab</STRONG>  (clear  the  tab  stop in this column), <STRONG>kclr</STRONG> (clear
+       screen or  erase  key),  <STRONG>kdch1</STRONG>  (delete  character),  <STRONG>kdl1</STRONG>
+       (delete line), <STRONG>krmir</STRONG> (exit insert mode), <STRONG>kel</STRONG> (clear to end
+       of line), <STRONG>ked</STRONG> (clear to  end  of  screen),  <STRONG>kich1</STRONG>  (insert
+       character  or  enter insert mode), <STRONG>kil1</STRONG> (insert line), <STRONG>knp</STRONG>
+       (next  page),  <STRONG>kpp</STRONG>  (previous  page),  <STRONG>kind</STRONG>  (scroll  for-
+       ward/down), <STRONG>kri</STRONG> (scroll backward/up), <STRONG>khts</STRONG> (set a tab stop
+       in this column).  In addition, if the keypad has a 3 by  3
+       array  of  keys  including  the four arrow keys, the other
+       five keys can be given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>,  <STRONG>kb2</STRONG>,  <STRONG>kc1</STRONG>,  and  <STRONG>kc3</STRONG>.
+       These  keys are useful when the effects of a 3 by 3 direc-
+       tional pad are needed.
+
+       Strings to program function keys can be  given  as  <STRONG>pfkey</STRONG>,
+       <STRONG>pfloc</STRONG>,  and <STRONG>pfx</STRONG>.  A string to program screen labels should
+       be specified as <STRONG>pln</STRONG>.  Each  of  these  strings  takes  two
+       parameters:  the function key number to program (from 0 to
+       10) and the string to program it with.  Function key  num-
+       bers  out  of  this  range may program undefined keys in a
+       terminal dependent manner.   The  difference  between  the
+       capabilities  is  that <STRONG>pfkey</STRONG> causes pressing the given key
+       to be the same as the user typing the given string;  <STRONG>pfloc</STRONG>
        causes the string to be executed by the terminal in local;
-       and  <STRONG>pfx</STRONG>  causes  the string to be transmitted to the com-
+       and <STRONG>pfx</STRONG> causes the string to be transmitted  to  the  com-
        puter.
 
        The capabilities <STRONG>nlab</STRONG>, <STRONG>lw</STRONG> and <STRONG>lh</STRONG> define the number of pro-
-       grammable  screen  labels  and their width and height.  If
-       there are commands to turn the labels  on  and  off,  give
-       them  in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>.  <STRONG>smln</STRONG> is normally output after one
+       grammable screen labels and their width  and  height.   If
+       there  are  commands  to  turn the labels on and off, give
+       them in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>.  <STRONG>smln</STRONG> is normally output after  one
        or more pln sequences to make sure that the change becomes
        visible.
 
 
    <STRONG>Tabs</STRONG> <STRONG>and</STRONG> <STRONG>Initialization</STRONG>
-       If  the terminal has hardware tabs, the command to advance
-       to the next tab stop can be given as <STRONG>ht</STRONG>  (usually  control
-       I).   A  ``back-tab''  command which moves leftward to the
+       If the terminal has hardware tabs, the command to  advance
+       to  the  next tab stop can be given as <STRONG>ht</STRONG> (usually control
+       I).  A ``back-tab'' command which moves  leftward  to  the
        preceding tab stop can be given as <STRONG>cbt</STRONG>.  By convention, if
-       the  teletype  modes indicate that tabs are being expanded
-       by the computer rather than being sent  to  the  terminal,
-       programs  should  not  use  <STRONG>ht</STRONG>  or  <STRONG>cbt</STRONG>  even  if they are
-       present, since the user may not have the tab  stops  prop-
-       erly  set.   If  the  terminal has hardware tabs which are
-       initially set every <EM>n</EM> spaces when the terminal is  powered
-       up,  the numeric parameter <STRONG>it</STRONG> is given, showing the number
-       of spaces the tabs are set to.  This is normally  used  by
-       the  <EM>tset</EM> command to determine whether to set the mode for
-       hardware tab expansion, and whether to set the tab  stops.
-       If  the  terminal  has tab stops that can be saved in non-
-       volatile memory, the terminfo description can assume  that
+       the teletype modes indicate that tabs are  being  expanded
+       by  the  computer  rather than being sent to the terminal,
+       programs should not  use  <STRONG>ht</STRONG>  or  <STRONG>cbt</STRONG>  even  if  they  are
+       present,  since  the user may not have the tab stops prop-
+       erly set.  If the terminal has  hardware  tabs  which  are
+       initially  set every <EM>n</EM> spaces when the terminal is powered
+       up, the numeric parameter <STRONG>it</STRONG> is given, showing the  number
+       of  spaces  the tabs are set to.  This is normally used by
+       the <EM>tset</EM> command to determine whether to set the mode  for
+       hardware  tab expansion, and whether to set the tab stops.
+       If the terminal has tab stops that can be  saved  in  non-
+       volatile  memory, the terminfo description can assume that
        they are properly set.
 
-       Other  capabilities include <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>, initializa-
-       tion strings for the terminal, <STRONG>iprog</STRONG>, the path name  of  a
-       program  to be run to initialize the terminal, and <STRONG>if</STRONG>, the
-       name of a file  containing  long  initialization  strings.
-       These  strings are expected to set the terminal into modes
-       consistent with the  rest  of  the  terminfo  description.
+       Other capabilities include <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>,  initializa-
+       tion  strings  for the terminal, <STRONG>iprog</STRONG>, the path name of a
+       program to be run to initialize the terminal, and <STRONG>if</STRONG>,  the
+       name  of  a  file  containing long initialization strings.
+       These strings are expected to set the terminal into  modes
+       consistent  with  the  rest  of  the terminfo description.
        They are normally sent to the terminal, by the <EM>init</EM> option
-       of the <EM>tput</EM> program, each time the  user  logs  in.   They
+       of  the  <EM>tput</EM>  program,  each time the user logs in.  They
        will be printed in the following order:
 
               run the program
               and finally
                      output <STRONG>is3</STRONG>.
 
-       Most  initialization  is  done with <STRONG>is2</STRONG>.  Special terminal
+       Most initialization is done with  <STRONG>is2</STRONG>.   Special  terminal
        modes can be set up without duplicating strings by putting
-       the  common  sequences in <STRONG>is2</STRONG> and special cases in <STRONG>is1</STRONG> and
+       the common sequences in <STRONG>is2</STRONG> and special cases in  <STRONG>is1</STRONG>  and
        <STRONG>is3</STRONG>.
 
        A set of sequences that does a harder reset from a totally
        unknown state can be given as <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rf</STRONG> and <STRONG>rs3</STRONG>, analo-
-       gous to <STRONG>is1</STRONG> <STRONG>,</STRONG>  <STRONG>is2</STRONG>  <STRONG>,</STRONG>  <STRONG>if</STRONG>  and  <STRONG>is3</STRONG>  respectively.   These
-       strings  are  output  by  the <EM>reset</EM> program, which is used
-       when the terminal gets into a wedged state.  Commands  are
-       normally  placed  in <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they pro-
-       duce annoying effects on the screen and are not  necessary
-       when  logging  in.   For  example,  the command to set the
-       vt100 into 80-column mode would normally be part  of  <STRONG>is2</STRONG>,
-       but  it causes an annoying glitch of the screen and is not
-       normally needed since the terminal is usually  already  in
+       gous  to  <STRONG>is1</STRONG>  <STRONG>,</STRONG>  <STRONG>is2</STRONG>  <STRONG>,</STRONG>  <STRONG>if</STRONG>  and <STRONG>is3</STRONG> respectively.  These
+       strings are output by the <EM>reset</EM>  program,  which  is  used
+       when  the terminal gets into a wedged state.  Commands are
+       normally placed in <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if  they  pro-
+       duce  annoying effects on the screen and are not necessary
+       when logging in.  For example,  the  command  to  set  the
+       vt100  into  80-column mode would normally be part of <STRONG>is2</STRONG>,
+       but it causes an annoying glitch of the screen and is  not
+       normally  needed  since the terminal is usually already in
        80 column mode.
 
        The <EM>reset</EM> program writes strings including <STRONG>iprog</STRONG>, etc., in
-       the same order as  the  <EM>init</EM>  program,  using  <STRONG>rs1</STRONG>,  etc.,
+       the  same  order  as  the  <EM>init</EM>  program, using <STRONG>rs1</STRONG>, etc.,
        instead of <STRONG>is1</STRONG>, etc.  If any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset
-       capability strings are missing, the  <EM>reset</EM>  program  falls
+       capability  strings  are  missing, the <EM>reset</EM> program falls
        back  upon  the  corresponding  initialization  capability
        string.
 
        If there are commands to set and clear tab stops, they can
-       be  given  as <STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set a tab
-       stop in the current column of every row).  If a more  com-
-       plex  sequence  is  needed  to  set  the  tabs than can be
-       described by this, the sequence can be placed  in  <STRONG>is2</STRONG>  or
+       be given as <STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set  a  tab
+       stop  in the current column of every row).  If a more com-
+       plex sequence is needed  to  set  the  tabs  than  can  be
+       described  by  this,  the sequence can be placed in <STRONG>is2</STRONG> or
        <STRONG>if</STRONG>.
 
    <STRONG>Delays</STRONG> <STRONG>and</STRONG> <STRONG>Padding</STRONG>
-       Many  older  and  slower  terminals  do not support either
+       Many older and slower  terminals  do  not  support  either
        XON/XOFF or DTR handshaking, including hard copy terminals
-       and  some  very  archaic CRTs (including, for example, DEC
-       VT100s).  These may require padding characters after  cer-
+       and some very archaic CRTs (including,  for  example,  DEC
+       VT100s).   These may require padding characters after cer-
        tain cursor motions and screen changes.
 
        If the terminal uses xon/xoff handshaking for flow control
-       (that is, it automatically emits ^S back to the host  when
+       (that  is, it automatically emits ^S back to the host when
        its input buffers are close to full), set <STRONG>xon</STRONG>.  This capa-
-       bility suppresses the emission of padding.  You  can  also
-       set  it for memory-mapped console devices effectively that
-       do not have a speed  limit.   Padding  information  should
-       still  be  included so that routines can make better deci-
+       bility  suppresses  the emission of padding.  You can also
+       set it for memory-mapped console devices effectively  that
+       do  not  have  a  speed limit.  Padding information should
+       still be included so that routines can make  better  deci-
        sions about relative costs, but actual pad characters will
        not be transmitted.
 
-       If  <STRONG>pb</STRONG> (padding baud rate) is given, padding is suppressed
-       at baud rates below the value of <STRONG>pb</STRONG>.  If the entry has  no
-       padding  baud rate, then whether padding is emitted or not
+       If <STRONG>pb</STRONG> (padding baud rate) is given, padding is  suppressed
+       at  baud rates below the value of <STRONG>pb</STRONG>.  If the entry has no
+       padding baud rate, then whether padding is emitted or  not
        is completely controlled by <STRONG>xon</STRONG>.
 
-       If  the  terminal  requires  other  than  a  null   (zero)
-       character  as  a pad, then this can be given as <STRONG>pad</STRONG>.  Only
-       the first character of the <STRONG>pad</STRONG> string is used.
+       If  the terminal requires other than a null (zero) charac-
+       ter as a pad, then this can be given  as  <STRONG>pad</STRONG>.   Only  the
+       first character of the <STRONG>pad</STRONG> string is used.
 
 
    <STRONG>Status</STRONG> <STRONG>Lines</STRONG>
-       Some terminals have an extra `status line'  which  is  not
-       normally  used  by  software  (and thus not counted in the
+       Some  terminals  have  an extra `status line' which is not
+       normally used by software (and thus  not  counted  in  the
        terminal's <STRONG>lines</STRONG> capability).
 
-       The simplest case  is  a  status  line  which  is  cursor-
-       addressable  but  not part of the main scrolling region on
-       the screen; the Heathkit H19 has a  status  line  of  this
-       kind,  as  would  a 24-line VT100 with a 23-line scrolling
-       region set up on initialization.  This situation is  indi-
+       The  simplest  case  is  a  status  line  which is cursor-
+       addressable but not part of the main scrolling  region  on
+       the  screen;  the  Heathkit  H19 has a status line of this
+       kind, as would a 24-line VT100 with  a  23-line  scrolling
+       region  set up on initialization.  This situation is indi-
        cated by the <STRONG>hs</STRONG> capability.
 
        Some terminals with status lines need special sequences to
-       access the status line.   These  may  be  expressed  as  a
+       access  the  status  line.   These  may  be expressed as a
        string with single parameter <STRONG>tsl</STRONG> which takes the cursor to
-       a given zero-origin column on the status line.  The  capa-
+       a  given zero-origin column on the status line.  The capa-
        bility <STRONG>fsl</STRONG> must return to the main-screen cursor positions
-       before the last <STRONG>tsl</STRONG>.  You may need  to  embed  the  string
-       values  of <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG>
+       before  the  last  <STRONG>tsl</STRONG>.   You may need to embed the string
+       values of <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in  <STRONG>tsl</STRONG>
        and <STRONG>fsl</STRONG> to accomplish this.
 
-       The status line is normally assumed to be the  same  width
-       as  the width of the terminal.  If this is untrue, you can
+       The  status  line is normally assumed to be the same width
+       as the width of the terminal.  If this is untrue, you  can
        specify it with the numeric capability <STRONG>wsl</STRONG>.
 
-       A command to erase or blank the status line may be  speci-
+       A  command to erase or blank the status line may be speci-
        fied as <STRONG>dsl</STRONG>.
 
-       The   boolean   capability  <STRONG>eslok</STRONG>  specifies  that  escape
+       The  boolean  capability  <STRONG>eslok</STRONG>  specifies   that   escape
        sequences, tabs, etc., work ordinarily in the status line.
 
-       The  <STRONG>ncurses</STRONG>  implementation does not yet use any of these
-       capabilities.  They are documented here in case they  ever
+       The <STRONG>ncurses</STRONG> implementation does not yet use any  of  these
+       capabilities.   They are documented here in case they ever
        become important.
 
 
    <STRONG>Line</STRONG> <STRONG>Graphics</STRONG>
-       Many  terminals  have  alternate character sets useful for
-       forms-drawing.  Terminfo and <STRONG>curses</STRONG> build in  support  for
-       the  drawing  characters supported by the VT100, with some
-       characters from the AT&amp;T  4410v1  added.   This  alternate
+       Many terminals have alternate character  sets  useful  for
+       forms-drawing.   Terminfo  and <STRONG>curses</STRONG> build in support for
+       the drawing characters supported by the VT100,  with  some
+       characters  from  the  AT&amp;T  4410v1 added.  This alternate
        character set may be specified by the <STRONG>acsc</STRONG> capability.
 
 
        upper right corner         ACS_URCORNER   +          k
        vertical line              ACS_VLINE      |          x
 
-       The  best  way to define a new device's graphics set is to
-       add a column to a copy of this table  for  your  terminal,
-       giving   the   character   which   (when  emitted  between
-       <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the  correspond-
-       ing  graphic.  Then read off the VT100/your terminal char-
-       acter pairs right to left in sequence;  these  become  the
+       The best way to define a new device's graphics set  is  to
+       add  a  column  to a copy of this table for your terminal,
+       giving  the  character   which   (when   emitted   between
+       <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG>  switches) will be rendered as the correspond-
+       ing graphic.  Then read off the VT100/your terminal  char-
+       acter  pairs  right  to left in sequence; these become the
        ACSC string.
 
 
    <STRONG>Color</STRONG> <STRONG>Handling</STRONG>
-       Most  color  terminals are either `Tektronix-like' or `HP-
-       like'.  Tektronix-like terminals have a predefined set  of
-       N  colors  (where N usually 8), and can set character-cell
+       Most color terminals are either `Tektronix-like'  or  `HP-
+       like'.   Tektronix-like terminals have a predefined set of
+       N colors (where N usually 8), and can  set  character-cell
        foreground and background characters independently, mixing
-       them  into  N  * N color-pairs.  On HP-like terminals, the
+       them into N * N color-pairs.  On  HP-like  terminals,  the
        use must set each color pair up separately (foreground and
-       background  are  not  independently  settable).   Up  to M
-       color-pairs may be  set  up  from  2*M  different  colors.
+       background are  not  independently  settable).   Up  to  M
+       color-pairs  may  be  set  up  from  2*M different colors.
        ANSI-compatible terminals are Tektronix-like.
 
        Some basic color capabilities are independent of the color
        method.  The numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify
-       the  maximum numbers of colors and color-pairs that can be
-       displayed simultaneously.  The <STRONG>op</STRONG> (original  pair)  string
-       resets  foreground  and background colors to their default
-       values for the terminal.  The <STRONG>oc</STRONG> string resets all  colors
-       or  color-pairs  to their default values for the terminal.
-       Some terminals  (including  many  PC  terminal  emulators)
-       erase  screen  areas  with  the  current  background color
-       rather than the power-up default background; these  should
+       the maximum numbers of colors and color-pairs that can  be
+       displayed  simultaneously.   The <STRONG>op</STRONG> (original pair) string
+       resets foreground and background colors to  their  default
+       values  for the terminal.  The <STRONG>oc</STRONG> string resets all colors
+       or color-pairs to their default values for  the  terminal.
+       Some  terminals  (including  many  PC  terminal emulators)
+       erase screen  areas  with  the  current  background  color
+       rather  than the power-up default background; these should
        have the boolean capability <STRONG>bce</STRONG>.
 
-       To  change the current foreground or background color on a
-       Tektronix-type terminal, use <STRONG>setaf</STRONG> (set  ANSI  foreground)
-       and  <STRONG>setab</STRONG>  (set ANSI background) or <STRONG>setf</STRONG> (set foreground)
-       and <STRONG>setb</STRONG> (set background).  These take one parameter,  the
+       To change the current foreground or background color on  a
+       Tektronix-type  terminal,  use <STRONG>setaf</STRONG> (set ANSI foreground)
+       and <STRONG>setab</STRONG> (set ANSI background) or <STRONG>setf</STRONG>  (set  foreground)
+       and  <STRONG>setb</STRONG> (set background).  These take one parameter, the
        color  number.   The  SVr4  documentation  describes  only
-       <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says  that  "If  the  terminal
+       <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>;  the  XPG4  draft  says that "If the terminal
        supports ANSI escape sequences to set background and fore-
-       ground, they should be coded as <STRONG>setaf</STRONG> and  <STRONG>setab</STRONG>,  respec-
-       tively.   If  the terminal supports other escape sequences
-       to set background and foreground, they should be coded  as
-       <STRONG>setf</STRONG>  and  <STRONG>setb</STRONG>, respectively.  The <EM>vidputs()</EM> function and
-       the refresh functions use <STRONG>setaf</STRONG>  and  <STRONG>setab</STRONG>  if  they  are
+       ground,  they  should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, respec-
+       tively.  If the terminal supports other  escape  sequences
+       to  set background and foreground, they should be coded as
+       <STRONG>setf</STRONG> and <STRONG>setb</STRONG>, respectively.  The <EM>vidputs()</EM>  function  and
+       the  refresh  functions  use  <STRONG>setaf</STRONG>  and <STRONG>setab</STRONG> if they are
        defined."
 
-       The  <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>  and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single
+       The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take  a  single
        numeric argument each.  Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>
-       are  portably defined as follows (the middle column is the
+       are portably defined as follows (the middle column is  the
        symbolic #define available in the header for the <STRONG>curses</STRONG> or
-       <STRONG>ncurses</STRONG>  libraries).  The terminal hardware is free to map
-       these as it likes, but  the  RGB  values  indicate  normal
+       <STRONG>ncurses</STRONG> libraries).  The terminal hardware is free to  map
+       these  as  it  likes,  but  the RGB values indicate normal
        locations in color space.
 
 
              cyan      <STRONG>COLOR_CYAN</STRONG>        6     0,max,max
              white     <STRONG>COLOR_WHITE</STRONG>       7     max,max,max
 
-       The  argument  values of <STRONG>setf</STRONG>/<STRONG>setb</STRONG> historically correspond
+       The argument values of <STRONG>setf</STRONG>/<STRONG>setb</STRONG>  historically  correspond
        to a different mapping, i.e.,
 
              <STRONG>Color</STRONG>       <STRONG>#define</STRONG>       <STRONG>Value</STRONG>       <STRONG>RGB</STRONG>
              yellow    <STRONG>COLOR_YELLOW</STRONG>      6     max,max,0
              white     <STRONG>COLOR_WHITE</STRONG>       7     max,max,max
        It is important to not confuse the two sets of color capa-
-       bilities;  otherwise  red/blue will be interchanged on the
+       bilities; otherwise red/blue will be interchanged  on  the
        display.
 
-       On an HP-like terminal, use <STRONG>scp</STRONG> with a  color-pair  number
+       On  an  HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number
        parameter to set which color pair is current.
 
-       On  a  Tektronix-like  terminal, the capability <STRONG>ccc</STRONG> may be
-       present to indicate that colors can be modified.   If  so,
+       On a Tektronix-like terminal, the capability  <STRONG>ccc</STRONG>  may  be
+       present  to  indicate that colors can be modified.  If so,
        the <STRONG>initc</STRONG> capability will take a color number (0 to <STRONG>colors</STRONG>
-       - 1)and three more parameters which  describe  the  color.
+       -  1)and  three  more parameters which describe the color.
        These three parameters default to being interpreted as RGB
-       (Red, Green, Blue) values.  If the boolean capability  <STRONG>hls</STRONG>
+       (Red,  Green, Blue) values.  If the boolean capability <STRONG>hls</STRONG>
        is present, they are instead as HLS (Hue, Lightness, Satu-
        ration) indices.  The ranges are terminal-dependent.
 
-       On an HP-like terminal, <STRONG>initp</STRONG> may give  a  capability  for
-       changing  a  color-pair value.  It will take seven parame-
-       ters; a color-pair number (0 to <STRONG>max_pairs</STRONG> -  1),  and  two
-       triples  describing  first  background and then foreground
-       colors.  These parameters must be (Red,  Green,  Blue)  or
+       On  an  HP-like  terminal, <STRONG>initp</STRONG> may give a capability for
+       changing a color-pair value.  It will take  seven  parame-
+       ters;  a  color-pair  number (0 to <STRONG>max_pairs</STRONG> - 1), and two
+       triples describing first background  and  then  foreground
+       colors.   These  parameters  must be (Red, Green, Blue) or
        (Hue, Lightness, Saturation) depending on <STRONG>hls</STRONG>.
 
-       On  some  color terminals, colors collide with highlights.
+       On some color terminals, colors collide  with  highlights.
        You can register these collisions with the <STRONG>ncv</STRONG> capability.
-       This  is a bit-mask of attributes not to be used when col-
-       ors are enabled.  The correspondence with  the  attributes
+       This is a bit-mask of attributes not to be used when  col-
+       ors  are  enabled.  The correspondence with the attributes
        understood by <STRONG>curses</STRONG> is as follows:
 
 
                       A_BOLD         5     32
                       A_INVIS        6     64
                       A_PROTECT      7     128
-
                       A_ALTCHARSET   8     256
 
-       For  example,  on  many  IBM  PC  consoles,  the underline
-       attribute collides with the foreground color blue  and  is
-       not  available  in  color  mode.  These should have an <STRONG>ncv</STRONG>
+       For example,  on  many  IBM  PC  consoles,  the  underline
+       attribute  collides  with the foreground color blue and is
+       not available in color mode.  These  should  have  an  <STRONG>ncv</STRONG>
        capability of 2.
 
-       SVr4 curses does nothing with <STRONG>ncv</STRONG>, ncurses  recognizes  it
+       SVr4  curses  does nothing with <STRONG>ncv</STRONG>, ncurses recognizes it
        and optimizes the output in favor of colors.
 
 
    <STRONG>Miscellaneous</STRONG>
-       If  the terminal requires other than a null (zero) charac-
-       ter as a pad, then this can be given  as  pad.   Only  the
-       first  character of the pad string is used.  If the termi-
+       If the terminal requires other than a null (zero)  charac-
+       ter  as  a  pad,  then this can be given as pad.  Only the
+       first character of the pad string is used.  If the  termi-
        nal does not have a pad character, specify npc.  Note that
-       ncurses  implements  the  termcap-compatible  <STRONG>PC</STRONG> variable;
-       though the application may set  this  value  to  something
-       other  than  a  null,  ncurses will test <STRONG>npc</STRONG> first and use
+       ncurses implements  the  termcap-compatible  <STRONG>PC</STRONG>  variable;
+       though  the  application  may  set this value to something
+       other than a null, ncurses will test  <STRONG>npc</STRONG>  first  and  use
        napms if the terminal has no pad character.
 
-       If the terminal can move up or down half a line, this  can
-       be  indicated  with  <STRONG>hu</STRONG>  (half-line  up) and <STRONG>hd</STRONG> (half-line
+       If  the terminal can move up or down half a line, this can
+       be indicated with <STRONG>hu</STRONG>  (half-line  up)  and  <STRONG>hd</STRONG>  (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  <STRONG>ff</STRONG>
+       scripts on hard-copy terminals.  If a  hard-copy  terminal
+       can  eject  to  the next page (form feed), give this as <STRONG>ff</STRONG>
        (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
-       of  identical  characters)  this can be indicated with the
-       parameterized string <STRONG>rep</STRONG>.   The  first  parameter  is  the
-       character  to  be repeated and the second is the number of
-       times to repeat it.  Thus, tparm(repeat_char, 'x', 10)  is
+       If there is a command to repeat a given character a  given
+       number  of times (to save time transmitting a large number
+       of identical characters) this can be  indicated  with  the
+       parameterized  string  <STRONG>rep</STRONG>.   The  first  parameter is the
+       character to be repeated and the second is the  number  of
+       times  to repeat it.  Thus, tparm(repeat_char, 'x', 10) is
        the same as `xxxxxxxxxx'.
 
-       If  the terminal has a settable command character, such as
-       the TEKTRONIX 4025, this can be indicated with  <STRONG>cmdch</STRONG>.   A
+       If the terminal has a settable command character, such  as
+       the  TEKTRONIX  4025, this can be indicated with <STRONG>cmdch</STRONG>.  A
        prototype command character is chosen which is used in all
-       capabilities.  This character is given in the <STRONG>cmdch</STRONG>  capa-
-       bility  to  identify it.  The following convention is sup-
-       ported on some UNIX systems:  The  environment  is  to  be
-       searched  for a <STRONG>CC</STRONG> variable, and if found, all occurrences
+       capabilities.   This character is given in the <STRONG>cmdch</STRONG> capa-
+       bility to identify it.  The following convention  is  sup-
+       ported  on  some  UNIX  systems:  The environment is to be
+       searched for a <STRONG>CC</STRONG> variable, and if found, all  occurrences
        of the prototype character are replaced with the character
        in the environment variable.
 
-       Terminal  descriptions  that  do  not represent a specific
+       Terminal descriptions that do  not  represent  a  specific
        kind of known terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and
-       <EM>network</EM>,  should  include  the  <STRONG>gn</STRONG> (generic) capability so
-       that programs can complain that they do not  know  how  to
-       talk  to the terminal.  (This capability does not apply to
-       <EM>virtual</EM>  terminal  descriptions  for  which   the   escape
+       <EM>network</EM>, should include the  <STRONG>gn</STRONG>  (generic)  capability  so
+       that  programs  can  complain that they do not know how to
+       talk to the terminal.  (This capability does not apply  to
+       <EM>virtual</EM>   terminal   descriptions  for  which  the  escape
        sequences are known.)
 
-       If  the  terminal has a ``meta key'' which acts as a shift
-       key, setting the 8th bit  of  any  character  transmitted,
-       this  fact  can be indicated with <STRONG>km</STRONG>.  Otherwise, software
+       If the terminal has a ``meta key'' which acts as  a  shift
+       key,  setting  the  8th  bit of any character transmitted,
+       this fact can be indicated with <STRONG>km</STRONG>.   Otherwise,  software
        will assume that the 8th bit is parity and it will usually
-       be  cleared.   If strings exist to turn this ``meta mode''
+       be cleared.  If strings exist to turn this  ``meta  mode''
        on and off, they can be given as <STRONG>smm</STRONG> and <STRONG>rmm</STRONG>.
 
-       If the terminal has more lines of memory than will fit  on
-       the  screen  at once, the number of lines of memory can be
-       indicated with <STRONG>lm</STRONG>.  A value of  <STRONG>lm</STRONG>#0  indicates  that  the
+       If  the terminal has more lines of memory than will fit on
+       the screen at once, the number of lines of memory  can  be
+       indicated  with  <STRONG>lm</STRONG>.   A  value of <STRONG>lm</STRONG>#0 indicates that the
        number of lines is not fixed, but that there is still more
        memory than fits on the screen.
 
        If the terminal is one of those supported by the UNIX vir-
-       tual  terminal  protocol, the terminal number can be given
+       tual terminal protocol, the terminal number can  be  given
        as <STRONG>vt</STRONG>.
 
        Media copy strings which control an auxiliary printer con-
        nected to the terminal can be given as <STRONG>mc0</STRONG>: print the con-
-       tents of the screen, <STRONG>mc4</STRONG>: turn off the printer,  and  <STRONG>mc5</STRONG>:
-       turn  on  the  printer.   When the printer is on, all text
-       sent to the terminal will be sent to the printer.   It  is
+       tents  of  the screen, <STRONG>mc4</STRONG>: turn off the printer, and <STRONG>mc5</STRONG>:
+       turn on the printer.  When the printer  is  on,  all  text
+       sent  to  the terminal will be sent to the printer.  It is
        undefined whether the text is also displayed on the termi-
        nal screen when the printer is on.  A variation <STRONG>mc5p</STRONG> takes
        one parameter, and leaves the printer on for as many char-
-       acters as the value  of  the  parameter,  then  turns  the
-       printer  off.   The  parameter should not exceed 255.  All
+       acters  as  the  value  of  the  parameter, then turns the
+       printer off.  The parameter should not  exceed  255.   All
        text,  including  <STRONG>mc4</STRONG>,  is  transparently  passed  to  the
        printer while an <STRONG>mc5p</STRONG> is in effect.
 
 
    <STRONG>Glitches</STRONG> <STRONG>and</STRONG> <STRONG>Braindamage</STRONG>
-       Hazeltine  terminals, which do not allow `~' characters to
+       Hazeltine terminals, which do not allow `~' characters  to
        be displayed should indicate <STRONG>hz</STRONG>.
 
        Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG>
        wrap, such as the Concept and vt100, should indicate <STRONG>xenl</STRONG>.
 
-       If <STRONG>el</STRONG> is required to  get  rid  of  standout  (instead  of
-       merely  writing  normal  text on top of it), <STRONG>xhp</STRONG> should be
+       If  <STRONG>el</STRONG>  is  required  to  get  rid of standout (instead of
+       merely writing normal text on top of it),  <STRONG>xhp</STRONG>  should  be
        given.
 
-       Teleray terminals, where tabs turn  all  characters  moved
-       over  to  blanks,  should  indicate <STRONG>xt</STRONG> (destructive tabs).
-       Note:   the    variable    indicating    this    is    now
-       `dest_tabs_magic_smso';  in  older  versions,  it was tel-
+       Teleray  terminals,  where  tabs turn all characters moved
+       over to blanks, should  indicate  <STRONG>xt</STRONG>  (destructive  tabs).
+       Note:    the    variable    indicating    this    is   now
+       `dest_tabs_magic_smso'; in older  versions,  it  was  tel-
        eray_glitch.  This glitch is also taken to mean that it is
-       not  possible  to  position the cursor on top of a ``magic
+       not possible to position the cursor on top  of  a  ``magic
        cookie'', that to erase standout mode it is instead neces-
        sary to use delete and insert line.  The ncurses implemen-
        tation ignores this glitch.
 
-       The Beehive Superbee, which is unable to correctly  trans-
-       mit  the escape or control C characters, has <STRONG>xsb</STRONG>, indicat-
-       ing that the f1 key is used for escape and f2 for  control
-       C.   (Only  certain Superbees have this problem, depending
-       on the ROM.)  Note that in older terminfo  versions,  this
-       capability   was   called   `beehive_glitch';  it  is  now
+       The  Beehive Superbee, which is unable to correctly trans-
+       mit the escape or control C characters, has <STRONG>xsb</STRONG>,  indicat-
+       ing  that the f1 key is used for escape and f2 for control
+       C.  (Only certain Superbees have this  problem,  depending
+       on  the  ROM.)  Note that in older terminfo versions, this
+       capability  was  called  `beehive_glitch';   it   is   now
        `no_esc_ctl_c'.
 
-       Other specific  terminal  problems  may  be  corrected  by
+       Other  specific  terminal  problems  may  be  corrected by
        adding more capabilities of the form <STRONG>x</STRONG><EM>x</EM>.
 
 
    <STRONG>Similar</STRONG> <STRONG>Terminals</STRONG>
        If there are two very similar terminals, one (the variant)
-       can be defined as being just like  the  other  (the  base)
-       with  certain  exceptions.  In the definition of the vari-
-       ant, the string capability <STRONG>use</STRONG> can be given with the  name
-       of  the  base terminal.  The capabilities given before <STRONG>use</STRONG>
-       override those in the base type named by  <STRONG>use</STRONG>.   If  there
-       are  multiple <STRONG>use</STRONG> capabilities, they are merged in reverse
-       order.  That is, the rightmost <STRONG>use</STRONG> reference is  processed
-       first,  then the one to its left, and so forth.  Capabili-
-       ties given explicitly in the entry override those  brought
+       can  be  defined  as  being just like the other (the base)
+       with certain exceptions.  In the definition of  the  vari-
+       ant,  the string capability <STRONG>use</STRONG> can be given with the name
+       of the base terminal.  The capabilities given  before  <STRONG>use</STRONG>
+       override  those  in  the base type named by <STRONG>use</STRONG>.  If there
+       are multiple <STRONG>use</STRONG> capabilities, they are merged in  reverse
+       order.   That is, the rightmost <STRONG>use</STRONG> reference is processed
+       first, then the one to its left, and so forth.   Capabili-
+       ties  given explicitly in the entry override those brought
        in by <STRONG>use</STRONG> references.
 
        A capability can be canceled by placing <STRONG>xx@</STRONG> to the left of
-       the use reference that imports it, where <EM>xx</EM> is  the  capa-
+       the  use  reference that imports it, where <EM>xx</EM> is the capa-
        bility.  For example, the entry
 
                    2621-nl, smkx@, rmkx@, use=2621,
 
-       defines  a  2621-nl  that  does  not have the <STRONG>smkx</STRONG> or <STRONG>rmkx</STRONG>
-       capabilities, and hence does not turn on the function  key
-       labels  when in visual mode.  This is useful for different
+       defines a 2621-nl that does not  have  the  <STRONG>smkx</STRONG>  or  <STRONG>rmkx</STRONG>
+       capabilities,  and hence does not turn on the function key
+       labels when in visual mode.  This is useful for  different
        modes for a terminal, or for different user preferences.
 
 
    <STRONG>Pitfalls</STRONG> <STRONG>of</STRONG> <STRONG>Long</STRONG> <STRONG>Entries</STRONG>
-       Long terminfo entries are unlikely to  be  a  problem;  to
-       date,  no  entry  has even approached terminfo's 4096-byte
+       Long  terminfo  entries  are  unlikely to be a problem; to
+       date, no entry has even  approached  terminfo's  4096-byte
        string-table maximum.  Unfortunately, the termcap transla-
        tions are much more strictly limited (to 1023 bytes), thus
-       termcap translations of long terminfo  entries  can  cause
+       termcap  translations  of  long terminfo entries can cause
        problems.
 
-       The  man  pages for 4.3BSD and older versions of <STRONG>tgetent()</STRONG>
-       instruct the user to allocate a 1024-byte buffer  for  the
-       termcap  entry.   The  entry  gets  null-terminated by the
+       The man pages for 4.3BSD and older versions  of  <STRONG>tgetent()</STRONG>
+       instruct  the  user to allocate a 1024-byte buffer for the
+       termcap entry.  The  entry  gets  null-terminated  by  the
        termcap library, so that makes the maximum safe length for
-       a  termcap entry 1k-1 (1023) bytes.  Depending on what the
-       application and the termcap library being used  does,  and
+       a termcap entry 1k-1 (1023) bytes.  Depending on what  the
+       application  and  the termcap library being used does, and
        where in the termcap file the terminal type that <STRONG>tgetent()</STRONG>
        is searching for is, several bad things can happen.
 
-       Some termcap libraries print a warning message or exit  if
-       they  find  an entry that's longer than 1023 bytes; others
-       do not; others truncate the entries to 1023  bytes.   Some
+       Some  termcap libraries print a warning message or exit if
+       they find an entry that's longer than 1023  bytes;  others
+       do  not;  others truncate the entries to 1023 bytes.  Some
        application programs allocate more than the recommended 1K
        for the termcap entry; others do not.
 
        Each termcap entry has two important sizes associated with
        it: before "tc" expansion, and after "tc" expansion.  "tc"
-       is the capability that tacks on another termcap  entry  to
-       the  end  of  the current one, to add on its capabilities.
-       If a termcap entry does not use the "tc" capability,  then
+       is  the  capability that tacks on another termcap entry to
+       the end of the current one, to add  on  its  capabilities.
+       If  a termcap entry does not use the "tc" capability, then
        of course the two lengths are the same.
 
-       The  "before  tc  expansion"  length is the most important
-       one, because it affects more than just users of that  par-
-       ticular  terminal.   This is the length of the entry as it
+       The "before tc expansion" length  is  the  most  important
+       one,  because it affects more than just users of that par-
+       ticular terminal.  This is the length of the entry  as  it
        exists in /etc/termcap, minus the backslash-newline pairs,
        which <STRONG>tgetent()</STRONG> strips out while reading it.  Some termcap
-       libraries strip off the final newline,  too  (GNU  termcap
+       libraries  strip  off  the final newline, too (GNU termcap
        does not).  Now suppose:
 
-       *    a  termcap  entry  before expansion is more than 1023
+       *    a termcap entry before expansion is  more  than  1023
             bytes long,
 
        *    and the application has only allocated a 1k buffer,
 
-       *    and the termcap library (like the one in  BSD/OS  1.1
-            and  GNU)  reads  the whole entry into the buffer, no
-            matter what its length, to see if it's the  entry  it
+       *    and  the  termcap library (like the one in BSD/OS 1.1
+            and GNU) reads the whole entry into  the  buffer,  no
+            matter  what its length, to see if it is the entry it
             wants,
 
-       *    and  <STRONG>tgetent()</STRONG>  is searching for a terminal type that
+       *    and <STRONG>tgetent()</STRONG> is searching for a terminal  type  that
             either is the long entry, appears in the termcap file
-            after  the long entry, or does not appear in the file
-            at all (so that <STRONG>tgetent()</STRONG> has  to  search  the  whole
+            after the long entry, or does not appear in the  file
+            at  all  (so  that  <STRONG>tgetent()</STRONG> has to search the whole
             termcap file).
 
-       Then  <STRONG>tgetent()</STRONG>  will overwrite memory, perhaps its stack,
-       and probably core dump the program.  Programs like  telnet
-       are  particularly  vulnerable;  modern  telnets pass along
-       values like the terminal type automatically.  The  results
-       are  almost  as  undesirable  with a termcap library, like
-       SunOS 4.1.3 and Ultrix 4.4, that prints  warning  messages
-       when  it reads an overly long termcap entry.  If a termcap
-       library truncates long entries,  like  OSF/1  3.0,  it  is
-       immune  to  dying  here but will return incorrect data for
+       Then <STRONG>tgetent()</STRONG> will overwrite memory, perhaps  its  stack,
+       and  probably core dump the program.  Programs like telnet
+       are particularly vulnerable;  modern  telnets  pass  along
+       values  like the terminal type automatically.  The results
+       are almost as undesirable with  a  termcap  library,  like
+       SunOS  4.1.3  and Ultrix 4.4, that prints warning messages
+       when it reads an overly long termcap entry.  If a  termcap
+       library  truncates  long  entries,  like  OSF/1 3.0, it is
+       immune to dying here but will return  incorrect  data  for
        the terminal.
 
        The "after tc expansion" length will have a similar effect
        to the above, but only for people who actually set TERM to
-       that terminal type, since <STRONG>tgetent()</STRONG> only does "tc"  expan-
-       sion once it's found the terminal type it was looking for,
-       not while searching.
+       that  terminal type, since <STRONG>tgetent()</STRONG> only does "tc" expan-
+       sion once it is found the terminal  type  it  was  looking
+       for, not while searching.
 
        In summary, a termcap entry that is longer than 1023 bytes
-       can  cause,  on  various combinations of termcap libraries
-       and applications, a  core  dump,  warnings,  or  incorrect
-       operation.   If  it's too long even before "tc" expansion,
+       can cause, on various combinations  of  termcap  libraries
+       and  applications,  a  core  dump,  warnings, or incorrect
+       operation.  If it is too long even before "tc"  expansion,
        it will have this effect even for users of some other ter-
-       minal  types and users whose TERM variable does not have a
+       minal types and users whose TERM variable does not have  a
        termcap entry.
 
        When in -C (translate to termcap) mode, the <STRONG>ncurses</STRONG> imple-
        mentation of <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> issues warning messages when the pre-
-       tc length of a termcap translation is too  long.   The  -c
-       (check)  option  also checks resolved (after tc expansion)
+       tc  length  of  a termcap translation is too long.  The -c
+       (check) option also checks resolved (after  tc  expansion)
        lengths.
 
    <STRONG>Binary</STRONG> <STRONG>Compatibility</STRONG>
-       It is not wise to count on portability of binary  terminfo
-       entries  between commercial UNIX versions.  The problem is
-       that there are at least two versions  of  terminfo  (under
+       It  is not wise to count on portability of binary terminfo
+       entries between commercial UNIX versions.  The problem  is
+       that  there  are  at least two versions of terminfo (under
        HP-UX and AIX) which diverged from System V terminfo after
-       SVr1, and have added extension capabilities to the  string
-       table  that  (in  the binary format) collide with System V
+       SVr1,  and have added extension capabilities to the string
+       table that (in the binary format) collide  with  System  V
        and XSI Curses extensions.
 
 
 </PRE>
 <H2>EXTENSIONS</H2><PRE>
-       Some SVr4 <STRONG>curses</STRONG>  implementations,  and  all  previous  to
-       SVr4,  do not interpret the %A and %O operators in parame-
+       Some  SVr4  <STRONG>curses</STRONG>  implementations,  and  all previous to
+       SVr4, do not interpret the %A and %O operators in  parame-
        ter strings.
 
-       SVr4/XPG4 do not specify whether  <STRONG>msgr</STRONG>  licenses  movement
-       while  in an alternate-character-set mode (such modes may,
-       among other things, map CR and NL to  characters  that  do
-       not  trigger  local  motions).  The <STRONG>ncurses</STRONG> implementation
-       ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode.  This raises  the  possi-
-       bility  that  an  XPG4  implementation making the opposite
-       interpretation may need terminfo entries made for  <STRONG>ncurses</STRONG>
+       SVr4/XPG4  do  not  specify whether <STRONG>msgr</STRONG> licenses movement
+       while in an alternate-character-set mode (such modes  may,
+       among  other  things,  map CR and NL to characters that do
+       not trigger local motions).   The  <STRONG>ncurses</STRONG>  implementation
+       ignores  <STRONG>msgr</STRONG>  in <STRONG>ALTCHARSET</STRONG> mode.  This raises the possi-
+       bility that an XPG4  implementation  making  the  opposite
+       interpretation  may need terminfo entries made for <STRONG>ncurses</STRONG>
        to have <STRONG>msgr</STRONG> turned off.
 
-       The  <STRONG>ncurses</STRONG>  library handles insert-character and insert-
+       The <STRONG>ncurses</STRONG> library handles insert-character  and  insert-
        character modes in a slightly non-standard way to get bet-
-       ter  update  efficiency.   See the <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG>
+       ter update efficiency.  See  the  <STRONG>Insert/Delete</STRONG>  <STRONG>Character</STRONG>
        subsection above.
 
-       The  parameter  substitutions  for  <STRONG>set_clock</STRONG>   and   <STRONG>dis-</STRONG>
-       <STRONG>play_clock</STRONG>  are  not  documented in SVr4 or the XSI Curses
+       The   parameter   substitutions  for  <STRONG>set_clock</STRONG>  and  <STRONG>dis-</STRONG>
+       <STRONG>play_clock</STRONG> are not documented in SVr4 or  the  XSI  Curses
        standard.  They are deduced from the documentation for the
        AT&amp;T 505 terminal.
 
-       Be  careful  assigning  the <STRONG>kmous</STRONG> capability.  The <STRONG>ncurses</STRONG>
-       wants to interpret it as <STRONG>KEY_MOUSE</STRONG>, for use  by  terminals
-       and  emulators  like  xterm that can return mouse-tracking
+       Be careful assigning the <STRONG>kmous</STRONG>  capability.   The  <STRONG>ncurses</STRONG>
+       wants  to  interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals
+       and emulators like xterm that  can  return  mouse-tracking
        information in the keyboard-input stream.
 
-       Different commercial ports of terminfo and curses  support
-       different  subsets of the XSI Curses standard and (in some
+       Different  commercial ports of terminfo and curses support
+       different subsets of the XSI Curses standard and (in  some
        cases) different extension sets.  Here is a summary, accu-
        rate as of October 1995:
 
        <STRONG>SVR4,</STRONG> <STRONG>Solaris,</STRONG> <STRONG>ncurses</STRONG> -- These support all SVr4 capabili-
        ties.
 
-       <STRONG>SGI</STRONG> --  Supports  the  SVr4  set,  adds  one  undocumented
+       <STRONG>SGI</STRONG>  --  Supports  the  SVr4  set,  adds  one undocumented
        extended string capability (<STRONG>set_pglen</STRONG>).
 
-       <STRONG>SVr1,</STRONG>  <STRONG>Ultrix</STRONG> -- These support a restricted subset of ter-
-       minfo capabilities.  The booleans end with  <STRONG>xon_xoff</STRONG>;  the
-       numerics  with  <STRONG>width_status_line</STRONG>;  and  the  strings with
+       <STRONG>SVr1,</STRONG> <STRONG>Ultrix</STRONG> -- These support a restricted subset of  ter-
+       minfo  capabilities.   The booleans end with <STRONG>xon_xoff</STRONG>; the
+       numerics with  <STRONG>width_status_line</STRONG>;  and  the  strings  with
        <STRONG>prtr_non</STRONG>.
 
-       <STRONG>HP/UX</STRONG> -- Supports  the  SVr1  subset,  plus  the  SVr[234]
+       <STRONG>HP/UX</STRONG>  --  Supports  the  SVr1  subset,  plus the SVr[234]
        numerics <STRONG>num_labels</STRONG>, <STRONG>label_height</STRONG>, <STRONG>label_width</STRONG>, plus func-
-       tion keys 11 through 63,  plus  <STRONG>plab_norm</STRONG>,  <STRONG>label_on</STRONG>,  and
+       tion  keys  11  through  63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and
        <STRONG>label_off</STRONG>, plus some incompatible extensions in the string
        table.
 
-       <STRONG>AIX</STRONG> -- Supports the SVr1 subset,  plus  function  keys  11
-       through  63,  plus  a  number of incompatible string table
+       <STRONG>AIX</STRONG>  --  Supports  the  SVr1 subset, plus function keys 11
+       through 63, plus a number  of  incompatible  string  table
        extensions.
 
-       <STRONG>OSF</STRONG> -- Supports both the SVr4 set and the AIX  extensions.
+       <STRONG>OSF</STRONG>  -- Supports both the SVr4 set and the AIX extensions.
 
 
 </PRE>
 
 </PRE>
 <H2>AUTHORS</H2><PRE>
-       Zeyd M. Ben-Halim, Eric  S.  Raymond,  Thomas  E.  Dickey.
+       Zeyd  M.  Ben-Halim,  Eric  S.  Raymond, Thomas E. Dickey.
        Based on pcurses by Pavel Curtis.
 
 
index 5dd849188d05aa5c7d15d8b4e8978678241ee38f..059048d37e5acf7afbb558e343c0821fd11bb094 100644 (file)
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,    <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,   <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20070303).
+       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20080621).
 
 
 
index 278d12481ad1307d209fbf8f60e12c83a3a6c0fa..021786883bda901bac699e1e344012c0fa0de22d 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1998-2004,2006 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2006,2008 Free Software Foundation, Inc.              *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: toe.1m,v 1.20 2006/12/24 17:20:37 tom Exp @
+  * @Id: toe.1m,v 1.21 2008/01/05 20:57:16 tom Exp @
 -->
 <HTML>
 <HEAD>
               one that it finds.
 
        <STRONG>-u</STRONG> <EM>file</EM>
-              says to issue a report on dependencies in the given
-              file. This report  condenses  the  `use'  relation:
-              each  line consists of the primary name of a termi-
-              nal that has use capabilities, followed by a colon,
-              followed  by the whitespace-separated primary names
-              of all terminals which occur in those use capabili-
-              ties, followed by a newline
+              says  to  write  a  report  to the standard output,
+              listing dependencies in the given  terminfo/termcap
+              source  file.  The report condenses the `use' rela-
+              tion: each line consists of the primary name  of  a
+              terminal  that  has use capabilities, followed by a
+              colon, followed by the whitespace-separated primary
+              names  of  all  terminals  which occur in those use
+              capabilities, followed by a newline
 
        <STRONG>-U</STRONG> <EM>file</EM>
-              says  to  issue a report on reverse dependencies in
-              the given file.  This  report  reverses  the  `use'
-              relation: each line consists of the primary name of
-              a terminal that occurs in  use  capabilities,  fol-
-              lowed  by a colon, followed by the whitespace-sepa-
-              rated primary names of all terminals  which  depend
-              on it, followed by a newline.
+              says to write a  report  to  the  standard  output,
+              listing  reverse  dependencies  in  the  given ter-
+              minfo/termcap source file.  The report reverses the
+              `use'  relation:  each line consists of the primary
+              name of a terminal that occurs in use capabilities,
+              followed  by  a  colon, followed by the whitespace-
+              separated primary  names  of  all  terminals  which
+              depend on it, followed by a newline.
 
        <STRONG>-v</STRONG><EM>n</EM>    specifies that (verbose) output be written to stan-
               dard error, showing <STRONG>toe</STRONG>'s progress.   The  optional
        <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>,    <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,   <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20070303).
+       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20080621).
 
 
 
index 159df350456eb7ef0fd9cd778c8330b4e581f54f..02b8b1b0a952b0d42c0c10a04b93e2fefc398962 100644 (file)
 <H2>SEE ALSO</H2><PRE>
        <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG><A HREF="stty.1.html">stty(1)</A></STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20070303).
+       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20080621).
 
 
 
index c41e22405e05612ac9f313cf813121d7af3401e0..59a984da62fa24e735c2ebccc8f9468ef578b5c3 100644 (file)
        <STRONG><A HREF="csh.1.html">csh(1)</A></STRONG>, <STRONG><A HREF="sh.1.html">sh(1)</A></STRONG>, <STRONG><A HREF="stty.1.html">stty(1)</A></STRONG>,  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,  <STRONG><A HREF="tty.4.html">tty(4)</A></STRONG>,  ter-
        <STRONG><A HREF="minfo.5.html">minfo(5)</A></STRONG>, <STRONG><A HREF="ttys.5.html">ttys(5)</A></STRONG>, <STRONG><A HREF="environ.7.html">environ(7)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20070303).
+       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20080621).
 
 
 
index 85b1df8277d6b15eb63282e8d541c675349c554a..4b0576f042e0948b2a0a7dc130fa345f99592f29 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2006,2007 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2007,2008 Free Software Foundation, Inc.              *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" copy of this software and associated documentation files (the            *
@@ -26,7 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: form_driver.3x,v 1.15 2007/06/02 22:56:49 tom Exp $
+.\" $Id: form_driver.3x,v 1.16 2008/06/21 21:55:39 tom Exp $
 .TH form_driver 3X ""
 .SH NAME
 \fBform_driver\fR - command-processing loop of the form system
@@ -37,8 +37,21 @@ int form_driver(FORM *form, int c);
 .br
 .SH DESCRIPTION
 Once a form has been posted (displayed), you should funnel input events to it
-through \fBform_driver\fR.  This routine has two major input cases; either
-the input is a form navigation request or it is a printable ASCII character.
+through \fBform_driver\fR.  This routine has three major input cases:
+.TP 3
+-
+The input is a form navigation request.
+Navigation request codes are constants defined in \fB<form.h>\fP,
+which are distinct from the key- and character codes returned by \fBwgetch\fP.
+.TP 3
+-
+The input is a printable character.
+Printable characters (which must be positive, less than 256) are
+checked according to the program's locale settings.
+.TP 3
+-
+The input is the KEY_MOUSE special key associated with an mouse event.
+.PP
 The form driver requests are as follows:
 .TP 5
 REQ_NEXT_PAGE
@@ -218,7 +231,7 @@ Display next field choice.
 REQ_PREV_CHOICE
 Display previous field choice.
 .PP
-If the second argument is a printable ASCII character, the driver places it
+If the second argument is a printable character, the driver places it
 in the current position in the current field.  If it is one of the forms
 requests listed above, that request is executed.
 .SS MOUSE HANDLING
@@ -269,11 +282,11 @@ If a translation
 into a request was done, \fBform_driver\fR returns the result of this request.
 .RE
 .PP
-If you clicked outside the user window or the mouse event couldn't be translated
+If you clicked outside the user window or the mouse event could not be translated
 into a form request an \fBE_REQUEST_DENIED\fR is returned.
 .SS APPLICATION-DEFINED COMMANDS
 .PP
-If the second argument is neither printable ASCII nor one of the above
+If the second argument is neither printable nor one of the above
 pre-defined form requests, the driver assumes it is an application-specific
 command and returns \fBE_UNKNOWN_COMMAND\fR.  Application-defined commands
 should be defined relative to \fBMAX_COMMAND\fR, the maximum value of these
@@ -306,7 +319,9 @@ System error occurred (see \fBerrno\fR).
 The form driver code saw an unknown request code.
 .
 .SH SEE ALSO
-\fBcurses\fR(3X), \fBform\fR(3X).
+\fBcurses\fR(3X),
+\fBform\fR(3X),
+\fBwgetch\fR(3X).
 .SH NOTES
 The header file \fB<form.h>\fR automatically includes the header files
 \fB<curses.h>\fR.
index bf7d8770a449aaba5f7edd6c5f891dd1751bb55a..5366040c18af024407a1157bcd58dd4004156626 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2006,2007 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2007,2008 Free Software Foundation, Inc.              *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" copy of this software and associated documentation files (the            *
@@ -26,7 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: menu_driver.3x,v 1.14 2007/06/02 22:50:09 tom Exp $
+.\" $Id: menu_driver.3x,v 1.15 2008/06/21 21:55:30 tom Exp $
 .TH menu_driver 3X ""
 .SH NAME
 \fBmenu_driver\fR - command-processing loop of the menu system
@@ -37,9 +37,21 @@ int menu_driver(MENU *menu, int c);
 .br
 .SH DESCRIPTION
 Once a menu has been posted (displayed), you should funnel input events to it
-through \fBmenu_driver\fR.  This routine has three major input cases; either
-the input is a menu navigation request, it is a printable ASCII character or it
-is the KEY_MOUSE special key associated with an mouse event.
+through \fBmenu_driver\fR.  This routine has three major input cases:
+.TP 3
+-
+The input is a form navigation request.
+Navigation request codes are constants defined in \fB<form.h>\fP,
+which are distinct from the key- and character codes returned by \fBwgetch\fP.
+.TP 3
+-
+The input is a printable character.
+Printable characters (which must be positive, less than 256) are
+checked according to the program's locale settings.
+.TP 3
+-
+The input is the KEY_MOUSE special key associated with an mouse event.
+.PP
 The menu driver requests are as follows:
 .TP 5
 REQ_LEFT_ITEM
@@ -93,7 +105,7 @@ Move to the next item matching the pattern match.
 REQ_PREV_MATCH
 Move to the previous item matching the pattern match.
 .PP
-If the second argument is a printable ASCII character, the code appends
+If the second argument is a printable character, the code appends
 it to the pattern buffer and attempts to move to the next item matching
 the new pattern.  If there is no such match, \fBmenu_driver\fR returns
 \fBE_NO_MATCH\fR and deletes the appended character from the buffer.
@@ -147,11 +159,11 @@ If a translation
 into a request was done, \fBmenu_driver\fR returns the result of this request.
 .RE
 .PP
-If you clicked outside the user window or the mouse event couldn't be translated
+If you clicked outside the user window or the mouse event could not be translated
 into a menu request an \fBE_REQUEST_DENIED\fR is returned.
 .SS APPLICATION-DEFINED COMMANDS
 .PP
-If the second argument is neither printable ASCII nor one of the above
+If the second argument is neither printable nor one of the above
 pre-defined menu requests or KEY_MOUSE, the drive assumes it is an application-specific
 command and returns \fBE_UNKNOWN_COMMAND\fR.  Application-defined commands
 should be defined relative to \fBMAX_COMMAND\fR, the maximum value of these
@@ -183,7 +195,9 @@ Character failed to match.
 .B E_REQUEST_DENIED
 The menu driver could not process the request.
 .SH SEE ALSO
-\fBcurses\fR(3X), \fBmenu\fR(3X).
+\fBcurses\fR(3X),
+\fBmenu\fR(3X),
+\fBwgetch\fR(3X).
 .SH NOTES
 The header file \fB<menu.h>\fR automatically includes the header files
 \fB<curses.h>\fR.
index 50dee87a1e848d87f25c8aa42436a0cf81a1cce8..3cde165b78c527417d24946c8301632ee06ded36 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2003,2006 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2006,2008 Free Software Foundation, Inc.              *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" copy of this software and associated documentation files (the            *
@@ -26,7 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: menu_pattern.3x,v 1.10 2006/11/04 18:25:24 tom Exp $
+.\" $Id: menu_pattern.3x,v 1.11 2008/06/21 21:58:20 tom Exp $
 .TH menu_pattern 3X ""
 .SH NAME
 \fBmenu_pattern\fR - get and set a menu's pattern buffer
@@ -39,7 +39,7 @@ char *menu_pattern(const MENU *menu);
 .br
 .SH DESCRIPTION
 Every menu has an associated pattern match buffer.  As input events that are
-printable ASCII characters come in, they are appended to this match buffer
+printable characters come in, they are appended to this match buffer
 and tested for a match, as described in \fBmenu_driver\fR(3X).
 .PP
 The function \fBset_menu_pattern\fR sets the pattern buffer for the given menu
index 8ec3f279e7e5abf671af0ae345dff2f3ad5616c6..b06123d2593fa09288fe93beeea1987dc54ca115 100644 (file)
@@ -40,7 +40,7 @@
 extern int malloc_errfd;       /* FIXME */
 #endif
 
-MODULE_ID("$Id: lib_freeall.c,v 1.47 2008/06/07 13:58:29 tom Exp $")
+MODULE_ID("$Id: lib_freeall.c,v 1.49 2008/06/21 21:26:33 tom Exp $")
 
 /*
  * Free all ncurses data.  This is used for testing only (there's no practical
@@ -98,18 +98,11 @@ _nc_freeall(void)
     if (cur_term != 0)
        del_curterm(cur_term);
 
-#if USE_WIDEC_SUPPORT
-    FreeIfNeeded(_nc_wacs);
-#endif
     (void) _nc_printf_string(0, empty_va);
 #ifdef TRACE
     (void) _nc_trace_buf(-1, 0);
 #endif
 
-#if BROKEN_LINKER || USE_REENTRANT
-    FreeIfNeeded(_nc_prescreen.real_acs_map);
-#endif
-
     _nc_leaks_tinfo();
 
 #if HAVE_LIBDBMALLOC
index 29bf9a743057092c53da89db2c92654ffec83b1e..3e6034c271f11bc2b01d656f9effd48e25458dfc 100644 (file)
@@ -48,7 +48,7 @@
 #include <term.h>              /* clear_screen, cup & friends, cur_term */
 #include <tic.h>
 
-MODULE_ID("$Id: lib_newterm.c,v 1.70 2008/06/07 14:00:23 tom Exp $")
+MODULE_ID("$Id: lib_newterm.c,v 1.71 2008/06/21 20:55:11 tom Exp $")
 
 #ifndef ONLCR                  /* Allows compilation under the QNX 4.2 OS */
 #define ONLCR 0
@@ -125,11 +125,16 @@ newterm(NCURSES_CONST char *name, FILE *ofp, FILE *ifp)
     int errret;
     SCREEN *current;
     SCREEN *result = 0;
+    TERMINAL *its_term;
 
     START_TRACE();
     T((T_CALLED("newterm(\"%s\",%p,%p)"), name, ofp, ifp));
 
     _nc_lock_global(curses);
+
+    current = SP;
+    its_term = (SP ? SP->_term : 0);
+
     /* this loads the capability entry, then sets LINES and COLS */
     if (setupterm(name, fileno(ofp), &errret) != ERR) {
        int slk_format = _nc_globals.slk_format;
@@ -138,7 +143,6 @@ newterm(NCURSES_CONST char *name, FILE *ofp, FILE *ifp)
         * This actually allocates the screen structure, and saves the original
         * terminal settings.
         */
-       current = SP;
        _nc_set_screen(0);
 
        /* allow user to set maximum escape delay from the environment */
@@ -154,6 +158,18 @@ newterm(NCURSES_CONST char *name, FILE *ofp, FILE *ifp)
            _nc_set_screen(current);
            result = 0;
        } else {
+           /*
+            * In setupterm() we did a set_curterm(), but it was before we set
+            * SP.  So the "current" screen's terminal pointer was overwritten
+            * with a different terminal.  Later, in _nc_setupscreen(), we set
+            * SP and the terminal pointer in the new screen.
+            *
+            * Restore the terminal-pointer for the pre-existing screen, if
+            * any.
+            */
+           if (current)
+               current->_term = its_term;
+
            /* if the terminal type has real soft labels, set those up */
            if (slk_format && num_labels > 0 && SLK_STDFMT(slk_format))
                _nc_slk_initialize(stdscr, COLS);
index 9742ff629fbddc6580c867acc1a7957978cc0dab..da770d4e7c9266c1f27c5c3d64926707e216b7a1 100644 (file)
@@ -36,8 +36,6 @@
  * Terminfo-only terminal setup routines:
  *
  *             int restartterm(const char *, int, int *)
- *             TERMINAL *set_curterm(TERMINAL *)
- *             int del_curterm(TERMINAL *)
  */
 
 #include <curses.priv.h>
@@ -48,7 +46,7 @@
 
 #include <term.h>              /* lines, columns, cur_term */
 
-MODULE_ID("$Id: lib_restart.c,v 1.9 2008/05/03 22:43:52 tom Exp $")
+MODULE_ID("$Id: lib_restart.c,v 1.10 2008/06/21 17:31:22 tom Exp $")
 
 NCURSES_EXPORT(int)
 restartterm(NCURSES_CONST char *termp, int filenum, int *errret)
index 24f90d1b19a55e19c7a1539d71313213ad3a3c6f..46779e08f1e1668d448e5c9dcd9fd0895e47607d 100644 (file)
@@ -44,7 +44,7 @@
 #include <term.h>              /* cur_term */
 #include <tic.h>
 
-MODULE_ID("$Id: lib_set_term.c,v 1.112 2008/06/07 22:29:07 tom Exp $")
+MODULE_ID("$Id: lib_set_term.c,v 1.113 2008/06/21 19:00:09 tom Exp $")
 
 NCURSES_EXPORT(SCREEN *)
 set_term(SCREEN *screenp)
@@ -164,11 +164,6 @@ delscreen(SCREEN *sp)
        FreeIfNeeded(sp->_acs_map);
        FreeIfNeeded(sp->_screen_acs_map);
 
-#if 0
-       /* FIXME - this should be a copy of the struct, not a pointer */
-       del_curterm(sp->_term);
-#endif
-
        /*
         * If the associated output stream has been closed, we can discard the
         * set-buffer.  Limit the error check to EBADF, since fflush may fail
@@ -181,6 +176,7 @@ delscreen(SCREEN *sp)
            free(sp->_setbuf);
        }
 
+       del_curterm(sp->_term);
        free(sp);
 
        /*
index bca3288b9df8026b7c8e7487570df130889d89ad..485014d96854b2b8be10a7f80c9eec673e3e248c 100644 (file)
@@ -27,7 +27,7 @@
  ****************************************************************************/
 
 /****************************************************************************
- *  Author: Thomas E. Dickey 1996-2007                                      *
+ *  Author: Thomas E. Dickey 1996-2008                                      *
  ****************************************************************************/
 /* LINTLIBRARY */
 
@@ -1138,6 +1138,11 @@ NCURSES_BOOL mouse_trafo(
 #undef ESCDELAY
 int    ESCDELAY;
 
+#undef set_escdelay
+int    set_escdelay(
+               int     value)
+               { return(*(int *)0); }
+
 #undef _nc_wgetch
 int    _nc_wgetch(
                WINDOW  *win, 
@@ -1395,6 +1400,11 @@ WINDOW   *_nc_makenew(
                int     flags)
                { return(*(WINDOW **)0); }
 
+#undef _nc_screen_of
+SCREEN *_nc_screen_of(
+               WINDOW  *win)
+               { return(*(SCREEN **)0); }
+
 /* ./base/lib_nl.c */
 
 #undef nl
@@ -1823,6 +1833,12 @@ void     _tracedump(
 
 /* ./trace/lib_tracemse.c */
 
+#undef _nc_tracemouse
+char   *_nc_tracemouse(
+               SCREEN  *sp, 
+               MEVENT const *ep)
+               { return(*(char **)0); }
+
 #undef _tracemouse
 char   *_tracemouse(
                MEVENT const *ep)
@@ -1840,9 +1856,16 @@ void     _nc_signal_handler(
 /* ./base/lib_ungetch.c */
 
 #undef _nc_fifo_dump
-void   _nc_fifo_dump(void)
+void   _nc_fifo_dump(
+               SCREEN  *sp)
                { /* void */ }
 
+#undef _nc_ungetch
+int    _nc_ungetch(
+               SCREEN  *sp, 
+               int     ch)
+               { return(*(int *)0); }
+
 #undef ungetch
 int    ungetch(
                int     ch)
@@ -2103,6 +2126,24 @@ void     _nc_trace_xnames(
                TERMTYPE *tp)
                { /* void */ }
 
+/* ./tinfo/use_screen.c */
+
+#undef use_screen
+int    use_screen(
+               SCREEN  *screen, 
+               NCURSES_SCREEN_CB func, 
+               void    *data)
+               { return(*(int *)0); }
+
+/* ./base/use_window.c */
+
+#undef use_window
+int    use_window(
+               WINDOW  *win, 
+               NCURSES_WINDOW_CB func, 
+               void    *data)
+               { return(*(int *)0); }
+
 /* ./base/wresize.c */
 
 #undef wresize
@@ -2345,7 +2386,8 @@ const struct tinfo_fkeys _nc_tinfo_fkeys[] = {0};
 #endif
 
 #undef _nc_init_keytry
-void   _nc_init_keytry(void)
+void   _nc_init_keytry(
+               SCREEN  *sp)
                { /* void */ }
 
 /* ./tinfo/lib_acs.c */
@@ -2440,6 +2482,12 @@ int      flushinp(void)
 
 struct kn { short offset; int code; };
 
+#undef _nc_keyname
+char   *_nc_keyname(
+               SCREEN  *sp, 
+               int     c)
+               { return(*(char **)0); }
+
 #undef keyname
 char   *keyname(
                int     c)
@@ -2526,6 +2574,7 @@ int       has_key(
 
 #undef _nc_keypad
 int    _nc_keypad(
+               SCREEN  *sp, 
                NCURSES_BOOL flag)
                { return(*(int *)0); }
 
@@ -2576,9 +2625,14 @@ int      COLS;
 #undef TABSIZE
 int    TABSIZE;
 
+#undef set_tabsize
+int    set_tabsize(
+               int     value)
+               { return(*(int *)0); }
+
 #undef _nc_handle_sigwinch
 int    _nc_handle_sigwinch(
-               int     update)
+               SCREEN  *sp)
                { return(*(int *)0); }
 
 #undef use_env
@@ -2588,12 +2642,14 @@ void    use_env(
 
 #undef _nc_get_screensize
 void   _nc_get_screensize(
+               SCREEN  *sp, 
                int     *linep, 
                int     *colp)
                { /* void */ }
 
 #undef _nc_update_screensize
-void   _nc_update_screensize(void)
+void   _nc_update_screensize(
+               SCREEN  *sp)
                { /* void */ }
 
 #undef _nc_get_locale
@@ -2867,6 +2923,12 @@ char     *_nc_tracebits(void)
 
 /* ./trace/lib_tracechr.c */
 
+#undef _nc_tracechar
+char   *_nc_tracechar(
+               SCREEN  *sp, 
+               int     ch)
+               { return(*(char **)0); }
+
 #undef _tracechar
 char   *_tracechar(
                int     ch)
@@ -2912,6 +2974,7 @@ int       resetty(void)
 
 #undef _nc_timed_wait
 int    _nc_timed_wait(
+               SCREEN  *sp, 
                int     mode, 
                int     milliseconds, 
                int     *timeleft)
@@ -3073,9 +3136,15 @@ char     *_nc_trim_sgr0(
 
 /* ./unctrl.c */
 
+#undef _nc_unctrl
+char   *_nc_unctrl(
+               SCREEN  *sp, 
+               chtype  ch)
+               { return(*(char **)0); }
+
 #undef unctrl
 char   *unctrl(
-                chtype ch)
+               chtype  ch)
                { return(*(char **)0); }
 
 /* ./trace/visbuf.c */
index 12522e123c59a53cdc6a3bd6e652052b70942932..50f571456d7aa6ab87991b2247ec0bd069ec5a5b 100644 (file)
@@ -27,7 +27,7 @@
  ****************************************************************************/
 
 /****************************************************************************
- *  Author: Thomas E. Dickey 2001-2006                                      *
+ *  Author: Thomas E. Dickey 2001-2008                                      *
  ****************************************************************************/
 /* LINTLIBRARY */
 
@@ -1646,6 +1646,11 @@ NCURSES_BOOL mouse_trafo(
 #undef ESCDELAY
 int    ESCDELAY;
 
+#undef set_escdelay
+int    set_escdelay(
+               int     value)
+               { return(*(int *)0); }
+
 #undef _nc_wgetch
 int    _nc_wgetch(
                WINDOW  *win, 
@@ -1903,6 +1908,11 @@ WINDOW   *_nc_makenew(
                int     flags)
                { return(*(WINDOW **)0); }
 
+#undef _nc_screen_of
+SCREEN *_nc_screen_of(
+               WINDOW  *win)
+               { return(*(SCREEN **)0); }
+
 /* ./base/lib_nl.c */
 
 #undef nl
@@ -2333,6 +2343,12 @@ void     _tracedump(
 
 /* ./trace/lib_tracemse.c */
 
+#undef _nc_tracemouse
+char   *_nc_tracemouse(
+               SCREEN  *sp, 
+               MEVENT const *ep)
+               { return(*(char **)0); }
+
 #undef _tracemouse
 char   *_tracemouse(
                MEVENT const *ep)
@@ -2350,9 +2366,16 @@ void     _nc_signal_handler(
 /* ./base/lib_ungetch.c */
 
 #undef _nc_fifo_dump
-void   _nc_fifo_dump(void)
+void   _nc_fifo_dump(
+               SCREEN  *sp)
                { /* void */ }
 
+#undef _nc_ungetch
+int    _nc_ungetch(
+               SCREEN  *sp, 
+               int     ch)
+               { return(*(int *)0); }
+
 #undef ungetch
 int    ungetch(
                int     ch)
@@ -2849,6 +2872,24 @@ void     _nc_trace_xnames(
                TERMTYPE *tp)
                { /* void */ }
 
+/* ./tinfo/use_screen.c */
+
+#undef use_screen
+int    use_screen(
+               SCREEN  *screen, 
+               NCURSES_SCREEN_CB func, 
+               void    *data)
+               { return(*(int *)0); }
+
+/* ./base/use_window.c */
+
+#undef use_window
+int    use_window(
+               WINDOW  *win, 
+               NCURSES_WINDOW_CB func, 
+               void    *data)
+               { return(*(int *)0); }
+
 /* ./base/wresize.c */
 
 #undef wresize
@@ -3091,7 +3132,8 @@ const struct tinfo_fkeys _nc_tinfo_fkeys[] = {0};
 #endif
 
 #undef _nc_init_keytry
-void   _nc_init_keytry(void)
+void   _nc_init_keytry(
+               SCREEN  *sp)
                { /* void */ }
 
 /* ./tinfo/lib_acs.c */
@@ -3186,6 +3228,12 @@ int      flushinp(void)
 
 struct kn { short offset; int code; };
 
+#undef _nc_keyname
+char   *_nc_keyname(
+               SCREEN  *sp, 
+               int     c)
+               { return(*(char **)0); }
+
 #undef keyname
 char   *keyname(
                int     c)
@@ -3272,6 +3320,7 @@ int       has_key(
 
 #undef _nc_keypad
 int    _nc_keypad(
+               SCREEN  *sp, 
                NCURSES_BOOL flag)
                { return(*(int *)0); }
 
@@ -3322,9 +3371,14 @@ int      COLS;
 #undef TABSIZE
 int    TABSIZE;
 
+#undef set_tabsize
+int    set_tabsize(
+               int     value)
+               { return(*(int *)0); }
+
 #undef _nc_handle_sigwinch
 int    _nc_handle_sigwinch(
-               int     update)
+               SCREEN  *sp)
                { return(*(int *)0); }
 
 #undef use_env
@@ -3334,12 +3388,14 @@ void    use_env(
 
 #undef _nc_get_screensize
 void   _nc_get_screensize(
+               SCREEN  *sp, 
                int     *linep, 
                int     *colp)
                { /* void */ }
 
 #undef _nc_update_screensize
-void   _nc_update_screensize(void)
+void   _nc_update_screensize(
+               SCREEN  *sp)
                { /* void */ }
 
 #undef _nc_get_locale
@@ -3624,6 +3680,12 @@ char     *_nc_tracebits(void)
 
 /* ./trace/lib_tracechr.c */
 
+#undef _nc_tracechar
+char   *_nc_tracechar(
+               SCREEN  *sp, 
+               int     ch)
+               { return(*(char **)0); }
+
 #undef _tracechar
 char   *_tracechar(
                int     ch)
@@ -3669,6 +3731,7 @@ int       resetty(void)
 
 #undef _nc_timed_wait
 int    _nc_timed_wait(
+               SCREEN  *sp, 
                int     mode, 
                int     milliseconds, 
                int     *timeleft)
@@ -3830,9 +3893,15 @@ char     *_nc_trim_sgr0(
 
 /* ./unctrl.c */
 
+#undef _nc_unctrl
+char   *_nc_unctrl(
+               SCREEN  *sp, 
+               chtype  ch)
+               { return(*(char **)0); }
+
 #undef unctrl
 char   *unctrl(
-                chtype ch)
+               chtype  ch)
                { return(*(char **)0); }
 
 /* ./trace/visbuf.c */
index 8b63f0d8965c4de868b47c0bbbea87edcd8f73b0..05f45ef0484ccf1d6602e9103b7de28aa8a12442 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 2006,2007 Free Software Foundation, Inc.                   *
+ * Copyright (c) 2006-2007,2008 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -37,7 +37,7 @@
 #include <tic.h>
 #include <term_entry.h>
 
-MODULE_ID("$Id: entries.c,v 1.4 2007/11/03 21:00:27 tom Exp $")
+MODULE_ID("$Id: entries.c,v 1.6 2008/06/21 21:25:01 tom Exp $")
 
 /****************************************************************************
  *
@@ -127,6 +127,10 @@ _nc_leaks_tinfo(void)
 #if BROKEN_LINKER || USE_REENTRANT
     _nc_names_leaks();
     _nc_codes_leaks();
+    FreeIfNeeded(_nc_prescreen.real_acs_map);
+#endif
+#if USE_WIDEC_SUPPORT
+    FreeIfNeeded(_nc_wacs);
 #endif
 
     if ((s = _nc_home_terminfo()) != 0)
index 4070160da393fc8ad67621c6bf215c2cfefd2c60..28405bee3336b1d4186dcfe2583328eeb7e3808a 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -80,7 +80,7 @@
 #undef USE_OLD_TTY
 #endif /* USE_OLD_TTY */
 
-MODULE_ID("$Id: lib_baudrate.c,v 1.25 2007/10/20 15:00:41 Rong-En.Fan Exp $")
+MODULE_ID("$Id: lib_baudrate.c,v 1.26 2008/06/21 20:46:10 tom Exp $")
 
 /*
  *     int
@@ -217,19 +217,22 @@ baudrate(void)
     }
 #endif
 
+    if (cur_term != 0) {
 #ifdef USE_OLD_TTY
-    result = cfgetospeed(&cur_term->Nttyb);
-    ospeed = _nc_ospeed(result);
+       result = cfgetospeed(&cur_term->Nttyb);
+       ospeed = _nc_ospeed(result);
 #else /* !USE_OLD_TTY */
 #ifdef TERMIOS
-    ospeed = cfgetospeed(&cur_term->Nttyb);
+       ospeed = cfgetospeed(&cur_term->Nttyb);
 #else
-    ospeed = cur_term->Nttyb.sg_ospeed;
+       ospeed = cur_term->Nttyb.sg_ospeed;
 #endif
-    result = _nc_baudrate(ospeed);
+       result = _nc_baudrate(ospeed);
 #endif
-    if (cur_term != 0)
        cur_term->_baudrate = result;
+    } else {
+       result = ERR;
+    }
 
     returnCode(result);
 }
index 0b104ab9f9262489eea21228f8810c4792bab308..967d42a8677156416f4cffb42bf7c7522dc928e8 100644 (file)
@@ -53,7 +53,7 @@
 
 #include <term.h>              /* lines, columns, cur_term */
 
-MODULE_ID("$Id: lib_setup.c,v 1.107 2008/06/07 22:22:58 tom Exp $")
+MODULE_ID("$Id: lib_setup.c,v 1.108 2008/06/21 21:00:18 tom Exp $")
 
 /****************************************************************************
  *
@@ -379,7 +379,7 @@ grab_entry(const char *const tn, TERMTYPE *const tp)
 **     and substitute it in for the prototype given in 'command_character'.
 */
 static void
-do_prototype(void)
+do_prototype(TERMINAL * termp)
 {
     int i;
     char CC;
@@ -390,8 +390,8 @@ do_prototype(void)
     CC = *tmp;
     proto = *command_character;
 
-    for_each_string(i, &(cur_term->type)) {
-       for (tmp = cur_term->type.Strings[i]; *tmp; tmp++) {
+    for_each_string(i, &(termp->type)) {
+       for (tmp = termp->type.Strings[i]; *tmp; tmp++) {
            if (*tmp == proto)
                *tmp = CC;
        }
@@ -483,6 +483,7 @@ _nc_locale_breaks_acs(void)
 NCURSES_EXPORT(int)
 _nc_setupterm(NCURSES_CONST char *tname, int Filedes, int *errret, bool reuse)
 {
+    TERMINAL *term_ptr;
     int status;
 
     START_TRACE();
@@ -527,14 +528,13 @@ _nc_setupterm(NCURSES_CONST char *tname, int Filedes, int *errret, bool reuse)
      * properly with this feature).
      */
     if (reuse
-       && cur_term != 0
-       && cur_term->Filedes == Filedes
-       && cur_term->_termname != 0
-       && !strcmp(cur_term->_termname, tname)
-       && _nc_name_match(cur_term->type.term_names, tname, "|")) {
+       && (term_ptr = cur_term) != 0
+       && term_ptr->Filedes == Filedes
+       && term_ptr->_termname != 0
+       && !strcmp(term_ptr->_termname, tname)
+       && _nc_name_match(term_ptr->type.term_names, tname, "|")) {
        T(("reusing existing terminal information and mode-settings"));
     } else {
-       TERMINAL *term_ptr;
 
        term_ptr = typeCalloc(TERMINAL, 1);
 
@@ -577,7 +577,7 @@ _nc_setupterm(NCURSES_CONST char *tname, int Filedes, int *errret, bool reuse)
        set_curterm(term_ptr);
 
        if (command_character && getenv("CC"))
-           do_prototype();
+           do_prototype(term_ptr);
 
        /*
         * If an application calls setupterm() rather than initscr() or
index 2cb9fd67b4dd2ed9f4835fefc0e8bfb3dd8dc7b3..0435bc9f0ce9e707b65c0d482798525a545c0e1c 100644 (file)
@@ -38,7 +38,7 @@
 #include <curses.priv.h>
 #include <term.h>              /* cur_term */
 
-MODULE_ID("$Id: lib_ttyflags.c,v 1.16 2008/05/03 22:39:03 tom Exp $")
+MODULE_ID("$Id: lib_ttyflags.c,v 1.17 2008/06/21 20:53:06 tom Exp $")
 
 NCURSES_EXPORT(int)
 _nc_get_tty_mode(TTY * buf)
@@ -101,41 +101,49 @@ _nc_set_tty_mode(TTY * buf)
 NCURSES_EXPORT(int)
 def_shell_mode(void)
 {
-    T((T_CALLED("def_shell_mode()")));
+    int rc = ERR;
 
-    /*
-     * If XTABS was on, remove the tab and backtab capabilities.
-     */
+    T((T_CALLED("def_shell_mode()")));
 
-    if (_nc_get_tty_mode(&cur_term->Ottyb) != OK)
-       returnCode(ERR);
+    if (cur_term != 0) {
+       /*
+        * If XTABS was on, remove the tab and backtab capabilities.
+        */
+       if (_nc_get_tty_mode(&cur_term->Ottyb) == OK) {
 #ifdef TERMIOS
-    if (cur_term->Ottyb.c_oflag & OFLAGS_TABS)
-       tab = back_tab = NULL;
+           if (cur_term->Ottyb.c_oflag & OFLAGS_TABS)
+               tab = back_tab = NULL;
 #else
-    if (cur_term->Ottyb.sg_flags & XTABS)
-       tab = back_tab = NULL;
+           if (cur_term->Ottyb.sg_flags & XTABS)
+               tab = back_tab = NULL;
 #endif
-    returnCode(OK);
+           rc = OK;
+       }
+    }
+    returnCode(rc);
 }
 
 NCURSES_EXPORT(int)
 def_prog_mode(void)
 {
-    T((T_CALLED("def_prog_mode()")));
+    int rc = ERR;
 
-    /*
-     * Turn off the XTABS bit in the tty structure if it was on.
-     */
+    T((T_CALLED("def_prog_mode()")));
 
-    if (_nc_get_tty_mode(&cur_term->Nttyb) != OK)
-       returnCode(ERR);
+    if (cur_term != 0) {
+       /*
+        * Turn off the XTABS bit in the tty structure if it was on.
+        */
+       if (_nc_get_tty_mode(&cur_term->Nttyb) == OK) {
 #ifdef TERMIOS
-    cur_term->Nttyb.c_oflag &= ~OFLAGS_TABS;
+           cur_term->Nttyb.c_oflag &= ~OFLAGS_TABS;
 #else
-    cur_term->Nttyb.sg_flags &= ~XTABS;
+           cur_term->Nttyb.sg_flags &= ~XTABS;
 #endif
-    returnCode(OK);
+           rc = OK;
+       }
+    }
+    returnCode(rc);
 }
 
 NCURSES_EXPORT(int)