X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fncurses.3x.html;h=530b293ac1c87f23be19f7ced997adcf50ff9ced;hp=d49f4840b592319b058f32557be1b9a8a695a55b;hb=f367fa254ce3fe29710c86971f04e03111c2bd2c;hpb=da5e7c6148aa378da9d8da09be73e0ddd3995c6f diff --git a/doc/html/man/ncurses.3x.html b/doc/html/man/ncurses.3x.html index d49f4840..530b293a 100644 --- a/doc/html/man/ncurses.3x.html +++ b/doc/html/man/ncurses.3x.html @@ -28,7 +28,7 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: ncurses.3x,v 1.103 2011/02/05 23:21:29 tom Exp @ + * @Id: ncurses.3x,v 1.106 2011/12/17 23:19:59 tom Exp @ --> @@ -63,7 +63,7 @@ sonable optimization. This implementation is ``new curses'' (ncurses) and is the approved replacement for 4.4BSD classic curses, which has been discontinued. This - describes ncurses version 5.7 (patch 20110212). + describes ncurses version 5.9 (patch 20120107). The ncurses library emulates the curses library of System V Release 4 UNIX, and XPG4 (X/Open Portability Guide) @@ -150,48 +150,48 @@ Among those, the most basic routines are move and addch. More general versions of these routines are included with names beginning with w, allowing the user to specify a - window. The routines not beginning with w affect stdscr. + window. The routines not beginning with w affect stdscr. - After using routines to manipulate a window, refresh is - called, telling curses to make the user's CRT screen look - like stdscr. The characters in a window are actually of - type chtype, (character and attribute data) so that other - information about the character may also be stored with + After using routines to manipulate a window, refresh is + called, telling curses to make the user's CRT screen look + like stdscr. The characters in a window are actually of + type chtype, (character and attribute data) so that other + information about the character may also be stored with each character. - Special windows called pads may also be manipulated. + Special windows called pads may also be manipulated. These are windows which are not constrained to the size of - the screen and whose contents need not be completely dis- + the screen and whose contents need not be completely dis- played. See curs_pad(3x) for more information. - In addition to drawing characters on the screen, video - attributes and colors may be supported, causing the char- - acters to show up in such modes as underlined, in reverse - video, or in color on terminals that support such display + In addition to drawing characters on the screen, video + attributes and colors may be supported, causing the char- + acters to show up in such modes as underlined, in reverse + video, or in color on terminals that support such display enhancements. Line drawing characters may be specified to - be output. On input, curses is also able to translate - arrow and function keys that transmit escape sequences - into single values. The video attributes, line drawing - characters, and input values use names, defined in + be output. On input, curses is also able to translate + arrow and function keys that transmit escape sequences + into single values. The video attributes, line drawing + characters, and input values use names, defined in <curses.h>, such as A_REVERSE, ACS_HLINE, and KEY_LEFT. If the environment variables LINES and COLUMNS are set, or - if the program is executing in a window environment, line - and column information in the environment will override + if the program is executing in a window environment, line + and column information in the environment will override information read by terminfo. This would affect a program - running in an AT&T 630 layer, for example, where the size + running in an AT&T 630 layer, for example, where the size of a screen is changeable (see ENVIRONMENT). - If the environment variable TERMINFO is defined, any pro- - gram using curses checks for a local terminal definition - before checking in the standard place. For example, if + If the environment variable TERMINFO is defined, any pro- + gram using curses checks for a local terminal definition + before checking in the standard place. For example, if TERM is set to att4424, then the compiled terminal defini- tion is found in /usr/share/terminfo/a/att4424. (The a is copied from the first letter of att4424 to avoid - creation of huge directories.) However, if TERMINFO is + creation of huge directories.) However, if TERMINFO is set to $HOME/myterms, curses first checks $HOME/myterms/a/att4424, @@ -200,117 +200,119 @@ /usr/share/terminfo/a/att4424. - This is useful for developing experimental definitions or + This is useful for developing experimental definitions or when write permission in /usr/share/terminfo is not avail- able. - The integer variables LINES and COLS are defined in - <curses.h> and will be filled in by initscr with the size + The integer variables LINES and COLS are defined in + <curses.h> and will be filled in by initscr with the size of the screen. The constants TRUE and FALSE have the val- ues 1 and 0, respectively. - The curses routines also define the WINDOW * variable + The curses routines also define the WINDOW * variable curscr which is used for certain low-level operations like - clearing and redrawing a screen containing garbage. The + clearing and redrawing a screen containing garbage. The curscr can be used in only a few routines. Routine and Argument Names - Many curses routines have two or more versions. The rou- + Many curses routines have two or more versions. The rou- tines prefixed with w require a window argument. The rou- tines prefixed with p require a pad argument. Those with- out a prefix generally use stdscr. The routines prefixed with mv require a y and x coordinate - to move to before performing the appropriate action. The - mv routines imply a call to move before the call to the - other routine. The coordinate y always refers to the row - (of the window), and x always refers to the column. The + to move to before performing the appropriate action. The + mv routines imply a call to move before the call to the + other routine. The coordinate y always refers to the row + (of the window), and x always refers to the column. The upper left-hand corner is always (0,0), not (1,1). The routines prefixed with mvw take both a window argument - and x and y coordinates. The window argument is always + and x and y coordinates. The window argument is always specified before the coordinates. - In each case, win is the window affected, and pad is the + In each case, win is the window affected, and pad is the pad affected; win and pad are always pointers to type WIN- DOW. Option setting routines require a Boolean flag bf with the - value TRUE or FALSE; bf is always of type bool. Most of - the data types used in the library routines, such as WIN- - DOW, SCREEN, bool, and chtype are defined in <curses.h>. - Types used for the terminfo routines such as TERMINAL are + value TRUE or FALSE; bf is always of type bool. Most of + the data types used in the library routines, such as WIN- + DOW, SCREEN, bool, and chtype are defined in <curses.h>. + Types used for the terminfo routines such as TERMINAL are defined in <term.h>. - This manual page describes functions which may appear in - any configuration of the library. There are two common + 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 chtype + characters combined with attributes in chtype data. - Attributes alone (no corresponding character) - may be stored in chtype or the equivalent - attr_t data. In either case, the data is + Attributes alone (no corresponding character) + may be stored in chtype or the equivalent + attr_t data. In either case, the data is stored in something like an integer. - Each cell (row and column) in a WINDOW is + Each cell (row and column) in a WINDOW is stored as a chtype. ncursesw - the so-called "wide" library, which handles - multibyte characters (see the section on + the so-called "wide" library, which handles + multibyte characters (see the section on ALTERNATE CONFIGURATIONS). The "wide" library - includes all of the calls from the "normal" - library. It adds about one third more calls + includes all of the calls from the "normal" + library. It adds about one third more calls using data types which store multibyte charac- ters: cchar_t - corresponds to chtype. However it is a - structure, because more data is stored - than can fit into an integer. The char- + corresponds to chtype. 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- + 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 WINDOW is stored as a cchar_t. wchar_t - stores a "wide" character. Like chtype, + stores a "wide" character. Like chtype, this may be an integer. wint_t - stores a wchar_t or WEOF - not the same, + stores a wchar_t or WEOF - 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 + 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, waddch becomes wadd_wch. + Routine Name Index The following table lists each curses routine and the name - of the manual page on which it is described. Routines - flagged with `*' are ncurses-specific, not described by + of the manual page on which it is described. Routines + flagged with `*' are ncurses-specific, not described by XPG4 or present in SVr4. + curses Routine Name Manual Page Name -------------------------------------------- COLOR_PAIR curs_color(3x) PAIR_NUMBER curs_attr(3x) _nc_free_and_exit curs_memleaks(3x)* + _nc_freeall curs_memleaks(3x)* _nc_tracebits curs_trace(3x)* - _traceattr curs_trace(3x)* _traceattr2 curs_trace(3x)* _tracechar curs_trace(3x)* @@ -374,9 +376,9 @@ echo curs_inopts(3x) echo_wchar curs_add_wch(3x) echochar curs_addch(3x) + endwin curs_initscr(3x) erase curs_clear(3x) - erasechar curs_termattrs(3x) erasewchar curs_termattrs(3x) filter curs_util(3x) @@ -440,9 +442,9 @@ intrflush curs_inopts(3x) inwstr curs_inwstr(3x) is_cleared curs_opaque(3x)* + is_idcok curs_opaque(3x)* is_idlok curs_opaque(3x)* - is_immedok curs_opaque(3x)* is_keypad curs_opaque(3x)* is_leaveok curs_opaque(3x)* @@ -506,9 +508,9 @@ mvinsch curs_insch(3x) mvinsnstr curs_insstr(3x) mvinsstr curs_insstr(3x) + mvinstr curs_instr(3x) mvinwstr curs_inwstr(3x) - mvprintw curs_printw(3x) mvscanw curs_scanw(3x) mvvline curs_border(3x) @@ -572,9 +574,9 @@ pair_content curs_color(3x) pechochar curs_pad(3x) pnoutrefresh curs_pad(3x) + prefresh curs_pad(3x) printw curs_printw(3x) - putp curs_terminfo(3x) putwin curs_util(3x) qiflush curs_inopts(3x) @@ -638,9 +640,9 @@ tigetstr curs_terminfo(3x) timeout curs_inopts(3x) touchline curs_touch(3x) + touchwin curs_touch(3x) tparm curs_terminfo(3x) - tputs curs_termcap(3x) tputs curs_terminfo(3x) trace curs_trace(3x)* @@ -704,9 +706,9 @@ wgetbkgrnd curs_bkgrnd(3x) wgetch curs_getch(3x) wgetn_wstr curs_get_wstr(3x) + wgetnstr curs_getstr(3x) wgetstr curs_getstr(3x) - whline curs_border(3x) whline_set curs_border_set(3x) win_wch curs_in_wch(3x) @@ -750,11 +752,14 @@

RETURN VALUE

-       Routines  that  return  an integer return ERR upon failure
-       and an integer value other than ERR upon  successful  com-
-       pletion,  unless  otherwise  noted in the routine descrip-
+       Routines that return an integer return  ERR  upon  failure
+       and  an  integer value other than ERR upon successful com-
+       pletion, unless otherwise noted in  the  routine  descrip-
        tions.
 
+       As a general rule, routines check for null pointers passed
+       as parameters, and handle this as an error.
+
        All macros return the  value  of  the  w  version,  except
        setscrreg, wsetscrreg, getyx, getbegyx, and getmaxyx.  The
        return values of setscrreg, wsetscrreg,  getyx,  getbegyx,
@@ -856,11 +861,11 @@
 
        LINES
             Like COLUMNS, specify the height  of  the  screen  in
-            characters.  See COLUMNS for a detailed description.
+            characters.   See COLUMNS for a detailed description.
 
        MOUSE_BUTTONS_123
             This applies only to the OS/2 EMX port.  It specifies
-            the order of buttons on the mouse.   OS/2  numbers  a
+            the  order  of  buttons on the mouse.  OS/2 numbers a
             3-button mouse inconsistently from other platforms:
 
             1 = left
@@ -868,109 +873,109 @@
             3 = middle.
 
             This symbol lets you customize the mouse.  The symbol
-            must be three numeric digits 1-3 in any order,  e.g.,
-            123  or  321.   If  it is not specified, ncurses uses
+            must  be three numeric digits 1-3 in any order, e.g.,
+            123 or 321.  If it is  not  specified,  ncurses  uses
             132.
 
        NCURSES_ASSUMED_COLORS
-            Override the compiled-in assumption that  the  termi-
-            nal's   default   colors   are   white-on-black  (see
-            default_colors(3x)).  You may set the foreground  and
-            background  color  values with this environment vari-
-            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-
+            Override  the  compiled-in assumption that the termi-
+            nal's  default   colors   are   white-on-black   (see
+            default_colors(3x)).   You may set the foreground and
+            background color values with this  environment  vari-
+            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 max_colors value
             is allowed.
 
        NCURSES_GPM_TERMS
