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/Caps b/include/Caps
index 120ae35..cd077b9 100644
--- a/include/Caps
+++ b/include/Caps
@@ -1,5 +1,6 @@
 ##############################################################################
-# Copyright (c) 1998-2011,2015 Free Software Foundation, Inc.                #
+# Copyright 2019-2023,2024 Thomas E. Dickey                                  #
+# Copyright 1998-2015,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"), #
@@ -29,12 +30,12 @@
 # Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995
 #    and: Eric S. Raymond <esr@snark.thyrsus.com>
 #
-# $Id: Caps,v 1.39 2015/04/26 15:25:55 tom Exp $
+# $Id: Caps,v 1.56 2024/04/20 21:05:02 tom Exp $
 #
 # This is the master termcap/terminfo capability table.
 #
 # This table is used to generate initializers for tables that drive tic,
-# infocmp, and the library compilation code used to support the termcap 
+# infocmp, and the library compilation code used to support the termcap
 # compatibility hack.  It is also used to generate the tabular portion of the
 # terminfo(5) man page; lines beginning with `#%' are passed through to become
 # the terminfo table.
@@ -47,7 +48,7 @@
 #
 # Column 1: terminfo variable name
 # Column 2: terminfo capability name
-# Column 3: capability type (boolean, numeric, or string)
+# Column 3: capability type (Boolean, numeric, or string)
 # Column 4: termcap capability name
 # Column 5: KEY_xxx name, if any, `-' otherwise
 # Column 6: value for KEY_xxx name, if any, `-' otherwise
@@ -57,7 +58,7 @@
 #
 # The codes following [Y-] in column 7 describe the versions of termcap which
 # use the given capability.  This information is not used by the curses library
-# proper; rather, it's there to help the terminfo maintainer avoid emitting
+# proper; rather, it is there to help the terminfo maintainer avoid emitting
 # termcap entry translations that are more than 1023 bytes long (and tank a
 # lot of old termcap-using programs).  The codes read as follows:
 #	B = mentioned in the BSD man page for 4.4BSD curses
@@ -97,8 +98,8 @@
 # 3. List it in the standard table.  You almost certainly do *not* want
 # to do this -- the capabilities in that one, and their order, have been
 # carefully chosen to be SVr4-binary-compatible when they're written out
-# as a terminfo object, and breaking this would be bad.  It's up to the ncurses
-# library what to do with the terminfo data after it's read in.
+# as a terminfo object, and breaking this would be bad.  It is up to the ncurses
+# library what to do with the terminfo data after it is read in.
 #
 # 4. List it in the aliases table with an IGNORE target field.  If you
 # do this, the capability will be ignored on input (though the user will
@@ -107,7 +108,7 @@
 # 5. List it in the extensions table. If you do this, the compiler will
 # silently accept the capability, but the curses library proper will never
 # see it (because it won't be written out as part of the terminfo object
-# format).  It's up to you what you have the compiler do with it.
+# format).  It is up to you what you have the compiler do with it.
 #
 # There are two opposite reasons to choose option 5.  One is when you want
 # to eat the capability silently and discard it when doing translations
@@ -119,14 +120,14 @@
 # You'll need to write custom code, probably in postprocess_termcap() or
 # postprocess_terminfo(), to handle the translation.
 #
-# CONTROLLING ENTRY LENGTH 
+# CONTROLLING ENTRY LENGTH
 #
 # Notes on specific elisions made to fit translations within 1023 bytes:
 #
 # Machines with IBM PC-like keyboards want to be able to define the following
 # keys: key_npage, key_ppage, key_home, key_ll (which is used for in termcap-
 # only environments for End or Home-Down), key_dc, and key_ic.  This is also
-# the set of keys the `joe' editor will be upset if it can't see.  So don't 
+# the set of keys the `joe' editor will be upset if it can't see.  So don't
 # trim those out of the set to be translated to termcap, or various users of
 # the termcap file will become irate.
 #
@@ -147,68 +148,108 @@
 #
 # It would be nice to keep f11 and f12 for Emacs use, but a couple of termcap
 # translations go back over critical if we do this.  As 4.4BSD curses fades
-# into history and GNU termcap's application base shrinks towards being GNU 
+# into history and GNU termcap's application base shrinks towards being GNU
 # Emacs only, we'll probably elide out some BSD-only capabilities in order
 # to buy space for non-essentials Emacs is still using.  Capabilities high
 # on that hit list: rc, sc, uc.
 #
+# FORMATTING THE TABLES
+#
+# We manually specify a (minimum) column width for the capability name
+# and terminfo code columns in the tables to achieve a consistent
+# arrangement; as used here, tbl(1) cannot know the width required by
+# one table's data while formatting another's.
+#
+# The longest capability names (C variables) are
+# "enter_near_letter_quality" and "bit_image_carriage_return" (tied at
+# 25n), and the longest terminfo code is "setcolor" (8n).
+#
+# The tables are a tight fit on traditional man(7) implementations that
+# use a line length of 65n, and the "Description" column has little room
+# within which the formatter can make breaking or adjustment decisions.
+# Words like "micro_..._address" and "parm_..._micro" don't break.
+# Reducing the inter-column gaps to 2 ens gives them enough room.  --GBR
+#
 #############################################################################
 #
 # STANDARD CAPABILITIES
 #
