libncurses: Import https://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.5.tar.gz changes

Change-Id: I3433d30ca01359fd2e3623ede96b531f0b39cbfa
Signed-off-by: micky387 <mickaelsaibi@free.fr>
diff --git a/Ada95/gen/Makefile.in b/Ada95/gen/Makefile.in
index 48df318..525ce99 100644
--- a/Ada95/gen/Makefile.in
+++ b/Ada95/gen/Makefile.in
@@ -1,5 +1,6 @@
 ##############################################################################
-# Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.                #
+# Copyright 2019-2022,2024 Thomas E. Dickey                                  #
+# Copyright 1998-2015,2018 Free Software Foundation, Inc.                    #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
@@ -27,8 +28,9 @@
 ##############################################################################
 #
 #  Author:  Juergen Pfeifer, 1996
+#     and:  Thomas E. Dickey, 1997
 #
-#  $Id: Makefile.in,v 1.85 2015/08/05 23:06:31 tom Exp $
+#  $Id: Makefile.in,v 1.103 2024/01/19 16:51:56 tom Exp $
 #
 .SUFFIXES:
 
@@ -46,8 +48,8 @@
 bindir		= @bindir@
 includedir	= @includedir@
 
-INSTALL		= @INSTALL@
-INSTALL_PROG	= @INSTALL_PROGRAM@
+INSTALL		= @INSTALL@ @INSTALL_OPT_O@
+INSTALL_SCRIPT	= @INSTALL_SCRIPT@
 INSTALL_DATA	= @INSTALL_DATA@
 
 AWK		= @AWK@
@@ -56,7 +58,7 @@
 CC		= @CC@
 HOST_CC		= @BUILD_CC@
 
-CFLAGS		= @CFLAGS@
+CFLAGS		= @CFLAGS@ @EXTRA_CFLAGS@
 HOST_CFLAGS	= @BUILD_CFLAGS@
 
 CPPFLAGS	= @CPPFLAGS@
@@ -64,9 +66,9 @@
 		  -DHAVE_CONFIG_H -I$(srcdir)
 
 CCFLAGS		= $(HOST_CPPFLAGS) $(HOST_CFLAGS)
-CFLAGS_NORMAL	= $(CCFLAGS)
-CFLAGS_DEBUG	= $(CCFLAGS) @CC_G_OPT@ -DTRACE
-CFLAGS_PROFILE	= $(CCFLAGS) -pg
+CFLAGS_NORMAL	= $(CCFLAGS) -DNCURSES_STATIC
+CFLAGS_DEBUG	= $(CCFLAGS) -DNCURSES_STATIC @CC_G_OPT@ -DTRACE
+CFLAGS_PROFILE	= $(CCFLAGS) -DNCURSES_STATIC -pg
 CFLAGS_SHARED	= $(CCFLAGS) @CC_SHARED_OPTS@
 
 CFLAGS_DEFAULT	= $(CFLAGS_@DFT_UPR_MODEL@)
@@ -98,11 +100,10 @@
 WRAPPER		= @NCURSES_SHLIB2@
 
 PROG_GENERATE	= ./generate$x
-GENERATE	= $(PROG_GENERATE) '@DFT_ARG_SUFFIX@'
+GENERATE	= $(PROG_GENERATE) '@USE_ARG_SUFFIX@'
 DEL_ADAMODE	= sed -e '/^\-\-\ \ \-\*\-\ ada\ \-\*\-.*/d'
 
-GNATHTML	= `type -p gnathtml || type -p gnathtml.pl 2>/dev/null`
-GNATHP          = www.gnat.com
+GNATHTML	= `command -v gnathtml || command -v gnathtml.pl`
 
 ################################################################################
 ALIB            = @cf_ada_package@
@@ -141,6 +142,19 @@
 	          $(srcdir)/$(ABASE)-forms-field_user_data.ads.m4	\
 	          $(srcdir)/$(ABASE)-panels-user_data.ads.m4
 
+################################################################################
+
+@MAKE_PHONY@.PHONY :	all
+@MAKE_PHONY@.PHONY :	clean
+@MAKE_PHONY@.PHONY :	distclean
+@MAKE_PHONY@.PHONY :	install
+@MAKE_PHONY@.PHONY :	install.libs
+@MAKE_PHONY@.PHONY :	libs
+@MAKE_PHONY@.PHONY :	mostlyclean
+@MAKE_PHONY@.PHONY :	realclean
+@MAKE_PHONY@.PHONY :	sources
+@MAKE_PHONY@.PHONY :	uninstall
+@MAKE_PHONY@.PHONY :	uninstall.libs
 
 all \
 libs :	$(GEN_TARGETS)
@@ -153,7 +167,7 @@
 
 install \
 install.libs :: $(DESTDIR)$(bindir) $(ADACURSES_CONFIG)
-	$(INSTALL_PROG) $(ADACURSES_CONFIG) $(DESTDIR)$(bindir)/$(ADACURSES_CONFIG)
+	$(INSTALL_SCRIPT) $(ADACURSES_CONFIG) $(DESTDIR)$(bindir)/$(ADACURSES_CONFIG)
 
 uninstall \
 uninstall.libs ::