-            This  applies  only  to ncurses configured to use the
+            This applies only to ncurses configured  to  use  the
             GPM interface.
 
             If present, the environment variable is a list of one
-            or  more  terminal names against which the TERM envi-
-            ronment variable is matched.  Setting it to an  empty
-            value  disables the GPM interface; using the built-in
+            or more terminal names against which the  TERM  envi-
+            ronment  variable is matched.  Setting it to an empty
+            value disables the GPM interface; using the  built-in
             support for xterm, etc.
 
-            If the environment variable is absent,  ncurses  will
+            If  the  environment variable is absent, ncurses will
             attempt to open GPM if TERM contains "linux".
 
        NCURSES_NO_HARD_TABS
-            Ncurses  may  use tabs as part of the cursor movement
-            optimization.  In some cases,  your  terminal  driver
-            may  not handle these properly.  Set this environment
+            Ncurses may use tabs as part of the  cursor  movement
+            optimization.   In  some  cases, your terminal driver
+            may not handle these properly.  Set this  environment
             variable to disable the feature.  You can also adjust
             your stty settings to avoid the problem.
 
        NCURSES_NO_MAGIC_COOKIES
             Some  terminals  use  a  magic-cookie  feature  which
-            requires special handling to  make  highlighting  and
-            other  video  attributes  display  properly.  You can
-            suppress the highlighting entirely for  these  termi-
-            nals by setting this environment variable.
+            requires  special  handling  to make highlighting and
+            other video attributes  display  properly.   You  can
+            suppress   the   highlighting   entirely   for  these
+            terminals by setting this environment variable.
 
        NCURSES_NO_PADDING