-#%The following is a complete table of the capabilities included in a
-#%terminfo description block and available to terminfo-using code.  In each
-#%line of the table,
-#%
-#%The \fBvariable\fR is the name by which the programmer (at the terminfo level)
-#%accesses the capability.
-#%
-#%The \fBcapname\fR is the short name used in the text of the database,
-#%and is used by a person updating the database.
-#%Whenever possible, capnames are chosen to be the same as or similar to
-#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses 
-#%identical or very similar names).  Semantics are also intended to match
-#%those of the specification.
-#%
-#%The termcap code is the old
-#%.B termcap
-#%capability name (some capabilities are new, and have names which termcap
-#%did not originate).
-#%.P
-#%Capability names have no hard length limit, but an informal limit of 5
-#%characters has been adopted to keep them short and to allow the tabs in
-#%the source file
-#%.B Caps
+#%Tables of capabilities
+#%.I \%ncurses
+#%recognizes in a
+#%.I \%term\%info
+#%terminal type description and available to
+#%.IR \%term\%info -using
+#%code follow.
+#%.bP
+#%The capability name identifies the symbol by which the programmer
+#%using the
+#%.I \%term\%info
+#%API accesses the capability.
+#%.bP
+#%The TI
+#%.RI ( \%term\%info )
+#%code is the short name used by a person composing or updating a
+#%terminal type entry.
+#%.IP
+#%Whenever possible,
+#%these codes are the same as or similar to those of the ANSI X3.64-1979
+#%standard
+#%(now superseded by ECMA-48,
+#%which uses identical or very similar names).
+#%Semantics are also intended to match those of the specification.
+#%.IP
+#%.I \%term\%info
+#%codes have no hard length limit,
+#%but
+#%.I \%ncurses
+#%maintains an informal one of 5 characters to keep them short and to
+#%allow the tabs in the source file
+#%.I Caps
 #%to line up nicely.
-#%
-#%Finally, the description field attempts to convey the semantics of the
-#%capability.  You may find some codes in the description field:
-#%.TP
-#%(P)
-#%indicates that padding may be specified
-#%.TP
-#%#[1-9]
-#%in the description field indicates that the string is passed through tparm with
-#%parms as given (#\fIi\fP).
-#%.TP
-#%(P*)
-#%indicates that padding may vary in proportion to the number of
-#%lines affected
-#%.TP
-#%(#\d\fIi\fP\u)
-#%indicates the \fIi\fP\uth\d parameter.
-#%
+#%(Some standard codes exceed this limit regardless.)
+#%.bP
+#%The TC
+#%.RI ( termcap )
+#%code is that used by the corresponding API of
+#%.IR \%ncurses .
+#%(Some capabilities are new,
+#%and have names that BSD
+#%.I termcap
+#%did not originate.)
+#%.bP
+#%The description field attempts to convey the capability's semantics.
 #%.PP
-#% These are the boolean capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable	Cap-	TCap	Description\fR
-#%\fBBooleans	name	Code\fR
+#%The description field employs a handful of notations.
+#%.TP
+#%.B (P)
+#%indicates that padding may be specified.
+#%.TP
+#%.B (P*)
+#%indicates that padding may vary in proportion to the number of output
+#%lines affected.
+#%.TP
+#%.BI # i
+#%indicates the
+#%.IR i th
+#%parameter of a string capability;
+#%the programmer should pass the string to \fB\%tparm\fP(3X) with the
+#%parameters listed.
+#%.IP
+#%If the description lists no parameters,
+#%passing the string to \fB\%tparm\fP(3X) may produce unexpected
+#%behavior,
+#%for instance if the string contains percent signs.
+#%.
+#%.PP
+#%.TS
+#%center;
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
+#%\&	Code	\&
+#%Boolean Capability Name	TI	TC	Description
+#%_
 auto_left_margin		bw	bool	bw	-	-	YB-G-	cub1 wraps from column 0 to last column
 auto_right_margin		am	bool	am	-	-	YBCGE	terminal has automatic margins
 no_esc_ctlc			xsb	bool	xb	-	-	YBCG-	beehive (f1=escape, f2=ctrl C)
@@ -247,18 +288,16 @@
 cpi_changes_res			cpix	bool	YF	-	-	-----	changing character pitch changes resolution
 lpi_changes_res			lpix	bool	YG	-	-	-----	changing line pitch changes resolution
 #%.TE
-#%.ad
-#%
-#%These are the numeric capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable	Cap-	TCap	Description\fR
-#%\fBNumeric	name	Code\fR
+#%.PP
+#%.
+#%.TS
+#%center;
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
+#%\&	Code	\&
+#%Numeric Capability Name	TI	TC	Description
+#%_
 columns				cols	num	co	-	-	YBCGE	number of columns in a line
 init_tabs			it	num	it	-	-	YB-G-	tabs initially every # spaces
 lines				lines	num	li	-	-	YBCGE	number of lines on screen or page
@@ -277,20 +316,21 @@
 max_pairs			pairs	num	pa	-	-	-----	maximum number of color-pairs on the screen
 no_color_video			ncv	num	NC	-	-	-----	video attributes that cannot be used with colors
 #%.TE
-#%.ad
-#%
+#%.PP
+#%.
 #%The following numeric capabilities are present in the SVr4.0 term structure,
