The programming languages ncurses directly supports are compiled, not
interpreted, and similarly terminfo entries are compiled prior to use by
applications.  Consequently, most things that are "defined" at all are
also "predefined" before an ncurses application runs,[1] and the prefix
"pre-" illuminates little.  Some "predefined" entities (such as
capability names, data types, and tab stop locations) are standardized
by X/Open Curses; where that is the case, say so.  In other cases, the
word "predefined" seems to supply negligible information.

* man/curs_add_wch.3x:
* man/curs_addch.3x:
* man/curs_get_wch.3x:
* man/curs_getch.3x:
* man/curs_inopts.3x:
* man/curs_terminfo.3x:
* man/curs_variables.3x:
* man/form_field_validation.3x:
* man/ncurses.3x:
* man/new_pair.3x:
* man/tabs.1:
* man/term.5:
* man/terminfo.head:
* man/terminfo.tail:
* man/tic.1m:
* man/tput.1:
* man/user_caps.5: Do it.

Recasting a sentence to use a simpler term than "predefined" often
afforded an opportunity to further improve its style.

* man/curs_add_wch.3x:
* man/curs_addch.3x: Make a declarative statement about a property of
  the library before an imperative one directing the reader to a
  relevant cross reference.

* man/curs_terminfo.3x: Reinforce fact that terminfo(5) documents only
  _standard_ capabilities; contrast user_caps(5).

* man/form_field_validation.3x: Favor active voice over passive.  Make
  section heading more specific.  Relocate sentence about mechanism for
  user-driven configuration of custom field types to follow, not
  precede, discussion of those the library provides.

* man/ncurses.3x (Overview): Clarify what it is that (pre)defined
  constants facilitate.

* man/terminfo.tail:
* man/tic.1m:
* man/user_caps.5: Attempt more clarify and specificity.

