bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 4/7] Use consistent column widths across capability tables.


From: G. Branden Robinson
Subject: [PATCH 4/7] Use consistent column widths across capability tables.
Date: Sat, 20 Jan 2024 08:52:40 -0600

Annotate table format for maintainability.

* include/Caps:
* include/Caps.aix4:
* include/Caps.hpux11:
* include/Caps.keys:
* include/Caps.osf1r5:
* include/Caps.uwin: Do it.
---
 include/Caps        | 53 +++++++++++++++++++++++++++++---------------
 include/Caps.aix4   | 53 +++++++++++++++++++++++++++++---------------
 include/Caps.hpux11 | 53 +++++++++++++++++++++++++++++---------------
 include/Caps.keys   | 54 ++++++++++++++++++++++++++++++---------------
 include/Caps.osf1r5 | 35 +++++++++++++++++++++--------
 include/Caps.uwin   | 35 +++++++++++++++++++++--------
 6 files changed, 193 insertions(+), 90 deletions(-)

diff --git a/include/Caps b/include/Caps
index 00b08350c..7a819bda6 100644
--- a/include/Caps
+++ b/include/Caps
@@ -153,6 +153,23 @@
 # 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
@@ -208,9 +225,9 @@
 #%.PP
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%Boolean Capability Name      TI      TC      Description
 #%_
@@ -256,9 +273,9 @@ lpi_changes_res                     lpix    bool    YG      
-       -       -----   changing line pitch changes resolution
 #%.
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%Numeric Capability Name      TI      TC      Description
 #%_
@@ -289,9 +306,9 @@ no_color_video                      ncv     num     NC      
-       -       -----   video attributes that cannot be used with
 #%.PP
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%Numeric Capability Name      TI      TC      Description
 #%_
@@ -317,9 +334,9 @@ bit_image_type                      bitype  num     Yp      
-       -       -----   type of bit-image device
 #%.
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%String Capability Name       TI      TC      Description
 #%_
@@ -696,9 +713,9 @@ zero_motion                 zerom   str     Zx      -       
        -       -----   No motion for subsequent character
 #%.PP
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%String Capability Name       TI      TC      Description
 #%_
@@ -752,9 +769,9 @@ alt_scancode_esc            scesa   str     S8      -       
        -       -----   Alternate escape for scancode emulatio
 #%.PP
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%String Capability Name       TI      TC      Description
 #%_
diff --git a/include/Caps.aix4 b/include/Caps.aix4
index 726005a7d..6f5ec4312 100644
--- a/include/Caps.aix4
+++ b/include/Caps.aix4
@@ -153,6 +153,23 @@
 # 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
@@ -208,9 +225,9 @@
 #%.PP
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%Boolean Capability Name      TI      TC      Description
 #%_
@@ -256,9 +273,9 @@ lpi_changes_res                     lpix    bool    YG      
-       -       -----   changing line pitch changes resolution
 #%.
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%Numeric Capability Name      TI      TC      Description
 #%_
@@ -289,9 +306,9 @@ no_color_video                      ncv     num     NC      
-       -       -----   video attributes that cannot be used with
 #%.PP
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%Numeric Capability Name      TI      TC      Description
 #%_
@@ -317,9 +334,9 @@ bit_image_type                      bitype  num     Yp      
-       -       -----   type of bit-image device
 #%.
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%String Capability Name       TI      TC      Description
 #%_
@@ -798,9 +815,9 @@ zero_motion                 zerom   str     Zx      -       
        -       -----   No motion for subsequent character
 #%.PP
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%String Capability Name       TI      TC      Description
 #%_
@@ -854,9 +871,9 @@ alt_scancode_esc            scesa   str     S8      -       
        -       -----   Alternate escape for scancode emulatio
 #%.PP
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%String Capability Name       TI      TC      Description
 #%_
diff --git a/include/Caps.hpux11 b/include/Caps.hpux11
index e90a1860e..6b25b5fb1 100644
--- a/include/Caps.hpux11
+++ b/include/Caps.hpux11
@@ -153,6 +153,23 @@
 # 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
@@ -208,9 +225,9 @@
 #%.PP
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%Boolean Capability Name      TI      TC      Description
 #%_
@@ -257,9 +274,9 @@ lpi_changes_res                     lpix    bool    YG      
-       -       -----   changing line pitch changes resolution
 #%.
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%Numeric Capability Name      TI      TC      Description
 #%_
@@ -291,9 +308,9 @@ no_color_video                      ncv     num     NC      
-       -       -----   video attributes that cannot be used with
 #%.PP
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%Numeric Capability Name      TI      TC      Description
 #%_