@@ -166,10 +180,11 @@
 	$(HOST_CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/gen.c
 
 $(ADA_SRCDIR)/$(ABASE)_constants.ads: $(PROG_GENERATE)
-	$(WRAPPER) "$(GENERATE)" >$@
+	$(WRAPPER) "$(GENERATE) $@"
 ################################################################################
 $(ADA_SRCDIR)/$(ABASE).ads: 	$(srcdir)/$(ABASE).ads.m4 \
-				$(srcdir)/normal.m4
+				$(srcdir)/normal.m4 \
+				options.m4
 	$(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
 	$(srcdir)/$(ABASE).ads.m4 |\
 	$(DEL_ADAMODE) >$@
@@ -270,6 +285,7 @@
 	-rm -f a.out core $(PROG_GENERATE) *.o
 
 clean :: mostlyclean
+	-rm -f options.m4
 	-rm -f $(GEN_TARGETS) instab.tmp *.ad[bs] *.html *.ali *.tmp
 
 distclean :: clean
@@ -280,36 +296,46 @@
 
 HTML_DIR = @ADAHTML_DIR@
 
+options.m4 :
+	$(SHELL) -c "if [ @cf_cv_enable_sigwinch@ = 0 ]; \
+		then \
+			dashes='   --'; \
+		else \
+			dashes='';\
+		fi; \
+		echo \"define(OPT_KEY_RESIZE,\\\`\$$dashes')dnl\" > $@"
+
 instab.tmp : table.m4 $(GEN_SRC)
 	@rm -f $@
 	@for f in $(GEN_SRC) ; do \
 	  $(M4) $(M4FLAGS) -DM4MACRO=table.m4 $$f | $(DEL_ADAMODE) >> $@ ;\
 	done;
 
+TABLE_TITLE=Correspondence between ncurses C and Ada functions
+
 $(HTML_DIR)/table.html : instab.tmp
 	@-touch $@
 	@-chmod +w $@
-	@echo '<!DOCTYPE HTML'  > $@
-	@echo 'PUBLIC "-//IETF//DTD HTML 3.0//EN">' >> $@
-	@echo '<HTML>' >> $@
-	@echo '<HEAD>' >> $@
-	@echo '<TITLE>Correspondence between ncurses C and Ada functions</TITLE>' >>$@
-	@echo '</HEAD>' >> $@
-	@echo '<BODY>' >> $@
-	@echo '<H1>Correspondence between ncurses C and Ada functions</H1>' >>$@
-	@echo '<H2>Sorted by C function name</H2>' >>$@
-	@echo '<TABLE ALIGN=CENTER BORDER>' >>$@
-	@echo '<TR ALIGN=LEFT>' >>$@
-	@echo '<TH>C name</TH><TH>Ada name</TH><TH>man page</TH></TR>' >>$@
+	@echo '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">' > $@
+	@echo '<html>' >> $@
+	@echo '<head>' >> $@
+	@echo '<title>$(TABLE_TITLE)</title>' >>$@
+	@echo '</head>' >> $@
+	@echo '<body>' >> $@
+	@echo '<h1>$(TABLE_TITLE)</h1>' >>$@
+	@echo '<h2>Sorted by C function name</h2>' >>$@
+	@echo '<table align="center" border summary="$(TABLE_TITLE)">' >>$@
+	@echo '<tr align="left">' >>$@
+	@echo '<th>C name</th><th>Ada name</th><th>man page</th></tr>' >>$@
 	@sort < instab.tmp >> $@
-	@echo '</TABLE></BODY></HTML>' >>$@
+	@echo '</table></body></html>' >>$@
 	@rm -f instab.tmp
 
 adahtml:
 	test -n "$(GNATHTML)" || exit 1
 	@find $(HTML_DIR) -type f -exec rm -f {} \;
 	@mkdir -p $(HTML_DIR)
-	cp -p ../src/*.ad[sb] . && chmod +w *.ad[sb]
+	( cp -p ../src/*.ad[sb] . && chmod +w *.ad[sb] )
 @USE_OLD_MAKERULES@	ln -sf ../src/*.ali .
 @USE_GNAT_PROJECTS@	ln -sf ../static-ali/*.ali .
 	@echo "Filtering generated files"
@@ -326,9 +352,11 @@
 	for f in html/$(ALIB)*.htm*; do \
 	   a=`basename $$f` ; \
 	   sed -e 's/You may also.*body.*//' <$$f |\
-	   sed -e 's%GNAT%<A HREF="http://$(GNATHP)">GNAT</A>%g' |\
+	   sed -e 's%\<GNAT\>%<strong>GNAT</strong>%g' |\
 	   sed -e 's%&lt;A HREF%<A HREF%g' |\
 	   sed -e 's%"&gt;%">%g' |\
+	   sed -e 's%#1A\([[:space:]]*NAME="[^"]*"\)#2%<A\1>%' |\
+	   sed -e 's%#1/A#2%</A>%' |\
 	   sed -e 's/3X/3x/g' |\
 	   sed -e 's/$$\([ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxz0123456789_]*:.*\)\$$/@\1@/' |\
 	   sed -e 's%&lt;/A&gt;%</A>%g' > $$a.tmp ;\
diff --git a/Ada95/gen/adacurses-config.in b/Ada95/gen/adacurses-config.in
index e29c309..a539417 100644
--- a/Ada95/gen/adacurses-config.in
+++ b/Ada95/gen/adacurses-config.in
@@ -1,7 +1,8 @@
 #! /bin/sh
-# $Id: adacurses-config.in,v 1.9 2014/06/07 19:32:22 Pascal.Pignard Exp $
+# $Id: adacurses-config.in,v 1.15 2022/07/16 21:16:43 tom Exp $
 ##############################################################################
-# Copyright (c) 2007-2010,2014 Free Software Foundation, Inc.                #
+# Copyright 2019-2020,2022 Thomas E. Dickey                                  #
+# Copyright 2007-2014,2016 Free Software Foundation, Inc.                    #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
@@ -41,19 +42,20 @@
 VERSION=@NCURSES_MAJOR@.@NCURSES_MINOR@.@NCURSES_PATCH@
 
 CFLAGS="-aI$ADA_INCLUDE -aO$ADA_OBJECTS"
-LIBS="-L$ADA_OBJECTS -lAdaCurses"
+LIBS="-L$ADA_OBJECTS -l@ADA_LIBNAME@"
 
-THIS="adacurses"
+THIS="@ADA_LIBNAME@"
+THIS_CFG="${THIS}@DFT_ARG_SUFFIX@-config"
 
 case "x$1" in
 	x--version)
-		echo AdaCurses $VERSION
+		echo @ADA_LIBNAME@ $VERSION
 		;;
 	x--cflags)
-		echo $CFLAGS
+		echo "$CFLAGS"
 		;;
 	x--libs)
-		echo $LIBS
+		echo "$LIBS"
 		;;
 	x)
 		# if no parameter is given, give what gnatmake needs
@@ -61,7 +63,7 @@
 		;;
 	x--help)
 		cat <<ENDHELP
-Usage: ${THIS}-config [options]
+Usage: ${THIS_CFG} [options]
 
 Options:
   --cflags           echos the gnat (Ada compiler) flags needed to compile with ${THIS}
@@ -75,7 +77,7 @@
 ENDHELP
 		;;
 	*)
-		echo 'Usage: adacurses@DFT_ARG_SUFFIX@-config [--version | --cflags | --libs]' >&2
+		echo "Usage: ${THIS_CFG} [--version | --cflags | --libs]" >&2
 		exit 1
 		;;
 esac
diff --git a/Ada95/gen/gen.c b/Ada95/gen/gen.c
index 4e986a4..b37de1b 100644
--- a/Ada95/gen/gen.c
+++ b/Ada95/gen/gen.c
@@ -1,5 +1,6 @@
 /****************************************************************************
- * Copyright (c) 1998-2013,2014 Free Software Foundation, Inc.              *
+ * Copyright 2020-2021,2024 Thomas E. Dickey                                *
+ * Copyright 1998-2014,2016 Free Software Foundation, Inc.                  *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -28,11 +29,13 @@
 
 /****************************************************************************
  *   Author:  Juergen Pfeifer, 1996                                         *
+ *      and:  Thomas E. Dickey, 1998                                        *
+ *      and:  Nicolas Boulenguez, 2011                                      *
  ****************************************************************************/
 
 /*
     Version Control
-    $Id: gen.c,v 1.69 2014/05/31 21:00:08 tom Exp $
+    $Id: gen.c,v 1.79 2024/01/19 13:41:45 tom Exp $
   --------------------------------------------------------------------------*/
 /*
   This program prints on its standard output the source for the
@@ -54,9 +57,11 @@
 
 #undef UCHAR
 #undef UINT
+#undef ULONG
 
 typedef unsigned char UCHAR;
 typedef unsigned int UINT;
+typedef unsigned long ULONG;
 
 /* These global variables will be set by main () */
 static int little_endian;
@@ -70,19 +75,36 @@
 }
 
 static void
-print_constant(const char *name,
+print_constant(FILE * fp,
+	       const char *name,
+	       UINT value)
+{
+  fprintf(fp, "   %-28s : constant := %u;\n", name, value);
+}
+
+static void
+print_long_val(FILE * fp,
+	       const char *name,
 	       long value)
 {
-  printf("   %-28s : constant := %ld;\n", name, value);
+  fprintf(fp, "   %-28s : constant := %ld;\n", name, value);
+}
+
+static void
+print_size_of(FILE * fp,
+	      const char *name,
+	      size_t value)
+{
+  fprintf(fp, "   %-28s : constant := %lu;\n", name, (unsigned long)value);
 }
 
 #define PRINT_NAMED_CONSTANT(name) \
-  print_constant (#name, name)
+  print_long_val (fp, #name, name)
 
 static void
-print_comment(const char *message)
+print_comment(FILE * fp, const char *message)
 {
-  printf("\n   --  %s\n\n", message);
+  fprintf(fp, "\n   --  %s\n\n", message);
 }
 
 /*
@@ -108,7 +130,7 @@
   else				/* or */
     bit = ~offset;		/* 7 - offset */
   bit &= 7;			/* modulo 8 */
-  return byte & (UCHAR) (1 << bit);
+  return (UCHAR) (byte & (1 << bit));
 }
 
 /* Find lowest and highest used offset in a byte array. */
@@ -141,8 +163,8 @@
     c_type mask = (mask_macro);                                         \
     if (!find_pos ((UCHAR *)&mask, sizeof (mask), &first, &last))       \
       my_error ("failed to locate " ada_name);                          \
-    print_constant (ada_name "_First", first);                          \
-    print_constant (ada_name "_Last", last);                            \
+    print_constant (fp, ada_name "_First", first);                      \
+    print_constant (fp, ada_name "_Last", last);                        \
   }
 
 #define PRINT_NAMED_BITMASK(c_type, mask_macro)         \
@@ -156,8 +178,8 @@
     memset (&mask.field, 0xff, sizeof(mask.field));                     \
     if (!find_pos ((UCHAR *)&mask, sizeof (mask), &first, &last))       \
       my_error ("failed to locate" #record "_" #field);                 \
-    print_constant (#record "_" #field "_First", first);                \
-    print_constant (#record "_" #field "_Last", last);                  \
+    print_constant (fp, #record "_" #field "_First", first);            \
+    print_constant (fp, #record "_" #field "_Last", last);              \
   }
 
 /*--------------------*/
@@ -167,6 +189,7 @@
 int
 main(int argc, const char *argv[])
 {
+  FILE *fp = 0;
   const int x = 0x12345678;
 
   little_endian = (*((const char *)&x) == 0x78);
@@ -176,40 +199,61 @@
   if (KEY_MIN == 256)
     my_error("unexpected value for KEY_MIN: 256");
 
-  if (argc != 2)
-    my_error("Only one argument expected (DFT_ARG_SUFFIX)");
+  if (argc == 3)
+    {
+      fp = fopen(argv[2], "wb");
+    }
+  else if (argc == 2)
+    {
+      fp = stdout;
+    }
+  else
+    {
+      my_error("Only one or two arguments expected (DFT_ARG_SUFFIX)");
+    }
 
-  printf("--  Generated by the C program %s (source " __FILE__ ").\n",
-	 my_program_invocation_name);
-  printf("--  Do not edit this file directly.\n");
-  printf("--  The values provided here may vary on your system.\n");
-  printf("\n");
-  printf("with System;\n");
-  printf("package Terminal_Interface.Curses_Constants is\n");
-  printf("   pragma Pure;\n");
-  printf("\n");
+  if ((strlen(argv[0]) + strlen(__FILE__)) > 25)
+    {
+      fprintf(fp, "--  Generated by the C program %.40s.\n",
+	      my_program_invocation_name);
+    }
+  else
+    {
+      fprintf(fp, "--  Generated by the C program %s (source %s).\n",
+	      my_program_invocation_name,
+	      __FILE__);
+    }
+  fprintf(fp, "--  Do not edit this file directly.\n");
+  fprintf(fp, "--  The values provided here may vary on your system.\n");
+  fprintf(fp, "\n");
+  fprintf(fp, "with System;\n");
+  fprintf(fp, "package Terminal_Interface.Curses_Constants is\n");
+  fprintf(fp, "   pragma Pure;\n");
+  fprintf(fp, "\n");
 
-  printf("   DFT_ARG_SUFFIX : constant String := \"%s\";\n", argv[1]);
-  printf("   Bit_Order : constant System.Bit_Order := System.%s_Order_First;\n",
-	 little_endian ? "Low" : "High");
-  print_constant("Sizeof_Bool", 8 * sizeof(bool));
+  fprintf(fp, "   DFT_ARG_SUFFIX : constant String := \"%s\";\n", argv[1]);
+  fprintf(fp,
+	  "   Bit_Order : constant System.Bit_Order := System.%s_Order_First;\n",
+	  little_endian ? "Low" : "High");
+  print_size_of(fp, "Sizeof_Bool", 8 * sizeof(bool));
 
   PRINT_NAMED_CONSTANT(OK);
   PRINT_NAMED_CONSTANT(ERR);
-  printf("   pragma Warnings (Off); -- redefinition of Standard.True and False\n");
+  fprintf(fp,
+	  "   pragma Warnings (Off); -- redefinition of Standard.True and False\n");
   PRINT_NAMED_CONSTANT(TRUE);
   PRINT_NAMED_CONSTANT(FALSE);
-  printf("   pragma Warnings (On);\n");
+  fprintf(fp, "   pragma Warnings (On);\n");
 
-  print_comment("Version of the ncurses library from extensions(3NCURSES)");
+  print_comment(fp, "Version of the ncurses library from extensions(3NCURSES)");
   PRINT_NAMED_CONSTANT(NCURSES_VERSION_MAJOR);
   PRINT_NAMED_CONSTANT(NCURSES_VERSION_MINOR);
-  printf("   Version : constant String := \"%d.%d\";\n",
-	 NCURSES_VERSION_MAJOR, NCURSES_VERSION_MINOR);
+  fprintf(fp, "   Version : constant String := \"%d.%d\";\n",
+	  NCURSES_VERSION_MAJOR, NCURSES_VERSION_MINOR);
 
-  print_comment("Character non-color attributes from attr(3NCURSES)");
-  printf("   --  attr_t and chtype may be signed in C.\n");
-  printf("   type attr_t is mod 2 ** %lu;\n", (long unsigned)(8 * sizeof(attr_t)));
+  print_comment(fp, "Character non-color attributes from attr(3NCURSES)");
+  fprintf(fp, "   --  attr_t and chtype may be signed in C.\n");
+  fprintf(fp, "   type attr_t is mod 2 ** %lu;\n", (long unsigned)(8 * sizeof(attr_t)));
   PRINT_NAMED_BITMASK(attr_t, A_CHARTEXT);
   PRINT_NAMED_BITMASK(attr_t, A_COLOR);
   PRINT_BITMASK(attr_t, "Attr", A_ATTRIBUTES & ~A_COLOR);
@@ -228,9 +272,9 @@
   PRINT_NAMED_BITMASK(attr_t, A_RIGHT);
   PRINT_NAMED_BITMASK(attr_t, A_TOP);
   PRINT_NAMED_BITMASK(attr_t, A_VERTICAL);
-  print_constant("chtype_Size", 8 * sizeof(chtype));
+  print_size_of(fp, "chtype_Size", 8 * sizeof(chtype));
 
-  print_comment("predefined color numbers from color(3NCURSES)");
+  print_comment(fp, "predefined color numbers from color(3NCURSES)");
   PRINT_NAMED_CONSTANT(COLOR_BLACK);
   PRINT_NAMED_CONSTANT(COLOR_RED);
   PRINT_NAMED_CONSTANT(COLOR_GREEN);
@@ -240,7 +284,7 @@
   PRINT_NAMED_CONSTANT(COLOR_CYAN);
   PRINT_NAMED_CONSTANT(COLOR_WHITE);
 
-  print_comment("ETI return codes from ncurses.h");
+  print_comment(fp, "ETI return codes from ncurses.h");
   PRINT_NAMED_CONSTANT(E_OK);
   PRINT_NAMED_CONSTANT(E_SYSTEM_ERROR);
   PRINT_NAMED_CONSTANT(E_BAD_ARGUMENT);
@@ -257,14 +301,14 @@
   PRINT_NAMED_CONSTANT(E_INVALID_FIELD);
   PRINT_NAMED_CONSTANT(E_CURRENT);
 
-  print_comment("Input key codes not defined in any ncurses manpage");
+  print_comment(fp, "Input key codes not defined in any ncurses manpage");
   PRINT_NAMED_CONSTANT(KEY_MIN);
   PRINT_NAMED_CONSTANT(KEY_MAX);
 #ifdef KEY_CODE_YES
   PRINT_NAMED_CONSTANT(KEY_CODE_YES);
 #endif
 
-  print_comment("Input key codes from getch(3NCURSES)");
+  print_comment(fp, "Input key codes from getch(3NCURSES)");
   PRINT_NAMED_CONSTANT(KEY_BREAK);
   PRINT_NAMED_CONSTANT(KEY_DOWN);
   PRINT_NAMED_CONSTANT(KEY_UP);
@@ -273,30 +317,31 @@
   PRINT_NAMED_CONSTANT(KEY_HOME);
   PRINT_NAMED_CONSTANT(KEY_BACKSPACE);
   PRINT_NAMED_CONSTANT(KEY_F0);
-  print_constant("KEY_F1", KEY_F(1));
-  print_constant("KEY_F2", KEY_F(2));
-  print_constant("KEY_F3", KEY_F(3));
-  print_constant("KEY_F4", KEY_F(4));
-  print_constant("KEY_F5", KEY_F(5));
-  print_constant("KEY_F6", KEY_F(6));
-  print_constant("KEY_F7", KEY_F(7));
-  print_constant("KEY_F8", KEY_F(8));
-  print_constant("KEY_F9", KEY_F(9));
-  print_constant("KEY_F10", KEY_F(10));
-  print_constant("KEY_F11", KEY_F(11));
-  print_constant("KEY_F12", KEY_F(12));
-  print_constant("KEY_F13", KEY_F(13));
-  print_constant("KEY_F14", KEY_F(14));
-  print_constant("KEY_F15", KEY_F(15));
-  print_constant("KEY_F16", KEY_F(16));
-  print_constant("KEY_F17", KEY_F(17));
-  print_constant("KEY_F18", KEY_F(18));
-  print_constant("KEY_F19", KEY_F(19));
-  print_constant("KEY_F20", KEY_F(20));
-  print_constant("KEY_F21", KEY_F(21));
-  print_constant("KEY_F22", KEY_F(22));
-  print_constant("KEY_F23", KEY_F(23));
-  print_constant("KEY_F24", KEY_F(24));
+#define PRINT_NAMED_FUNC_KEY(name) print_constant(fp, "KEY_F"#name, KEY_F(name))
+  PRINT_NAMED_FUNC_KEY(1);
+  PRINT_NAMED_FUNC_KEY(2);
+  PRINT_NAMED_FUNC_KEY(3);
+  PRINT_NAMED_FUNC_KEY(4);
+  PRINT_NAMED_FUNC_KEY(5);
+  PRINT_NAMED_FUNC_KEY(6);
+  PRINT_NAMED_FUNC_KEY(7);
+  PRINT_NAMED_FUNC_KEY(8);
+  PRINT_NAMED_FUNC_KEY(9);
+  PRINT_NAMED_FUNC_KEY(10);
+  PRINT_NAMED_FUNC_KEY(11);
+  PRINT_NAMED_FUNC_KEY(12);
+  PRINT_NAMED_FUNC_KEY(13);
+  PRINT_NAMED_FUNC_KEY(14);
+  PRINT_NAMED_FUNC_KEY(15);
+  PRINT_NAMED_FUNC_KEY(16);
+  PRINT_NAMED_FUNC_KEY(17);
+  PRINT_NAMED_FUNC_KEY(18);
+  PRINT_NAMED_FUNC_KEY(19);
+  PRINT_NAMED_FUNC_KEY(20);
+  PRINT_NAMED_FUNC_KEY(21);
+  PRINT_NAMED_FUNC_KEY(22);
+  PRINT_NAMED_FUNC_KEY(23);
+  PRINT_NAMED_FUNC_KEY(24);
   PRINT_NAMED_CONSTANT(KEY_DL);
   PRINT_NAMED_CONSTANT(KEY_IL);
   PRINT_NAMED_CONSTANT(KEY_DC);
@@ -379,10 +424,12 @@
   PRINT_NAMED_CONSTANT(KEY_SUSPEND);
   PRINT_NAMED_CONSTANT(KEY_UNDO);
   PRINT_NAMED_CONSTANT(KEY_MOUSE);
+#ifdef KEY_RESIZE
   PRINT_NAMED_CONSTANT(KEY_RESIZE);
+#endif
 
-  print_comment("alternate character codes (ACS) from addch(3NCURSES)");
-#define PRINT_ACS(name) print_constant (#name, &name - &acs_map[0])
+  print_comment(fp, "alternate character codes (ACS) from addch(3NCURSES)");
+#define PRINT_ACS(name) print_size_of (fp, #name, (size_t)(&name - &acs_map[0]))
   PRINT_ACS(ACS_ULCORNER);
   PRINT_ACS(ACS_LLCORNER);
   PRINT_ACS(ACS_URCORNER);
@@ -416,20 +463,20 @@
   PRINT_ACS(ACS_NEQUAL);
   PRINT_ACS(ACS_STERLING);
 
-  print_comment("Menu_Options from opts(3MENU)");
+  print_comment(fp, "Menu_Options from opts(3MENU)");
   PRINT_NAMED_BITMASK(Menu_Options, O_ONEVALUE);
   PRINT_NAMED_BITMASK(Menu_Options, O_SHOWDESC);
   PRINT_NAMED_BITMASK(Menu_Options, O_ROWMAJOR);
   PRINT_NAMED_BITMASK(Menu_Options, O_IGNORECASE);
   PRINT_NAMED_BITMASK(Menu_Options, O_SHOWMATCH);
   PRINT_NAMED_BITMASK(Menu_Options, O_NONCYCLIC);
-  print_constant("Menu_Options_Size", 8 * sizeof(Menu_Options));
+  print_size_of(fp, "Menu_Options_Size", 8 * sizeof(Menu_Options));
 
-  print_comment("Item_Options from menu_opts(3MENU)");
+  print_comment(fp, "Item_Options from menu_opts(3MENU)");
   PRINT_NAMED_BITMASK(Item_Options, O_SELECTABLE);
-  print_constant("Item_Options_Size", 8 * sizeof(Item_Options));
+  print_size_of(fp, "Item_Options_Size", 8 * sizeof(Item_Options));
 
-  print_comment("Field_Options from field_opts(3FORM)");
+  print_comment(fp, "Field_Options from field_opts(3FORM)");
   PRINT_NAMED_BITMASK(Field_Options, O_VISIBLE);
   PRINT_NAMED_BITMASK(Field_Options, O_ACTIVE);
   PRINT_NAMED_BITMASK(Field_Options, O_PUBLIC);
@@ -440,27 +487,28 @@
   PRINT_NAMED_BITMASK(Field_Options, O_NULLOK);
   PRINT_NAMED_BITMASK(Field_Options, O_PASSOK);
   PRINT_NAMED_BITMASK(Field_Options, O_STATIC);
-  print_constant("Field_Options_Size", 8 * sizeof(Field_Options));
+  print_size_of(fp, "Field_Options_Size", 8 * sizeof(Field_Options));
 
-  print_comment("Field_Options from opts(3FORM)");
+  print_comment(fp, "Field_Options from opts(3FORM)");
   PRINT_NAMED_BITMASK(Field_Options, O_NL_OVERLOAD);
   PRINT_NAMED_BITMASK(Field_Options, O_BS_OVERLOAD);
+
   /*  Field_Options_Size is defined below */
 
-  print_comment("MEVENT structure from mouse(3NCURSES)");
+  print_comment(fp, "MEVENT structure from mouse(3NCURSES)");
   STRUCT_OFFSET(MEVENT, id);
   STRUCT_OFFSET(MEVENT, x);
   STRUCT_OFFSET(MEVENT, y);
   STRUCT_OFFSET(MEVENT, z);
   STRUCT_OFFSET(MEVENT, bstate);
-  print_constant("MEVENT_Size", 8 * sizeof(MEVENT));
+  print_size_of(fp, "MEVENT_Size", 8 * sizeof(MEVENT));
 
-  print_comment("mouse events from mouse(3NCURSES)");
+  print_comment(fp, "mouse events from mouse(3NCURSES)");
   {
     mmask_t all_events;
 
 #define PRINT_MOUSE_EVENT(event)                \
-    print_constant (#event, event);             \
+    print_constant (fp, #event, event);         \
     all_events |= event
 
     all_events = 0;
@@ -472,7 +520,7 @@
 #ifdef BUTTON1_RESERVED_EVENT
     PRINT_MOUSE_EVENT(BUTTON1_RESERVED_EVENT);
 #endif
-    print_constant("all_events_button_1", (long)all_events);
+    print_constant(fp, "all_events_button_1", (UINT) all_events);
 
     all_events = 0;
     PRINT_MOUSE_EVENT(BUTTON2_RELEASED);
@@ -483,7 +531,7 @@
 #ifdef BUTTON2_RESERVED_EVENT
     PRINT_MOUSE_EVENT(BUTTON2_RESERVED_EVENT);
 #endif
-    print_constant("all_events_button_2", (long)all_events);
+    print_constant(fp, "all_events_button_2", (UINT) all_events);
 
     all_events = 0;
     PRINT_MOUSE_EVENT(BUTTON3_RELEASED);
@@ -494,7 +542,7 @@
 #ifdef BUTTON3_RESERVED_EVENT
     PRINT_MOUSE_EVENT(BUTTON3_RESERVED_EVENT);
 #endif
-    print_constant("all_events_button_3", (long)all_events);
+    print_constant(fp, "all_events_button_3", (UINT) all_events);
 
     all_events = 0;
     PRINT_MOUSE_EVENT(BUTTON4_RELEASED);
@@ -505,7 +553,7 @@
 #ifdef BUTTON4_RESERVED_EVENT
     PRINT_MOUSE_EVENT(BUTTON4_RESERVED_EVENT);
 #endif
-    print_constant("all_events_button_4", (long)all_events);
+    print_constant(fp, "all_events_button_4", (UINT) all_events);
   }
   PRINT_NAMED_CONSTANT(BUTTON_CTRL);
   PRINT_NAMED_CONSTANT(BUTTON_SHIFT);
@@ -513,7 +561,7 @@
   PRINT_NAMED_CONSTANT(REPORT_MOUSE_POSITION);
   PRINT_NAMED_CONSTANT(ALL_MOUSE_EVENTS);
 
-  print_comment("trace selection from trace(3NCURSES)");
+  print_comment(fp, "trace selection from trace(3NCURSES)");
   PRINT_NAMED_BITMASK(UINT, TRACE_TIMES);
   PRINT_NAMED_BITMASK(UINT, TRACE_TPUTS);
   PRINT_NAMED_BITMASK(UINT, TRACE_UPDATE);
@@ -527,8 +575,8 @@
   PRINT_NAMED_BITMASK(UINT, TRACE_CCALLS);
   PRINT_NAMED_BITMASK(UINT, TRACE_DATABASE);
   PRINT_NAMED_BITMASK(UINT, TRACE_ATTRS);
-  print_constant("Trace_Size", 8 * sizeof(UINT));
+  print_size_of(fp, "Trace_Size", 8 * sizeof(UINT));
 
-  printf("end Terminal_Interface.Curses_Constants;\n");
+  fprintf(fp, "end Terminal_Interface.Curses_Constants;\n");
   exit(EXIT_SUCCESS);
 }
diff --git a/Ada95/gen/html.m4 b/Ada95/gen/html.m4
index 8df2653..22374f6 100644
--- a/Ada95/gen/html.m4
+++ b/Ada95/gen/html.m4
@@ -1,5 +1,6 @@
 dnl***************************************************************************
-dnl Copyright (c) 2000-2006,2007 Free Software Foundation, Inc.              *
+dnl Copyright 2019,2020 Thomas E. Dickey                                     *
+dnl Copyright 2000-2006,2007 Free Software Foundation, Inc.                  *
 dnl                                                                          *
 dnl Permission is hereby granted, free of charge, to any person obtaining a  *
 dnl copy of this software and associated documentation files (the            *
@@ -26,7 +27,7 @@
 dnl authorization.                                                           *
 dnl***************************************************************************
 dnl
-dnl $Id: html.m4,v 1.3 2007/09/01 23:59:59 tom Exp $
+dnl $Id: html.m4,v 1.5 2020/02/02 23:34:34 tom Exp $
 define(`ANCHORIDX',`0')dnl
 define(`MANPAGE',`define(`MANPG',$1)dnl
 |=====================================================================
@@ -35,6 +36,6 @@
 define(`ANCHOR',`define(`ANCHORIDX',incr(ANCHORIDX))dnl
 `#'1A NAME="AFU`_'ANCHORIDX"`#'2dnl
 define(`CFUNAME',`$1')define(`AFUNAME',`$2')dnl
-|')dnl
+|#1/A#2')dnl
 define(`AKA',``AKA': <A HREF="../man/MANPG.html">CFUNAME</A>')dnl
 define(`ALIAS',``AKA': $1')dnl
diff --git a/Ada95/gen/normal.m4 b/Ada95/gen/normal.m4
index 9529976..5132702 100644
--- a/Ada95/gen/normal.m4
+++ b/Ada95/gen/normal.m4
@@ -1,5 +1,6 @@
 dnl***************************************************************************
-dnl Copyright (c) 1998,2006 Free Software Foundation, Inc.                   *
+dnl Copyright 2020 Thomas E. Dickey                                          *
+dnl Copyright 1998,2006 Free Software Foundation, Inc.                       *
 dnl                                                                          *
 dnl Permission is hereby granted, free of charge, to any person obtaining a  *
 dnl copy of this software and associated documentation files (the            *
@@ -26,7 +27,7 @@
 dnl authorization.                                                           *
 dnl***************************************************************************
 dnl
-dnl $Id: normal.m4,v 1.2 2006/04/22 23:16:14 tom Exp $
+dnl $Id: normal.m4,v 1.3 2020/02/02 23:34:34 tom Exp $
 define(`MANPAGE',`define(`MANPG',$1)dnl
 |=====================================================================
    --  | Man page MANPG
diff --git a/Ada95/gen/table.m4 b/Ada95/gen/table.m4
index 36b0027..7de07d3 100644
--- a/Ada95/gen/table.m4
+++ b/Ada95/gen/table.m4
@@ -1,5 +1,6 @@
 dnl***************************************************************************
-dnl Copyright (c) 2000,2006 Free Software Foundation, Inc.                   *
+dnl Copyright 2020 Thomas E. Dickey                                          *
+dnl Copyright 2000,2006 Free Software Foundation, Inc.                       *
 dnl                                                                          *
 dnl Permission is hereby granted, free of charge, to any person obtaining a  *
 dnl copy of this software and associated documentation files (the            *
@@ -26,7 +27,7 @@
 dnl authorization.                                                           *
 dnl***************************************************************************
 dnl
-dnl $Id: table.m4,v 1.2 2006/04/22 23:16:44 tom Exp $
+dnl $Id: table.m4,v 1.3 2020/02/02 23:34:34 tom Exp $
 define(`ANCHORIDX',`0')dnl
 define(`MANPAGE',`define(`MANPG',$1)')dnl
 divert(-1)dnl
diff --git a/Ada95/gen/terminal_interface-curses-aux.ads.m4 b/Ada95/gen/terminal_interface-curses-aux.ads.m4
index b90b8dd..94eaad8 100644
--- a/Ada95/gen/terminal_interface-curses-aux.ads.m4
+++ b/Ada95/gen/terminal_interface-curses-aux.ads.m4
@@ -10,7 +10,8 @@
 --                                 S P E C                                  --
 --                                                                          --
 ------------------------------------------------------------------------------
--- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --
+-- Copyright 2018,2020 Thomas E. Dickey                                     --
+-- Copyright 1998-2011,2014 Free Software Foundation, Inc.                  --
 --                                                                          --
 -- Permission is hereby granted, free of charge, to any person obtaining a  --
 -- copy of this software and associated documentation files (the            --
@@ -38,7 +39,7 @@
 ------------------------------------------------------------------------------
 --  Author:  Juergen Pfeifer, 1996
 --  Version Control:
---  $Revision: 1.23 $
+--  $Revision: 1.25 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 with System;
@@ -48,8 +49,6 @@
 package Terminal_Interface.Curses.Aux is
    pragma Preelaborate (Terminal_Interface.Curses.Aux);
 
-   use type Interfaces.C.int;
-
    subtype C_Int      is Interfaces.C.int;
    subtype C_Short    is Interfaces.C.short;
    subtype C_Long_Int is Interfaces.C.long;
diff --git a/Ada95/gen/terminal_interface-curses-forms-field_types.ads.m4 b/Ada95/gen/terminal_interface-curses-forms-field_types.ads.m4
index 51682cd..0f5db6c 100644
--- a/Ada95/gen/terminal_interface-curses-forms-field_types.ads.m4
+++ b/Ada95/gen/terminal_interface-curses-forms-field_types.ads.m4
@@ -10,7 +10,8 @@
 --                                 S P E C                                  --
 --                                                                          --
 ------------------------------------------------------------------------------
--- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --
+-- Copyright 2018,2020 Thomas E. Dickey                                     --
+-- Copyright 1998-2011,2014 Free Software Foundation, Inc.                  --
 --                                                                          --
 -- Permission is hereby granted, free of charge, to any person obtaining a  --
 -- copy of this software and associated documentation files (the            --
@@ -38,7 +39,7 @@
 ------------------------------------------------------------------------------
 --  Author:  Juergen Pfeifer, 1996
 --  Version Control:
---  $Revision: 1.19 $
+--  $Revision: 1.21 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 with Interfaces.C;
@@ -46,7 +47,6 @@
 
 package Terminal_Interface.Curses.Forms.Field_Types is
    pragma Preelaborate (Terminal_Interface.Curses.Forms.Field_Types);
-   use type Interfaces.C.int;
    subtype C_Int is Interfaces.C.int;
 
    --  MANPAGE(`form_fieldtype.3x')
diff --git a/Ada95/gen/terminal_interface-curses-forms-field_user_data.ads.m4 b/Ada95/gen/terminal_interface-curses-forms-field_user_data.ads.m4
index 9de700b..71334b6 100644
--- a/Ada95/gen/terminal_interface-curses-forms-field_user_data.ads.m4
+++ b/Ada95/gen/terminal_interface-curses-forms-field_user_data.ads.m4
@@ -10,7 +10,8 @@
 --                                 S P E C                                  --
 --                                                                          --
 ------------------------------------------------------------------------------
--- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --
+-- Copyright 2020 Thomas E. Dickey                                          --
+-- Copyright 1998-2003,2009 Free Software Foundation, Inc.                  --
 --                                                                          --
 -- Permission is hereby granted, free of charge, to any person obtaining a  --
 -- copy of this software and associated documentation files (the            --
@@ -38,7 +39,7 @@
 ------------------------------------------------------------------------------
 --  Author:  Juergen Pfeifer, 1996
 --  Version Control:
---  $Revision: 1.16 $
+--  $Revision: 1.17 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 
diff --git a/Ada95/gen/terminal_interface-curses-forms-form_user_data.ads.m4 b/Ada95/gen/terminal_interface-curses-forms-form_user_data.ads.m4
index f7fb1a7..4a98949 100644
--- a/Ada95/gen/terminal_interface-curses-forms-form_user_data.ads.m4
+++ b/Ada95/gen/terminal_interface-curses-forms-form_user_data.ads.m4
@@ -10,7 +10,8 @@
 --                                 S P E C                                  --
 --                                                                          --
 ------------------------------------------------------------------------------
--- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --
+-- Copyright 2020 Thomas E. Dickey                                          --
+-- Copyright 1998-2003,2009 Free Software Foundation, Inc.                  --
 --                                                                          --
 -- Permission is hereby granted, free of charge, to any person obtaining a  --
 -- copy of this software and associated documentation files (the            --
@@ -38,7 +39,7 @@
 ------------------------------------------------------------------------------
 --  Author:  Juergen Pfeifer, 1996
 --  Version Control:
---  $Revision: 1.15 $
+--  $Revision: 1.16 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 
diff --git a/Ada95/gen/terminal_interface-curses-forms.ads.m4 b/Ada95/gen/terminal_interface-curses-forms.ads.m4
index b269f4c..1293d37 100644
--- a/Ada95/gen/terminal_interface-curses-forms.ads.m4
+++ b/Ada95/gen/terminal_interface-curses-forms.ads.m4
@@ -10,7 +10,8 @@
 --                                 S P E C                                  --
 --                                                                          --
 ------------------------------------------------------------------------------
--- Copyright (c) 1998-2009,2014 Free Software Foundation, Inc.              --
+-- Copyright 2020 Thomas E. Dickey                                          --
+-- Copyright 1998-2009,2014 Free Software Foundation, Inc.                  --
 --                                                                          --
 -- Permission is hereby granted, free of charge, to any person obtaining a  --
 -- copy of this software and associated documentation files (the            --
@@ -38,8 +39,8 @@
 ------------------------------------------------------------------------------
 --  Author:  Juergen Pfeifer, 1996
 --  Version Control:
---  $Revision: 1.33 $
---  $Date: 2014/05/24 21:31:57 $
+--  $Revision: 1.34 $
+--  $Date: 2020/02/02 23:34:34 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 with System;
diff --git a/Ada95/gen/terminal_interface-curses-menus-item_user_data.ads.m4 b/Ada95/gen/terminal_interface-curses-menus-item_user_data.ads.m4
index 4ffa41b..57dc963 100644
--- a/Ada95/gen/terminal_interface-curses-menus-item_user_data.ads.m4
+++ b/Ada95/gen/terminal_interface-curses-menus-item_user_data.ads.m4
@@ -10,7 +10,8 @@
 --                                 S P E C                                  --
 --                                                                          --
 ------------------------------------------------------------------------------
--- Copyright (c) 1998-2006,2009 Free Software Foundation, Inc.              --
+-- Copyright 2020 Thomas E. Dickey                                          --
+-- Copyright 1998-2006,2009 Free Software Foundation, Inc.                  --
 --                                                                          --
 -- Permission is hereby granted, free of charge, to any person obtaining a  --
 -- copy of this software and associated documentation files (the            --
@@ -38,8 +39,8 @@
 ------------------------------------------------------------------------------
 --  Author:  Juergen Pfeifer, 1996
 --  Version Control:
---  $Revision: 1.17 $
---  $Date: 2009/12/26 17:31:35 $
+--  $Revision: 1.18 $
+--  $Date: 2020/02/02 23:34:34 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 
diff --git a/Ada95/gen/terminal_interface-curses-menus-menu_user_data.ads.m4 b/Ada95/gen/terminal_interface-curses-menus-menu_user_data.ads.m4
index 9138ba6..af8ae12 100644
--- a/Ada95/gen/terminal_interface-curses-menus-menu_user_data.ads.m4
+++ b/Ada95/gen/terminal_interface-curses-menus-menu_user_data.ads.m4
@@ -10,7 +10,8 @@
 --                                 S P E C                                  --
 --                                                                          --
 ------------------------------------------------------------------------------
--- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --
+-- Copyright 2020 Thomas E. Dickey                                          --
+-- Copyright 1998-2003,2009 Free Software Foundation, Inc.                  --
 --                                                                          --
 -- Permission is hereby granted, free of charge, to any person obtaining a  --
 -- copy of this software and associated documentation files (the            --
@@ -38,7 +39,7 @@
 ------------------------------------------------------------------------------
 --  Author:  Juergen Pfeifer, 1996
 --  Version Control:
---  $Revision: 1.15 $
+--  $Revision: 1.16 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 
diff --git a/Ada95/gen/terminal_interface-curses-menus.ads.m4 b/Ada95/gen/terminal_interface-curses-menus.ads.m4
index 0ad9c45..6914c16 100644
--- a/Ada95/gen/terminal_interface-curses-menus.ads.m4
+++ b/Ada95/gen/terminal_interface-curses-menus.ads.m4
@@ -10,7 +10,8 @@
 --                                 S P E C                                  --
 --                                                                          --
 ------------------------------------------------------------------------------
--- Copyright (c) 1998-2009,2014 Free Software Foundation, Inc.              --
+-- Copyright 2020 Thomas E. Dickey                                          --
+-- Copyright 1998-2009,2014 Free Software Foundation, Inc.                  --
 --                                                                          --
 -- Permission is hereby granted, free of charge, to any person obtaining a  --
 -- copy of this software and associated documentation files (the            --
@@ -38,8 +39,8 @@
 ------------------------------------------------------------------------------
 --  Author:  Juergen Pfeifer, 1996
 --  Version Control:
---  $Revision: 1.31 $
---  $Date: 2014/05/24 21:31:57 $
+--  $Revision: 1.32 $
+--  $Date: 2020/02/02 23:34:34 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 with System;
diff --git a/Ada95/gen/terminal_interface-curses-mouse.ads.m4 b/Ada95/gen/terminal_interface-curses-mouse.ads.m4
index 8d3f8ed..6506b4e 100644
--- a/Ada95/gen/terminal_interface-curses-mouse.ads.m4
+++ b/Ada95/gen/terminal_interface-curses-mouse.ads.m4
@@ -10,7 +10,8 @@
 --                                 S P E C                                  --
 --                                                                          --
 ------------------------------------------------------------------------------
--- Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.              --
+-- Copyright 2020 Thomas E. Dickey                                          --
+-- Copyright 1998-2014,2015 Free Software Foundation, Inc.                  --
 --                                                                          --
 -- Permission is hereby granted, free of charge, to any person obtaining a  --
 -- copy of this software and associated documentation files (the            --
@@ -38,8 +39,8 @@
 ------------------------------------------------------------------------------
 --  Author:  Juergen Pfeifer, 1996
 --  Version Control:
---  $Revision: 1.32 $
---  $Date: 2015/05/30 23:19:19 $
+--  $Revision: 1.33 $
+--  $Date: 2020/02/02 23:34:34 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 with System;
diff --git a/Ada95/gen/terminal_interface-curses-panels-user_data.ads.m4 b/Ada95/gen/terminal_interface-curses-panels-user_data.ads.m4
index 03d8114..4d60e52 100644
--- a/Ada95/gen/terminal_interface-curses-panels-user_data.ads.m4
+++ b/Ada95/gen/terminal_interface-curses-panels-user_data.ads.m4
@@ -10,7 +10,8 @@
 --                                 S P E C                                  --
 --                                                                          --
 ------------------------------------------------------------------------------
--- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --
+-- Copyright 2020 Thomas E. Dickey                                          --
+-- Copyright 1998-2003,2009 Free Software Foundation, Inc.                  --
 --                                                                          --
 -- Permission is hereby granted, free of charge, to any person obtaining a  --
 -- copy of this software and associated documentation files (the            --
@@ -38,7 +39,7 @@
 ------------------------------------------------------------------------------
 --  Author:  Juergen Pfeifer, 1996
 --  Version Control:
---  $Revision: 1.15 $
+--  $Revision: 1.16 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 
diff --git a/Ada95/gen/terminal_interface-curses-panels.ads.m4 b/Ada95/gen/terminal_interface-curses-panels.ads.m4
index b0eda4d..1175343 100644
--- a/Ada95/gen/terminal_interface-curses-panels.ads.m4
+++ b/Ada95/gen/terminal_interface-curses-panels.ads.m4
@@ -10,7 +10,8 @@
 --                                 S P E C                                  --
 --                                                                          --
 ------------------------------------------------------------------------------
--- Copyright (c) 1998-2009,2014 Free Software Foundation, Inc.              --
+-- Copyright 2020 Thomas E. Dickey                                          --
+-- Copyright 1998-2009,2014 Free Software Foundation, Inc.                  --
 --                                                                          --
 -- Permission is hereby granted, free of charge, to any person obtaining a  --
 -- copy of this software and associated documentation files (the            --
@@ -38,8 +39,8 @@
 ------------------------------------------------------------------------------
 --  Author:  Juergen Pfeifer, 1996
 --  Version Control:
---  $Revision: 1.22 $
---  $Date: 2014/05/24 21:31:57 $
+--  $Revision: 1.23 $
+--  $Date: 2020/02/02 23:34:34 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 with System;
diff --git a/Ada95/gen/terminal_interface-curses-trace.ads.m4 b/Ada95/gen/terminal_interface-curses-trace.ads.m4
index e227343..794d132 100644
--- a/Ada95/gen/terminal_interface-curses-trace.ads.m4
+++ b/Ada95/gen/terminal_interface-curses-trace.ads.m4
@@ -9,7 +9,8 @@
 --                                 S P E C                                  --
 --                                                                          --
 ------------------------------------------------------------------------------
--- Copyright (c) 2000,2014 Free Software Foundation, Inc.                   --
+-- Copyright 2020 Thomas E. Dickey                                          --
+-- Copyright 2000,2014 Free Software Foundation, Inc.                       --
 --                                                                          --
 -- Permission is hereby granted, free of charge, to any person obtaining a  --
 -- copy of this software and associated documentation files (the            --
@@ -37,7 +38,7 @@
 ------------------------------------------------------------------------------
 --  Author: Eugene V. Melaragno <aldomel@ix.netcom.com> 2000
 --  Version Control:
---  $Revision: 1.4 $
+--  $Revision: 1.5 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 
diff --git a/Ada95/gen/terminal_interface-curses.adb.m4 b/Ada95/gen/terminal_interface-curses.adb.m4
index b98782b..c966f9b 100644
--- a/Ada95/gen/terminal_interface-curses.adb.m4
+++ b/Ada95/gen/terminal_interface-curses.adb.m4
@@ -9,7 +9,8 @@
 --                                 B O D Y                                  --
 --                                                                          --
 ------------------------------------------------------------------------------
--- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --
+-- Copyright 2018-2020,2024 Thomas E. Dickey                                --
+-- Copyright 2007-2011,2014 Free Software Foundation, Inc.                  --
 --                                                                          --
 -- Permission is hereby granted, free of charge, to any person obtaining a  --
 -- copy of this software and associated documentation files (the            --
@@ -37,8 +38,8 @@
 ------------------------------------------------------------------------------
 --  Author: Juergen Pfeifer, 1996
 --  Version Control:
---  $Revision: 1.14 $
---  $Date: 2014/05/24 21:31:05 $
+--  $Revision: 1.17 $
+--  $Date: 2024/03/30 13:24:07 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 with System;
@@ -52,7 +53,6 @@
 package body Terminal_Interface.Curses is
 
    use Aux;
-   use type System.Bit_Order;
 
    package ASF renames Ada.Strings.Fixed;
 
@@ -564,7 +564,7 @@
       L : constant Special_Key_Code  := Special_Key_Code (Natural (Key_F0) +
         Natural (Function_Key_Number'Last));
    begin
-      if (Key >= Key_F0) and then (Key <= L) then
+      if Key >= Key_F0 and then Key <= L then
          return True;
       else
          return False;
diff --git a/Ada95/gen/terminal_interface-curses.ads.m4 b/Ada95/gen/terminal_interface-curses.ads.m4
index 25bb5d9..d6b18e5 100644
--- a/Ada95/gen/terminal_interface-curses.ads.m4
+++ b/Ada95/gen/terminal_interface-curses.ads.m4
@@ -1,6 +1,6 @@
 --  -*- ada -*-
 define(`HTMLNAME',`terminal_interface-curses__ads.htm')dnl
-include(M4MACRO)------------------------------------------------------------------------------
+include(M4MACRO)include(options.m4)------------------------------------------------------------------------------
 --                                                                          --
 --                           GNAT ncurses Binding                           --
 --                                                                          --
@@ -9,7 +9,8 @@
 --                                 S P E C                                  --
 --                                                                          --
 ------------------------------------------------------------------------------
--- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --
+-- Copyright 2020,2024 Thomas E. Dickey                                     --
+-- Copyright 1998-2011,2014 Free Software Foundation, Inc.                  --
 --                                                                          --
 -- Permission is hereby granted, free of charge, to any person obtaining a  --
 -- copy of this software and associated documentation files (the            --
@@ -37,8 +38,8 @@
 ------------------------------------------------------------------------------
 --  Author:  Juergen Pfeifer, 1996
 --  Version Control:
---  $Revision: 1.47 $
---  $Date: 2014/05/24 21:31:57 $
+--  $Revision: 1.49 $
+--  $Date: 2024/01/19 16:51:30 $
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
 with System.Storage_Elements;
@@ -376,8 +377,8 @@
      := Curses_Constants.KEY_UNDO;
    Key_Mouse                   : constant Special_Key_Code
      := Curses_Constants.KEY_MOUSE;
-   Key_Resize                  : constant Special_Key_Code
-     := Curses_Constants.KEY_RESIZE;
+OPT_KEY_RESIZE   Key_Resize                  : constant Special_Key_Code
+OPT_KEY_RESIZE     := Curses_Constants.KEY_RESIZE;
    Key_Max                     : constant Special_Key_Code
      := Special_Key_Code'Last;