-            Most  of  the  terminal  descriptions in the terminfo
-            database are written for real  "hardware"  terminals.
-            Many  people  use  terminal  emulators which run in a
-            windowing environment and use  curses-based  applica-
-            tions.   Terminal  emulators can duplicate all of the
+            Most of the terminal  descriptions  in  the  terminfo
+            database  are  written for real "hardware" terminals.
+            Many people use terminal emulators  which  run  in  a
+            windowing  environment  and use curses-based applica-
+            tions.  Terminal emulators can duplicate all  of  the
             important aspects of a hardware terminal, but they do
-            not  have the same limitations.  The chief limitation
-            of a hardware terminal from the  standpoint  of  your
+            not have the same limitations.  The chief  limitation
+            of  a  hardware  terminal from the standpoint of your
             application is the management of dataflow, i.e., tim-
             ing.  Unless a hardware terminal is interfaced into a
-            terminal  concentrator  (which does flow control), it
-            (or your application) must manage dataflow,  prevent-
-            ing  overruns.   The  cheapest  solution (no hardware
+            terminal concentrator (which does flow  control),  it
+            (or  your application) must manage dataflow, prevent-
+            ing overruns.  The  cheapest  solution  (no  hardware
             cost) is for your program to do this by pausing after
-            operations  that  the  terminal  does slowly, such as
+            operations that the terminal  does  slowly,  such  as
             clearing the display.
 
-            As a result, many  terminal  descriptions  (including
-            the  vt100)  have delay times embedded.  You may wish
-            to use these descriptions, but not want  to  pay  the
+            As  a  result,  many terminal descriptions (including
+            the vt100) have delay times embedded.  You  may  wish
+            to  use  these  descriptions, but not want to pay the
             performance penalty.
 
-            Set  the NCURSES_NO_PADDING symbol to disable all but
-            mandatory padding.  Mandatory padding is  used  as  a
+            Set the NCURSES_NO_PADDING symbol to disable all  but
+            mandatory  padding.   Mandatory  padding is used as a
             part of special control sequences such as flash.
 
        NCURSES_NO_SETBUF
-            Normally  ncurses enables buffered output during ter-
-            minal initialization.   This  is  done  (as  in  SVr4
-            curses)  for  performance  reasons.  For testing pur-
+            Normally ncurses enables buffered output during  ter-
+            minal  initialization.   This  is  done  (as  in SVr4
+            curses) for performance reasons.   For  testing  pur-
             poses, both of ncurses and certain applications, this
             feature    is    made    optional.     Setting    the
             NCURSES_NO_SETBUF variable disables output buffering,
-            leaving  the  output  in  the  original (usually line
+            leaving the output  in  the  original  (usually  line
             buffered) mode.
 
        NCURSES_NO_UTF8_ACS
             During initialization, the ncurses library checks for
-            special  cases where VT100 line-drawing (and the cor-
-            responding  alternate  character  set   capabilities)
-            described  in  the  terminfo are known to be missing.
-            Specifically, when running in  a  UTF-8  locale,  the
-            Linux  console  emulator  and  the GNU screen program
-            ignore these.  Ncurses checks  the  TERM  environment
-            variable  for  these.   For  other special cases, you
-            should set this  environment  variable.   Doing  this
-            tells  ncurses to use Unicode values which correspond
+            special cases where VT100 line-drawing (and the  cor-
+            responding   alternate  character  set  capabilities)
+            described in the terminfo are known  to  be  missing.
+            Specifically,  when  running  in  a UTF-8 locale, the
+            Linux console emulator and  the  GNU  screen  program
+            ignore  these.   Ncurses  checks the TERM environment
+            variable for these.  For  other  special  cases,  you
+            should  set  this  environment  variable.  Doing this
+            tells ncurses to use Unicode values which  correspond
             to the VT100 line-drawing glyphs.  That works for the
             special cases cited, and is likely to work for termi-
             nal emulators.
 
-            When setting this variable, you should set  it  to  a
-            nonzero  value.   Setting it to zero (or to a nonnum-
-            ber) disables  the  special  check  for  "linux"  and
+            When  setting  this  variable, you should set it to a
+            nonzero value.  Setting it to zero (or to  a  nonnum-
+            ber)  disables  the  special  check  for  "linux" and
             "screen".
 
-            As   an  alternative  to  the  environment  variable,
-            ncurses checks for an  extended  terminfo  capability
-            U8.   This  is a numeric capability which can be com-
+            As  an  alternative  to  the  environment   variable,
+            ncurses  checks  for  an extended terminfo capability
+            U8.  This is a numeric capability which can  be  com-
             piled using tic -x.  For example
 
             # linux console, if patched to provide working
@@ -983,43 +988,43 @@
                                  U8#1, use=xterm,
 
             The name "U8" is chosen to be two characters, to per-
-            mit  it  to be used by applications that use ncurses'
+            mit it to be used by applications that  use  ncurses'
             termcap interface.
 
        NCURSES_TRACE
-            During initialization, the ncurses debugging  library
-            checks  the  NCURSES_TRACE symbol.  If it is defined,
+            During  initialization, the ncurses debugging library
+            checks the NCURSES_TRACE symbol.  If it  is  defined,
             to a numeric value, ncurses calls the trace function,
             using that value as the argument.
 
-            The  argument  values, which are defined in curses.h,
-            provide several types of information.   When  running
-            with  traces enabled, your application will write the
+            The argument values, which are defined  in  curses.h,
+            provide  several  types of information.  When running
+            with traces enabled, your application will write  the
             file trace to the current directory.
 
-       TERM Denotes your terminal type.  Each  terminal  type  is
+       TERM Denotes  your  terminal  type.  Each terminal type is
             distinct, though many are similar.
 
        TERMCAP
             If the ncurses library has been configured with term-
-            cap support, ncurses  will  check  for  a  terminal's
+            cap  support,  ncurses  will  check  for a terminal's
             description in termcap form if it is not available in
             the terminfo database.
 
-            The  TERMCAP  symbol  contains  either   a   terminal
-            description  (with  newlines stripped out), or a file
-            name telling where the  information  denoted  by  the
-            TERM  symbol  exists.   In  either  case,  setting it
-            directs ncurses to ignore the usual  place  for  this
+            The   TERMCAP   symbol  contains  either  a  terminal
+            description (with newlines stripped out), or  a  file
+            name  telling  where  the  information denoted by the
+            TERM symbol  exists.   In  either  case,  setting  it
+            directs  ncurses  to  ignore the usual place for this
             information, e.g., /etc/termcap.
 
        TERMINFO
             Overrides the directory in which ncurses searches for
             your terminal description.  This is the simplest, but
-            not  the  only way to change the list of directories.
+            not the only way to change the list  of  directories.
             The complete list of directories in order follows:
 
-            o   the last directory to  which  ncurses  wrote,  if
+            o   the  last  directory  to  which ncurses wrote, if
                 any, is searched first
 
             o   the directory specified by the TERMINFO symbol
@@ -1028,62 +1033,70 @@
 
             o   directories listed in the TERMINFO_DIRS symbol
 
-            o   one  or  more directories whose names are config-
+            o   one or more directories whose names  are  config-
                 ured and compiled into the ncurses library, e.g.,
                 /usr/share/terminfo
 
        TERMINFO_DIRS
-            Specifies  a list of directories to search for termi-
-            nal descriptions.  The list is  separated  by  colons
-            (i.e.,  ":") on Unix, semicolons on OS/2 EMX.  All of
+            Specifies a list of directories to search for  termi-
+            nal  descriptions.   The  list is separated by colons
+            (i.e., ":") on Unix, semicolons on OS/2 EMX.  All  of
             the terminal descriptions are in terminfo form, which
-            makes  a  subdirectory  named for the first letter of
+            makes a subdirectory named for the  first  letter  of
             the terminal names therein.
 
+            If ncurses is built with a hashed database, then each
+            entry in this list can also be the path of the corre-
+            sponding database file.
+
+            If  ncurses is built with a support for reading term-
+            cap files directly, then an entry in this list may be
+            the path of a termcap file.
+
        TERMPATH
-            If TERMCAP does not hold a  file  name  then  ncurses
-            checks  the TERMPATH symbol.  This is a list of file-
-            names separated by spaces or colons  (i.e.,  ":")  on
+            If  TERMCAP  does  not  hold a file name then ncurses
+            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, ncurses looks in the files  /etc/termcap,
-            /usr/share/misc/termcap  and  $HOME/.termcap, in that
+            is  not set, ncurses looks in the files /etc/termcap,
+            /usr/share/misc/termcap and $HOME/.termcap,  in  that
             order.
 
-       The library may be configured to disregard  the  following
-       variables  when  the current user is the superuser (root),
-       or if the application uses setuid or  setgid  permissions:
+       The  library  may be configured to disregard the following
+       variables when the current user is the  superuser  (root),
+       or  if  the application uses setuid or setgid permissions:
        $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
 
 
 

ALTERNATE CONFIGURATIONS

-       Several  different  configurations are possible, depending
-       on  the  configure  script  options  used  when   building
-       ncurses.   There  are a few main options whose effects are
+       Several different configurations are  possible,  depending
+       on   the  configure  script  options  used  when  building
+       ncurses.  There are a few main options whose  effects  are
        visible to the applications developer using ncurses:
 
        --disable-overwrite
-            The standard include for ncurses is as noted in  SYN-
+            The  standard include for ncurses is as noted in SYN-
             OPSIS:
 
             #include <curses.h>
 
-            This  option is used to avoid filename conflicts when
-            ncurses is not the main implementation of  curses  of
-            the  computer.   If  ncurses  is  installed disabling
-            overwrite, it puts its  headers  in  a  subdirectory,
+            This option is used to avoid filename conflicts  when
+            ncurses  is  not the main implementation of curses of
+            the computer.   If  ncurses  is  installed  disabling
+            overwrite,  it  puts  its  headers in a subdirectory,
             e.g.,
 
             #include <ncurses/curses.h>
 
-            It  also  omits a symbolic link which would allow you
+            It also omits a symbolic link which would  allow  you
             to use -lcurses to build executables.
 
        --enable-widec
-            The configure script renames the library and (if  the
-            --disable-overwrite  option  is used) puts the header
+            The  configure script renames the library and (if the
+            --disable-overwrite option is used) puts  the  header
             files  in  a  different  subdirectory.   All  of  the
-            library  names  have  a  "w"  appended to them, i.e.,
+            library names have a  "w"  appended  to  them,  i.e.,
             instead of
 
             -lncurses
@@ -1093,16 +1106,16 @@
             -lncursesw
 
             You must also define _XOPEN_SOURCE_EXTENDED when com-
-            piling  for  the  wide-character  library  to use the
-            extended (wide-character)  functions.   The  curses.h
-            file   which  is  installed  for  the  wide-character
-            library is designed to be compatible with the  normal
+            piling for the  wide-character  library  to  use  the
+            extended  (wide-character)  functions.   The curses.h
+            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 WINDOW struc-
-            ture differs, and very few applications require  more
-            than  a  pointer  to  WINDOWs.   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
+            ture  differs, and very few applications require more
+            than a  pointer  to  WINDOWs.   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
             the same set of headers.
 
        --with-shared
@@ -1112,16 +1125,16 @@
        --with-debug
 
        --with-profile
-            The  shared  and normal (static) library names differ
-            by their  suffixes,  e.g.,  libncurses.so  and  libn-
-            curses.a.   The  debug  and profiling libraries add a
-            "_g" and a "_p" to the root names respectively, e.g.,
-            libncurses_g.a and libncurses_p.a.
+            The shared and normal (static) library  names  differ
+            by    their   suffixes,   e.g.,   libncurses.so   and
+            libncurses.a.  The debug and profiling libraries  add
+            a  "_g"  and  a  "_p" to the root names respectively,
+            e.g., libncurses_g.a and libncurses_p.a.
 
        --with-trace
-            The  trace  function  normally  resides  in the debug
+            The trace function  normally  resides  in  the  debug
             library, but it is sometimes useful to configure this
-            in  the  shared  library.   Configure  scripts should
+            in the  shared  library.   Configure  scripts  should
             check for the function's existence rather than assum-
             ing it is always in the debug library.
 
@@ -1129,14 +1142,14 @@
 

FILES

        /usr/share/tabset
-            directory  containing  initialization  files  for the
+            directory containing  initialization  files  for  the
             terminal capability database /usr/share/terminfo ter-
             minal capability database
 
 
 

SEE ALSO

-       terminfo(5)  and  related  pages whose names begin "curs_"
+       terminfo(5) and related pages whose  names  begin  "curs_"
        for detailed routine descriptions.
        curs_variables(3x)
 
@@ -1146,52 +1159,61 @@
        The  ncurses  library  can  be  compiled  with  an  option
        (-DUSE_GETCAP) that falls back to the old-style /etc/term-
        cap file if the terminal setup code cannot find a terminfo
-       entry  corresponding  to TERM.  Use of this feature is not
-       recommended, as it essentially includes an entire  termcap
-       compiler  in the ncurses startup code, at significant cost
+       entry corresponding to TERM.  Use of this feature  is  not
+       recommended,  as it essentially includes an entire termcap
+       compiler in the ncurses startup code, at significant  cost
        in core and startup cycles.
 
-       The ncurses  library  includes  facilities  for  capturing
-       mouse  events on certain terminals (including xterm).  See
+       The  ncurses  library  includes  facilities  for capturing
+       mouse events on certain terminals (including xterm).   See
        the curs_mouse(3x) manual page for details.
 
-       The ncurses library includes facilities for responding  to
-       window  resizing  events,  e.g., when running in an xterm.
-       See the resizeterm(3x) and wresize(3x)  manual  pages  for
-       details.   In addition, the library may be configured with
+       The  ncurses library includes facilities for responding to
+       window resizing events, e.g., when running  in  an  xterm.
+       See  the  resizeterm(3x)  and wresize(3x) manual pages for
+       details.  In addition, the library may be configured  with
        a SIGWINCH handler.
 
-       The ncurses library extends the fixed set of function  key
-       capabilities  of  terminals  by  allowing  the application
-       designer to define additional key  sequences  at  runtime.
+       The  ncurses library extends the fixed set of function key
+       capabilities of  terminals  by  allowing  the  application
+       designer  to  define  additional key sequences at runtime.
        See the define_key(3x) key_defined(3x), and keyok(3x) man-
        ual pages for details.
 
        The ncurses library can exploit the capabilities of termi-
-       nals  which  implement the ISO-6429 SGR 39 and SGR 49 con-
+       nals which implement the ISO-6429 SGR 39 and SGR  49  con-
        trols, which allow an application to reset the terminal to
-       its  original  foreground and background colors.  From the
-       users' perspective, the application is able to  draw  col-
-       ored  text  on  a  background  whose color is set indepen-
-       dently, providing better  control  over  color  contrasts.
+       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 default_colors(3x) manual page for details.
 
-       The  ncurses  library  includes  a  function for directing
-       application output to a printer attached to  the  terminal
+       The ncurses library  includes  a  function  for  directing
+       application  output  to a printer attached to the terminal
        device.  See the curs_print(3x) manual page for details.
 
 
 

PORTABILITY

-       The  ncurses  library is intended to be BASE-level confor-
+       The ncurses 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 ncurses calls)  are
-       described  in  PORTABILITY  sections  of  the  library man
+       A small number of local differences (that  is,  individual
+       differences  between the XSI Curses and ncurses calls) are
+       described in  PORTABILITY  sections  of  the  library  man
        pages.
 
+       Unlike  other  implementations, this one checks parameters
+       such as pointers to WINDOW structures to ensure  they  are
+       not  null.  The main reason for providing this behavior is
+       to guard against programmer error.  The standard interface
+       does not provide a way for the library to tell an applica-
+       tion which  of  several  possible  errors  were  detected.
+       Relying  on  this (or some other) extension will adversely
+       affect the portability of curses applications.
+
        This implementation also contains several extensions:
 
        o   The routine has_key is not part of  XPG4,  nor  is  it
@@ -1225,31 +1247,31 @@
 
        o   This  implementation can also be configured to provide
            a set of functions which improve the ability to manage
-           multiple screens.  See curs_sp_funcs(3x) for details.
+           multiple  screens.  See curs_sp_funcs(3x) for details.
 
-       In  historic curses versions, delays embedded in the capa-
+       In historic curses versions, delays embedded in the  capa-
        bilities cr, ind, cub1, ff and tab activated corresponding
-       delay  bits  in  the UNIX tty driver.  In this implementa-
-       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
+       delay bits in the UNIX tty driver.   In  this  implementa-
+       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.
 
 
 

NOTES

-       The  header  file  <curses.h>  automatically  includes the
+       The header  file  <curses.h>  automatically  includes  the
        header files <stdio.h> and <unctrl.h>.
 
-       If standard output from a ncurses program  is  re-directed
-       to  something  which  is not a tty, screen updates will be
+       If  standard  output from a ncurses program is re-directed
+       to something which is not a tty, screen  updates  will  be
        directed to standard error.  This was an undocumented fea-
        ture of AT&T System V Release 3 curses.
 
 
 

AUTHORS

-       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.