-#%but are not yet documented in the man page.  They came in with SVr4's
-#%printer support.
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable	Cap-	TCap	Description\fR
-#%\fBNumeric	name	Code\fR
+#%but are not yet documented in the man page.
+#%They came in with SVr4's printer support.
+#%.
+#%.PP
+#%.TS
+#%center;
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
+#%\&	Code	\&
+#%Numeric Capability Name	TI	TC	Description
+#%_
 buffer_capacity			bufsz	num	Ya	-	-	-----	numbers of bytes buffered before printing
 dot_vert_spacing		spinv	num	Yb	-	-	-----	spacing of pins vertically in pins per inch
 dot_horz_spacing		spinh	num	Yc	-	-	-----	spacing of dots horizontally in dots per inch
@@ -309,18 +349,16 @@
 bit_image_entwining		bitwin	num	Yo	-	-	-----	number of passes for each bit-image row
 bit_image_type			bitype	num	Yp	-	-	-----	type of bit-image device
 #%.TE
-#%.ad
-#%
-#%These are the string capabilities:
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable	Cap-	TCap	Description\fR
-#%\fBString	name	Code\fR
+#%.PP
+#%.
+#%.TS
+#%center;
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
+#%\&	Code	\&
+#%String Capability Name	TI	TC	Description
+#%_
 back_tab			cbt	str	bt	-		-	YBCGE	back tab (P)
 bell				bel	str	bl	-		-	YB-GE	audible signal (bell) (P)
 carriage_return			cr	str	cr	-		-	YBCGE	carriage return (P*) (P*)
@@ -383,6 +421,10 @@
 key_dc				kdch1	str	kD	KEY_DC		0512	YB-G-	delete-character key
 key_dl				kdl1	str	kL	KEY_DL		0510	-B-G-*	delete-line key
 key_down			kcud1	str	kd	KEY_DOWN	0402	YBCGE	down-arrow key
+#%.TE
+#%.TS
+#%center;
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 key_eic				krmir	str	kM	KEY_EIC		0514	-B-G-*	sent by rmir or smir in insert mode
 key_eol				kel	str	kE	KEY_EOL		0517	-B-G-*	clear-to-end-of-line key
 key_eos				ked	str	kS	KEY_EOS		0516	-B-G-*	clear-to-end-of-screen key
@@ -409,8 +451,8 @@
 key_sr				kri	str	kR	KEY_SR		0521	-B-G-*	scroll-backward key
 key_stab			khts	str	kT	KEY_STAB	0524	-B-G-*	set-tab key
 key_up				kcuu1	str	ku	KEY_UP		0403	YBCGE	up-arrow key
-keypad_local			rmkx	str	ke	-		-	YBCGE	leave 'keyboard_transmit' mode
-keypad_xmit			smkx	str	ks	-		-	YBCGE	enter 'keyboard_transmit' mode
+keypad_local			rmkx	str	ke	-		-	YBCGE	leave keyboard transmit mode
+keypad_xmit			smkx	str	ks	-		-	YBCGE	enter keyboard transmit mode
 lab_f0				lf0	str	l0	-		-	-B-G-*	label on function key f0 if not f0
 lab_f1				lf1	str	l1	-		-	-B-G-*	label on function key f1 if not f1
 lab_f10				lf10	str	la	-		-	-----	label on function key f10 if not f10
@@ -445,6 +487,10 @@
 repeat_char			rep	str	rp	-		-	YB-GE	repeat char #1 #2 times (P*)
 reset_1string			rs1	str	r1	-		-	-B---	reset string
 reset_2string			rs2	str	r2	-		-	-B---	reset string
+#%.TE
+#%.TS
+#%center;
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 reset_3string			rs3	str	r3	-		-	-B---	reset string
 reset_file			rf	str	rf	-		-	-B---	name of reset file
 restore_cursor			rc	str	rc	-		-	YBCG-	restore cursor to position of last save_cursor
@@ -511,6 +557,10 @@
 key_save			ksav	str	&6	KEY_SAVE	0571	-----	save key
 key_suspend			kspd	str	&7	KEY_SUSPEND	0627	-----	suspend key
 key_undo			kund	str	&8	KEY_UNDO	0630	-----	undo key
+#%.TE
+#%.TS
+#%center;
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 key_sbeg			kBEG	str	&9	KEY_SBEG	0572	-----	shifted begin key
 key_scancel			kCAN	str	&0	KEY_SCANCEL	0573	-----	shifted cancel key
 key_scommand			kCMD	str	*1	KEY_SCOMMAND	0574	-----	shifted command key
@@ -573,6 +623,10 @@
 key_f40				kf40	str	FU	KEY_F(40)	-	----E	F40 function key
 key_f41				kf41	str	FV	KEY_F(41)	-	----E	F41 function key
 key_f42				kf42	str	FW	KEY_F(42)	-	----E	F42 function key
+#%.TE
+#%.TS
+#%center;
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 key_f43				kf43	str	FX	KEY_F(43)	-	----E	F43 function key
 key_f44				kf44	str	FY	KEY_F(44)	-	----E	F44 function key
 key_f45				kf45	str	FZ	KEY_F(45)	-	----E	F45 function key
