ncurses 6.2 - patch 20210515
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 16 May 2021 00:32:33 +0000 (00:32 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 16 May 2021 00:32:33 +0000 (00:32 +0000)
+ improve manual pages for wgetnstr, newwin (prompted by
  report/testcase by Bill Gray).
  is required for supporting the terminfo delay feature (report by

30 files changed:
NEWS
VERSION
dist.mk
doc/html/man/adacurses6-config.1.html
doc/html/man/captoinfo.1m.html
doc/html/man/clear.1.html
doc/html/man/curs_getstr.3x.html
doc/html/man/curs_window.3x.html
doc/html/man/form.3x.html
doc/html/man/infocmp.1m.html
doc/html/man/infotocap.1m.html
doc/html/man/menu.3x.html
doc/html/man/ncurses.3x.html
doc/html/man/ncurses6-config.1.html
doc/html/man/panel.3x.html
doc/html/man/tabs.1.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/curs_getstr.3x
man/curs_window.3x
package/debian-mingw/changelog
package/debian-mingw64/changelog
package/debian/changelog
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.spec
package/ncursest.spec

diff --git a/NEWS b/NEWS
index 16c3eabc725841abf49b8dfbf5503b2db29b73f8..33efc1eb5bb7e70831486a8cb11f087bcf0da7b2 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -26,7 +26,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3662 2021/05/08 23:37:13 tom Exp $
+-- $Id: NEWS,v 1.3665 2021/05/15 23:59:31 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -46,10 +46,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.
 
+20210515
+       + improve manual pages for wgetnstr, newwin (prompted by
+         report/testcase by Bill Gray).
+
 20210508
        + modify tputs' error check to allow it to be used without first
          calling tgetent or setupterm, noting that terminfo initialization
-         is requires for supporting the terminfo delay feature (report by
+         is required for supporting the terminfo delay feature (report by
          Sebastiano Vigna).
        + fix several warnings from clang --analyze
        + add null-pointer check in comp_parse.c, when a "use=" clause refers
diff --git a/VERSION b/VERSION
index 168b7e9d4a66562f53c29f0c48f9577f1aab5dfb..e425a978353645b368ccc81d2d4ef8b11ec88354 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:10 6.2     20210508
+5:0:10 6.2     20210515
diff --git a/dist.mk b/dist.mk
index 372897a356e8cc4f11349856e50cdbcaab72ba52..dd0fcf478c5ffc538c7a4433649a9760057605ba 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -26,7 +26,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: dist.mk,v 1.1414 2021/05/08 13:20:24 tom Exp $
+# $Id: dist.mk,v 1.1415 2021/05/15 09:37:23 tom Exp $
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
@@ -38,7 +38,7 @@ SHELL = /bin/sh
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 6
 NCURSES_MINOR = 2
-NCURSES_PATCH = 20210508
+NCURSES_PATCH = 20210515
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index 29bfeef60c61603aff517652c456f42896cfce9a..64d556b8b1a8a6829bbcaebcfb5dd41de39ec120 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
 
 
 
index 94db436c7fcb24c819d4ea02d7258a58c1b95640..bcbc758236f8be786f91f035277cd0dc2968345c 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></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 6.2 (patch 20210403).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 84038a534322fbe2a5c7d2fb9e7b25268d10df89..c08bcaf86a2b6f4766b27d2b39cb26f1fdff128e 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></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 6.2 (patch 20210403).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
 
 
 
index 5d8a2c0e5cc570a1bfce50e3f343dca0b09d145e..efca02f3275892b255437ebbb82375f05cd6d632 100644 (file)
@@ -1,6 +1,6 @@
 <!-- 
   ****************************************************************************
-  * Copyright 2018-2019,2020 Thomas E. Dickey                                *
+  * Copyright 2018-2020,2021 Thomas E. Dickey                                *
   * Copyright 1998-2010,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_getstr.3x,v 1.31 2020/10/18 00:27:44 tom Exp @
+  * @Id: curs_getstr.3x,v 1.32 2021/05/15 23:37:18 tom Exp @
   * X/Open says also until EOf
   * X/Open says then an EOS is added to the result
   * X/Open doesn't mention n&lt;0
        not included in the returned string).  The resulting value is placed in
        the area pointed to by the character pointer <EM>str</EM>, followed by a NUL.
 
-       <STRONG>wgetnstr</STRONG>  reads  at most <EM>n</EM> characters, thus preventing a possible over-
-       flow of the input buffer.  Any attempt to enter more characters  (other
-       than  the terminating newline or carriage return) causes a beep.  Func-
-       tion keys also cause a beep and  are  ignored.   The  <STRONG>getnstr</STRONG>  function
-       reads from the <EM>stdscr</EM> default window.
+       The  <STRONG>getnstr</STRONG>  function reads from the <EM>stdscr</EM> default window.  The other
+       functions, such as <STRONG>wgetnstr</STRONG>, read from the window given as a parameter.
 
-       The  user's  erase and kill characters are interpreted.  If keypad mode
-       is on for the window, <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG>  are  both  considered
-       equivalent to the user's kill character.
+       <STRONG>getnstr</STRONG> reads at most <EM>n</EM> characters, thus preventing a possible overflow
+       of  the input buffer.  Any attempt to enter more characters (other than
+       the terminating newline or carriage return) causes  a  beep.   Function
+       keys also cause a beep and are ignored.
 
-       Characters  input  are  echoed  only  if <STRONG>echo</STRONG> is currently on.  In that
-       case, backspace is echoed as deletion of the previous character  (typi-
+       The user's <EM>erase</EM> and <EM>kill</EM> characters are interpreted:
+
+       <STRONG>o</STRONG>   The  <EM>erase</EM>  character (e.g., <STRONG>^H</STRONG>) erases the character at the end of
+           the buffer, moving the cursor to the left.
+
+           If <EM>keypad</EM> mode is on for the window, <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are
+           both considered equivalent to the user's erase character.
+
+       <STRONG>o</STRONG>   The <EM>kill</EM> character (e.g., <STRONG>^U</STRONG>) erases the entire buffer, leaving the
+           cursor at the beginning of the buffer.
+
+       Characters input are echoed only if <STRONG>echo</STRONG>  is  currently  on.   In  that
+       case,  backspace is echoed as deletion of the previous character (typi-
        cally a left motion).
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4 speci-
-       fies only "an integer value other than <STRONG>ERR</STRONG>")  upon  successful  comple-
+       fies  only  "an  integer value other than <STRONG>ERR</STRONG>") upon successful comple-
        tion.
 
        X/Open defines no error conditions.
 
-       In  this  implementation, these functions return an error if the window
+       In this implementation, these functions return an error if  the  window
        pointer is null, or if its timeout expires without having any data.
 
-       This implementation provides an extension as well.  If a  <STRONG>SIGWINCH</STRONG>  in-
+       This  implementation  provides an extension as well.  If a <STRONG>SIGWINCH</STRONG> in-
        terrupts the function, it will return <STRONG>KEY_RESIZE</STRONG> rather than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>.
 
-       Functions  with  a  "mv"  prefix  first perform a cursor movement using
+       Functions with a "mv" prefix first  perform  a  cursor  movement  using
        <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
        the window pointer is null.
 
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions  are  described  in  the XSI Curses standard, Issue 4.
-       They read single-byte characters only.  The standard  does  not  define
-       any  error  conditions.   This implementation returns <STRONG>ERR</STRONG> if the window
+       These functions are described in the  XSI  Curses  standard,  Issue  4.
+       They  read  single-byte  characters only.  The standard does not define
+       any error conditions.  This implementation returns <STRONG>ERR</STRONG>  if  the  window
        pointer is null, or if the lower-level <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> call returns an <STRONG>ERR</STRONG>.
 
-       SVr3 and early SVr4 curses  implementations  did  not  reject  function
-       keys;  the  SVr4.0  documentation  claimed that "special keys" (such as
-       function keys, "home" key, "clear" key, <EM>etc</EM>.) are "interpreted",  with-
-       out  giving details.  It lied.  In fact, the "character" value appended
-       to the string by those implementations was predictable but  not  useful
+       SVr3  and  early  SVr4  curses  implementations did not reject function
+       keys; the SVr4.0 documentation claimed that  "special  keys"  (such  as
+       function  keys, "home" key, "clear" key, <EM>etc</EM>.) are "interpreted", with-
+       out giving details.  It lied.  In fact, the "character" value  appended
+       to  the  string by those implementations was predictable but not useful
        (being, in fact, the low-order eight bits of the key's KEY_ value).
 
-       The  functions  <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, and <STRONG>mvwgetnstr</STRONG> were present but not
+       The functions <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, and <STRONG>mvwgetnstr</STRONG> were present  but  not
        documented in SVr4.
 
        X/Open Curses, Issue 5 (2007) stated that these functions "read at most
-       <EM>n</EM>  bytes"  but  did not state whether the terminating NUL is counted in
-       that limit.  X/Open Curses, Issue 7 (2009) changed  that  to  say  they
+       <EM>n</EM> bytes" but did not state whether the terminating NUL  is  counted  in
+       that  limit.   X/Open  Curses,  Issue 7 (2009) changed that to say they
        "read at most <EM>n</EM>-1 bytes" to allow for the terminating NUL.  As of 2018,
        some implementations do, some do not count it:
 
-       <STRONG>o</STRONG>   ncurses 6.1 and PDCurses do not count the NUL in the  given  limit,
+       <STRONG>o</STRONG>   ncurses  6.1  and PDCurses do not count the NUL in the given limit,
            while
 
        <STRONG>o</STRONG>   Solaris SVr4 and NetBSD curses count the NUL as part of the limit.
 
-       <STRONG>o</STRONG>   Solaris  xcurses  provides  both:  its wide-character <STRONG>wget_nstr</STRONG> re-
+       <STRONG>o</STRONG>   Solaris xcurses provides both:  its  wide-character  <STRONG>wget_nstr</STRONG>  re-
            serves a NUL, but its <STRONG>wgetnstr</STRONG> does not count the NUL consistently.
 
        In SVr4 curses, a negative value of <EM>n</EM> tells <STRONG>wgetnstr</STRONG> to assume that the
-       caller's  buffer  is large enough to hold the result, i.e., to act like
-       <STRONG>wgetstr</STRONG>.  X/Open Curses does not mention this (or anything  related  to
-       negative  or  zero  values  of <EM>n</EM>), however most implementations use the
+       caller's buffer is large enough to hold the result, i.e., to  act  like
+       <STRONG>wgetstr</STRONG>.   X/Open  Curses does not mention this (or anything related to
+       negative or zero values of <EM>n</EM>), however  most  implementations  use  the
        feature, with different limits:
 
-       <STRONG>o</STRONG>   Solaris SVr4 curses and PDCurses limit the  result  to  255  bytes.
+       <STRONG>o</STRONG>   Solaris  SVr4  curses  and  PDCurses limit the result to 255 bytes.
            Other Unix systems than Solaris are likely to use the same limit.
 
        <STRONG>o</STRONG>   Solaris xcurses limits the result to <STRONG>LINE_MAX</STRONG> bytes.
 
-       <STRONG>o</STRONG>   NetBSD  7  assumes no particular limit for the result from <STRONG>wgetstr</STRONG>.
-           However, it limits the <STRONG>wgetnstr</STRONG> parameter <EM>n</EM> to ensure  that  it  is
+       <STRONG>o</STRONG>   NetBSD 7 assumes no particular limit for the result  from  <STRONG>wgetstr</STRONG>.
+           However,  it  limits  the <STRONG>wgetnstr</STRONG> parameter <EM>n</EM> to ensure that it is
            greater than zero.
 
-           A  comment in NetBSD's source code states that this is specified in
+           A comment in NetBSD's source code states that this is specified  in
            SUSv2.
 
-       <STRONG>o</STRONG>   ncurses (before 6.2) assumes no particular  limit  for  the  result
-           from  <STRONG>wgetstr</STRONG>,  and  treats  the  <EM>n</EM> parameter of <STRONG>wgetnstr</STRONG> like SVr4
+       <STRONG>o</STRONG>   ncurses  (before  6.2)  assumes  no particular limit for the result
+           from <STRONG>wgetstr</STRONG>, and treats the <EM>n</EM>  parameter  of  <STRONG>wgetnstr</STRONG>  like  SVr4
            curses.
 
-       <STRONG>o</STRONG>   ncurses 6.2 uses <STRONG>LINE_MAX</STRONG>, or  a  larger  (system-dependent)  value
-           which  the  <STRONG>sysconf</STRONG>  function  may provide.  If neither <STRONG>LINE_MAX</STRONG> or
-           <STRONG>sysconf</STRONG> is available, ncurses uses the POSIX value for <STRONG>LINE_MAX</STRONG>  (a
-           2048  byte limit).  In either case, it reserves a byte for the ter-
+       <STRONG>o</STRONG>   ncurses  6.2  uses  <STRONG>LINE_MAX</STRONG>,  or a larger (system-dependent) value
+           which the <STRONG>sysconf</STRONG> function may provide.   If  neither  <STRONG>LINE_MAX</STRONG>  or
+           <STRONG>sysconf</STRONG>  is available, ncurses uses the POSIX value for <STRONG>LINE_MAX</STRONG> (a
+           2048 byte limit).  In either case, it reserves a byte for the  ter-
            minating NUL.
 
+       Although  <STRONG>getnstr</STRONG>  is equivalent to a series of calls to <STRONG>getch</STRONG>, it also
+       makes changes to the curses modes to allow simple editing of the  input
+       buffer:
+
+       <STRONG>o</STRONG>   <STRONG>getnstr</STRONG>  saves  the  current  value of the <STRONG>nl</STRONG>, <STRONG>echo</STRONG>, <STRONG>raw</STRONG> and <STRONG>cbreak</STRONG>
+           modes, and sets <STRONG>nl</STRONG>, <STRONG>noecho</STRONG>, <STRONG>noraw</STRONG>, and <STRONG>cbreak</STRONG>.
+
+           <STRONG>getnstr</STRONG> handles the echoing of characters, rather than  relying  on
+           the caller to set an appropriate mode.
+
+       <STRONG>o</STRONG>   It  also  obtains  the <EM>erase</EM> and <EM>kill</EM> characters from <STRONG>erasechar</STRONG> and
+           <STRONG>killchar</STRONG>, respectively.
+
+       <STRONG>o</STRONG>   On return, <STRONG>getnstr</STRONG> restores the modes to their previous values.
+
+       Other implementations differ.  While they may set the <EM>echo</EM>  mode,  they
+       do  not  modify  the  <EM>raw</EM> mode, and may take the <EM>cbreak</EM> mode set by the
+       caller into account when deciding  whether  to  handle  echoing  within
+       <STRONG>getnstr</STRONG>  or  as a side-effect of the <STRONG>getch</STRONG> calls.  Because ncurses sets
+       these modes, its signal handlers for INTR and QUIT (e.g., <STRONG>^C</STRONG> or <STRONG>^\</STRONG>) may
+       catch  a signal and stop the program, where other implementations allow
+       one to enter those characters in the buffer.
+
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
 
 
 
index 786ca4f93fe95c8e32df62d7a9471de7ce52fc8b..ad14905b76a51dd122a130382abb85ecc4cadfa7 100644 (file)
@@ -1,6 +1,6 @@
 <!-- 
   ****************************************************************************
-  * Copyright 2020 Thomas E. Dickey                                          *
+  * Copyright 2020,2021 Thomas E. Dickey                                     *
   * Copyright 1998-2015,2016 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_window.3x,v 1.21 2020/02/02 23:34:34 tom Exp @
+  * @Id: curs_window.3x,v 1.22 2021/05/15 23:57:14 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 
        A new full-screen window is created by calling <STRONG>newwin(0,0,0,0)</STRONG>.
 
+       Regardless of the function  used  for  creating  a  new  window  (e.g.,
+       <STRONG>newwin</STRONG>, <STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>newpad</STRONG>), rather than a duplicate (with <STRONG>dupwin</STRONG>),
+       all of the window modes are initialized to the default  values.   These
+       functions set window modes after a window is created:
+
+              idcok, idlok, immedok, keypad, leaveok, nodelay, scrollok,
+              setscrreg, syncok, wbkgdset, wbkgrndset, and wtimeout
+
 
 </PRE><H3><a name="h3-delwin">delwin</a></H3><PRE>
        Calling <STRONG>delwin</STRONG> deletes the named window, freeing all memory  associated
index 22bcb8f563e2c75eeaf102e10b1c1df70f2afb81..df81cd50800c2bbe4f3ef36997351add22a153d9 100644 (file)
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names  begin  "form_"  for  detailed
        descriptions of the entry points.
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
 
 
 
index ebc65762bcc878a75f25f6076f55fae0d5ad1b24..4ecba86d5a26272f55b2993c2702311e858932c7 100644 (file)
 
        https://invisible-island.net/ncurses/tctest.html
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 9660eca547cacf5aa94d2480b8624d3ae4865608..2542d9f7a1b64aeb6dfc38add08f2ba36619d30b 100644 (file)
@@ -91,7 +91,7 @@
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(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 6.2 (patch 20210403).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 224bbbe6b55ec3bf72a0ba4f076baf489f3a7da2..f68443e2037d4410915932a30954515d89c0cc81 100644 (file)
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names  begin  "menu_"  for  detailed
        descriptions of the entry points.
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
 
 
 
index bb6348344a97d777688b1fced42221b7b5c774f2..bfb84f38a31a1e99a321c90a42460746418eeca1 100644 (file)
@@ -60,7 +60,7 @@
        method of updating  character  screens  with  reasonable  optimization.
        This  implementation  is  "new  curses"  (ncurses)  and is the approved
        replacement for 4.4BSD classic curses,  which  has  been  discontinued.
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
 
        The  <STRONG>ncurses</STRONG>  library emulates the curses library of System V Release 4
        UNIX, and XPG4 (X/Open Portability Guide) curses  (also  known  as  XSI
index a9622620697e6cbd487e5eb73dedb42d68f33e3f..428959e4d952a5cc2b8da2690193a61874a9eeec 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
 
 
 
index 3822105322cc1bf47ca6f57d48db4ef28dd92773..f69e23b4c336729868d824b4869139fb1f7b702a 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 4355d49981425ec4dce3554afe4b9fe124cc0a6e..f49d6d1cdb4f5a79f060dec4c1372f2e97ac14c4 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</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 6.2 (patch 20210403).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
 
 
 
index 4f93c173ef5d7e6229ce87b450525c0f21188ac4..a10ea2f2f1ed2291907b7e427f3e8358cff81b22 100644 (file)
        have, by specifying how to perform screen operations, and by specifying
        padding requirements and initialization sequences.
 
-       This manual describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
+       This manual describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
 
 
 </PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
index e2919ced7e7115de51ecada89bc3269f3fecca22..2bf4f51a26a8aba9782d6ebdb7c19de4ad39b1b9 100644 (file)
        <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   <STRONG><A HREF="infocmp.1m.html">infocmp(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="term.5.html">term(5)</A></STRONG>.  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.  <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 7325fab9be05f88a7d6610079da2736f0fcc47dc..8edd0ce3b8a888f77f0e5f0e22bdaec65334d4f9 100644 (file)
        <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   <STRONG><A HREF="infocmp.1m.html">infocmp(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="ncurses.3x.html">curses(3x)</A></STRONG>,
        <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
 
 
 
index bd3ff9b1977a0f16856e3a2df25468c602a9b1b1..98234a9ccbae0ac68d869327aa9b8e558e22f8d0 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
 
 
 
index 465fb5962859ef06b0142122ccaf22bb448c6410..db6272e13ce1257734e73b0be07d263d7c4cf471 100644 (file)
        <STRONG>csh(1)</STRONG>,   <STRONG>sh(1)</STRONG>,   <STRONG>stty(1)</STRONG>,   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,  <STRONG>tty(4)</STRONG>,  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
        <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210515).
 
 
 
index baf56967263e5196f298e98d8cf976f742bc6a2b..1579449522232d23b241d99e8057e512905cc477 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright 2018-2019,2020 Thomas E. Dickey                                *
+.\" Copyright 2018-2020,2021 Thomas E. Dickey                                *
 .\" Copyright 1998-2010,2017 Free Software Foundation, Inc.                  *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_getstr.3x,v 1.31 2020/10/18 00:27:44 tom Exp $
+.\" $Id: curs_getstr.3x,v 1.32 2021/05/15 23:37:18 tom Exp $
 .TH curs_getstr 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -80,19 +80,29 @@ The resulting value is placed in the
 area pointed to by the character pointer \fIstr\fR,
 followed by a NUL.
 .PP
-\fBwgetnstr\fR reads at most \fIn\fR characters, thus preventing a possible
+The \fBgetnstr\fR function reads
+from the \fIstdscr\fR default window.
+The other functions, such as \fBwgetnstr\fP,
+read from the window given as a parameter.
+.PP
+\fBgetnstr\fR reads at most \fIn\fR characters, thus preventing a possible
 overflow of the input buffer.
 Any attempt to enter more characters (other
 than the terminating newline or carriage return) causes a beep.
 Function
 keys also cause a beep and are ignored.
-The \fBgetnstr\fR function reads
-from the \fIstdscr\fR default window.
 .PP
-The user's erase and kill characters are interpreted.
-If keypad
-mode is on for the window, \fBKEY_LEFT\fR and \fBKEY_BACKSPACE\fR
-are both considered equivalent to the user's kill character.
+The user's \fIerase\fP and \fIkill\fP characters are interpreted:
+.bP
+The \fIerase\fP character (e.g., \fB^H\fP) erases the character
+at the end of the buffer, moving the cursor to the left.
+.IP
+If \fIkeypad\fP mode is on for the window,
+\fBKEY_LEFT\fR and \fBKEY_BACKSPACE\fR
+are both considered equivalent to the user's erase character.
+.bP
+The \fIkill\fP character (e.g., \fB^U\fP) erases the entire buffer,
+leaving the cursor at the beginning of the buffer.
 .PP
 Characters input are echoed only if \fBecho\fR is currently on.
 In that case,
@@ -187,7 +197,37 @@ which the \fBsysconf\fP function may provide.
 If neither \fBLINE_MAX\fP or \fBsysconf\fP is available,
 ncurses uses the POSIX value for \fBLINE_MAX\fP (a 2048 byte limit).
 In either case, it reserves a byte for the terminating NUL.
+.PP
+Although \fBgetnstr\fP is equivalent to a series of calls to \fBgetch\fP,
+it also makes changes to the curses modes to allow simple editing of
+the input buffer:
+.bP
+\fBgetnstr\fP saves the current value of the \fBnl\fP, \fBecho\fP,
+\fBraw\fP and \fBcbreak\fP modes, and sets
+\fBnl\fP,
+\fBnoecho\fP,
+\fBnoraw\fP, and
+\fBcbreak\fP.
+.IP
+\fBgetnstr\fP handles the echoing of characters,
+rather than relying on the caller to set an appropriate mode.
+.bP
+It also obtains the \fIerase\fP and \fIkill\fP characters
+from \fBerasechar\fP and \fBkillchar\fP, respectively.
+.bP
+On return, \fBgetnstr\fP restores the modes to their previous values.
+.PP
+Other implementations differ.
+While they may set the \fIecho\fP mode,
+they do not modify the \fIraw\fP mode, and may take the \fIcbreak\fP
+mode set by the caller into account when deciding whether to handle
+echoing within \fBgetnstr\fP or as a side-effect of the \fBgetch\fP calls.
+Because ncurses sets these modes,
+its signal handlers for INTR and QUIT
+(e.g., \fB^C\fP or \fB^\\\fP) may catch a signal and stop the program,
+where other implementations allow one to enter those characters in the buffer.
 .SH SEE ALSO
 \fBcurses\fR(3X),
 \fBcurs_getch\fR(3X),
+\fBcurs_termattrs\fR(3X),
 \fBcurs_variables\fR(3X).
index 77cbffa723e64346ccf3e5bfeaebf3beac18bbf0..66d7297937cc39fc73f97c8c68e3e8898e1f9eb5 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright 2020 Thomas E. Dickey                                          *
+.\" Copyright 2020,2021 Thomas E. Dickey                                     *
 .\" Copyright 1998-2015,2016 Free Software Foundation, Inc.                  *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_window.3x,v 1.21 2020/02/02 23:34:34 tom Exp $
+.\" $Id: curs_window.3x,v 1.22 2021/05/15 23:57:14 tom Exp $
 .TH curs_window 3X ""
+.de bP
+.ie n  .IP \(bu 4
+.el    .IP \(bu 2
+..
 .na
 .hy 0
 .SH NAME
@@ -97,6 +101,29 @@ If either
 .RE
 .PP
 A new full-screen window is created by calling \fBnewwin(0,0,0,0)\fR.
+.PP
+Regardless of the function used for creating a new window
+(e.g., \fBnewwin\fP, \fBsubwin\fP, \fBderwin\fP, \fBnewpad\fP),
+rather than a duplicate (with \fBdupwin\fP),
+all of the window modes are initialized to the default values.
+These functions set window modes after a window is created:
+.RS
+.na
+.PP
+idcok,
+idlok,
+immedok,
+keypad,
+leaveok,
+nodelay,
+scrollok,
+setscrreg,                
+syncok,
+wbkgdset,
+wbkgrndset, and
+wtimeout
+.RE
+.ad
 .SS delwin
 .PP
 Calling \fBdelwin\fR deletes the named window, freeing all memory
index 91c778f85743cc1960480427e3af3aac097eceb3..58b6e102d5e6783175b2194c1587d9b901fbfda1 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.2+20210508) unstable; urgency=low
+ncurses6 (6.2+20210515) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 08 May 2021 09:20:24 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 15 May 2021 05:37:23 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index 91c778f85743cc1960480427e3af3aac097eceb3..58b6e102d5e6783175b2194c1587d9b901fbfda1 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.2+20210508) unstable; urgency=low
+ncurses6 (6.2+20210515) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 08 May 2021 09:20:24 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 15 May 2021 05:37:23 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index c78ce2e71ebc4662463d9c84f8f7747ac6dab669..c8d8acd98316b444321bebe7ea1ad293591ba0a3 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.2+20210508) unstable; urgency=low
+ncurses6 (6.2+20210515) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 08 May 2021 09:20:24 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 15 May 2021 05:37:23 -0400
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
index 90a791dcce6a930fac6551ff95ce5cac559c50d5..27228adfe6e5f4234c57cc2402ce24857dfec616 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.457 2021/05/08 13:20:24 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.458 2021/05/15 09:37:23 tom Exp $\r
 \r
 ; TODO add examples\r
 ; TODO bump ABI to 6\r
@@ -10,7 +10,7 @@
 !define VERSION_MAJOR "6"\r
 !define VERSION_MINOR "2"\r
 !define VERSION_YYYY  "2021"\r
-!define VERSION_MMDD  "0508"\r
+!define VERSION_MMDD  "0515"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
index 4bd7e182c3b9e96ecf0e1e48bad052e2142fca79..1c31248bcbdbcc5a38653c1c086592e6383830b5 100644 (file)
@@ -3,7 +3,7 @@
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 6.2
-Release: 20210508
+Release: 20210515
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index a8753c49f943af52dccfe271249691c115546e4a..57b0bca355714c471ccf894a72ac03dc4048aa9c 100644 (file)
@@ -1,7 +1,7 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 6.2
-Release: 20210508
+Release: 20210515
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index 1bc1937d86e9ece3aa6f19660ca4645f7a5cf945..7a09666bb73df6e841bc5c43de1ee27d9f3c4f7f 100644 (file)
@@ -1,7 +1,7 @@
 Summary: Curses library with POSIX thread support.
 Name: ncursest6
 Version: 6.2
-Release: 20210508
+Release: 20210515
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz