From 7884aa084f9440fd964f14fe31853a5f85db5104 Mon Sep 17 00:00:00 2001 From: "Thomas E. Dickey" Date: Sun, 25 Oct 2020 01:07:10 +0000 Subject: [PATCH] ncurses 6.2 - patch 20201024 + provide workaround configure-check for bool when cross-compiling. + fix a potential indexing error in _nc_parse_entry(), seen with Herlim's test data using address-sanitizer. + change a null-pointer check in set_curterm to a valid-string check, needed in to tic's use-resolution work pad_char is cancelled (report/testcase by Robert Sebastian Herlim) + improve tic's -c option to validate the number and type of parameters and compare against expected number/type before deciding which set of parameter-lists to use in tparm calls (report/testcase by Robert Sebastian Herlim). + fix a link for tabs.1 manpage in announce.html.in (report by Nick Black), as well as some fixes via linklint. --- NEWS | 16 +- VERSION | 2 +- aclocal.m4 | 44 +- announce.html.in | 10 +- configure | 1554 +++++++++++++++++------ dist.mk | 4 +- doc/html/announce.html | 11 +- doc/html/man/adacurses6-config.1.html | 2 +- doc/html/man/captoinfo.1m.html | 2 +- doc/html/man/clear.1.html | 2 +- doc/html/man/curs_addch.3x.html | 14 +- doc/html/man/curs_clear.3x.html | 10 +- doc/html/man/curs_color.3x.html | 20 +- doc/html/man/curs_delch.3x.html | 8 +- doc/html/man/curs_extend.3x.html | 4 +- doc/html/man/curs_getyx.3x.html | 10 +- doc/html/man/curs_inopts.3x.html | 20 +- doc/html/man/curs_move.3x.html | 6 +- doc/html/man/curs_opaque.3x.html | 32 +- doc/html/man/curs_print.3x.html | 4 +- doc/html/man/curs_printw.3x.html | 14 +- doc/html/man/curs_refresh.3x.html | 11 +- doc/html/man/curs_scanw.3x.html | 15 +- doc/html/man/curs_scr_dump.3x.html | 10 +- doc/html/man/curs_scroll.3x.html | 9 +- doc/html/man/curs_sp_funcs.3x.html | 5 +- doc/html/man/curs_termcap.3x.html | 14 +- doc/html/man/curs_threads.3x.html | 26 +- doc/html/man/curs_touch.3x.html | 18 +- doc/html/man/curs_util.3x.html | 20 +- doc/html/man/default_colors.3x.html | 4 +- doc/html/man/define_key.3x.html | 4 +- doc/html/man/form.3x.html | 2 +- doc/html/man/form_field.3x.html | 10 +- doc/html/man/form_field_buffer.3x.html | 14 +- doc/html/man/form_field_new.3x.html | 14 +- doc/html/man/form_field_userptr.3x.html | 6 +- doc/html/man/form_fieldtype.3x.html | 36 +- doc/html/man/form_new.3x.html | 6 +- doc/html/man/form_requestname.3x.html | 6 +- doc/html/man/form_userptr.3x.html | 6 +- doc/html/man/infocmp.1m.html | 2 +- doc/html/man/infotocap.1m.html | 2 +- doc/html/man/menu.3x.html | 2 +- doc/html/man/menu_items.3x.html | 8 +- doc/html/man/menu_mark.3x.html | 6 +- doc/html/man/menu_new.3x.html | 6 +- doc/html/man/ncurses.3x.html | 2 +- doc/html/man/ncurses6-config.1.html | 2 +- doc/html/man/panel.3x.html | 2 +- doc/html/man/tabs.1.html | 2 +- doc/html/man/terminfo.5.html | 2 +- doc/html/man/tic.1m.html | 2 +- doc/html/man/toe.1m.html | 2 +- doc/html/man/tput.1.html | 2 +- doc/html/man/tset.1.html | 2 +- man/curs_addch.3x | 14 +- man/curs_clear.3x | 10 +- man/curs_color.3x | 20 +- man/curs_delch.3x | 8 +- man/curs_extend.3x | 4 +- man/curs_getyx.3x | 10 +- man/curs_inopts.3x | 20 +- man/curs_move.3x | 6 +- man/curs_opaque.3x | 32 +- man/curs_print.3x | 4 +- man/curs_printw.3x | 14 +- man/curs_refresh.3x | 12 +- man/curs_scanw.3x | 16 +- man/curs_scr_dump.3x | 10 +- man/curs_scroll.3x | 10 +- man/curs_sp_funcs.3x | 3 +- man/curs_termcap.3x | 14 +- man/curs_threads.3x | 14 +- man/curs_touch.3x | 22 +- man/curs_util.3x | 20 +- man/default_colors.3x | 4 +- man/define_key.3x | 4 +- man/form_field.3x | 10 +- man/form_field_buffer.3x | 16 +- man/form_field_new.3x | 14 +- man/form_field_userptr.3x | 6 +- man/form_fieldtype.3x | 32 +- man/form_new.3x | 6 +- man/form_requestname.3x | 6 +- man/form_userptr.3x | 6 +- man/menu_items.3x | 8 +- man/menu_mark.3x | 6 +- man/menu_new.3x | 6 +- ncurses/tinfo/lib_cur_term.c | 7 +- ncurses/tinfo/parse_entry.c | 10 +- package/debian-mingw/changelog | 4 +- package/debian-mingw64/changelog | 4 +- package/debian/changelog | 4 +- package/mingw-ncurses.nsi | 4 +- package/mingw-ncurses.spec | 2 +- package/ncurses.spec | 2 +- package/ncursest.spec | 2 +- progs/tic.c | 18 +- progs/tparm_type.c | 30 +- progs/tparm_type.h | 6 +- progs/tput.c | 4 +- 102 files changed, 1701 insertions(+), 852 deletions(-) diff --git a/NEWS b/NEWS index 70c9e04f..13e01a38 100644 --- a/NEWS +++ b/NEWS @@ -26,7 +26,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: NEWS,v 1.3578 2020/10/18 00:46:11 tom Exp $ +-- $Id: NEWS,v 1.3583 2020/10/24 22:43:10 tom Exp $ ------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started @@ -46,6 +46,20 @@ 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. +20201024 + + provide workaround configure-check for bool when cross-compiling. + + fix a potential indexing error in _nc_parse_entry(), seen with + Herlim's test data using address-sanitizer. + + change a null-pointer check in set_curterm to a valid-string check, + needed in to tic's use-resolution work pad_char is cancelled + (report/testcase by Robert Sebastian Herlim) + + improve tic's -c option to validate the number and type of parameters + and compare against expected number/type before deciding which set of + parameter-lists to use in tparm calls (report/testcase by Robert + Sebastian Herlim). + + fix a link for tabs.1 manpage in announce.html.in (report by Nick + Black), as well as some fixes via linklint. + 20201017 + improve manpage typography. + improve discussion in curs_addch.3x of the use of unctrl to display diff --git a/VERSION b/VERSION index a232778d..5af559b7 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5:0:10 6.2 20201017 +5:0:10 6.2 20201024 diff --git a/aclocal.m4 b/aclocal.m4 index 9d6f1e56..9808061a 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -29,7 +29,7 @@ dnl*************************************************************************** dnl dnl Author: Thomas E. Dickey 1995-on dnl -dnl $Id: aclocal.m4,v 1.933 2020/09/26 23:57:07 tom Exp $ +dnl $Id: aclocal.m4,v 1.935 2020/10/24 23:49:51 tom Exp $ dnl Macros used in NCURSES auto-configuration script. dnl dnl These macros are maintained separately from NCURSES. The copyright on @@ -604,7 +604,7 @@ else AC_MSG_RESULT(no) fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_BOOL_SIZE version: 15 updated: 2017/01/21 11:06:25 +dnl CF_BOOL_SIZE version: 17 updated: 2020/10/24 19:48:55 dnl ------------ dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type). dnl Don't bother looking for bool.h, since it's been deprecated. @@ -613,8 +613,30 @@ dnl If the current compiler is C rather than C++, we get the bool definition dnl from . AC_DEFUN([CF_BOOL_SIZE], [ -AC_MSG_CHECKING([for size of bool]) -AC_CACHE_VAL(cf_cv_type_of_bool,[ +AC_CHECK_SIZEOF(bool,,[ +#include +#include + +#if defined(__cplusplus) + +#ifdef HAVE_GXX_BUILTIN_H +#include +#elif HAVE_GPP_BUILTIN_H +#include +#elif HAVE_BUILTIN_H +#include +#endif + +#else + +#if $cf_cv_header_stdbool_h +#include +#endif + +#endif +]) + +AC_CACHE_CHECK(for type of bool, cf_cv_type_of_bool,[ rm -f cf_test.out AC_TRY_RUN([ #include @@ -659,10 +681,18 @@ int main(void) cf_cv_type_of_bool=unknown fi], [cf_cv_type_of_bool=unknown], - [cf_cv_type_of_bool=unknown]) - ]) + [ + case x$ac_cv_sizeof_bool in + (x1) cf_cv_type_of_bool="unsigned char";; + (x2) cf_cv_type_of_bool="unsigned short";; + (x4) cf_cv_type_of_bool="unsigned int";; + (x8) cf_cv_type_of_bool="unsigned long";; + (*) cf_cv_type_of_bool=unknown;; + esac + ]) rm -f cf_test.out -AC_MSG_RESULT($cf_cv_type_of_bool) +]) + if test "$cf_cv_type_of_bool" = unknown ; then case .$NCURSES_BOOL in (.auto|.) NCURSES_BOOL=unsigned;; diff --git a/announce.html.in b/announce.html.in index 2ac7d7d7..84b9d429 100644 --- a/announce.html.in +++ b/announce.html.in @@ -1,5 +1,5 @@ @@ -55,13 +55,13 @@

SYNOPSIS

        #include <curses.h>
 
-       int addch(const chtype ch);
-       int waddch(WINDOW *win, const chtype ch);
-       int mvaddch(int y, int x, const chtype ch);
-       int mvwaddch(WINDOW *win, int y, int x, const chtype ch);
+       int addch(const chtype ch);
+       int waddch(WINDOW *win, const chtype ch);
+       int mvaddch(int y, int x, const chtype ch);
+       int mvwaddch(WINDOW *win, int y, int x, const chtype ch);
 
-       int echochar(const chtype ch);
-       int wechochar(WINDOW *win, const chtype ch);
+       int echochar(const chtype ch);
+       int wechochar(WINDOW *win, const chtype ch);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/curs_clear.3x.html b/doc/html/man/curs_clear.3x.html
index 3a1236f8..bf7fa0a2 100644
--- a/doc/html/man/curs_clear.3x.html
+++ b/doc/html/man/curs_clear.3x.html
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_clear.3x,v 1.19 2020/10/03 21:43:37 tom Exp @
+  * @Id: curs_clear.3x,v 1.20 2020/10/24 09:19:37 tom Exp @
 -->
 
 
@@ -55,16 +55,16 @@
        #include <curses.h>
 
        int erase(void);
-       int werase(WINDOW *win);
+       int werase(WINDOW *win);
 
        int clear(void);
-       int wclear(WINDOW *win);
+       int wclear(WINDOW *win);
 
        int clrtobot(void);
-       int wclrtobot(WINDOW *win);
+       int wclrtobot(WINDOW *win);
 
        int clrtoeol(void);
-       int wclrtoeol(WINDOW *win);
+       int wclrtoeol(WINDOW *win);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/curs_color.3x.html b/doc/html/man/curs_color.3x.html
index 591ed408..aae55777 100644
--- a/doc/html/man/curs_color.3x.html
+++ b/doc/html/man/curs_color.3x.html
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_color.3x,v 1.62 2020/02/02 23:34:34 tom Exp @
+  * @Id: curs_color.3x,v 1.63 2020/10/24 09:35:23 tom Exp @
 -->
 
 
@@ -61,22 +61,22 @@
        bool has_colors(void);
        bool can_change_color(void);
 
-       int init_pair(short pair, short f, short b);
-       int init_color(short color, short r, short g, short b);
+       int init_pair(short pair, short f, short b);
+       int init_color(short color, short r, short g, short b);
        /* extensions */
-       int init_extended_pair(int pair, int f, int b);
-       int init_extended_color(int color, int r, int g, int b);
+       int init_extended_pair(int pair, int f, int b);
+       int init_extended_color(int color, int r, int g, int b);
 
-       int color_content(short color, short *r, short *g, short *b);
-       int pair_content(short pair, short *f, short *b);
+       int color_content(short color, short *r, short *g, short *b);
+       int pair_content(short pair, short *f, short *b);
        /* extensions */
-       int extended_color_content(int color, int *r, int *g, int *b);
-       int extended_pair_content(int pair, int *f, int *b);
+       int extended_color_content(int color, int *r, int *g, int *b);
+       int extended_pair_content(int pair, int *f, int *b);
 
        /* extensions */
        void reset_color_pairs(void);
 
-       int COLOR_PAIR(int n);
+       int COLOR_PAIR(int n);
        PAIR_NUMBER(attrs);
 
 
diff --git a/doc/html/man/curs_delch.3x.html b/doc/html/man/curs_delch.3x.html
index 341efbfb..541f0ce4 100644
--- a/doc/html/man/curs_delch.3x.html
+++ b/doc/html/man/curs_delch.3x.html
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_delch.3x,v 1.14 2020/02/02 23:34:34 tom Exp @
+  * @Id: curs_delch.3x,v 1.15 2020/10/24 09:36:43 tom Exp @
 -->
 
 
@@ -55,9 +55,9 @@
        #include <curses.h>
 
        int delch(void);
-       int wdelch(WINDOW *win);
-       int mvdelch(int y, int x);
-       int mvwdelch(WINDOW *win, int y, int x);
+       int wdelch(WINDOW *win);
+       int mvdelch(int y, int x);
+       int mvwdelch(WINDOW *win, int y, int x);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/curs_extend.3x.html b/doc/html/man/curs_extend.3x.html
index b37889aa..e8117399 100644
--- a/doc/html/man/curs_extend.3x.html
+++ b/doc/html/man/curs_extend.3x.html
@@ -28,7 +28,7 @@
   * authorization.                                                           *
   ****************************************************************************
   * Author: Thomas E. Dickey 1999-on
-  * @Id: curs_extend.3x,v 1.23 2020/02/02 23:34:34 tom Exp @
+  * @Id: curs_extend.3x,v 1.24 2020/10/24 09:37:07 tom Exp @
 -->
 
 
@@ -55,7 +55,7 @@
        #include <curses.h>
 
        const char * curses_version(void);
-       int use_extended_names(bool enable);
+       int use_extended_names(bool enable);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/curs_getyx.3x.html b/doc/html/man/curs_getyx.3x.html
index 994e0f7f..7f098479 100644
--- a/doc/html/man/curs_getyx.3x.html
+++ b/doc/html/man/curs_getyx.3x.html
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_getyx.3x,v 1.19 2020/02/02 23:34:34 tom Exp @
+  * @Id: curs_getyx.3x,v 1.20 2020/10/24 09:38:43 tom Exp @
 -->
 
 
@@ -54,10 +54,10 @@
 

SYNOPSIS

        #include <curses.h>
 
-       void getyx(WINDOW *win, int y, int x);
-       void getparyx(WINDOW *win, int y, int x);
-       void getbegyx(WINDOW *win, int y, int x);
-       void getmaxyx(WINDOW *win, int y, int x);
+       void getyx(WINDOW *win, int y, int x);
+       void getparyx(WINDOW *win, int y, int x);
+       void getbegyx(WINDOW *win, int y, int x);
+       void getmaxyx(WINDOW *win, int y, int x);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/curs_inopts.3x.html b/doc/html/man/curs_inopts.3x.html
index a468d00a..7d4d049b 100644
--- a/doc/html/man/curs_inopts.3x.html
+++ b/doc/html/man/curs_inopts.3x.html
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_inopts.3x,v 1.31 2020/10/03 21:54:26 tom Exp @
+  * @Id: curs_inopts.3x,v 1.32 2020/10/24 09:18:33 tom Exp @
 -->
 
 
@@ -61,11 +61,11 @@
        int echo(void);
        int noecho(void);
 
-       int intrflush(WINDOW *win, bool bf);
-       int keypad(WINDOW *win, bool bf);
-       int meta(WINDOW *win, bool bf);
-       int nodelay(WINDOW *win, bool bf);
-       int notimeout(WINDOW *win, bool bf);
+       int intrflush(WINDOW *win, bool bf);
+       int keypad(WINDOW *win, bool bf);
+       int meta(WINDOW *win, bool bf);
+       int nodelay(WINDOW *win, bool bf);
+       int notimeout(WINDOW *win, bool bf);
 
        int nl(void);
        int nonl(void);
@@ -76,11 +76,11 @@
        void qiflush(void);
        void noqiflush(void);
 
-       int halfdelay(int tenths);
-       void timeout(int delay);
-       void wtimeout(WINDOW *win, int delay);
+       int halfdelay(int tenths);
+       void timeout(int delay);
+       void wtimeout(WINDOW *win, int delay);
 
-       int typeahead(int fd);
+       int typeahead(int fd);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/curs_move.3x.html b/doc/html/man/curs_move.3x.html
index fcdbd402..7b933601 100644
--- a/doc/html/man/curs_move.3x.html
+++ b/doc/html/man/curs_move.3x.html
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_move.3x,v 1.18 2020/02/02 23:34:34 tom Exp @
+  * @Id: curs_move.3x,v 1.19 2020/10/24 09:39:41 tom Exp @
 -->
 
 
@@ -53,8 +53,8 @@
 

SYNOPSIS

        #include <curses.h>
 
-       int move(int y, int x);
-       int wmove(WINDOW *win, int y, int x);
+       int move(int y, int x);
+       int wmove(WINDOW *win, int y, int x);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/curs_opaque.3x.html b/doc/html/man/curs_opaque.3x.html
index cc6909e3..6a1fcdfd 100644
--- a/doc/html/man/curs_opaque.3x.html
+++ b/doc/html/man/curs_opaque.3x.html
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_opaque.3x,v 1.14 2020/02/02 23:34:34 tom Exp @
+  * @Id: curs_opaque.3x,v 1.15 2020/10/24 09:41:22 tom Exp @
 -->
 
 
@@ -55,21 +55,21 @@
 

SYNOPSIS

        #include <curses.h>
 
-       bool is_cleared(const WINDOW *win);
-       bool is_idcok(const WINDOW *win);
-       bool is_idlok(const WINDOW *win);
-       bool is_immedok(const WINDOW *win);
-       bool is_keypad(const WINDOW *win);
-       bool is_leaveok(const WINDOW *win);
-       bool is_nodelay(const WINDOW *win);
-       bool is_notimeout(const WINDOW *win);
-       bool is_pad(const WINDOW *win);
-       bool is_scrollok(const WINDOW *win);
-       bool is_subwin(const WINDOW *win);
-       bool is_syncok(const WINDOW *win);
-       WINDOW * wgetparent(const WINDOW *win);
-       int wgetdelay(const WINDOW *win);
-       int wgetscrreg(const WINDOW *win, int *top, int *bottom);
+       bool is_cleared(const WINDOW *win);
+       bool is_idcok(const WINDOW *win);
+       bool is_idlok(const WINDOW *win);
+       bool is_immedok(const WINDOW *win);
+       bool is_keypad(const WINDOW *win);
+       bool is_leaveok(const WINDOW *win);
+       bool is_nodelay(const WINDOW *win);
+       bool is_notimeout(const WINDOW *win);
+       bool is_pad(const WINDOW *win);
+       bool is_scrollok(const WINDOW *win);
+       bool is_subwin(const WINDOW *win);
+       bool is_syncok(const WINDOW *win);
+       WINDOW * wgetparent(const WINDOW *win);
+       int wgetdelay(const WINDOW *win);
+       int wgetscrreg(const WINDOW *win, int *top, int *bottom);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/curs_print.3x.html b/doc/html/man/curs_print.3x.html
index d5a9a55e..40e5084f 100644
--- a/doc/html/man/curs_print.3x.html
+++ b/doc/html/man/curs_print.3x.html
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_print.3x,v 1.15 2020/03/28 19:06:28 tom Exp @
+  * @Id: curs_print.3x,v 1.16 2020/10/24 09:25:14 tom Exp @
 -->
 
 
@@ -53,7 +53,7 @@
 

SYNOPSIS

        #include <curses.h>
 
-       int mcprint(char *data, int len);
+       int mcprint(char *data, int len);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/curs_printw.3x.html b/doc/html/man/curs_printw.3x.html
index 9ee58d47..9dfc5780 100644
--- a/doc/html/man/curs_printw.3x.html
+++ b/doc/html/man/curs_printw.3x.html
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_printw.3x,v 1.27 2020/07/10 23:06:23 William.Pursell Exp @
+  * @Id: curs_printw.3x,v 1.28 2020/10/24 09:22:45 tom Exp @
 -->
 
 
@@ -54,14 +54,14 @@
 

SYNOPSIS

        #include <curses.h>
 
-       int printw(const char *fmt, ...);
-       int wprintw(WINDOW *win, const char *fmt, ...);
-       int mvprintw(int y, int x, const char *fmt, ...);
-       int mvwprintw(WINDOW *win, int y, int x, const char *fmt, ...);
-       int vw_printw(WINDOW *win, const char *fmt, va_list varglist);
+       int printw(const char *fmt, ...);
+       int wprintw(WINDOW *win, const char *fmt, ...);
+       int mvprintw(int y, int x, const char *fmt, ...);
+       int mvwprintw(WINDOW *win, int y, int x, const char *fmt, ...);
+       int vw_printw(WINDOW *win, const char *fmt, va_list varglist);
 
        /* obsolete */
-       int vwprintw(WINDOW *win, const char *fmt, va_list varglist);
+       int vwprintw(WINDOW *win, const char *fmt, va_list varglist);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/curs_refresh.3x.html b/doc/html/man/curs_refresh.3x.html
index c239ed89..e18574c6 100644
--- a/doc/html/man/curs_refresh.3x.html
+++ b/doc/html/man/curs_refresh.3x.html
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_refresh.3x,v 1.21 2020/02/02 23:34:34 tom Exp @
+  * @Id: curs_refresh.3x,v 1.22 2020/10/24 09:43:49 tom Exp @
 -->
 
 
@@ -55,11 +55,12 @@
        #include <curses.h>
 
        int refresh(void);
-       int wrefresh(WINDOW *win);
-       int wnoutrefresh(WINDOW *win);
+       int wrefresh(WINDOW *win);
+       int wnoutrefresh(WINDOW *win);
        int doupdate(void);
-       int redrawwin(WINDOW *win);
-       int wredrawln(WINDOW *win, int beg_line, int num_lines);
+
+       int redrawwin(WINDOW *win);
+       int wredrawln(WINDOW *win, int beg_line, int num_lines);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/curs_scanw.3x.html b/doc/html/man/curs_scanw.3x.html
index 8bbd242f..b5997bcf 100644
--- a/doc/html/man/curs_scanw.3x.html
+++ b/doc/html/man/curs_scanw.3x.html
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_scanw.3x,v 1.27 2020/03/15 00:14:30 tom Exp @
+  * @Id: curs_scanw.3x,v 1.28 2020/10/24 09:29:26 tom Exp @
 -->
 
 
@@ -54,14 +54,15 @@
 

SYNOPSIS

        #include <curses.h>
 
-       int scanw(const char *fmt, ...);
-       int wscanw(WINDOW *win, const char *fmt, ...);
-       int mvscanw(int y, int x, const char *fmt, ...);
-       int mvwscanw(WINDOW *win, int y, int x, const char *fmt, ...);
-       int vw_scanw(WINDOW *win, const char *fmt, va_list varglist);
+       int scanw(const char *fmt, ...);
+       int wscanw(WINDOW *win, const char *fmt, ...);
+       int mvscanw(int y, int x, const char *fmt, ...);
+       int mvwscanw(WINDOW *win, int y, int x, const char *fmt, ...);
+
+       int vw_scanw(WINDOW *win, const char *fmt, va_list varglist);
 
        /* obsolete */
-       int vwscanw(WINDOW *win, const char *fmt, va_list varglist);
+       int vwscanw(WINDOW *win, const char *fmt, va_list varglist);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/curs_scr_dump.3x.html b/doc/html/man/curs_scr_dump.3x.html
index f07d40ae..2c3efab4 100644
--- a/doc/html/man/curs_scr_dump.3x.html
+++ b/doc/html/man/curs_scr_dump.3x.html
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_scr_dump.3x,v 1.15 2020/02/02 23:34:34 tom Exp @
+  * @Id: curs_scr_dump.3x,v 1.16 2020/10/24 09:44:43 tom Exp @
 -->
 
 
@@ -54,10 +54,10 @@
 

SYNOPSIS

        #include <curses.h>
 
-       int scr_dump(const char *filename);
-       int scr_restore(const char *filename);
-       int scr_init(const char *filename);
-       int scr_set(const char *filename);
+       int scr_dump(const char *filename);
+       int scr_restore(const char *filename);
+       int scr_init(const char *filename);
+       int scr_set(const char *filename);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/curs_scroll.3x.html b/doc/html/man/curs_scroll.3x.html
index 0b0e8927..d936cbc1 100644
--- a/doc/html/man/curs_scroll.3x.html
+++ b/doc/html/man/curs_scroll.3x.html
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_scroll.3x,v 1.18 2020/02/02 23:34:34 tom Exp @
+  * @Id: curs_scroll.3x,v 1.19 2020/10/24 09:45:48 tom Exp @
 -->
 
 
@@ -53,9 +53,10 @@
 

SYNOPSIS

        #include <curses.h>
 
-       int scroll(WINDOW *win);
-       int scrl(int n);
-       int wscrl(WINDOW *win, int n);
+       int scroll(WINDOW *win);
+
+       int scrl(int n);
+       int wscrl(WINDOW *win, int n);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/curs_sp_funcs.3x.html b/doc/html/man/curs_sp_funcs.3x.html
index a83cece7..6792ef5c 100644
--- a/doc/html/man/curs_sp_funcs.3x.html
+++ b/doc/html/man/curs_sp_funcs.3x.html
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_sp_funcs.3x,v 1.18 2020/02/02 23:34:34 tom Exp @
+  * @Id: curs_sp_funcs.3x,v 1.19 2020/10/19 21:42:48 tom Exp @
   * ***************************************************************************
   * ***************************************************************************
   * ***************************************************************************
@@ -54,7 +54,8 @@
 
 
 

SYNOPSIS

-       #include <curses.h> #include <term.h>
+       #include <curses.h>
+       #include <term.h>
 
        int alloc_pair_sp(SCREEN*, int, int);
        int assume_default_colors_sp(SCREEN*, int, int);
diff --git a/doc/html/man/curs_termcap.3x.html b/doc/html/man/curs_termcap.3x.html
index 1c756c69..df82bcf5 100644
--- a/doc/html/man/curs_termcap.3x.html
+++ b/doc/html/man/curs_termcap.3x.html
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_termcap.3x,v 1.44 2020/05/17 01:20:13 tom Exp @
+  * @Id: curs_termcap.3x,v 1.45 2020/10/24 09:24:31 tom Exp @
 -->
 
 
@@ -60,12 +60,12 @@
        extern char * BC;
        extern short ospeed;
 
-       int tgetent(char *bp, const char *name);
-       int tgetflag(const char *id);
-       int tgetnum(const char *id);
-       char *tgetstr(const char *id, char **area);
-       char *tgoto(const char *cap, int col, int row);
-       int tputs(const char *str, int affcnt, int (*putc)(int));
+       int tgetent(char *bp, const char *name);
+       int tgetflag(const char *id);
+       int tgetnum(const char *id);
+       char *tgetstr(const char *id, char **area);
+       char *tgoto(const char *cap, int col, int row);
+       int tputs(const char *str, int affcnt, int (*putc)(int));
 
 
 

DESCRIPTION

diff --git a/doc/html/man/curs_threads.3x.html b/doc/html/man/curs_threads.3x.html
index fa9245bf..dcb932c9 100644
--- a/doc/html/man/curs_threads.3x.html
+++ b/doc/html/man/curs_threads.3x.html
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_threads.3x,v 1.25 2020/02/02 23:34:34 tom Exp @
+  * @Id: curs_threads.3x,v 1.26 2020/10/24 09:47:37 tom Exp @
   * ***************************************************************************
   * ***************************************************************************
 -->
@@ -57,11 +57,13 @@
 
        typedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *);
        typedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *);
+
        int get_escdelay(void);
-       int set_escdelay(int size);
-       int set_tabsize(int size);
-       int use_screen(SCREEN *scr, NCURSES_SCREEN_CB func, void *data);
-       int use_window(WINDOW *win, NCURSES_WINDOW_CB func, void *data);
+       int set_escdelay(int size);
+       int set_tabsize(int size);
+
+       int use_screen(SCREEN *scr, NCURSES_SCREEN_CB func, void *data);
+       int use_window(WINDOW *win, NCURSES_WINDOW_CB func, void *data);
 
 
 

DESCRIPTION

@@ -178,9 +180,9 @@
             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)
@@ -245,9 +247,9 @@
             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)
@@ -312,9 +314,9 @@
             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)
@@ -379,9 +381,9 @@
             newscr                  screen (readonly)
             newterm                 global locks(screenlist)
             newwin                  global locks(windowlist)
+
             nl                      screen
             nocbreak                screen
-
             nodelay                 window
             noecho                  screen
             nofilter                global
@@ -446,9 +448,9 @@
             slk_restore             screen
             slk_set                 screen
             slk_touch               screen
+
             slk_wset                screen
             standend                window
-
             standout                window
             start_color             screen
             stdscr                  screen (readonly)
@@ -513,9 +515,9 @@
             wattr_on                window
             wattr_set               window
             wattroff                window
+
             wattron                 window
             wattrset                window
-
             wbkgd                   window
             wbkgdset                window
             wbkgrnd                 window
@@ -580,9 +582,9 @@
             wsyncup                 screen (affects window plus parents)
             wtimeout                window
             wtouchln                window
+
             wunctrl                 global (static data)
             wvline                  window
-
             wvline_set              window
 
 
diff --git a/doc/html/man/curs_touch.3x.html b/doc/html/man/curs_touch.3x.html
index acbbb6a0..55eb33ea 100644
--- a/doc/html/man/curs_touch.3x.html
+++ b/doc/html/man/curs_touch.3x.html
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_touch.3x,v 1.22 2020/02/02 23:34:34 tom Exp @
+  * @Id: curs_touch.3x,v 1.23 2020/10/24 09:51:21 tom Exp @
 -->
 
 
@@ -53,12 +53,16 @@
 
 

SYNOPSIS

        #include <curses.h>
-       int touchwin(WINDOW *win);
-       int touchline(WINDOW *win, int start, int count);
-       int untouchwin(WINDOW *win);
-       int wtouchln(WINDOW *win, int y, int n, int changed);
-       bool is_linetouched(WINDOW *win, int line);
-       bool is_wintouched(WINDOW *win);
+
+       int touchline(WINDOW *win, int start, int count);
+
+       int touchwin(WINDOW *win);
+       int wtouchln(WINDOW *win, int y, int n, int changed);
+
+       int untouchwin(WINDOW *win);
+
+       bool is_linetouched(WINDOW *win, int line);
+       bool is_wintouched(WINDOW *win);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/curs_util.3x.html b/doc/html/man/curs_util.3x.html
index 3589d2a7..934f5cbf 100644
--- a/doc/html/man/curs_util.3x.html
+++ b/doc/html/man/curs_util.3x.html
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_util.3x,v 1.58 2020/10/17 22:54:59 tom Exp @
+  * @Id: curs_util.3x,v 1.59 2020/10/24 09:15:57 tom Exp @
 -->
 
 
@@ -56,22 +56,22 @@
 

SYNOPSIS

        #include <curses.h>
 
-       const char *unctrl(chtype c);
-       wchar_t *wunctrl(cchar_t *c);
+       const char *unctrl(chtype c);
+       wchar_t *wunctrl(cchar_t *c);
 
-       const char *keyname(int c);
-       const char *key_name(wchar_t w);
+       const char *keyname(int c);
+       const char *key_name(wchar_t w);
 
        void filter(void);
        void nofilter(void);
 
-       void use_env(bool f);
-       void use_tioctl(bool f);
+       void use_env(bool f);
+       void use_tioctl(bool f);
 
-       int putwin(WINDOW *win, FILE *filep);
-       WINDOW *getwin(FILE *filep);
+       int putwin(WINDOW *win, FILE *filep);
+       WINDOW *getwin(FILE *filep);
 
-       int delay_output(int ms);
+       int delay_output(int ms);
        int flushinp(void);
 
 
diff --git a/doc/html/man/default_colors.3x.html b/doc/html/man/default_colors.3x.html
index df63f3a0..5e3749b4 100644
--- a/doc/html/man/default_colors.3x.html
+++ b/doc/html/man/default_colors.3x.html
@@ -28,7 +28,7 @@
   * authorization.                                                           *
   ****************************************************************************
   * Author: Thomas E. Dickey 1997,1999,2000,2005
-  * @Id: default_colors.3x,v 1.29 2020/02/02 23:34:34 tom Exp @
+  * @Id: default_colors.3x,v 1.30 2020/10/24 09:52:16 tom Exp @
 -->
 
 
@@ -56,7 +56,7 @@
        #include <curses.h>
 
        int use_default_colors(void);
-       int assume_default_colors(int fg, int bg);
+       int assume_default_colors(int fg, int bg);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/define_key.3x.html b/doc/html/man/define_key.3x.html
index 47aa7ac3..73332600 100644
--- a/doc/html/man/define_key.3x.html
+++ b/doc/html/man/define_key.3x.html
@@ -28,7 +28,7 @@
   * authorization.                                                           *
   ****************************************************************************
   * Author: Thomas E. Dickey 1997
-  * @Id: define_key.3x,v 1.17 2020/02/02 23:34:34 tom Exp @
+  * @Id: define_key.3x,v 1.18 2020/10/24 09:52:54 tom Exp @
 -->
 
 
@@ -54,7 +54,7 @@
 

SYNOPSIS

        #include <curses.h>
 
-       int define_key(const char *definition, int keycode);
+       int define_key(const char *definition, int keycode);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/form.3x.html b/doc/html/man/form.3x.html
index 0f0d1f27..4ce8fe82 100644
--- a/doc/html/man/form.3x.html
+++ b/doc/html/man/form.3x.html
@@ -247,7 +247,7 @@
        curses(3x)  and  related  pages  whose names begin "form_" for detailed
        descriptions of the entry points.
 
-       This describes ncurses version 6.2 (patch 20201017).
+       This describes ncurses version 6.2 (patch 20201024).
 
 
 
diff --git a/doc/html/man/form_field.3x.html b/doc/html/man/form_field.3x.html
index 22aa78e7..20afff82 100644
--- a/doc/html/man/form_field.3x.html
+++ b/doc/html/man/form_field.3x.html
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_field.3x,v 1.16 2020/10/17 23:06:12 tom Exp @
+  * @Id: form_field.3x,v 1.17 2020/10/24 09:10:45 tom Exp @
 -->
 
 
@@ -54,10 +54,10 @@
 

SYNOPSIS

        #include <form.h>
 
-       int set_form_fields(FORM *form, FIELD **fields);
-       FIELD **form_fields(const FORM *form);
-       int field_count(const FORM *form);
-       int move_field(FIELD *field, int frow, int fcol);
+       int set_form_fields(FORM *form, FIELD **fields);
+       FIELD **form_fields(const FORM *form);
+       int field_count(const FORM *form);
+       int move_field(FIELD *field, int frow, int fcol);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/form_field_buffer.3x.html b/doc/html/man/form_field_buffer.3x.html
index 3cde7991..de56787b 100644
--- a/doc/html/man/form_field_buffer.3x.html
+++ b/doc/html/man/form_field_buffer.3x.html
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_field_buffer.3x,v 1.26 2020/03/28 19:06:28 tom Exp @
+  * @Id: form_field_buffer.3x,v 1.27 2020/10/24 09:27:17 tom Exp @
 -->
 
 
@@ -54,11 +54,13 @@
 

SYNOPSIS

        #include <form.h>
 
-       int set_field_buffer(FIELD *field, int buf, const char *value);
-       char *field_buffer(const FIELD *field, int buffer);
-       int set_field_status(FIELD *field, bool status);
-       bool field_status(const FIELD *field);
-       int set_max_field(FIELD *field, int max);
+       int set_field_buffer(FIELD *field, int buf, const char *value);
+       char *field_buffer(const FIELD *field, int buffer);
+
+       int set_field_status(FIELD *field, bool status);
+       bool field_status(const FIELD *field);
+
+       int set_max_field(FIELD *field, int max);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/form_field_new.3x.html b/doc/html/man/form_field_new.3x.html
index b17d67c3..dc73d3bd 100644
--- a/doc/html/man/form_field_new.3x.html
+++ b/doc/html/man/form_field_new.3x.html
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_field_new.3x,v 1.23 2020/10/17 23:06:36 tom Exp @
+  * @Id: form_field_new.3x,v 1.24 2020/10/24 09:09:18 tom Exp @
 -->
 
 
@@ -55,12 +55,12 @@
 

SYNOPSIS

        #include <form.h>
 
-       FIELD *new_field(int height, int width,
-                        int toprow, int leftcol,
-                        int offscreen, int nbuffers);
-       FIELD *dup_field(FIELD *field, int toprow, int leftcol);
-       FIELD *link_field(FIELD *field, int toprow, int leftcol);
-       int free_field(FIELD *field);
+       FIELD *new_field(int height, int width,
+                        int toprow, int leftcol,
+                        int offscreen, int nbuffers);
+       FIELD *dup_field(FIELD *field, int toprow, int leftcol);
+       FIELD *link_field(FIELD *field, int toprow, int leftcol);
+       int free_field(FIELD *field);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/form_field_userptr.3x.html b/doc/html/man/form_field_userptr.3x.html
index b5c626aa..989cfa33 100644
--- a/doc/html/man/form_field_userptr.3x.html
+++ b/doc/html/man/form_field_userptr.3x.html
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_field_userptr.3x,v 1.15 2020/10/17 23:07:03 tom Exp @
+  * @Id: form_field_userptr.3x,v 1.16 2020/10/24 09:06:33 tom Exp @
 -->
 
 
@@ -55,8 +55,8 @@
 

SYNOPSIS

        #include <form.h>
 
-       int set_field_userptr(FIELD *field, void*userptr);
-       void *field_userptr(const FIELD *field);
+       int set_field_userptr(FIELD *field, void *userptr);
+       void *field_userptr(const FIELD *field);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/form_fieldtype.3x.html b/doc/html/man/form_fieldtype.3x.html
index 2c8cc6ba..9bca4037 100644
--- a/doc/html/man/form_fieldtype.3x.html
+++ b/doc/html/man/form_fieldtype.3x.html
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_fieldtype.3x,v 1.22 2020/10/17 23:07:47 tom Exp @
+  * @Id: form_fieldtype.3x,v 1.23 2020/10/24 09:05:17 tom Exp @
 -->
 
 
@@ -54,23 +54,23 @@
 

SYNOPSIS

        #include <form.h>
 
-       FIELDTYPE *new_fieldtype(
-           bool (* const field_check)(FIELD *, const void *),
-           bool (* const char_check)(int, const void *));
-       int free_fieldtype(FIELDTYPE *fieldtype);
-
-       int set_fieldtype_arg(
-           FIELDTYPE *fieldtype,
-           void *(* const make_arg)(va_list *),
-           void *(* const copy_arg)(const void *),
-           void  (* const free_arg)(void *));
-       int set_fieldtype_choice(
-           FIELDTYPE *fieldtype,
-           bool (* const next_choice)(FIELD *, const void *),
-           bool (* const prev_choice)(FIELD *, const void *));
-
-       FIELDTYPE *link_fieldtype(FIELDTYPE *type1,
-                                 FIELDTYPE *type2);
+       FIELDTYPE *new_fieldtype(
+           bool (* const field_check)(FIELD *, const void *),
+           bool (* const char_check)(int, const void *));
+       int free_fieldtype(FIELDTYPE *fieldtype);
+
+       int set_fieldtype_arg(
+           FIELDTYPE *fieldtype,
+           void *(* const make_arg)(va_list *),
+           void *(* const copy_arg)(const void *),
+           void  (* const free_arg)(void *));
+       int set_fieldtype_choice(
+           FIELDTYPE *fieldtype,
+           bool (* const next_choice)(FIELD *, const void *),
+           bool (* const prev_choice)(FIELD *, const void *));
+
+       FIELDTYPE *link_fieldtype(FIELDTYPE *type1,
+                                 FIELDTYPE *type2);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/form_new.3x.html b/doc/html/man/form_new.3x.html
index 90358a3e..714b20ae 100644
--- a/doc/html/man/form_new.3x.html
+++ b/doc/html/man/form_new.3x.html
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_new.3x,v 1.14 2020/10/17 23:08:09 tom Exp @
+  * @Id: form_new.3x,v 1.15 2020/10/24 09:02:26 tom Exp @
 -->
 
 
@@ -54,8 +54,8 @@
 

SYNOPSIS

        #include <form.h>
 
-       FORM *new_form(FIELD **fields);
-       int free_form(FORM *form);
+       FORM *new_form(FIELD **fields);
+       int free_form(FORM *form);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/form_requestname.3x.html b/doc/html/man/form_requestname.3x.html
index fbe3279f..041a5b91 100644
--- a/doc/html/man/form_requestname.3x.html
+++ b/doc/html/man/form_requestname.3x.html
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_requestname.3x,v 1.14 2020/10/17 23:08:23 tom Exp @
+  * @Id: form_requestname.3x,v 1.15 2020/10/24 09:01:37 tom Exp @
 -->
 
 
@@ -55,8 +55,8 @@
 

SYNOPSIS

        #include <form.h>
 
-       const char *form_request_name(int request);
-       int form_request_by_name(const char *name);
+       const char *form_request_name(int request);
+       int form_request_by_name(const char *name);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/form_userptr.3x.html b/doc/html/man/form_userptr.3x.html
index c60e7146..e6b6f5ec 100644
--- a/doc/html/man/form_userptr.3x.html
+++ b/doc/html/man/form_userptr.3x.html
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_userptr.3x,v 1.18 2020/10/17 23:08:37 tom Exp @
+  * @Id: form_userptr.3x,v 1.19 2020/10/24 09:00:52 tom Exp @
 -->
 
 
@@ -55,8 +55,8 @@
 

SYNOPSIS

        #include <form.h>
 
-       int set_form_userptr(FORM *form, void *userptr);
-       void* form_userptr(const FORM *form);
+       int set_form_userptr(FORM *form, void *userptr);
+       void* form_userptr(const FORM *form);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/infocmp.1m.html b/doc/html/man/infocmp.1m.html
index 128447b8..e66c740b 100644
--- a/doc/html/man/infocmp.1m.html
+++ b/doc/html/man/infocmp.1m.html
@@ -512,7 +512,7 @@
 
        https://invisible-island.net/ncurses/tctest.html
 
-       This describes ncurses version 6.2 (patch 20201017).
+       This describes ncurses version 6.2 (patch 20201024).
 
 
 

AUTHOR

diff --git a/doc/html/man/infotocap.1m.html b/doc/html/man/infotocap.1m.html
index d5e8454d..91c3e8a3 100644
--- a/doc/html/man/infotocap.1m.html
+++ b/doc/html/man/infotocap.1m.html
@@ -91,7 +91,7 @@
 

SEE ALSO

        curses(3x), tic(1m), infocmp(1m), terminfo(5)
 
-       This describes ncurses version 6.2 (patch 20201017).
+       This describes ncurses version 6.2 (patch 20201024).
 
 
 

AUTHOR

diff --git a/doc/html/man/menu.3x.html b/doc/html/man/menu.3x.html
index c7eb5933..ba7dc03c 100644
--- a/doc/html/man/menu.3x.html
+++ b/doc/html/man/menu.3x.html
@@ -222,7 +222,7 @@
        curses(3x)  and  related  pages  whose names begin "menu_" for detailed
        descriptions of the entry points.
 
-       This describes ncurses version 6.2 (patch 20201017).
+       This describes ncurses version 6.2 (patch 20201024).
 
 
 
diff --git a/doc/html/man/menu_items.3x.html b/doc/html/man/menu_items.3x.html
index 34b75ae5..c3a70e98 100644
--- a/doc/html/man/menu_items.3x.html
+++ b/doc/html/man/menu_items.3x.html
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_items.3x,v 1.16 2020/10/17 23:08:48 tom Exp @
+  * @Id: menu_items.3x,v 1.17 2020/10/24 09:00:06 tom Exp @
 -->
 
 
@@ -55,9 +55,9 @@
 

SYNOPSIS

        #include <menu.h>
 
-       int set_menu_items(MENU *menu, ITEM **items);
-       ITEM **menu_items(const MENU *menu);
-       int item_count(const MENU *menu);
+       int set_menu_items(MENU *menu, ITEM **items);
+       ITEM **menu_items(const MENU *menu);
+       int item_count(const MENU *menu);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/menu_mark.3x.html b/doc/html/man/menu_mark.3x.html
index 742ca608..51d59d8d 100644
--- a/doc/html/man/menu_mark.3x.html
+++ b/doc/html/man/menu_mark.3x.html
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_mark.3x,v 1.17 2020/10/17 23:09:02 tom Exp @
+  * @Id: menu_mark.3x,v 1.18 2020/10/24 08:59:04 tom Exp @
 -->
 
 
@@ -54,8 +54,8 @@
 

SYNOPSIS

        #include <menu.h>
 
-       int set_menu_mark(MENU *menu, const char *mark);
-       const char *menu_mark(const MENU *menu);
+       int set_menu_mark(MENU *menu, const char *mark);
+       const char *menu_mark(const MENU *menu);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/menu_new.3x.html b/doc/html/man/menu_new.3x.html
index 3a6d9934..7d5901bf 100644
--- a/doc/html/man/menu_new.3x.html
+++ b/doc/html/man/menu_new.3x.html
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_new.3x,v 1.17 2020/10/17 23:09:13 tom Exp @
+  * @Id: menu_new.3x,v 1.18 2020/10/24 08:57:51 tom Exp @
 -->
 
 
@@ -54,8 +54,8 @@
 

SYNOPSIS

        #include <menu.h>
 
-       MENU *new_menu(ITEM **items);
-       int free_menu(MENU *menu);
+       MENU *new_menu(ITEM **items);
+       int free_menu(MENU *menu);
 
 
 

DESCRIPTION

diff --git a/doc/html/man/ncurses.3x.html b/doc/html/man/ncurses.3x.html
index 3ee341c3..ec662b24 100644
--- a/doc/html/man/ncurses.3x.html
+++ b/doc/html/man/ncurses.3x.html
@@ -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 ncurses version 6.2 (patch 20201017).
+       This describes ncurses version 6.2 (patch 20201024).
 
        The  ncurses  library emulates the curses library of System V Release 4
        UNIX, and XPG4 (X/Open Portability Guide) curses  (also  known  as  XSI
diff --git a/doc/html/man/ncurses6-config.1.html b/doc/html/man/ncurses6-config.1.html
index a68eec6b..e3e45959 100644
--- a/doc/html/man/ncurses6-config.1.html
+++ b/doc/html/man/ncurses6-config.1.html
@@ -113,7 +113,7 @@
 

SEE ALSO

        curses(3x)
 
-       This describes ncurses version 6.2 (patch 20201017).
+       This describes ncurses version 6.2 (patch 20201024).
 
 
 
diff --git a/doc/html/man/panel.3x.html b/doc/html/man/panel.3x.html
index 5ebbd778..7400a7c4 100644
--- a/doc/html/man/panel.3x.html
+++ b/doc/html/man/panel.3x.html
@@ -281,7 +281,7 @@
 

SEE ALSO

        curses(3x), curs_variables(3x),
 
-       This describes ncurses version 6.2 (patch 20201017).
+       This describes ncurses version 6.2 (patch 20201024).
 
 
 

AUTHOR

diff --git a/doc/html/man/tabs.1.html b/doc/html/man/tabs.1.html
index 72122785..438d5120 100644
--- a/doc/html/man/tabs.1.html
+++ b/doc/html/man/tabs.1.html
@@ -206,7 +206,7 @@
 

SEE ALSO

        tset(1), infocmp(1m), curses(3x), terminfo(5).
 
-       This describes ncurses version 6.2 (patch 20201017).
+       This describes ncurses version 6.2 (patch 20201024).
 
 
 
diff --git a/doc/html/man/terminfo.5.html b/doc/html/man/terminfo.5.html
index d124aa25..28213094 100644
--- a/doc/html/man/terminfo.5.html
+++ b/doc/html/man/terminfo.5.html
@@ -105,7 +105,7 @@
        have, by specifying how to perform screen operations, and by specifying
        padding requirements and initialization sequences.
 
-       This manual describes ncurses version 6.2 (patch 20201017).
+       This manual describes ncurses version 6.2 (patch 20201024).
 
 
 

Terminfo Entry Syntax

diff --git a/doc/html/man/tic.1m.html b/doc/html/man/tic.1m.html
index d70e3088..d33a200c 100644
--- a/doc/html/man/tic.1m.html
+++ b/doc/html/man/tic.1m.html
@@ -461,7 +461,7 @@
        infocmp(1m),   captoinfo(1m),   infotocap(1m),   toe(1m),   curses(3x),
        term(5).  terminfo(5).  user_caps(5).
 
-       This describes ncurses version 6.2 (patch 20201017).
+       This describes ncurses version 6.2 (patch 20201024).
 
 
 

AUTHOR

diff --git a/doc/html/man/toe.1m.html b/doc/html/man/toe.1m.html
index 5a10f2ae..f24e2c24 100644
--- a/doc/html/man/toe.1m.html
+++ b/doc/html/man/toe.1m.html
@@ -171,7 +171,7 @@
        tic(1m), infocmp(1m), captoinfo(1m),  infotocap(1m),  curses(3x),  ter-
        minfo(5).
 
-       This describes ncurses version 6.2 (patch 20201017).
+       This describes ncurses version 6.2 (patch 20201024).
 
 
 
diff --git a/doc/html/man/tput.1.html b/doc/html/man/tput.1.html
index 8595dd62..bac1cae6 100644
--- a/doc/html/man/tput.1.html
+++ b/doc/html/man/tput.1.html
@@ -523,7 +523,7 @@
 

SEE ALSO

        clear(1), stty(1), tabs(1), tset(1), terminfo(5), curs_termcap(3x).
 
-       This describes ncurses version 6.2 (patch 20201017).
+       This describes ncurses version 6.2 (patch 20201024).
 
 
 
diff --git a/doc/html/man/tset.1.html b/doc/html/man/tset.1.html
index d7987fc4..1c110aca 100644
--- a/doc/html/man/tset.1.html
+++ b/doc/html/man/tset.1.html
@@ -390,7 +390,7 @@
        csh(1),  sh(1),  stty(1),   curs_terminfo(3x),   tty(4),   terminfo(5),
        ttys(5), environ(7)
 
-       This describes ncurses version 6.2 (patch 20201017).
+       This describes ncurses version 6.2 (patch 20201024).
 
 
 
diff --git a/man/curs_addch.3x b/man/curs_addch.3x
index 68667d9f..338a6e27 100644
--- a/man/curs_addch.3x
+++ b/man/curs_addch.3x
@@ -28,7 +28,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_addch.3x,v 1.54 2020/10/17 23:02:40 tom Exp $
+.\" $Id: curs_addch.3x,v 1.55 2020/10/24 09:12:31 tom Exp $
 .TH curs_addch 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -48,17 +48,17 @@
 .SH SYNOPSIS
 \fB#include \fR
 .PP
-\fBint addch(const chtype ch);\fR
+\fBint addch(const chtype \fP\fIch\fP\fB);\fR
 .br
-\fBint waddch(WINDOW *win, const chtype ch);\fR
+\fBint waddch(WINDOW *\fP\fIwin\fP\fB, const chtype \fP\fIch\fP\fB);\fR
 .br
-\fBint mvaddch(int y, int x, const chtype ch);\fR
+\fBint mvaddch(int \fP\fIy\fP\fB, int \fP\fIx\fP\fB, const chtype \fP\fIch\fP\fB);\fR
 .br
-\fBint mvwaddch(WINDOW *win, int y, int x, const chtype ch);\fR
+\fBint mvwaddch(WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIx\fP\fB, const chtype \fP\fIch\fP\fB);\fR
 .sp
-\fBint echochar(const chtype ch);\fR
+\fBint echochar(const chtype \fP\fIch\fP\fB);\fR
 .br
-\fBint wechochar(WINDOW *win, const chtype ch);\fR
+\fBint wechochar(WINDOW *\fP\fIwin\fP\fB, const chtype \fP\fIch\fP\fB);\fR
 .br
 .SH DESCRIPTION
 .SS Adding characters
diff --git a/man/curs_clear.3x b/man/curs_clear.3x
index 9d2872a3..d86acbde 100644
--- a/man/curs_clear.3x
+++ b/man/curs_clear.3x
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_clear.3x,v 1.19 2020/10/03 21:43:37 tom Exp $
+.\" $Id: curs_clear.3x,v 1.20 2020/10/24 09:19:37 tom Exp $
 .TH curs_clear 3X ""
 .na
 .hy 0
@@ -51,19 +51,19 @@
 .sp
 \fBint erase(void);\fR
 .br
-\fBint werase(WINDOW *win);\fR
+\fBint werase(WINDOW *\fP\fIwin\fP\fB);\fR
 .sp
 \fBint clear(void);\fR
 .br
-\fBint wclear(WINDOW *win);\fR
+\fBint wclear(WINDOW *\fP\fIwin\fP\fB);\fR
 .sp
 \fBint clrtobot(void);\fR
 .br
-\fBint wclrtobot(WINDOW *win);\fR
+\fBint wclrtobot(WINDOW *\fP\fIwin\fP\fB);\fR
 .sp
 \fBint clrtoeol(void);\fR
 .br
-\fBint wclrtoeol(WINDOW *win);\fR
+\fBint wclrtoeol(WINDOW *\fP\fIwin\fP\fB);\fR
 .br
 .SH DESCRIPTION
 The \fBerase\fR and \fBwerase\fR routines copy blanks to every
diff --git a/man/curs_color.3x b/man/curs_color.3x
index b3521cb1..02defb6a 100644
--- a/man/curs_color.3x
+++ b/man/curs_color.3x
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_color.3x,v 1.62 2020/02/02 23:34:34 tom Exp $
+.\" $Id: curs_color.3x,v 1.63 2020/10/24 09:35:23 tom Exp $
 .TH curs_color 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -66,31 +66,31 @@
 .br
 \fBbool can_change_color(void);\fR
 .sp
-\fBint init_pair(short pair, short f, short b);\fR
+\fBint init_pair(short \fP\fIpair\fP\fB, short \fP\fIf\fP\fB, short \fP\fIb\fP\fB);\fR
 .br
-\fBint init_color(short color, short r, short g, short b);\fR
+\fBint init_color(short \fP\fIcolor\fP\fB, short \fP\fIr\fP\fB, short \fP\fIg\fP\fB, short \fP\fIb\fP\fB);\fR
 .br
 /* extensions */
 .br
-\fBint init_extended_pair(int pair, int f, int b);\fR
+\fBint init_extended_pair(int \fP\fIpair\fP\fB, int \fP\fIf\fP\fB, int \fP\fIb\fP\fB);\fR
 .br
-\fBint init_extended_color(int color, int r, int g, int b);\fR
+\fBint init_extended_color(int \fP\fIcolor\fP\fB, int \fP\fIr\fP\fB, int \fP\fIg\fP\fB, int \fP\fIb\fP\fB);\fR
 .sp
-\fBint color_content(short color, short *r, short *g, short *b);\fR
+\fBint color_content(short \fP\fIcolor\fP\fB, short *\fP\fIr\fP\fB, short *\fP\fIg\fP\fB, short *\fP\fIb\fP\fB);\fR
 .br
-\fBint pair_content(short pair, short *f, short *b);\fR
+\fBint pair_content(short \fP\fIpair\fP\fB, short *\fP\fIf\fP\fB, short *\fP\fIb\fP\fB);\fR
 .br
 /* extensions */
 .br
-\fBint extended_color_content(int color, int *r, int *g, int *b);\fR
+\fBint extended_color_content(int \fP\fIcolor\fP\fB, int *\fP\fIr\fP\fB, int *\fP\fIg\fP\fB, int *\fP\fIb\fP\fB);\fR
 .br
-\fBint extended_pair_content(int pair, int *f, int *b);\fR
+\fBint extended_pair_content(int \fP\fIpair\fP\fB, int *\fP\fIf\fP\fB, int *\fP\fIb\fP\fB);\fR
 .sp
 /* extensions */
 .br
 \fBvoid reset_color_pairs(void);\fR
 .sp
-\fBint COLOR_PAIR(int n);\fR
+\fBint COLOR_PAIR(int \fP\fIn\fP\fB);\fR
 .br
 \fBPAIR_NUMBER(\fR\fIattrs\fR\fB);\fP
 .br
diff --git a/man/curs_delch.3x b/man/curs_delch.3x
index ecfde608..86f0984c 100644
--- a/man/curs_delch.3x
+++ b/man/curs_delch.3x
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_delch.3x,v 1.14 2020/02/02 23:34:34 tom Exp $
+.\" $Id: curs_delch.3x,v 1.15 2020/10/24 09:36:43 tom Exp $
 .TH curs_delch 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -43,11 +43,11 @@
 .sp
 \fBint delch(void);\fR
 .br
-\fBint wdelch(WINDOW *win);\fR
+\fBint wdelch(WINDOW *\fP\fIwin\fP\fB);\fR
 .br
-\fBint mvdelch(int y, int x);\fR
+\fBint mvdelch(int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR
 .br
-\fBint mvwdelch(WINDOW *win, int y, int x);\fR
+\fBint mvwdelch(WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR
 .br
 .SH DESCRIPTION
 These routines delete the character under the cursor; all characters to the
diff --git a/man/curs_extend.3x b/man/curs_extend.3x
index 307c8a14..52ba27d0 100644
--- a/man/curs_extend.3x
+++ b/man/curs_extend.3x
@@ -29,7 +29,7 @@
 .\"
 .\" Author: Thomas E. Dickey 1999-on
 .\"
-.\" $Id: curs_extend.3x,v 1.23 2020/02/02 23:34:34 tom Exp $
+.\" $Id: curs_extend.3x,v 1.24 2020/10/24 09:37:07 tom Exp $
 .TH curs_extend 3X ""
 .SH NAME
 \fBcurses_version\fP,
@@ -40,7 +40,7 @@
 .sp
 \fBconst char * curses_version(void);\fP
 .br
-\fBint use_extended_names(bool enable);\fP
+\fBint use_extended_names(bool \fP\fIenable\fP\fB);\fP
 .SH DESCRIPTION
 These functions are extensions to the curses library
 which do not fit easily into other categories.
diff --git a/man/curs_getyx.3x b/man/curs_getyx.3x
index d12c0641..e6ff6701 100644
--- a/man/curs_getyx.3x
+++ b/man/curs_getyx.3x
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_getyx.3x,v 1.19 2020/02/02 23:34:34 tom Exp $
+.\" $Id: curs_getyx.3x,v 1.20 2020/10/24 09:38:43 tom Exp $
 .TH curs_getyx 3X ""
 .SH NAME
 \fBgetyx\fR,
@@ -37,13 +37,13 @@
 .SH SYNOPSIS
 \fB#include \fR
 .sp
-\fBvoid getyx(WINDOW *win, int y, int x);\fR
+\fBvoid getyx(WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR
 .br
-\fBvoid getparyx(WINDOW *win, int y, int x);\fR
+\fBvoid getparyx(WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR
 .br
-\fBvoid getbegyx(WINDOW *win, int y, int x);\fR
+\fBvoid getbegyx(WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR
 .br
-\fBvoid getmaxyx(WINDOW *win, int y, int x);\fR
+\fBvoid getmaxyx(WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR
 .br
 .SH DESCRIPTION
 The \fBgetyx\fR macro places the current cursor position of the given window in
diff --git a/man/curs_inopts.3x b/man/curs_inopts.3x
index 9670fe9e..81eed8fc 100644
--- a/man/curs_inopts.3x
+++ b/man/curs_inopts.3x
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_inopts.3x,v 1.31 2020/10/03 21:54:26 tom Exp $
+.\" $Id: curs_inopts.3x,v 1.32 2020/10/24 09:18:33 tom Exp $
 .TH curs_inopts 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -68,15 +68,15 @@
 .br
 \fBint noecho(void);\fR
 .sp
-\fBint intrflush(WINDOW *win, bool bf);\fR
+\fBint intrflush(WINDOW *\fP\fIwin\fP\fB, bool \fP\fIbf\fP\fB);\fR
 .br
-\fBint keypad(WINDOW *win, bool bf);\fR
+\fBint keypad(WINDOW *\fP\fIwin\fP\fB, bool \fP\fIbf\fP\fB);\fR
 .br
-\fBint meta(WINDOW *win, bool bf);\fR
+\fBint meta(WINDOW *\fP\fIwin\fP\fB, bool \fP\fIbf\fP\fB);\fR
 .br
-\fBint nodelay(WINDOW *win, bool bf);\fR
+\fBint nodelay(WINDOW *\fP\fIwin\fP\fB, bool \fP\fIbf\fP\fB);\fR
 .br
-\fBint notimeout(WINDOW *win, bool bf);\fR
+\fBint notimeout(WINDOW *\fP\fIwin\fP\fB, bool \fP\fIbf\fP\fB);\fR
 .sp
 \fBint nl(void);\fR
 .br
@@ -90,13 +90,13 @@
 .br
 \fBvoid noqiflush(void);\fR
 .sp
-\fBint halfdelay(int tenths);\fR
+\fBint halfdelay(int \fP\fItenths\fP\fB);\fR
 .br
-\fBvoid timeout(int delay);\fR
+\fBvoid timeout(int \fP\fIdelay\fP\fB);\fR
 .br
-\fBvoid wtimeout(WINDOW *win, int delay);\fR
+\fBvoid wtimeout(WINDOW *\fP\fIwin\fP\fB, int \fP\fIdelay\fP\fB);\fR
 .sp
-\fBint typeahead(int fd);\fR
+\fBint typeahead(int \fP\fIfd\fP\fB);\fR
 .br
 .SH DESCRIPTION
 The \fBncurses\fP library provides several functions which let an application
diff --git a/man/curs_move.3x b/man/curs_move.3x
index e7104528..e0c1bf5e 100644
--- a/man/curs_move.3x
+++ b/man/curs_move.3x
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_move.3x,v 1.18 2020/02/02 23:34:34 tom Exp $
+.\" $Id: curs_move.3x,v 1.19 2020/10/24 09:39:41 tom Exp $
 .TH curs_move 3X ""
 .na
 .hy 0
@@ -39,9 +39,9 @@
 .SH SYNOPSIS
 \fB#include \fR
 .sp
-\fBint move(int y, int x);\fR
+\fBint move(int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR
 .br
-\fBint wmove(WINDOW *win, int y, int x);\fR
+\fBint wmove(WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR
 .br
 .SH DESCRIPTION
 These routines move the cursor associated with the window to line \fIy\fR and
diff --git a/man/curs_opaque.3x b/man/curs_opaque.3x
index 855d31e7..1d0cb55f 100644
--- a/man/curs_opaque.3x
+++ b/man/curs_opaque.3x
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_opaque.3x,v 1.14 2020/02/02 23:34:34 tom Exp $
+.\" $Id: curs_opaque.3x,v 1.15 2020/10/24 09:41:22 tom Exp $
 .TH curs_opaque 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -56,35 +56,35 @@
 .SH SYNOPSIS
 \fB#include \fR
 .sp
-\fBbool is_cleared(const WINDOW *win);\fR
+\fBbool is_cleared(const WINDOW *\fP\fIwin\fP\fB);\fR
 .br
-\fBbool is_idcok(const WINDOW *win);\fR
+\fBbool is_idcok(const WINDOW *\fP\fIwin\fP\fB);\fR
 .br
-\fBbool is_idlok(const WINDOW *win);\fR
+\fBbool is_idlok(const WINDOW *\fP\fIwin\fP\fB);\fR
 .br
-\fBbool is_immedok(const WINDOW *win);\fR
+\fBbool is_immedok(const WINDOW *\fP\fIwin\fP\fB);\fR
 .br
-\fBbool is_keypad(const WINDOW *win);\fR
+\fBbool is_keypad(const WINDOW *\fP\fIwin\fP\fB);\fR
 .br
-\fBbool is_leaveok(const WINDOW *win);\fR
+\fBbool is_leaveok(const WINDOW *\fP\fIwin\fP\fB);\fR
 .br
-\fBbool is_nodelay(const WINDOW *win);\fR
+\fBbool is_nodelay(const WINDOW *\fP\fIwin\fP\fB);\fR
 .br
-\fBbool is_notimeout(const WINDOW *win);\fR
+\fBbool is_notimeout(const WINDOW *\fP\fIwin\fP\fB);\fR
 .br
-\fBbool is_pad(const WINDOW *win);\fR
+\fBbool is_pad(const WINDOW *\fP\fIwin\fP\fB);\fR
 .br
-\fBbool is_scrollok(const WINDOW *win);\fR
+\fBbool is_scrollok(const WINDOW *\fP\fIwin\fP\fB);\fR
 .br
-\fBbool is_subwin(const WINDOW *win);\fR
+\fBbool is_subwin(const WINDOW *\fP\fIwin\fP\fB);\fR
 .br
-\fBbool is_syncok(const WINDOW *win);\fR
+\fBbool is_syncok(const WINDOW *\fP\fIwin\fP\fB);\fR
 .br
-\fBWINDOW * wgetparent(const WINDOW *win);\fR
+\fBWINDOW * wgetparent(const WINDOW *\fP\fIwin\fP\fB);\fR
 .br
-\fBint wgetdelay(const WINDOW *win);\fR
+\fBint wgetdelay(const WINDOW *\fP\fIwin\fP\fB);\fR
 .br
-\fBint wgetscrreg(const WINDOW *win, int *top, int *bottom);\fR
+\fBint wgetscrreg(const WINDOW *\fP\fIwin\fP\fB, int *\fP\fItop\fP\fB, int *\fP\fIbottom\fP\fB);\fR
 .br
 .SH DESCRIPTION
 This implementation provides functions which return properties
diff --git a/man/curs_print.3x b/man/curs_print.3x
index 0f526f8c..8bde817d 100644
--- a/man/curs_print.3x
+++ b/man/curs_print.3x
@@ -27,14 +27,14 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_print.3x,v 1.15 2020/03/28 19:06:28 tom Exp $
+.\" $Id: curs_print.3x,v 1.16 2020/10/24 09:25:14 tom Exp $
 .TH curs_print 3X ""
 .SH NAME
 \fBmcprint\fR \- ship binary data to printer
 .SH SYNOPSIS
 \fB#include \fR
 .sp
-\fBint mcprint(char *data, int len);\fR
+\fBint mcprint(char *\fP\fIdata\fP\fB, int \fP\fIlen\fP\fB);\fR
 .SH DESCRIPTION
 This function uses the \fBmc5p\fR or \fBmc4\fR and \fBmc5\fR capabilities,
 if they are present, to ship given data to a printer attached to the terminal.
diff --git a/man/curs_printw.3x b/man/curs_printw.3x
index 451fdd04..49805172 100644
--- a/man/curs_printw.3x
+++ b/man/curs_printw.3x
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_printw.3x,v 1.27 2020/07/10 23:06:23 William.Pursell Exp $
+.\" $Id: curs_printw.3x,v 1.28 2020/10/24 09:22:45 tom Exp $
 .TH curs_printw 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -50,19 +50,19 @@
 .SH SYNOPSIS
 \fB#include \fR
 .sp
-\fBint printw(const char *fmt, ...);\fR
+\fBint printw(const char *\fP\fIfmt\fP\fB, ...);\fR
 .br
-\fBint wprintw(WINDOW *win, const char *fmt, ...);\fR
+\fBint wprintw(WINDOW *\fP\fIwin\fP\fB, const char *\fP\fIfmt\fP\fB, ...);\fR
 .br
-\fBint mvprintw(int y, int x, const char *fmt, ...);\fR
+\fBint mvprintw(int \fP\fIy\fP\fB, int \fP\fIx\fP\fB, const char *\fP\fIfmt\fP\fB, ...);\fR
 .br
-\fBint mvwprintw(WINDOW *win, int y, int x, const char *fmt, ...);\fR
+\fBint mvwprintw(WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIx\fP\fB, const char *\fP\fIfmt\fP\fB, ...);\fR
 .br
-\fBint vw_printw(WINDOW *win, const char *fmt, va_list varglist);\fR
+\fBint vw_printw(WINDOW *\fP\fIwin\fP\fB, const char *\fP\fIfmt\fP\fB, va_list \fP\fIvarglist\fP\fB);\fR
 .sp
 /* obsolete */
 .br
-\fBint vwprintw(WINDOW *win, const char *fmt, va_list varglist);\fR
+\fBint vwprintw(WINDOW *\fP\fIwin\fP\fB, const char *\fP\fIfmt\fP\fB, va_list \fP\fIvarglist\fP\fB);\fR
 .SH DESCRIPTION
 The \fBprintw\fR, \fBwprintw\fR, \fBmvprintw\fR and \fBmvwprintw\fR
 routines are analogous to \fBprintf\fR [see \fBprintf\fR(3)].
diff --git a/man/curs_refresh.3x b/man/curs_refresh.3x
index 765020df..4c4b8e7f 100644
--- a/man/curs_refresh.3x
+++ b/man/curs_refresh.3x
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_refresh.3x,v 1.21 2020/02/02 23:34:34 tom Exp $
+.\" $Id: curs_refresh.3x,v 1.22 2020/10/24 09:43:49 tom Exp $
 .TH curs_refresh 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -53,15 +53,15 @@
 .sp
 \fBint refresh(void);\fR
 .br
-\fBint wrefresh(WINDOW *win);\fR
+\fBint wrefresh(WINDOW *\fP\fIwin\fP\fB);\fR
 .br
-\fBint wnoutrefresh(WINDOW *win);\fR
+\fBint wnoutrefresh(WINDOW *\fP\fIwin\fP\fB);\fR
 .br
 \fBint doupdate(void);\fR
+.sp
+\fBint redrawwin(WINDOW *\fP\fIwin\fP\fB);\fR
 .br
-\fBint redrawwin(WINDOW *win);\fR
-.br
-\fBint wredrawln(WINDOW *win, int beg_line, int num_lines);\fR
+\fBint wredrawln(WINDOW *\fP\fIwin\fP\fB, int \fP\fIbeg_line\fP\fB, int \fP\fInum_lines\fP\fB);\fR
 .br
 .SH DESCRIPTION
 .SS refresh/wrefresh
diff --git a/man/curs_scanw.3x b/man/curs_scanw.3x
index 870b4b4c..1de9ad86 100644
--- a/man/curs_scanw.3x
+++ b/man/curs_scanw.3x
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_scanw.3x,v 1.27 2020/03/15 00:14:30 tom Exp $
+.\" $Id: curs_scanw.3x,v 1.28 2020/10/24 09:29:26 tom Exp $
 .TH curs_scanw 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -46,19 +46,19 @@
 .SH SYNOPSIS
 \fB#include \fR
 .sp
-\fBint scanw(const char *fmt, ...);\fR
+\fBint scanw(const char *\fP\fIfmt\fP\fB, ...);\fR
 .br
-\fBint wscanw(WINDOW *win, const char *fmt, ...);\fR
+\fBint wscanw(WINDOW *\fP\fIwin\fP\fB, const char *\fP\fIfmt\fP\fB, ...);\fR
 .br
-\fBint mvscanw(int y, int x, const char *fmt, ...);\fR
+\fBint mvscanw(int \fP\fIy\fP\fB, int \fP\fIx\fP\fB, const char *\fP\fIfmt\fP\fB, ...);\fR
 .br
-\fBint mvwscanw(WINDOW *win, int y, int x, const char *fmt, ...);\fR
-.br
-\fBint vw_scanw(WINDOW *win, const char *fmt, va_list varglist);\fR
+\fBint mvwscanw(WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIx\fP\fB, const char *\fP\fIfmt\fP\fB, ...);\fR
+.sp
+\fBint vw_scanw(WINDOW *\fP\fIwin\fP\fB, const char *\fP\fIfmt\fP\fB, va_list \fP\fIvarglist\fP\fB);\fR
 .sp
 /* obsolete */
 .br
-\fBint vwscanw(WINDOW *win, const char *fmt, va_list varglist);\fR
+\fBint vwscanw(WINDOW *\fP\fIwin\fP\fB, const char *\fP\fIfmt\fP\fB, va_list \fP\fIvarglist\fP\fB);\fR
 .SH DESCRIPTION
 The \fBscanw\fR, \fBwscanw\fR and \fBmvscanw\fR routines are analogous to
 \fBscanf\fR [see \fBscanf\fR(3)].
diff --git a/man/curs_scr_dump.3x b/man/curs_scr_dump.3x
index 01c61b26..229acefd 100644
--- a/man/curs_scr_dump.3x
+++ b/man/curs_scr_dump.3x
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_scr_dump.3x,v 1.15 2020/02/02 23:34:34 tom Exp $
+.\" $Id: curs_scr_dump.3x,v 1.16 2020/10/24 09:44:43 tom Exp $
 .TH curs_scr_dump 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -49,13 +49,13 @@
 .SH SYNOPSIS
 \fB#include \fR
 .sp
-\fBint scr_dump(const char *filename);\fR
+\fBint scr_dump(const char *\fP\fIfilename\fP\fB);\fR
 .br
-\fBint scr_restore(const char *filename);\fR
+\fBint scr_restore(const char *\fP\fIfilename\fP\fB);\fR
 .br
-\fBint scr_init(const char *filename);\fR
+\fBint scr_init(const char *\fP\fIfilename\fP\fB);\fR
 .br
-\fBint scr_set(const char *filename);\fR
+\fBint scr_set(const char *\fP\fIfilename\fP\fB);\fR
 .br
 .SH DESCRIPTION
 The \fBscr_dump\fR routine dumps the current contents
diff --git a/man/curs_scroll.3x b/man/curs_scroll.3x
index 50d2a997..d9e45f2d 100644
--- a/man/curs_scroll.3x
+++ b/man/curs_scroll.3x
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_scroll.3x,v 1.18 2020/02/02 23:34:34 tom Exp $
+.\" $Id: curs_scroll.3x,v 1.19 2020/10/24 09:45:48 tom Exp $
 .TH curs_scroll 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -44,11 +44,11 @@
 .SH SYNOPSIS
 \fB#include \fR
 .sp
-\fBint scroll(WINDOW *win);\fR
-.br
-\fBint scrl(int n);\fR
+\fBint scroll(WINDOW *\fP\fIwin\fP\fB);\fR
+.sp
+\fBint scrl(int \fP\fIn\fP\fB);\fR
 .br
-\fBint wscrl(WINDOW *win, int n);\fR
+\fBint wscrl(WINDOW *\fP\fIwin\fP\fB, int \fP\fIn\fP\fB);\fR
 .br
 .SH DESCRIPTION
 The \fBscroll\fR routine scrolls the window up one line.
diff --git a/man/curs_sp_funcs.3x b/man/curs_sp_funcs.3x
index d524c0e2..3ad0c1fe 100644
--- a/man/curs_sp_funcs.3x
+++ b/man/curs_sp_funcs.3x
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_sp_funcs.3x,v 1.18 2020/02/02 23:34:34 tom Exp $
+.\" $Id: curs_sp_funcs.3x,v 1.19 2020/10/19 21:42:48 tom Exp $
 .TH curs_sp_funcs 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -41,6 +41,7 @@ curs_sp_funcs \- \fBcurses\fR screen-pointer extension
 .hy
 .SH SYNOPSIS
 \fB#include \fR
+.br
 \fB#include \fR
 .nf
 .sp
diff --git a/man/curs_termcap.3x b/man/curs_termcap.3x
index 7cf547d5..5a85467b 100644
--- a/man/curs_termcap.3x
+++ b/man/curs_termcap.3x
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_termcap.3x,v 1.44 2020/05/17 01:20:13 tom Exp $
+.\" $Id: curs_termcap.3x,v 1.45 2020/10/24 09:24:31 tom Exp $
 .TH curs_termcap 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -66,17 +66,17 @@
 .br
 \fBextern @NCURSES_OSPEED@ ospeed;\fR
 .sp
-\fBint tgetent(char *bp, const char *name);\fR
+\fBint tgetent(char *\fP\fIbp\fP\fB, const char *\fP\fIname\fP\fB);\fR
 .br
-\fBint tgetflag(const char *id);\fR
+\fBint tgetflag(const char *\fP\fIid\fP\fB);\fR
 .br
-\fBint tgetnum(const char *id);\fR
+\fBint tgetnum(const char *\fP\fIid\fP\fB);\fR
 .br
-\fBchar *tgetstr(const char *id, char **area);\fR
+\fBchar *tgetstr(const char *\fP\fIid\fP\fB, char **\fP\fIarea\fP\fB);\fR
 .br
-\fBchar *tgoto(const char *cap, int col, int row);\fR
+\fBchar *tgoto(const char *\fP\fIcap\fP\fB, int \fP\fIcol\fP\fB, int \fP\fIrow\fP\fB);\fR
 .br
-\fBint tputs(const char *str, int affcnt, int (*putc)(int));\fR
+\fBint tputs(const char *\fP\fIstr\fP\fB, int \fP\fIaffcnt\fP\fB, int (*\fP\fIputc\fP\fB)(int));\fR
 .br
 .SH DESCRIPTION
 These routines are included as a conversion aid for programs that use
diff --git a/man/curs_threads.3x b/man/curs_threads.3x
index 95afb873..855dba83 100644
--- a/man/curs_threads.3x
+++ b/man/curs_threads.3x
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_threads.3x,v 1.25 2020/02/02 23:34:34 tom Exp $
+.\" $Id: curs_threads.3x,v 1.26 2020/10/24 09:47:37 tom Exp $
 .TH curs_threads 3X ""
 .de bP
 .ie n  .IP \(bu 4
@@ -45,16 +45,16 @@
 \fBtypedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *);\fR
 .br
 \fBtypedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *);\fR
-.br
+.sp
 \fBint get_escdelay(void);\fR
 .br
-\fBint set_escdelay(int size);\fR
+\fBint set_escdelay(int \fP\fIsize\fP\fB);\fR
 .br
-\fBint set_tabsize(int size);\fR
-.br
-\fBint use_screen(SCREEN *scr, NCURSES_SCREEN_CB func, void *data);\fR
+\fBint set_tabsize(int \fP\fIsize\fP\fB);\fR
+.sp
+\fBint use_screen(SCREEN *\fP\fIscr\fP\fB, NCURSES_SCREEN_CB \fP\fIfunc\fP\fB, void *\fP\fIdata\fP\fB);\fR
 .br
-\fBint use_window(WINDOW *win, NCURSES_WINDOW_CB func, void *data);\fR
+\fBint use_window(WINDOW *\fP\fIwin\fP\fB, NCURSES_WINDOW_CB \fP\fIfunc\fP\fB, void *\fP\fIdata\fP\fB);\fR
 .br
 .SH DESCRIPTION
 This implementation can be configured to provide rudimentary support
diff --git a/man/curs_touch.3x b/man/curs_touch.3x
index e5320789..b5ea35b3 100644
--- a/man/curs_touch.3x
+++ b/man/curs_touch.3x
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_touch.3x,v 1.22 2020/02/02 23:34:34 tom Exp $
+.\" $Id: curs_touch.3x,v 1.23 2020/10/24 09:51:21 tom Exp $
 .TH curs_touch 3X ""
 .na
 .hy 0
@@ -42,18 +42,18 @@
 .hy
 .SH SYNOPSIS
 \fB#include \fR
+.sp
+\fBint touchline(WINDOW *\fP\fIwin\fP\fB, int \fP\fIstart\fP\fB, int \fP\fIcount\fP\fB);\fR
+.sp
+\fBint touchwin(WINDOW *\fP\fIwin\fP\fB);\fR
 .br
-\fBint touchwin(WINDOW *win);\fR
+\fBint wtouchln(WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIn\fP\fB, int \fP\fIchanged\fP\fB);\fR
+.sp
+\fBint untouchwin(WINDOW *\fP\fIwin\fP\fB);\fR
+.sp
+\fBbool is_linetouched(WINDOW *\fP\fIwin\fP\fB, int \fP\fIline\fP\fB);\fR
 .br
-\fBint touchline(WINDOW *win, int start, int count);\fR
-.br
-\fBint untouchwin(WINDOW *win);\fR
-.br
-\fBint wtouchln(WINDOW *win, int y, int n, int changed);\fR
-.br
-\fBbool is_linetouched(WINDOW *win, int line);\fR
-.br
-\fBbool is_wintouched(WINDOW *win);\fR
+\fBbool is_wintouched(WINDOW *\fP\fIwin\fP\fB);\fR
 .br
 .SH DESCRIPTION
 The \fBtouchwin\fR and \fBtouchline\fR routines throw away all
diff --git a/man/curs_util.3x b/man/curs_util.3x
index a71015b3..afb09286 100644
--- a/man/curs_util.3x
+++ b/man/curs_util.3x
@@ -28,7 +28,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_util.3x,v 1.58 2020/10/17 22:54:59 tom Exp $
+.\" $Id: curs_util.3x,v 1.59 2020/10/24 09:15:57 tom Exp $
 .TH curs_util 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -58,27 +58,27 @@
 .SH SYNOPSIS
 \fB#include \fR
 .sp
-\fBconst char *unctrl(chtype c);\fR
+\fBconst char *unctrl(chtype \fP\fIc\fP\fB);\fR
 .br
-\fBwchar_t *wunctrl(cchar_t *c);\fR
+\fBwchar_t *wunctrl(cchar_t *\fP\fIc\fP\fB);\fR
 .sp
-\fBconst char *keyname(int c);\fR
+\fBconst char *keyname(int \fP\fIc\fP\fB);\fR
 .br
-\fBconst char *key_name(wchar_t w);\fR
+\fBconst char *key_name(wchar_t \fP\fIw\fP\fB);\fR
 .sp
 \fBvoid filter(void);\fR
 .br
 \fBvoid nofilter(void);\fR
 .sp
-\fBvoid use_env(bool f);\fR
+\fBvoid use_env(bool \fP\fIf\fP\fB);\fR
 .br
-\fBvoid use_tioctl(bool f);\fR
+\fBvoid use_tioctl(bool \fP\fIf\fP\fB);\fR
 .sp
-\fBint putwin(WINDOW *win, FILE *filep);\fR
+\fBint putwin(WINDOW *\fP\fIwin\fP\fB, FILE *\fP\fIfilep\fP\fB);\fR
 .br
-\fBWINDOW *getwin(FILE *filep);\fR
+\fBWINDOW *getwin(FILE *\fP\fIfilep\fP\fB);\fR
 .sp
-\fBint delay_output(int ms);\fR
+\fBint delay_output(int \fP\fIms\fP\fB);\fR
 .br
 \fBint flushinp(void);\fR
 .br
diff --git a/man/default_colors.3x b/man/default_colors.3x
index 2ad7dcde..194abb1c 100644
--- a/man/default_colors.3x
+++ b/man/default_colors.3x
@@ -29,7 +29,7 @@
 .\"
 .\" Author: Thomas E. Dickey 1997,1999,2000,2005
 .\"
-.\" $Id: default_colors.3x,v 1.29 2020/02/02 23:34:34 tom Exp $
+.\" $Id: default_colors.3x,v 1.30 2020/10/24 09:52:16 tom Exp $
 .TH default_colors 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -43,7 +43,7 @@
 .sp
 \fBint use_default_colors(void);\fP
 .br
-\fBint assume_default_colors(int fg, int bg);\fP
+\fBint assume_default_colors(int \fP\fIfg\fP\fB, int \fP\fIbg\fP\fB);\fP
 .SH DESCRIPTION
 The \fBuse_default_colors\fP and \fBassume_default_colors\fP
 functions are extensions to the curses library.
diff --git a/man/define_key.3x b/man/define_key.3x
index a8d7b47e..d0dbe7fc 100644
--- a/man/define_key.3x
+++ b/man/define_key.3x
@@ -29,14 +29,14 @@
 .\"
 .\" Author: Thomas E. Dickey 1997
 .\"
-.\" $Id: define_key.3x,v 1.17 2020/02/02 23:34:34 tom Exp $
+.\" $Id: define_key.3x,v 1.18 2020/10/24 09:52:54 tom Exp $
 .TH define_key 3X ""
 .SH NAME
 \fBdefine_key\fP \- define a keycode
 .SH SYNOPSIS
 \fB#include \fP
 .sp
-\fBint define_key(const char *definition, int keycode);\fP
+\fBint define_key(const char *\fP\fIdefinition\fP\fB, int \fP\fIkeycode\fP\fB);\fP
 .SH DESCRIPTION
 This is an extension to the curses library.
 It permits an application to define keycodes with their corresponding control
diff --git a/man/form_field.3x b/man/form_field.3x
index 757c486f..01ff576a 100644
--- a/man/form_field.3x
+++ b/man/form_field.3x
@@ -28,20 +28,20 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: form_field.3x,v 1.16 2020/10/17 23:06:12 tom Exp $
+.\" $Id: form_field.3x,v 1.17 2020/10/24 09:10:45 tom Exp $
 .TH form_field 3X ""
 .SH NAME
 \fBform_field\fR \- make and break connections between fields and forms
 .SH SYNOPSIS
 \fB#include \fR
 .sp
-int set_form_fields(FORM *form, FIELD **fields);
+\fBint set_form_fields(FORM *\fP\fIform\fP\fB, FIELD **\fP\fIfields\fP\fB);\fP
 .br
-FIELD **form_fields(const FORM *form);
+\fBFIELD **form_fields(const FORM *\fP\fIform\fP\fB);\fP
 .br
-int field_count(const FORM *form);
+\fBint field_count(const FORM *\fP\fIform\fP\fB);\fP
 .br
-int move_field(FIELD *field, int frow, int fcol);
+\fBint move_field(FIELD *\fP\fIfield\fP\fB, int \fP\fIfrow\fP\fB, int \fP\fIfcol\fP\fB);\fP
 .br
 .SH DESCRIPTION
 The function \fBset_form_fields\fR changes the field pointer array of
diff --git a/man/form_field_buffer.3x b/man/form_field_buffer.3x
index cf71d00d..98b2e42d 100644
--- a/man/form_field_buffer.3x
+++ b/man/form_field_buffer.3x
@@ -28,7 +28,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: form_field_buffer.3x,v 1.26 2020/03/28 19:06:28 tom Exp $
+.\" $Id: form_field_buffer.3x,v 1.27 2020/10/24 09:27:17 tom Exp $
 .TH form_field_buffer 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -43,15 +43,15 @@
 .SH SYNOPSIS
 \fB#include \fR
 .sp
-int set_field_buffer(FIELD *field, int buf, const char *value);
+\fBint set_field_buffer(FIELD *\fP\fIfield\fP\fB, int \fP\fIbuf\fP\fB, const char *\fP\fIvalue\fP\fB);\fP
 .br
-char *field_buffer(const FIELD *field, int buffer);
-.br
-int set_field_status(FIELD *field, bool status);
-.br
-bool field_status(const FIELD *field);
+\fBchar *field_buffer(const FIELD *\fP\fIfield\fP\fB, int \fP\fIbuffer\fP\fB);\fP
+.sp
+\fBint set_field_status(FIELD *\fP\fIfield\fP\fB, bool \fP\fIstatus\fP\fB);\fP
 .br
-int set_max_field(FIELD *field, int max);
+\fBbool field_status(const FIELD *\fP\fIfield\fP\fB);\fP
+.sp
+\fBint set_max_field(FIELD *\fP\fIfield\fP\fB, int \fP\fImax\fP\fB);\fP
 .br
 .SH DESCRIPTION
 The function \fBset_field_buffer\fR sets the numbered buffer of the given field
diff --git a/man/form_field_new.3x b/man/form_field_new.3x
index 9a18da18..1a240d0a 100644
--- a/man/form_field_new.3x
+++ b/man/form_field_new.3x
@@ -28,7 +28,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: form_field_new.3x,v 1.23 2020/10/17 23:06:36 tom Exp $
+.\" $Id: form_field_new.3x,v 1.24 2020/10/24 09:09:18 tom Exp $
 .TH form_field_new 3X ""
 .SH NAME
 \fBnew_field\fR,
@@ -38,15 +38,15 @@
 .SH SYNOPSIS
 \fB#include \fR
 .sp
-FIELD *new_field(int height, int width,
-                 int toprow, int leftcol,
-                 int offscreen, int nbuffers);
+\fBFIELD *new_field(int \fP\fIheight\fP\fB, int \fP\fIwidth\fP\fB,\fP
+                 \fBint \fP\fItoprow\fP\fB, int \fP\fIleftcol\fP\fB,\fP
+                 \fBint \fP\fIoffscreen\fP\fB, int \fP\fInbuffers\fP\fB);\fP
 .br
-FIELD *dup_field(FIELD *field, int toprow, int leftcol);
+\fBFIELD *dup_field(FIELD *\fP\fIfield\fP\fB, int \fP\fItoprow\fP\fB, int \fP\fIleftcol\fP\fB);\fP
 .br
-FIELD *link_field(FIELD *field, int toprow, int leftcol);
+\fBFIELD *link_field(FIELD *\fP\fIfield\fP\fB, int \fP\fItoprow\fP\fB, int \fP\fIleftcol\fP\fB);\fP
 .br
-int free_field(FIELD *field);
+\fBint free_field(FIELD *\fP\fIfield\fP\fB);\fP
 .br
 .SH DESCRIPTION
 The function \fBnew_field\fR allocates a new field and initializes it from the
diff --git a/man/form_field_userptr.3x b/man/form_field_userptr.3x
index 862943a5..5d3ab144 100644
--- a/man/form_field_userptr.3x
+++ b/man/form_field_userptr.3x
@@ -28,7 +28,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: form_field_userptr.3x,v 1.15 2020/10/17 23:07:03 tom Exp $
+.\" $Id: form_field_userptr.3x,v 1.16 2020/10/24 09:06:33 tom Exp $
 .TH form_field_userptr 3X ""
 .SH NAME
 \fBset_field_userptr\fR,
@@ -36,9 +36,9 @@
 .SH SYNOPSIS
 \fB#include \fR
 .sp
-int set_field_userptr(FIELD *field, void*userptr);
+\fBint set_field_userptr(FIELD *\fP\fIfield\fP\fB, void *\fP\fIuserptr\fP\fB);\fP
 .br
-void *field_userptr(const FIELD *field);
+\fBvoid *field_userptr(const FIELD *\fP\fIfield\fP\fB);\fP
 .SH DESCRIPTION
 Every form field has a field that can be used to hold application-specific data
 (that is, the form-driver code leaves it alone).
diff --git a/man/form_fieldtype.3x b/man/form_fieldtype.3x
index 775d1f26..d5b7cefa 100644
--- a/man/form_fieldtype.3x
+++ b/man/form_fieldtype.3x
@@ -28,32 +28,32 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: form_fieldtype.3x,v 1.22 2020/10/17 23:07:47 tom Exp $
+.\" $Id: form_fieldtype.3x,v 1.23 2020/10/24 09:05:17 tom Exp $
 .TH form_fieldtype 3X ""
 .SH NAME
 \fBform_fieldtype\fR \- define validation-field types
 .SH SYNOPSIS
 \fB#include \fR
 .sp
-FIELDTYPE *new_fieldtype(
-    bool (* const field_check)(FIELD *, const void *),
-    bool (* const char_check)(int, const void *));
+\fBFIELDTYPE *new_fieldtype(\fP
+    \fBbool (* const \fP\fIfield_check\fP\fB)(FIELD *, const void *),\fP
+    \fBbool (* const \fP\fIchar_check\fP\fB)(int, const void *));\fP
 .br
-int free_fieldtype(FIELDTYPE *fieldtype);
+\fBint free_fieldtype(FIELDTYPE *\fP\fIfieldtype\fP\fB);\fP
 .sp
-int set_fieldtype_arg(
-    FIELDTYPE *fieldtype,
-    void *(* const make_arg)(va_list *),
-    void *(* const copy_arg)(const void *),
-    void  (* const free_arg)(void *));
+\fBint set_fieldtype_arg(\fP
+    \fBFIELDTYPE *\fP\fIfieldtype\fP\fB,\fP
+    \fBvoid *(* const \fP\fImake_arg\fP\fB)(va_list *),\fP
+    \fBvoid *(* const \fP\fIcopy_arg\fP\fB)(const void *),\fP
+    \fBvoid  (* const \fP\fIfree_arg\fP\fB)(void *));\fP
 .br
-int set_fieldtype_choice(
-    FIELDTYPE *fieldtype,
-    bool (* const next_choice)(FIELD *, const void *),
-    bool (* const prev_choice)(FIELD *, const void *));
+\fBint set_fieldtype_choice(\fP
+    \fBFIELDTYPE *\fP\fIfieldtype\fP\fB,\fP
+    \fBbool (* const \fP\fInext_choice\fP\fB)(FIELD *, const void *),\fP
+    \fBbool (* const \fP\fIprev_choice\fP\fB)(FIELD *, const void *));\fP
 .sp
-FIELDTYPE *link_fieldtype(FIELDTYPE *type1,
-                          FIELDTYPE *type2);
+\fBFIELDTYPE *link_fieldtype(FIELDTYPE *\fP\fItype1\fP\fB,\fP
+                          \fBFIELDTYPE *\fP\fItype2\fP\fB);\fP
 .SH DESCRIPTION
 The function \fBnew_fieldtype\fR creates a new field type usable for data
 validation.
diff --git a/man/form_new.3x b/man/form_new.3x
index e606853f..47398174 100644
--- a/man/form_new.3x
+++ b/man/form_new.3x
@@ -28,7 +28,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: form_new.3x,v 1.14 2020/10/17 23:08:09 tom Exp $
+.\" $Id: form_new.3x,v 1.15 2020/10/24 09:02:26 tom Exp $
 .TH form_new 3X ""
 .SH NAME
 \fBnew_form\fR,
@@ -36,9 +36,9 @@
 .SH SYNOPSIS
 \fB#include \fR
 .sp
-FORM *new_form(FIELD **fields);
+\fBFORM *new_form(FIELD **\fP\fIfields\fP\fB);\fP
 .br
-int free_form(FORM *form);
+\fBint free_form(FORM *\fP\fIform\fP\fB);\fP
 .br
 .SH DESCRIPTION
 The function \fBnew_form\fR creates a new form connected to a specified field
diff --git a/man/form_requestname.3x b/man/form_requestname.3x
index 1cb35d67..265735dc 100644
--- a/man/form_requestname.3x
+++ b/man/form_requestname.3x
@@ -28,7 +28,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: form_requestname.3x,v 1.14 2020/10/17 23:08:23 tom Exp $
+.\" $Id: form_requestname.3x,v 1.15 2020/10/24 09:01:37 tom Exp $
 .TH form_requestname 3X ""
 .SH NAME
 \fBform_request_by_name\fP,
@@ -36,9 +36,9 @@
 .SH SYNOPSIS
 \fB#include \fR
 .sp
-const char *form_request_name(int request);
+\fBconst char *form_request_name(int \fP\fIrequest\fP\fB);\fP
 .br
-int form_request_by_name(const char *name);
+\fBint form_request_by_name(const char *\fP\fIname\fP\fB);\fP
 .br
 .SH DESCRIPTION
 The function \fBform_request_name\fR returns the printable name of a form
diff --git a/man/form_userptr.3x b/man/form_userptr.3x
index b1fdaac3..5651a95f 100644
--- a/man/form_userptr.3x
+++ b/man/form_userptr.3x
@@ -28,7 +28,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: form_userptr.3x,v 1.18 2020/10/17 23:08:37 tom Exp $
+.\" $Id: form_userptr.3x,v 1.19 2020/10/24 09:00:52 tom Exp $
 .TH form_userptr 3X ""
 .SH NAME
 \fBset_form_userptr\fP,
@@ -36,9 +36,9 @@
 .SH SYNOPSIS
 \fB#include \fR
 .sp
-int set_form_userptr(FORM *form, void *userptr);
+\fBint set_form_userptr(FORM *\fP\fIform\fP\fB, void *\fP\fIuserptr\fP\fB);\fP
 .br
-void* form_userptr(const FORM *form);
+\fBvoid* form_userptr(const FORM *\fP\fIform\fP\fB);\fP
 .br
 .SH DESCRIPTION
 Every form and every form item has a field that can be used to hold
diff --git a/man/menu_items.3x b/man/menu_items.3x
index a9ed4010..7c042435 100644
--- a/man/menu_items.3x
+++ b/man/menu_items.3x
@@ -28,7 +28,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: menu_items.3x,v 1.16 2020/10/17 23:08:48 tom Exp $
+.\" $Id: menu_items.3x,v 1.17 2020/10/24 09:00:06 tom Exp $
 .TH menu_items 3X ""
 .SH NAME
 \fBset_menu_items\fR,
@@ -37,11 +37,11 @@
 .SH SYNOPSIS
 \fB#include \fR
 .sp
-int set_menu_items(MENU *menu, ITEM **items);
+\fBint set_menu_items(MENU *\fP\fImenu\fP\fB, ITEM **\fP\fIitems\fP\fB);\fP
 .br
-ITEM **menu_items(const MENU *menu);
+\fBITEM **menu_items(const MENU *\fP\fImenu\fP\fB);\fP
 .br
-int item_count(const MENU *menu);
+\fBint item_count(const MENU *\fP\fImenu\fP\fB);\fP
 .br
 .SH DESCRIPTION
 The function \fBset_menu_items\fR changes the item pointer array of the given
diff --git a/man/menu_mark.3x b/man/menu_mark.3x
index 88498d9a..96011357 100644
--- a/man/menu_mark.3x
+++ b/man/menu_mark.3x
@@ -28,7 +28,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: menu_mark.3x,v 1.17 2020/10/17 23:09:02 tom Exp $
+.\" $Id: menu_mark.3x,v 1.18 2020/10/24 08:59:04 tom Exp $
 .TH menu_mark 3X ""
 .SH NAME
 \fBset_menu_mark\fP,
@@ -36,9 +36,9 @@
 .SH SYNOPSIS
 \fB#include \fR
 .sp
-int set_menu_mark(MENU *menu, const char *mark);
+\fBint set_menu_mark(MENU *\fP\fImenu\fP\fB, const char *\fP\fImark\fP\fB);\fP
 .br
-const char *menu_mark(const MENU *menu);
+\fBconst char *menu_mark(const MENU *\fP\fImenu\fP\fB);\fP
 .br
 .SH DESCRIPTION
 In order to make menu selections visible on older terminals without
diff --git a/man/menu_new.3x b/man/menu_new.3x
index 6deb97d9..3b04f93b 100644
--- a/man/menu_new.3x
+++ b/man/menu_new.3x
@@ -28,7 +28,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: menu_new.3x,v 1.17 2020/10/17 23:09:13 tom Exp $
+.\" $Id: menu_new.3x,v 1.18 2020/10/24 08:57:51 tom Exp $
 .TH menu_new 3X ""
 .SH NAME
 \fBnew_menu\fP,
@@ -36,9 +36,9 @@
 .SH SYNOPSIS
 \fB#include \fR
 .sp
-MENU *new_menu(ITEM **items);
+\fBMENU *new_menu(ITEM **\fP\fIitems\fP\fB);\fP
 .br
-int free_menu(MENU *menu);
+\fBint free_menu(MENU *\fP\fImenu\fP\fB);\fP
 .br
 .SH DESCRIPTION
 The function \fBnew_menu\fR creates a new menu connected to a specified item
diff --git a/ncurses/tinfo/lib_cur_term.c b/ncurses/tinfo/lib_cur_term.c
index 4a90335d..0373aebb 100644
--- a/ncurses/tinfo/lib_cur_term.c
+++ b/ncurses/tinfo/lib_cur_term.c
@@ -39,8 +39,9 @@
 
 #include 
 #include 		/* ospeed */
+#include 		/* VALID_STRING */
 
-MODULE_ID("$Id: lib_cur_term.c,v 1.42 2020/02/02 23:34:34 tom Exp $")
+MODULE_ID("$Id: lib_cur_term.c,v 1.43 2020/10/24 18:54:32 tom Exp $")
 
 #undef CUR
 #define CUR TerminalType(termp).
@@ -99,13 +100,13 @@ NCURSES_SP_NAME(set_curterm) (NCURSES_SP_DCLx TERMINAL *termp)
 	if (TCB->drv &&
 	    TCB->drv->isTerminfo &&
 	    TerminalType(termp).Strings) {
-	    PC = (char) ((pad_char != NULL) ? pad_char[0] : 0);
+	    PC = (char) (VALID_STRING(pad_char) ? pad_char[0] : 0);
 	}
 	TCB->csp = SP_PARM;
 #else
 	ospeed = (NCURSES_OSPEED) _nc_ospeed(termp->_baudrate);
 	if (TerminalType(termp).Strings) {
-	    PC = (char) ((pad_char != NULL) ? pad_char[0] : 0);
+	    PC = (char) (VALID_STRING(pad_char) ? pad_char[0] : 0);
 	}
 #endif
 #if !USE_REENTRANT
diff --git a/ncurses/tinfo/parse_entry.c b/ncurses/tinfo/parse_entry.c
index 23574b66..ec2d3364 100644
--- a/ncurses/tinfo/parse_entry.c
+++ b/ncurses/tinfo/parse_entry.c
@@ -48,7 +48,7 @@
 #include 
 #include 
 
-MODULE_ID("$Id: parse_entry.c,v 1.99 2020/02/02 23:34:34 tom Exp $")
+MODULE_ID("$Id: parse_entry.c,v 1.101 2020/10/24 21:37:13 tom Exp $")
 
 #ifdef LINT
 static short const parametrized[] =
@@ -544,10 +544,14 @@ _nc_parse_entry(ENTRY * entryp, int literal, bool silent)
 
 	    case STRING:
 		ptr = _nc_curr_token.tk_valstring;
-		if (_nc_syntax == SYN_TERMCAP)
+		if (_nc_syntax == SYN_TERMCAP) {
+		    int n = entry_ptr->nte_index;
 		    ptr = _nc_captoinfo(_nc_curr_token.tk_name,
 					ptr,
-					parametrized[entry_ptr->nte_index]);
+					(n < (int) SIZEOF(parametrized))
+					? parametrized[n]
+					: 0);
+		}
 		entryp->tterm.Strings[entry_ptr->nte_index] = _nc_save_str(ptr);
 		break;
 
diff --git a/package/debian-mingw/changelog b/package/debian-mingw/changelog
index 09429725..d358c512 100644
--- a/package/debian-mingw/changelog
+++ b/package/debian-mingw/changelog
@@ -1,8 +1,8 @@
-ncurses6 (6.2+20201017) unstable; urgency=low
+ncurses6 (6.2+20201024) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey   Sat, 17 Oct 2020 07:56:23 -0400
+ -- Thomas E. Dickey   Mon, 19 Oct 2020 04:04:13 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
diff --git a/package/debian-mingw64/changelog b/package/debian-mingw64/changelog
index 09429725..d358c512 100644
--- a/package/debian-mingw64/changelog
+++ b/package/debian-mingw64/changelog
@@ -1,8 +1,8 @@
-ncurses6 (6.2+20201017) unstable; urgency=low
+ncurses6 (6.2+20201024) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey   Sat, 17 Oct 2020 07:56:23 -0400
+ -- Thomas E. Dickey   Mon, 19 Oct 2020 04:04:13 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
diff --git a/package/debian/changelog b/package/debian/changelog
index 49e19fc6..bd90fd4d 100644
--- a/package/debian/changelog
+++ b/package/debian/changelog
@@ -1,8 +1,8 @@
-ncurses6 (6.2+20201017) unstable; urgency=low
+ncurses6 (6.2+20201024) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey   Sat, 17 Oct 2020 07:56:23 -0400
+ -- Thomas E. Dickey   Mon, 19 Oct 2020 04:04:13 -0400
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
diff --git a/package/mingw-ncurses.nsi b/package/mingw-ncurses.nsi
index fdc5f6ae..307c804f 100644
--- a/package/mingw-ncurses.nsi
+++ b/package/mingw-ncurses.nsi
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.425 2020/10/17 11:56:23 tom Exp $
+; $Id: mingw-ncurses.nsi,v 1.426 2020/10/19 08:04:13 tom Exp $
 
 ; TODO add examples
 ; TODO bump ABI to 6
@@ -10,7 +10,7 @@
 !define VERSION_MAJOR "6"
 !define VERSION_MINOR "2"
 !define VERSION_YYYY  "2020"
-!define VERSION_MMDD  "1017"
+!define VERSION_MMDD  "1024"
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
 
 !define MY_ABI   "5"
diff --git a/package/mingw-ncurses.spec b/package/mingw-ncurses.spec
index 017dd649..955c1cb3 100644
--- a/package/mingw-ncurses.spec
+++ b/package/mingw-ncurses.spec
@@ -3,7 +3,7 @@
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 6.2
-Release: 20201017
+Release: 20201024
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
diff --git a/package/ncurses.spec b/package/ncurses.spec
index eea06fcb..050d437a 100644
--- a/package/ncurses.spec
+++ b/package/ncurses.spec
@@ -1,7 +1,7 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 6.2
-Release: 20201017
+Release: 20201024
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
diff --git a/package/ncursest.spec b/package/ncursest.spec
index 56aad1bc..47fd7429 100644
--- a/package/ncursest.spec
+++ b/package/ncursest.spec
@@ -1,7 +1,7 @@
 Summary: Curses library with POSIX thread support.
 Name: ncursest6
 Version: 6.2
-Release: 20201017
+Release: 20201024
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
diff --git a/progs/tic.c b/progs/tic.c
index dd9d4e02..9560788e 100644
--- a/progs/tic.c
+++ b/progs/tic.c
@@ -49,7 +49,7 @@
 #include 
 #include 
 
-MODULE_ID("$Id: tic.c,v 1.287 2020/10/10 21:25:24 tom Exp $")
+MODULE_ID("$Id: tic.c,v 1.288 2020/10/24 17:04:11 tom Exp $")
 
 #define STDIN_NAME ""
 
@@ -2180,6 +2180,9 @@ check_1_infotocap(const char *name, NCURSES_CONST char *value, int count)
     char *result;
     char blob[NUM_PARM * 10];
     char *next = blob;
+    TParams expect;
+    TParams actual;
+    int nparam;
 
     *next++ = '\0';
     for (k = 1; k <= NUM_PARM; k++) {
@@ -2191,7 +2194,16 @@ check_1_infotocap(const char *name, NCURSES_CONST char *value, int count)
 	next += strlen(next) + 1;
     }
 
-    switch (tparm_type(name)) {
+    expect = tparm_type(name);
+    nparam = _nc_tparm_analyze(value, p_is_s, &ignored);
+    actual = guess_tparm_type(nparam, p_is_s);
+
+    if (expect != actual) {
+	_nc_warning("%s has mismatched parameters", name);
+	actual = Other;
+    }
+
+    switch (actual) {
     case Num_Str:
 	result = TPARM_2(value, numbers[1], strings[2]);
 	break;
@@ -2212,8 +2224,8 @@ check_1_infotocap(const char *name, NCURSES_CONST char *value, int count)
 			  myParam(9));
 #undef myParam
 	break;
+    case Other:
     default:
-	(void) _nc_tparm_analyze(value, p_is_s, &ignored);
 #define myParam(n) (p_is_s[n - 1] != 0 ? ((TPARM_ARG) strings[n]) : numbers[n])
 	result = TPARM_9(value,
 			 myParam(1),
diff --git a/progs/tparm_type.c b/progs/tparm_type.c
index da681ce9..3da4a077 100644
--- a/progs/tparm_type.c
+++ b/progs/tparm_type.c
@@ -33,7 +33,7 @@
 
 #include 
 
-MODULE_ID("$Id: tparm_type.c,v 1.3 2020/02/02 23:34:34 tom Exp $")
+MODULE_ID("$Id: tparm_type.c,v 1.4 2020/10/24 17:30:32 tom Exp $")
 
 /*
  * Lookup the type of call we should make to tparm().  This ignores the actual
@@ -70,3 +70,31 @@ tparm_type(const char *name)
     }
     return result;
 }
+
+TParams
+guess_tparm_type(int nparam, char **p_is_s)
+{
+    TParams result = Other;
+    switch (nparam) {
+    case 0:
+    case 1:
+	if (!p_is_s[0])
+	    result = Numbers;
+	break;
+    case 2:
+	if (!p_is_s[0] && !p_is_s[1])
+	    result = Numbers;
+	if (!p_is_s[0] && p_is_s[1])
+	    result = Num_Str;
+	break;
+    case 3:
+	if (!p_is_s[0] && !p_is_s[1] && !p_is_s[2])
+	    result = Numbers;
+	if (!p_is_s[0] && p_is_s[1] && p_is_s[2])
+	    result = Num_Str_Str;
+	break;
+    default:
+	break;
+    }
+    return result;
+}
diff --git a/progs/tparm_type.h b/progs/tparm_type.h
index 77f4f21c..7c102a30 100644
--- a/progs/tparm_type.h
+++ b/progs/tparm_type.h
@@ -32,7 +32,7 @@
  ****************************************************************************/
 
 /*
- * $Id: tparm_type.h,v 1.2 2020/02/02 23:34:34 tom Exp $
+ * $Id: tparm_type.h,v 1.3 2020/10/24 17:11:33 tom Exp $
  *
  * determine expected/actual number of parameters to setup for tparm
  */
@@ -43,11 +43,13 @@
 #include 
 
 typedef enum {
-    Numbers = 0
+    Other = -1
+    ,Numbers = 0
     ,Num_Str
     ,Num_Str_Str
 } TParams;
 
 extern TParams tparm_type(const char *name);
+extern TParams guess_tparm_type(int nparam, char **p_is_s);
 
 #endif /* TPARM_TYPE_H */
diff --git a/progs/tput.c b/progs/tput.c
index 4bb77147..cac8d292 100644
--- a/progs/tput.c
+++ b/progs/tput.c
@@ -51,7 +51,7 @@
 #include 
 #include 
 
-MODULE_ID("$Id: tput.c,v 1.83 2020/05/27 23:47:51 tom Exp $")
+MODULE_ID("$Id: tput.c,v 1.84 2020/10/24 18:29:38 tom Exp $")
 
 #define PUTS(s)		fputs(s, stdout)
 
@@ -264,6 +264,8 @@ tput_cmd(int fd, TTY * saved_settings, bool opt_x, int argc, char *argv[])
 			     myParam(9));
 #undef myParam
 		break;
+	    case Other:
+		/* FALLTHRU */
 	    default:
 		(void) _nc_tparm_analyze(s, p_is_s, &ignored);
 #define myParam(n) (p_is_s[n - 1] != 0 ? ((TPARM_ARG) strings[n]) : numbers[n])
-- 
2.44.0