@@ -596,7 +650,7 @@
 key_f63				kf63	str	Fr	KEY_F(63)	-	----E	F63 function key
 clr_bol				el1	str	cb	-		-	-----	Clear to beginning of line
 clear_margins			mgc	str	MC	-		-	-----	clear right and left soft margins
-set_left_margin			smgl	str	ML	-		-	-----	set left soft margin at current column.	 See smgl. (ML is not in BSD termcap).
+set_left_margin			smgl	str	ML	-		-	-----	set left soft margin at current column (not in BSD \fItermcap\fP)
 set_right_margin		smgr	str	MR	-		-	-----	set right soft margin at current column
 label_format			fln	str	Lf	-		-	-----	label format
 set_clock			sclk	str	SC	-		-	-----	set clock, #1 hrs #2 mins #3 secs
@@ -641,6 +695,10 @@
 change_res_vert			cvr	str	ZD	-		-	-----	Change vertical resolution to #1
 define_char			defc	str	ZE	-		-	-----	Define a character #1, #2 dots wide, descender #3
 enter_doublewide_mode		swidm	str	ZF	-		-	-----	Enter double-wide mode
+#%.TE
+#%.TS
+#%center;
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 enter_draft_quality		sdrfq	str	ZG	-		-	-----	Enter draft-quality mode
 enter_italics_mode		sitm	str	ZH	-		-	-----	Enter italic mode
 enter_leftward_mode		slm	str	ZI	-		-	-----	Start leftward carriage motion
@@ -686,19 +744,20 @@
 these_cause_cr			docr	str	Zw	-		-	-----	Printing any of these characters causes CR
 zero_motion			zerom	str	Zx	-		-	-----	No motion for subsequent character
 #%.TE
-#%.ad
-#%
+#%.PP
+#%.
 #%The following string capabilities are present in the SVr4.0 term structure,
 #%but were originally not documented in the man page.
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw18.
-#%\fBVariable	Cap-	TCap	Description\fR
-#%\fBString	name	Code\fR
+#%.
+#%.PP
+#%.TS
+#%center;
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
+#%\&	Code	\&
+#%String Capability Name	TI	TC	Description
+#%_
 char_set_names			csnm	str	Zy	-		-	-----	Produce #1'th item from list of character set names
 key_mouse			kmous	str	Km	KEY_MOUSE	0631	-----	Mouse event has occurred
 mouse_info			minfo	str	Mi	-		-	-----	Mouse status information
@@ -707,7 +766,7 @@
 set_a_foreground		setaf	str	AF	-		-	-----	Set foreground color to #1, using ANSI escape
 set_a_background		setab	str	AB	-		-	-----	Set background color to #1, using ANSI escape
 pkey_plab			pfxl	str	xl	-		-	-----	Program function key #1 to type string #2 and show string #3
-device_type			devt	str	dv	-		-	-----	Indicate language/codeset support
+device_type			devt	str	dv	-		-	-----	Indicate language, codeset support
 code_set_init			csin	str	ci	-		-	-----	Init sequence for multiple codesets
 set0_des_seq			s0ds	str	s0	-		-	-----	Shift to codeset 0 (EUC set 0, ASCII)
 set1_des_seq			s1ds	str	s1	-		-	-----	Shift to codeset 1
@@ -735,9 +794,8 @@
 scancode_escape			scesc	str	S7	-		-	-----	Escape for scancode emulation
 alt_scancode_esc		scesa	str	S8	-		-	-----	Alternate escape for scancode emulation
 #%.TE
-#%.ad
-#%
-#%.in .8i
+#%.PP
+#%.
 #%The XSI Curses standard added these hardcopy capabilities.
 #%They were used in some post-4.1 versions of System V curses,
 #%e.g., Solaris 2.5 and IRIX 6.x.
@@ -746,15 +804,16 @@
 #%If your compiled terminfo entries use these,
 #%they may not be binary-compatible with System V terminfo
 #%entries after SVr4.1; beware!
-#%
-#%.na
-#%.TS H
-#%center expand;
-#%c l l c
-#%c l l c
-#%lw25 lw6 lw2 lw20.
-#%\fBVariable	Cap-	TCap	Description\fR
-#%\fBString	name	Code\fR
+#%.
+#%.PP
+#%.TS
+#%center;
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
+#%\&	Code	\&
+#%String Capability Name	TI	TC	Description
+#%_
 enter_horizontal_hl_mode	ehhlm	str	Xh	-		-	-----	Enter horizontal highlight mode
 enter_left_hl_mode		elhlm	str	Xl	-		-	-----	Enter left highlight mode
 enter_low_hl_mode		elohlm	str	Xo	-		-	-----	Enter low highlight mode
@@ -764,7 +823,6 @@
 set_a_attributes		sgr1	str	sA	-		-	-----	Define second set of video attributes #1-#6
 set_pglen_inch			slength	str	YI	-		-	-----	Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
 #%.TE
-#%.ad
 #
 # The magic token below tells the tic compiler-generator code that all the caps
 # past it should be ignored (not written out) when dumping terminfo objects. It
@@ -826,7 +884,7 @@
 # GNU termcap *does* include the following extended capability,  Only the
 # now-obsolete Ann Arbor terminals used it.
 #
