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/include/MKkey_defs.sh b/include/MKkey_defs.sh
index 45a06d0..e58ee2b 100755
--- a/include/MKkey_defs.sh
+++ b/include/MKkey_defs.sh
@@ -1,7 +1,8 @@
 #! /bin/sh
-# $Id: MKkey_defs.sh,v 1.15 2013/03/09 16:32:01 tom Exp $
+# $Id: MKkey_defs.sh,v 1.24 2024/01/19 12:26:17 tom Exp $
 ##############################################################################
-# Copyright (c) 2001-2003,2013 Free Software Foundation, Inc.                #
+# Copyright 2019-2022,2024 Thomas E. Dickey                                  #
+# Copyright 2001-2013,2017 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"), #
@@ -34,26 +35,28 @@
 #
 # Extract function-key definitions from the Caps file
 #
-: ${AWK-awk}
-DATA=${1-Caps}
+: "${AWK-awk}"
+
+test $# = 0 && set Caps
 
 data=data$$
 pass1=pass1_$$
 pass2=pass2_$$
 pass3=pass3_$$
 pass4=pass4_$$
-trap 'rm -f $data pass[1234]_$$' 0 1 2 5 15
+trap 'rm -f $data pass[1234]_$$; exit 1' 1 2 3 15
+trap 'rm -f $data pass[1234]_$$' 0
 
 # change repeated tabs (used for readability) to single tabs (needed to make
 # awk see the right field alignment of the corresponding columns):
-if sort -k 6 $DATA >$data 2>/dev/null
+if sort -k 6 "$@" >$data 2>/dev/null
 then
 	# POSIX
-	sed -e 's/[	][	]*/	/g' < $DATA |sort -n -k 6 >$data
-elif sort -n +5 $DATA >$data 2>/dev/null
+	sed -e 's/[	][	]*/	/g' "$@" |sort -n -k 6 >$data
+elif sort -n +5 "$@" >$data 2>/dev/null
 then
 	# SunOS (and SVr4, marked as obsolete but still recognized)
-	sed -e 's/[	][	]*/	/g' < $DATA |sort -n +5 >$data
+	sed -e 's/[	][	]*/	/g' "$@" |sort -n +5 >$data
 else
 	echo "Your sort utility is broken.  Please install one that works." >&2
 	exit 1
@@ -61,16 +64,14 @@
 
 # add keys that we generate automatically:
 cat >>$data <<EOF
-key_resize	kr1	str	R1	KEY_RESIZE	+	-----	Terminal resize event
-key_event	kv1	str	V1	KEY_EVENT	+	-----	We were interrupted by an event
+key_resize	kr1	str	R1	KEY_RESIZE	+	NCURSES_SIGWINCH 	Terminal resize event
 EOF
 
-THIS=./`basename $0`
-PARM=./`basename $DATA`
+THIS=./`basename "$0"`
 
 cat <<EOF
 /*
- * These definitions were generated by $THIS $PARM
+ * These definitions were generated by $THIS $*
  */
 EOF
 
@@ -124,6 +125,8 @@
 /^#/		{next;}
 /^capalias/	{next;}
 /^infoalias/	{next;}
+/^used_by/	{next;}
+/^userdef/	{next;}
 
 $5 != "-" && $6 != "-" {
 		if ($6 == "+") {
@@ -139,6 +142,12 @@
 			maxkey = thiskey;
 		if (pass == 2 || pass == 3) {
 			showkey=sprintf(octal_fmt, thiskey);
+			ifdef = 0;
+			if (index($7,"NCURSES_") == 1) {
+				ifdef = 1;
+				printf "\n";
+				printf "#if %s\n", $7;
+			}
 			if ($5 == "KEY_F(0)" ) {
 				printf "#define "
 				print_cols("KEY_F0", 16);
@@ -157,6 +166,9 @@
 					printf " %s", $i
 				print " */"
 			}
+			if (ifdef != 0) {
+				printf "#endif\n";
+			}
 		}
 	}
 END	{