@@ -319,9 +336,9 @@ bit_image_type                      bitype  num     Yp      
-       -       -----   type of bit-image device
 #%.
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%String Capability Name       TI      TC      Description
 #%_
@@ -704,9 +721,9 @@ zero_motion                 zerom   str     Zx      -       
        -       -----   No motion for subsequent character
 #%.PP
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%String Capability Name       TI      TC      Description
 #%_
@@ -762,9 +779,9 @@ alt_scancode_esc            scesa   str     S8      -       
        -       -----   Alternate escape for scancode emulatio
 #%.PP
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%String Capability Name       TI      TC      Description
 #%_
diff --git a/include/Caps.keys b/include/Caps.keys
index d9a9c4cb4..aa83672e5 100644
--- a/include/Caps.keys
+++ b/include/Caps.keys
@@ -155,6 +155,24 @@
 # 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 codes are "setcolor", "kcdelete",
+# "kcinsert", "kadelete", and "kcinsert" (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
@@ -210,9 +228,9 @@
 #%.PP
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%Boolean Capability Name      TI      TC      Description
 #%_
@@ -258,9 +276,9 @@ lpi_changes_res                     lpix    bool    YG      
-       -       -----   changing line pitch changes resolution
 #%.
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%Numeric Capability Name      TI      TC      Description
 #%_
@@ -291,9 +309,9 @@ no_color_video                      ncv     num     NC      
-       -       -----   video attributes that cannot be used with
 #%.PP
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%Numeric Capability Name      TI      TC      Description
 #%_
@@ -319,9 +337,9 @@ bit_image_type                      bitype  num     Yp      
-       -       -----   type of bit-image device
 #%.
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%String Capability Name       TI      TC      Description
 #%_
@@ -786,9 +804,9 @@ zero_motion                 zerom   str     Zx      -       
        -       -----   No motion for subsequent character
 #%.PP
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%String Capability Name       TI      TC      Description
 #%_
@@ -842,9 +860,9 @@ alt_scancode_esc            scesa   str     S8      -       
        -       -----   Alternate escape for scancode emulatio
 #%.PP
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%String Capability Name       TI      TC      Description
 #%_
diff --git a/include/Caps.osf1r5 b/include/Caps.osf1r5
index d5b8c4e61..c7626669b 100644
--- a/include/Caps.osf1r5
+++ b/include/Caps.osf1r5
@@ -153,6 +153,23 @@
 # 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
@@ -208,9 +225,9 @@
 #%.PP
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%Boolean Capability Name      TI      TC      Description
 #%_
@@ -256,9 +273,9 @@ semi_auto_right_margin              sam     bool    YE      
-       -       -----   printing in last column causes cr
 #%.
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%Numeric Capability Name      TI      TC      Description
 #%_
@@ -300,9 +317,9 @@ wide_char_size                      widcs   num     Yn      
-       -       -----   character step size when in double wide
 #%.
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
 #%\&   Code    \&
 #%String Capability Name       TI      TC      Description
 #%_
diff --git a/include/Caps.uwin b/include/Caps.uwin
index a12770f2e..6412687c3 100644
--- a/include/Caps.uwin
+++ b/include/Caps.uwin
@@ -153,6 +153,23 @@
 # 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 variable) is
+# "hue_lightness_saturation" (24n), and the longest terminfo code is
+# "colornm" (7n).
+#
+# 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
@@ -208,9 +225,9 @@
 #%.PP
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(24n)2 Lbw(7n)2 Lb2 Lx.
 #%\&   Code    \&
 #%Boolean Capability Name      TI      TC      Description
 #%_
@@ -249,9 +266,9 @@ hue_lightness_saturation    hls     bool    hl      -       
-       -----   terminal uses only HLS color nota
 #%.
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(24n)2 Lbw(7n)2 Lb2 Lx.
 #%\&   Code    \&
 #%Numeric Capability Name      TI      TC      Description
 #%_
@@ -278,9 +295,9 @@ no_color_video                      ncv     num     NC      
-       -       -----   video attributes that cannot be used with
 #%.
 #%.TS
 #%center;
-#%Lb Cb S  Lb
-#%Lb Lb Lb Lb
-#%Lb Lb Lb Lx.
+#%Lb        Cb       S   Lb
+#%Lb        Lb       Lb  Lb
+#%Lbw(24n)2 Lbw(7n)2 Lb2 Lx.
 #%\&   Code    \&
 #%String Capability Name       TI      TC      Description
 #%_
-- 
2.30.2

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]