-# gnu_change_scroll_region	OTcS	str	cS	-		-	---GE	alternate set scrolling region 
+# gnu_change_scroll_region	OTcS	str	cS	-		-	---GE	alternate set scrolling region
 #
 # The following comments describe capnames so ancient that I believe no
 # software uses them any longer.  Some of these have to go because they
@@ -843,9 +901,9 @@
 # comma-separated list of capabilities for which there are corresponding keys.
 # The `kn' code is accepted but ignored.
 #
-# The `ma' capability seems to have been designed to map between the rogue(2)
-# motion keys (including jkhl) and characters emitted by arrow keys on some
-# primitive pre-ANSI terminals.  It's so obsolete it's fossilized...
+# The `ma' capability was a 4.0BSD feature used by vi version 2.
+# It consists of pairs of characters corresponding to kl, kr, ku, kd, and kh.
+# Besides being obsolete, that interpretation conflicts with max_attributes.
 #
 # Here is a description of memory_lock_above and memory_unlock:
 # "You can 'freeze' data on the screen by turning on Memory Lock in a line of
@@ -871,14 +929,14 @@
 # vertical_tab_delay		OTdV	num	dV	-		-	-B---	padding required for ^V
 number_of_function_keys		OTkn	num	kn	-		-	-B-G-	count of function keys
 other_non_function_keys		OTko	str	ko	-		-	-B-G-	list of self-mapped keycaps
-arrow_key_map			OTma	str	ma	-		-	YBC--	map arrow keys rogue(1) motion keys
+arrow_key_map			OTma	str	ma	-		-	YBC--	map motion-keys for vi version 2
 # memory_lock_above		OTml	str	ml	-		-	-B---	lock visible screen memory above the current line
 # memory_unlock			OTmu	str	mu	-		-	-B---	unlock visible screen memory above the current line
 has_hardware_tabs		OTpt	bool	pt	-		-	YB---	has 8-char tabs invoked with ^I
 return_does_clr_eol		OTxr	bool	xr	-		-	YB---	return clears the line
 # tek_4025_insert_line		OTxx	bool	xx	-		-	-BC--	Tektronix 4025 insert-line glitch
 #
-# mytinfo described this as a termcap capability, but it's not listed in the
+# mytinfo described this as a termcap capability, but it is not listed in the
 # 4.4BSD man pages, and not found in the 4.4BSD termcap file.  The ncurses
 # package, like System V, behaves as though it is always true.
 #
@@ -887,7 +945,7 @@
 # University of Waterloo termcap extensions (as described in mytinfo).
 # The `xl' termcap file clashes with a terminfo name; this ambiguity cannot
 # be resolved by a type check.  The descriptions are guesses from what was
-# in the mytinfo tables. 
+# in the mytinfo tables.
 #
 # key_interrupt_char		OTki	str	ki	-		-	-----	string set by interrupt key (?)
 # key_kill_char			OTkk	str	kk	-		-	-----	string set by kill key (?)
@@ -936,7 +994,7 @@
 # Gv	186 \272 M-:	double vertical line
 #
 # The compiler will translate the single-line caps and discard the others
-# (via IGNORE aliases further down).  We don't want to do normal pad 
+# (via IGNORE aliases further down).  We don't want to do normal pad
 # translation on these, they're often single-character printable ASCII
 # strings that happen to be numerics.  There's awk code in parametrized.sh
 # that detects the acs_ prefix and uses it to suppress pad translation.
@@ -958,303 +1016,9 @@
 #
 # TERMINFO EXTENSION CAPABILITIES
 #
-# This section is almost all comments.  What it's mainly for is to describe
-# what capabilities need to be squeezed out to get down to the XSI Curses
-# standard set.  They are flagged with K.
-#
-# HP extensions
-#
-# These extensions follow ptr_non (replacing everything after it) in HP
-# terminfo files.  Except for memory_lock and memory_unlock, they are
-# functionally identical to SVr4 extensions, but they make the binary format
-# different.  Grrr....
+# (see Caps-ncurses for the complete set of comments)
 #
 memory_lock			meml	str	ml	-		-	----K	lock memory above cursor
 memory_unlock			memu	str	mu	-		-	----K	unlock memory