* man/user_caps.5: Use a singular possessive form with "ncurses"; it is
  not a plural noun, simply one that orthographically ends with "s".
  (Aloud, a native English speaker pronounces its possessive as
  "enn-kurr-sizz-izz", which is no more elocutionarily awkward than
  "parenthesis".)  Also see <https://apastyle.apa.org/\
  style-grammar-guidelines/grammar/possessive-nouns>.)  Favor present
  tense over future.  Favor active voice over passive.  Spell "key
  codes" as a compound noun when used as noun, like "ice cream", not
  like an attributive phrase.  (Contrast "Fur trapping drove European
  settlement of western Canada." with "Albert Johnson was a fur-trapping
  madman.".)

Also fix typographical nits in revised sentences.

* man/form_field_validation.3x: Set the name of the library, "form", in
  italics, not roman.

* man/terminfo.tail (User-Defined Capabilities): Set terms "termcap" and
  "terminfo" in italics, not roman.  Specify hyphenation break in
  "terminfo".

Also fix markup nits in revised sentences.

* (generally): Break input lines after commas and, where convenient,
  prior to dependent clauses and prepositional phrases.

* man/terminfo.tail (User-Defined Capabilities): Favor man(7) font style
  macros over *roff font selection escape sequences, except for man page
  cross references (because man/make_sed.sh recognizes only certain
  patterns when rewriting such cross references) and terms in the "NAME"
  section (because the generated edit_man.sh script expects font
  selection escape sequences when scraping terms thence to gather names
  for man page aliases).

[1] the ncurses extension define_key(3X) providing an exception
---
 man/curs_add_wch.3x          |  5 ++--
 man/curs_addch.3x            |  5 ++--
 man/curs_get_wch.3x          |  2 +-
 man/curs_getch.3x            |  6 ++---
 man/curs_inopts.3x           |  5 ++--
 man/curs_terminfo.3x         |  6 ++---
 man/curs_variables.3x        |  2 +-
 man/form_field_validation.3x | 16 +++++++------
 man/ncurses.3x               |  3 ++-
 man/new_pair.3x              |  2 +-
 man/tabs.1                   |  4 ++--
 man/term.5                   |  7 +++---
 man/terminfo.head            |  2 +-
 man/terminfo.tail            | 46 +++++++++++++++++++++++-------------
 man/tic.1m                   | 10 ++++----
 man/tput.1                   |  3 +--
 man/user_caps.5              | 38 ++++++++++++++++++++---------
 17 files changed, 98 insertions(+), 64 deletions(-)

diff --git a/man/curs_add_wch.3x b/man/curs_add_wch.3x
index 172a49b63..d23c44137 100644
--- a/man/curs_add_wch.3x
+++ b/man/curs_add_wch.3x
@@ -148,8 +148,9 @@ .SS wadd_wch
 .I \%cchar_t
 can be copied from place to place using \fB\%win_wch\fP(3X) and
 .BR \%wadd_wch "."
-See \fB\%curs_attr\fP(3X) for values of predefined constants that can be
-usefully \*(``or\*(''ed with characters.
+.I curses
+defines constants to aid the manipulation of character attributes;
+see \fB\%curs_attr\fP(3X).
 A complex character whose only character component is a wide space,
 and whose only attribute is
 .BR \%WA_NORMAL ,
diff --git a/man/curs_addch.3x b/man/curs_addch.3x
index 13c481d44..5473dd8fd 100644
--- a/man/curs_addch.3x
+++ b/man/curs_addch.3x
@@ -137,8 +137,9 @@ .SS waddch
 .I \%chtype
 can be copied from place to place using \fB\%winch\fP(3X) and
 .BR \%waddch .)
-See \fB\%curs_attr\fP(3X) for values of predefined constants that can be
-usefully \*(``or\*(''ed with characters.
+.I curses
+defines constants to aid the manipulation of character attributes;
+see \fB\%curs_attr\fP(3X).
 A
 .I ch
 whose character component is a space,
diff --git a/man/curs_get_wch.3x b/man/curs_get_wch.3x
index 7502da763..af060ac85 100644
--- a/man/curs_get_wch.3x
+++ b/man/curs_get_wch.3x
@@ -92,7 +92,7 @@ .SS "Reading Characters"
 The behavior of other keys depends on whether
 .I win
 is in keypad mode;
-see subsections \*(``Keypad Mode\*('' and \*(``Predefined Key Codes\*(''
+see subsections \*(``Keypad Mode\*('' and \*(``Key Codes\*(''
 in \fB\%getch\fP(3X).
 .PP
 If no input is pending,
diff --git a/man/curs_getch.3x b/man/curs_getch.3x
index 9f70a318e..05d234358 100644
--- a/man/curs_getch.3x
+++ b/man/curs_getch.3x
@@ -195,7 +195,7 @@ .SS "Keypad Mode"
 .B \%wgetch
 translates these key strokes to a numeric code corresponding to the
 .B KEY_
-symbols listed in subsection \*(``Predefined Key Codes\*('' below.
+symbols listed in subsection \*(``Key Codes\*('' below.
 If the window is not in keypad mode,
 the input queue populates with
 the characters of the function key's escape sequence,
@@ -206,7 +206,7 @@ .SS "Keypad Mode"
 The
 .I \%curses.h
 header file declares many
-.I "predefined function keys"
+.I "function keys"
 whose names begin with
 .BR KEY_ ";"
 these object-like macros
@@ -294,7 +294,7 @@ .SS "Ungetting Characters"
 into the input queue to be returned by the next call to
 .BR \%wgetch "."
 A single input queue serves all windows associated with the screen.
-.SS "Predefined Key Codes"
+.SS "Key Codes"
 The header file
 .I \%curses.h
 defines the following function key codes.
diff --git a/man/curs_inopts.3x b/man/curs_inopts.3x
index e00337af1..50b6cbe5e 100644
--- a/man/curs_inopts.3x
+++ b/man/curs_inopts.3x
@@ -788,9 +788,8 @@ .SH PORTABILITY
 In
 .IR \%ncurses ,
 extended capabilities can be interpreted as key definitions.
-These are loaded after the predefined keys,
-and if a capability's value is the same as a previously loaded
-key definition,
+The library loads these after its built-in definitions,
+and if a capability's value is the same as one previously loaded,
 the library uses the later definition.
 .SH HISTORY
 4BSD (1980)
diff --git a/man/curs_terminfo.3x b/man/curs_terminfo.3x
index 7bdf1a3c1..f9ecee06d 100644
--- a/man/curs_terminfo.3x
+++ b/man/curs_terminfo.3x
@@ -591,7 +591,7 @@ .SS "Terminal Capability Functions"
 The
 .I cap-code
 for each capability is given in the table column of that name
-in the \*(``Predefined Capabilities\*('' section of \fB\%terminfo\fP(5).
+in the \*(``Capabilities\*('' section of \fB\%terminfo\fP(5).
 .PP
 These functions return special values to denote errors.
 .PP
@@ -641,9 +641,9 @@ .SS "Terminal Capability Names"
 .bP
 the long \fI\%term\%info\fP names (\*(``fnames\*('')
 .PP
-for each of the predefined
+for each standard
 .I \%term\%info
-variables:
+capability name.
 .PP
 .RS
 .nf
diff --git a/man/curs_variables.3x b/man/curs_variables.3x
index df8d38e8a..3d82fc3be 100644
--- a/man/curs_variables.3x
+++ b/man/curs_variables.3x
@@ -182,7 +182,7 @@ .SS CCHARW_MAX
 .I curses
 complex character
 .IR \%cchar_t "."
-.SH "PREDEFINED TYPES"
+.SH "DATA TYPES"
 .SS "\fIbool\fP"
 X/Open Issue\ 4 \fIcurses\fP (1996) preceded the ISO C99 and ISO C++98
 standards,
diff --git a/man/form_field_validation.3x b/man/form_field_validation.3x
index 948fa4d92..303544a63 100644
--- a/man/form_field_validation.3x
+++ b/man/form_field_validation.3x
@@ -55,7 +55,7 @@ .SH SYNOPSIS
 \fBFIELDTYPE *field_type(const FIELD *\fIfield\fP);
 \fBint set_field_type(FIELD *\fIfield\fP, FIELDTYPE *\fItype\fP, ...);
 .PP
-\fI/* predefined field types */\fP
+\fI/* field types */\fP
 \fBFIELDTYPE *TYPE_ALNUM;
 \fBFIELDTYPE *TYPE_ALPHA;
 \fBFIELDTYPE *TYPE_ENUM;
@@ -81,12 +81,12 @@ .SS set_field_type
 This is the type checked by validation functions.
 Most field types are configurable,
 via arguments which the caller provides when calling \fBset_field_type\fP.
-.PP
-Several field types are predefined by the form library.
-.SH PREDEFINED TYPES
-It is possible to set up new programmer-defined field types.
-Field types are implemented via the \fBFIELDTYPE\fP data
-structure, which contains several pointers to functions.
+.SH "FIELD TYPES"
+The
+.I form
+library defines several field types.
+They are implemented via the \fBFIELDTYPE\fP data structure,
+which contains several pointers to functions.
 .PP
 See the \fBform_fieldtype\fP(3X) manual page,
 which describes functions which can be used to construct
@@ -186,6 +186,8 @@ .SS TYPE_IPV4
 .PP
 This is an \fI\%ncurses\fP extension;
 this field type may not be available in other curses implementations.
+.PP
+It is possible to set up new programmer-defined field types.
 .SH RETURN VALUE
 The functions \fBfield_type\fP and \fBfield_arg\fP return
 .I NULL
diff --git a/man/ncurses.3x b/man/ncurses.3x
index af588503d..d44754587 100644
--- a/man/ncurses.3x
+++ b/man/ncurses.3x
@@ -329,7 +329,8 @@ .SS Overview
 See \fB\%curs_color\fP(3X) and \fB\%curs_attr\fP(3X).
 .PP
 .I curses
-predefines constants for a small set of forms-drawing graphics
+defines constants to simplify access
+to a small set of forms-drawing graphics
 corresponding to the DEC Alternate Character Set (ACS),
 a feature of VT100 and other terminals.
 See \fB\%addch\fP(3X).
diff --git a/man/new_pair.3x b/man/new_pair.3x
index 853f2846a..99d30ed59 100644
--- a/man/new_pair.3x
+++ b/man/new_pair.3x
@@ -101,7 +101,7 @@ .SH DESCRIPTION
 .RE
 .bP
 An application might use up to a few dozen color pairs to
-implement a predefined color scheme.
+implement a color scheme.
 .IP
 Beyond that lies in the realm of programs using the foreground
 and background colors for \*(``ASCII art\*(''
diff --git a/man/tabs.1 b/man/tabs.1
index 757c63e6e..72bb78174 100644
--- a/man/tabs.1
+++ b/man/tabs.1
@@ -146,8 +146,8 @@ .SS "Explicit Lists"
 .RE
 .PP
 which is equivalent to the 1,6,11,16,21 example.
-.SS "Predefined Tab Stops"
-POSIX defines several predefined lists of tab stops.
+.SS "Standard Tab Stops"
+POSIX defines several lists of tab stops.
 .TP 5
 .B \-a
 Assembler, IBM S/370, first format
diff --git a/man/term.5 b/man/term.5
index 50e120bb7..c70864d57 100644
--- a/man/term.5
+++ b/man/term.5
@@ -273,8 +273,9 @@ .SS "Extended Storage Format"
 With some minor variations of the offsets
 (see PORTABILITY),
 the same binary format is used in all modern Unix systems.
-Each system uses a predefined set of Boolean,
-number or string capabilities.
+Each system uses a standard set of Boolean,
+numeric,
+or string capabilities.
 .PP
 The
 .I \%ncurses
@@ -288,7 +289,7 @@ .SS "Extended Storage Format"
 data when they reach the end of the size given in the header.
 .I \%ncurses
 checks the size,
-and if it exceeds that due to the predefined data,
+and if it exceeds that specified in the header,
 continues to parse according to its own scheme.
 .PP
 First,
diff --git a/man/terminfo.head b/man/terminfo.head
index 1d712ced5..a407f761e 100644
--- a/man/terminfo.head
+++ b/man/terminfo.head
@@ -221,6 +221,6 @@ user preferences.
 An entry included via \fBuse\fP can contain canceled capabilities,
 which have the same effect as if those cancels were inline in the
 using terminal entry.
-.SS "Predefined Capabilities"
+.SS "Standard Capabilities"
 .\" Head of terminfo man page ends here
 .ps -1
diff --git a/man/terminfo.tail b/man/terminfo.tail
index e88e540f6..2fa483fc9 100644
--- a/man/terminfo.tail
+++ b/man/terminfo.tail
@@ -31,12 +31,16 @@
 .ps +1
 .SS "User-Defined Capabilities"
 .
-The preceding section listed the \fIpredefined\fP capabilities.
-They deal with some special features for terminals no longer
-(or possibly never) produced.
-Occasionally there are special features of newer terminals which
-are awkward or impossible to represent by reusing the predefined
+The preceding section listed the
+.I standard
 capabilities.
+Some are esoteric,
+supporting functionality that terminal emulators do not implement,
+or may never have been realized in manufactured hardware.
+Occasionally,
+emulators have special features
+that are awkward or impossible to represent
+via standard capabilities.
 .PP
 \fI\%ncurses\fP addresses this limitation by allowing user-defined
 capabilities.
@@ -62,17 +66,25 @@ can be inferred by successful calls on \fBtigetflag\fP, etc.
 If the capability name happens to be two characters,
 the capability is also available through the termcap interface.
 .PP
-While termcap is said to be extensible because it does not use a predefined set
-of capabilities,
-in practice it has been limited to the capabilities defined by
-terminfo implementations.
+While
+.I termcap
+is said to be extensible because it mandates no capabilities,
+in practice it has been limited to those defined by
+.I \%term\%info
+implementations.
 As a rule,
-user-defined capabilities intended for use by termcap applications should
-be limited to Booleans and numbers to avoid running past the 1023 byte
-limit assumed by termcap implementations and their applications.
-In particular, providing extended sets of function keys (past the 60
-numbered keys and the handful of special named keys) is best done using
-the longer names available using terminfo.
+employ only user-defined capabilities of Boolean and numeric type
+with
+.I termcap
+applications to avoid overrunning the 1023 byte limit
+assumed by
+.I termcap
+implementations and their applications.
+Specifically,
+support for extended sets of function keys
+(past the 60 numbered keys and the handful of special named keys)
+is best done using the longer names available via
+.IR \%term\%info "."
 .PP
 The \fI\%ncurses\fP library uses a few of these user-defined
 capabilities,
@@ -1638,9 +1650,9 @@ section
 Most color terminals are either \*(``Tektronix-like\*('' or \*(``HP-like\*('':
 .bP
 Tektronix-like
-terminals have a predefined set of \fIN\fP colors
+terminals define a set of \fIN\fP colors
 (where \fIN\fP is usually 8),
-and can set
+and can alter
 character-cell foreground and background colors independently,
 mixing them into \fIN\fP\ *\ \fIN\fP color pairs.
 .bP
diff --git a/man/tic.1m b/man/tic.1m
index 1c60598f4..188b2c924 100644
--- a/man/tic.1m
+++ b/man/tic.1m
@@ -201,10 +201,12 @@ .SH OPTIONS
 these entries may cause core
 dumps with other implementations.
 .IP
-\fB@TIC@\fP checks string capabilities to ensure that those with parameters
-will be valid expressions.
-It does this check only for the predefined string capabilities;
-those which are defined with the \fB\-x\fP option are ignored.
+\fB@TIC@\fP checks string capabilities
+to ensure that those with parameters are valid expressions.
+It validates only standard string capabilities,
+ignoring those defined with the
+.B \-x
+option.
 .TP
 \fB\-D\fP
 tells \fB@TIC@\fP to print the database locations that it knows about, and 
exit.
diff --git a/man/tput.1 b/man/tput.1
index cc2aec19a..be70a8350 100644
--- a/man/tput.1
+++ b/man/tput.1
@@ -595,7 +595,6 @@ .SH PORTABILITY
 support is compiled in.
 In that case,
 however,
-the predefined
 .I termcap
 and
 .I \%term\%info
@@ -814,7 +813,7 @@ .SH HISTORY
 SVr2 (1984) provided a rudimentary
 .I tput
 that checked the parameter against each
-predefined capability and returned the corresponding value.
+capability name and returned the corresponding value.
 This version of
 .I tput
 did not use \fB\%tparm\fP(3X) for parameterized capabilities.
diff --git a/man/user_caps.5 b/man/user_caps.5
index cedc0c848..e648878e8 100644
--- a/man/user_caps.5
+++ b/man/user_caps.5
@@ -105,10 +105,13 @@ .SS Background
 the position in the tables differs because some features were added as needed,
 while others were added (out of order) to comply with X/Open Curses.
 .IP
-While \fI\%ncurses\fP' repertoire of predefined capabilities is closest
-to Solaris,
-Solaris's terminfo database has a few differences from
-the list published by X/Open Curses.
+While
+.IR ncurses 's
+capability repertoire is closest to that of Solaris,
+the latter's
+.I \%term\%info
+database differs
+from the list published by X/Open Curses.
 For example,
 \fI\%ncurses\fP can be configured with tables which match the terminal
 databases for AIX, HP-UX or OSF/1,
@@ -161,8 +164,11 @@ .SS Background
 determine their
 type and optionally store and retrieve them in a way which did not interfere
 with other applications.
-These are referred to as \fIuser-defined capabilities\fP because no
-modifications to the toolset's predefined capability names are needed.
+.I ncurses
+terms these
+.I "user-defined capabilities"
+because no modifications
+to the standard capability list are needed.
 .PP
 The \fI\%ncurses\fP utilities \fB@TIC@\fP and \fB@INFOCMP@\fP have a
 command-line option \*(``\-x\*('' to control whether the nonstandard
@@ -171,8 +177,8 @@ .SS Background
 is provided for the same purpose.
 .PP
 When compiling a terminal database, if \*(``\-x\*('' is set,
-\fB@TIC@\fP will store a user-defined capability if the capability name is not
-one of the predefined names.
+\fB@TIC@\fP stores a user-defined capability
+if the capability name is not standard.
 .PP
 Because \fI\%ncurses\fP provides a termcap library interface,
 these user-defined capabilities may be visible to termcap applications:
@@ -192,7 +198,11 @@ .SS Background
 .bP
 Some terminals can send distinct strings for special keys (cursor-,
 keypad- or function-keys) depending on modifier keys (shift, control, etc.).
-While terminfo and termcap have a set of 60 predefined function-key names,
+While
+.I \%term\%info
+and
+.I termcap
+define a set of sixty function key names,
 to which a series of keys can be assigned,
 that is insufficient for more than a dozen keys multiplied by more than
 a couple of modifier combinations.
@@ -442,8 +452,14 @@ .SS "Extended Key Definitions"
 .TE
 .RE
 .PP
-None of these are predefined; terminal descriptions can refer to \fInames\fP
-which \fI\%ncurses\fP will allocate at runtime to \fIkey-codes\fP.
+.I ncurses
+defines no capabilities for modified F-keys;
+terminal descriptions can refer to
+.I names
+that
+.I \%ncurses
+allocates at runtime to
+.IR "key codes" "."
 To use these keys in an \fI\%ncurses\fP program,
 an application could do this:
 .bP
-- 
2.30.2

Attachment: signature.asc
Description: PGP signature

Reply via email to