-#plab_norm			pln	str	pn	-		-	-----	program label #1 to show string #2
-#label_on			smln	str	LO	-		-	-----	turn on soft labels
-#label_off			rmln	str	LF	-		-	-----	turn off soft labels
-#key_f11			kf11	str	F1	-		-	-----	F11 function key
-#key_f12			kf12	str	F2	-		-	-----	F12 function key
-#key_f13			kf13	str	F3	-		-	-----	F13 function key
-#key_f14			kf14	str	F4	-		-	-----	F14 function key
-#key_f15			kf15	str	F5	-		-	-----	F15 function key
-#key_f16			kf16	str	F6	-		-	-----	F16 function key
-#key_f17			kf17	str	F7	-		-	-----	F17 function key
-#key_f18			kf18	str	F8	-		-	-----	F18 function key
-#key_f19			kf19	str	F9	-		-	-----	F19 function key
-#key_f20			kf20	str	FA	-		-	-----	F20 function key
-#key_f21			kf21	str	FB	-		-	-----	F21 function key
-#key_f22			kf22	str	FC	-		-	-----	F22 function key
-#key_f23			kf23	str	FD	-		-	-----	F23 function key
-#key_f24			kf24	str	FE	-		-	-----	F24 function key
-#key_f25			kf25	str	FF	-		-	-----	F25 function key
-#key_f26			kf26	str	FG	-		-	-----	F26 function key
-#key_f27			kf27	str	FH	-		-	-----	F27 function key
-#key_f28			kf28	str	FI	-		-	-----	F28 function key
-#key_f29			kf29	str	FJ	-		-	-----	F29 function key
-#key_f30			kf30	str	FK	-		-	-----	F30 function key
-#key_f31			kf31	str	FL	-		-	-----	F31 function key
-#key_f32			kf32	str	FM	-		-	-----	F32 function key
-#key_f33			kf33	str	FN	-		-	-----	F33 function key
-#key_f34			kf34	str	FO	-		-	-----	F34 function key
-#key_f35			kf35	str	FP	-		-	-----	F35 function key
-#key_f36			kf36	str	FQ	-		-	-----	F36 function key
-#key_f37			kf37	str	FR	-		-	-----	F37 function key
-#key_f38			kf38	str	FS	-		-	-----	F38 function key
-#key_f39			kf39	str	FT	-		-	-----	F39 function key
-#key_f40			kf40	str	FU	-		-	-----	F40 function key
-#key_f41			kf41	str	FV	-		-	-----	F41 function key
-#key_f42			kf42	str	FW	-		-	-----	F42 function key
-#key_f43			kf43	str	FX	-		-	-----	F43 function key
-#key_f44			kf44	str	FY	-		-	-----	F44 function key
-#key_f45			kf45	str	FZ	-		-	-----	F45 function key
-#key_f46			kf46	str	Fa	-		-	-----	F46 function key
-#key_f47			kf47	str	Fb	-		-	-----	F47 function key
-#key_f48			kf48	str	Fc	-		-	-----	F48 function key
-#key_f49			kf49	str	Fd	-		-	-----	F49 function key
-#key_f50			kf50	str	Fe	-		-	-----	F50 function key
-#key_f51			kf51	str	Ff	-		-	-----	F51 function key
-#key_f52			kf52	str	Fg	-		-	-----	F52 function key
-#key_f53			kf53	str	Fh	-		-	-----	F53 function key
-#key_f54			kf54	str	Fi	-		-	-----	F54 function key
-#key_f55			kf55	str	Fj	-		-	-----	F55 function key
-#key_f56			kf56	str	Fk	-		-	-----	F56 function key
-#key_f57			kf57	str	Fl	-		-	-----	F57 function key
-#key_f58			kf58	str	Fm	-		-	-----	F58 function key
-#key_f59			kf59	str	Fn	-		-	-----	F59 function key
-#key_f60			kf60	str	Fo	-		-	-----	F60 function key
-#key_f61			kf61	str	Fp	-		-	-----	F61 function key
-#key_f62			kf62	str	Fq	-		-	-----	F62 function key
-#key_f63			kf63	str	Fr	-		-	-----	F63 function key
-#
-# IBM extensions
-#
-# These extensions follow ptr_non (replacing everything after it) in IBM
-# terminfo files.
-#
-# The places in the box[12] capabilities correspond to acsc characters, here is
-# the mapping:
-#
-#	box1[0]  = ACS_ULCORNER
-#	box1[1]  = ACS_HLINE	
-#	box1[2]  = ACS_URCORNER
-#	box1[3]  = ACS_VLINE
-#	box1[4]  = ACS_LRCORNER
-#	box1[5]  = ACS_LLCORNER
-#	box1[6]  = ACS_TTEE
-#	box1[7]  = ACS_RTEE
-#	box1[8]  = ACS_BTEE
-#	box1[9]  = ACS_LTEE
-#	box1[10] = ACS_PLUS
-#
-# The box2 characters are the double-line versions of these forms graphics.
-#
 box_chars_1			box1	str	bx	-		-	----K	box characters primary set
-#box_chars_2			box2	str	by	-		-	----K	box characters secondary set
-#box_attr_1			batt1	str	Bx	-		-	----K	attributes for box1
-#box_attr_2			batt2	str	By	-		-	----K	attributes for box2
-#color_bg_0			colb0	str	d0	-		-	----K	background color 0
-#color_bg_1			colb1	str	d1	-		-	----K	background color 1
-#color_bg_2			colb2	str	d2	-		-	----K	background color 2
-#color_bg_3			colb3	str	d3	-		-	----K	background color 3
-#color_bg_4			colb4	str	d4	-		-	----K	background color 4
-#color_bg_5			colb5	str	d5	-		-	----K	background color 5
-#color_bg_6			colb6	str	d6	-		-	----K	background color 6
-#color_bg_7			colb7	str	d7	-		-	----K	background color 7
-#color_fg_0			colf0	str	c0	-		-	----K	foreground color 0
-#color_fg_1			colf1	str	c1	-		-	----K	foreground color 1
-#color_fg_2			colf2	str	c2	-		-	----K	foreground color 2
-#color_fg_3			colf3	str	c3	-		-	----K	foreground color 3
-#color_fg_4			colf4	str	c4	-		-	----K	foreground color 4
-#color_fg_5			colf5	str	c5	-		-	----K	foreground color 5
-#color_fg_6			colf6	str	c6	-		-	----K	foreground color 6
-#color_fg_7			colf7	str	c7	-		-	----K	foreground color 7
-#font_0				font0	str	f0	-		-	-----	select font 0
-#font_1				font1	str	f1	-		-	-----	select font 1
-#font_2				font2	str	f2	-		-	-----	select font 2
-#font_3				font3	str	f3	-		-	-----	select font 3
-#font_4				font4	str	f4	-		-	----K	select font 4
-#font_5				font5	str	f5	-		-	----K	select font 5
-#font_6				font6	str	f6	-		-	----K	select font 6
-#font_7				font7	str	f7	-		-	----K	select font 7
-#key_back_tab			kbtab	str	k0	-		-	-----	backtab key
-#key_do				kdo	str	ki	-		-	----K	do request key
-#key_command			kcmd	str	kd	-		-	----K	command-request key
-#key_command_pane		kcpn	str	kW	-		-	----K	command-pane key
-#key_end			kend	str	kw	-		-	-----	end key
-#key_help			khlp	str	kq	-		-	-----	help key
-#key_newline			knl	str	nl	-		-	----K	newline key
-#key_next_pane			knpn	str	kv	-		-	----K	next-pane key
-#key_prev_cmd			kppn	str	kp	-		-	----K	previous-command key
-#key_prev_pane			kppn	str	kV	-		-	----K	previous-pane key
-#key_quit			kquit	str	kQ	-		-	----K	quit key
-#key_select			ksel	str	kU	-		-	-----	select key
-#key_scroll_left		kscl	str	kz	-		-	----K	scroll left
-#key_scroll_right		kscr	str	kZ	-		-	----K	scroll right
-#key_tab			ktab	str	ko	-		-	----K	tab key
-#key_smap_in1			kmpf1	str	Kv	-		-	----K	special mapped key 1 input
-#key_smap_out1			kmpt1	str	KV	-		-	----K	special mapped key 1 output
-#key_smap_in2			kmpf2	str	Kw	-		-	----K	special mapped key 2 input
-#key_smap_out2			kmpt2	str	KW	-		-	----K	special mapped key 2 output
-#key_smap_in3			kmpf3	str	Kx	-		-	----K	special mapped key 3 input
-#key_smap_out3			kmpt3	str	KX	-		-	----K	special mapped key 3 output
-#key_smap_in4			kmpf4	str	Ky	-		-	----K	special mapped key 4 input
-#key_smap_out4			kmpt4	str	KY	-		-	----K	special mapped key 4 output
-#key_smap_in5			kmpf5	str	Kz	-		-	----K	special mapped key 5 input
-#key_smap_out5			kmpt5	str	KZ	-		-	----K	special mapped key 5 output
-#appl_defined_str		apstr	str	za	-		-	----K	application-defined string
-# The key_smap_in[6789] and key_smap_out[6789] capabilities aren't described in
-# the IBM manual pages, so the cap name strings are guesses.  The terminfo
-# names are almost certainly right, the termcap ones almost certainly wrong.
-#key_smap_in6			kmpf6	str	k!	-		-	----K	special mapped key 6 input
-#key_smap_out6			kmpt6	str	K@	-		-	----K	special mapped key 6 output
-#key_smap_in7			kmpf7	str	k#	-		-	----K	special mapped key 7 input
-#key_smap_out7			kmpt7	str	K$	-		-	----K	special mapped key 7 output
-#key_smap_in8			kmpf8	str	k%	-		-	----K	special mapped key 8 input
-#key_smap_out8			kmpt8	str	K^	-		-	----K	special mapped key 8 output
-#key_smap_in9			kmpf9	str	k&	-		-	----K	special mapped key 9 input
-#key_smap_out9			kmpt9	str	K*	-		-	----K	special mapped key 9 output
-# Undocumented capabilities end here
-#key_sf1			ksf1	str	S1	-		-	----K	special function key 1
-#key_sf2			ksf2	str	S2	-		-	----K	special function key 2
-#key_sf3			ksf3	str	S3	-		-	----K	special function key 3
-#key_sf4			ksf4	str	S4	-		-	----K	special function key 4
-#key_sf5			ksf5	str	S5	-		-	----K	special function key 5
-#key_sf6			ksf6	str	S6	-		-	----K	special function key 6
-#key_sf7			ksf7	str	S7	-		-	----K	special function key 7
-#key_sf8			ksf8	str	S8	-		-	----K	special function key 8
-#key_sf9			ksf9	str	S9	-		-	----K	special function key 9
-#key_sf10			ksf10	str	SA	-		-	----K	special function key 10
-# AIX version 3 documents different codes for F11, F12 and does not mention
-# F13-F64.  AIX version 4 uses the same naming for F0-F63 as above.
-#key_f11			kf11	str	k<	-		-	-----	function key 11
-#key_f12			kf12	str	k>	-		-	-----	function key 12
-# Undocumented capabilities end here.
-#key_action			kact	str	kJ	-		-	----K	sent by action key
-# The IBM docs say these capabilities are for table-drawing, and are
-# valid only for aixterm descriptions.
-#enter_topline_mode		topl	str	tp	-		-	----K	start top-line mode
-#enter_bottom_mode		btml	str	bm	-		-	----K	start bottom-line mode
-#enter_rvert_mode		rvert	str	rv	-		-	----K	start right-vertical mode
-#enter_lvert_mode		lvert	str	lv	-		-	----K	start left-vertical mode
-#
-#############################################################################
-#
-# ALIAS DECLARATIONS
-#
-# Here we set up aliases for translating extensions into standard terminfo.
-#
-#---------------------------------- Termcap aliases -------------------------
-#
-# BSD aliases:
-#
-# This is a common error in many termcap files.  We'll get notified during
-# translation when this (or any other alias) fires.
-#
-capalias	sb	sr	BSD	scroll text down
-#
-# AT&T extensions:
-#
-# The old AT&T 5410, 5420, 5425, pc6300plus, 610, and s4 entries used a set of
-# nonstandard capabilities.  Its signature is the KM capability, used to name
-# some sort of keymap file.  EE, BO, CI, CV, XS, DS, FL and FE are in this
-# set.  Comments in the original, and a little cross-checking with other AT&T
-# documentation, seem to establish the following mappings:
-#
-capalias	BO	mr	AT&T	enter_reverse_mode
-capalias	CI	vi	AT&T	cursor_invisible
-capalias	CV	ve	AT&T	cursor_normal
-capalias	DS	mh	AT&T	enter_dim_mode
-#capalias	EE	me	AT&T	exit_attribute_mode	
-capalias	FE	LF	AT&T	label_on
-capalias	FL	LO	AT&T	label_off
-capalias	XS	mk	AT&T	enter_secure_mode
-#
-# We comment out EE because the conflicting XENIX EE is more common in 
-# old entries.
-#
-# XENIX extensions:
-#
-# These are the ones we know how to translate directly:
-#
-capalias	EE	mh	XENIX	exit_attribute_mode	
-capalias	GE	ae	XENIX	exit_alt_charset_mode
-capalias	GS	as	XENIX	enter_alt_charset_mode
-capalias	CF	vi	XENIX	cursor_invis
-capalias	CO	ve	XENIX	cursor_normal
-capalias	EN	@7	XENIX	key_end
-capalias	HM	kh	XENIX	key_home
-capalias	LD	kL	XENIX	key_dl
-capalias	PD	kN	XENIX	key_npage
-capalias	PN	po	XENIX	prtr_off
-capalias	PS	pf	XENIX	prtr_on
-capalias	PU	kP	XENIX	key_ppage
-capalias	RT	@8	XENIX	kent
-capalias	UP	ku	XENIX	kcuu1
-capalias	G6	IGNORE	XENIX	double-ACS_ULCORNER
-capalias	G7	IGNORE	XENIX	double-ACS_LLCORNER
-capalias	G5	IGNORE	XENIX	double-ACS_URCORNER
-capalias	G8	IGNORE	XENIX	double-ACS_LRCORNER
-capalias	Gr	IGNORE	XENIX	double-ACS_LTEE
-capalias	Gr	IGNORE	XENIX	double-ACS_RTEE
-capalias	Gu	IGNORE	XENIX	double-ACS_BTEE
-capalias	Gd	IGNORE	XENIX	double ACS_TTEE
-capalias	Gh	IGNORE	XENIX	double-ACS_HLINE
-capalias	Gv	IGNORE	XENIX	double-ACS_VLINE
-capalias	Gc	IGNORE	XENIX	double-ACS_PLUS
-capalias	GG	IGNORE	XENIX	acs-glitch
-#
-# IBM extensions:
-#
-capalias	kq	%1	IBM	key_help
-#
-# Iris extensions:
-#
-capalias	HS	mh	IRIS	enter_dim_mode
-#
-# Tektronix extensions:
-#
-capalias	KA	k;	Tek	key_f10
-capalias	KB	F1	Tek	key_f11
-capalias	KC	F2	Tek	key_f12
-capalias	KD	F3	Tek	key_f13
-capalias	KE	F4	Tek	key_f14
-capalias	KF	F5	Tek	key_f15
-capalias	BC	Sb	Tek	set_background
-capalias	FC	Sf	Tek	set_foreground
-#
-# There are also the following:
-#
-#	XENIX	XENIX variable name	name clash with terminfo?
-#	-----	-------------------	-------------------------
-#	CL	key_char_left
-#	CR	key_char_right
-#	CW	key_change_window
-#	HP	??
-#	LF	key_linefeed 		label_off
-#	NU	key_next_unlocked_cell
-#	PL	??
-#	PR	??
-#	RC	key_recalc		remove_clock
-#	RF	key_toggle_ref		req_for_input
-#	WL	key_word_left
-#	WR	key_word_right
-#
-# If you know what any of the question-marked ones mean, please tell us.
-#
-#--------------------------------- Terminfo aliases ------------------------
-#
-# IBM extensions:
-#
-infoalias	font0	s0ds	IBM	set0_des_seq
-infoalias	font1	s1ds	IBM	set1_des_seq
-infoalias	font2	s2ds	IBM	set2_des_seq
-infoalias	font3	s3ds	IBM	set3_des_seq
-infoalias	kbtab	kcbt	IBM	key_backtab
-infoalias	ksel	kslt	IBM	key_select
-#
-# Some others are identical to SVr4/XPG4 capabilities, in particular:
-# kcmd, kend, khlp, and kf11...kf63.
-#
 #############################################################################