[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 7/8] include/Caps*: Work around DWB 3.3 tbl limitation.
From: |
G. Branden Robinson |
Subject: |
[PATCH 7/8] include/Caps*: Work around DWB 3.3 tbl limitation. |
Date: |
Sun, 25 Feb 2024 01:23:41 -0600 |
AT&T troff's limited name space and tbl's use of a diversion for each
table entry using a text block means that tbl gives up on the table if
it "runs out of" diversions.
I get the same diagnostic, at a different line number, on the version of
terminfo(5) page from ncurses 6.2+20201114.
Work around this by breaking up the capability tables about every 62
lines. I made parallel changes to all Caps* files (keeping in mind the
different column widths in Caps.uwin), but did not inspect them all.
If someone sees the diagnostic below with an AT&T tbl/troff, this is the
solution.
This produces cosmetic differences in groff Git and mandoc's terminal
output, but not groff 1.23.0 or 1.22.4 or Heirloom Doctools.
groff Git (likely 1.24.0 when released) uses one more character cell in
rows after the table has been broken up. This is because the horizontal
rule at the top of the table is no longer "using up" an extra cell. The
story behind this is long (https://savannah.gnu.org/bugs/?62471). The
short version is that the table rows still do not overrun. In fact,
several are able to set on one line at 80n where they did not before--I
characterize this as a happy accident.
mandoc puts a blank line on the output at every `TE` call. This is a
defect. It's at least partially fixed in CVS.
https://cvsweb.bsd.lv/mandoc/tbl_term.c?rev=1.79&content-type=text/x-cvsweb-markup&sortby=date
It should be noted that DWB still formats these tables terribly on
terminals.
Fixes:
.../terminfo.5: line 855: Too many text block diversions
tbl quits
---
include/Caps | 20 ++++++++++++++++++++
include/Caps.aix4 | 20 ++++++++++++++++++++
include/Caps.hpux11 | 20 ++++++++++++++++++++
include/Caps.keys | 20 ++++++++++++++++++++
include/Caps.osf1r5 | 20 ++++++++++++++++++++
include/Caps.uwin | 16 ++++++++++++++++
6 files changed, 116 insertions(+)
diff --git a/include/Caps b/include/Caps
index b20820347..aac553ac1 100644
--- a/include/Caps
+++ b/include/Caps
@@ -402,6 +402,10 @@ key_ctab kctab str kt
KEY_CTAB 0525 -B-G-* clear-tab key
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
@@ -464,6 +468,10 @@ prtr_on mc5 str po
- - -B-G-* turn on printer
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
@@ -530,6 +538,10 @@ key_resume kres str &5
KEY_RESUME 0570 ----- resume key
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
@@ -592,6 +604,10 @@ key_f39 kf39 str FT
KEY_F(39) - ----E F39 function key
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
@@ -660,6 +676,10 @@ change_res_horz chr str ZC
- - ----- Change horizontal resolution to #1
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
diff --git a/include/Caps.aix4 b/include/Caps.aix4
index 591c6efa2..a72222960 100644
--- a/include/Caps.aix4
+++ b/include/Caps.aix4
@@ -402,6 +402,10 @@ key_ctab kctab str kt
KEY_CTAB 0525 -B-G-* clear-tab key
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
@@ -464,6 +468,10 @@ prtr_on mc5 str po
- - -B-G-* turn on printer
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
@@ -612,6 +620,10 @@ key_f39 kf39 str FT
KEY_F(39) - ----E F39 function key
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
@@ -685,6 +697,10 @@ key_resume kres str &5
KEY_RESUME 0570 ----- resume key
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
@@ -762,6 +778,10 @@ change_res_horz chr str ZC
- - ----- Change horizontal resolution to #1
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
diff --git a/include/Caps.hpux11 b/include/Caps.hpux11
index 594f03223..08afd0033 100644
--- a/include/Caps.hpux11
+++ b/include/Caps.hpux11
@@ -404,6 +404,10 @@ key_ctab kctab str kt
KEY_CTAB 0525 -B-G-* clear-tab key
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
@@ -466,6 +470,10 @@ prtr_on mc5 str po
- - -B-G-* turn on printer
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
@@ -531,6 +539,10 @@ key_f39 kf39 str FT
KEY_F(39) - ----E F39 function key
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
@@ -591,6 +603,10 @@ key_resume kres str &5
KEY_RESUME 0570 ----- resume key
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
@@ -668,6 +684,10 @@ change_res_horz chr str ZC
- - ----- Change horizontal resolution to #1
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
diff --git a/include/Caps.keys b/include/Caps.keys
index 0017f1841..e3e434e0e 100644
--- a/include/Caps.keys
+++ b/include/Caps.keys
@@ -405,6 +405,10 @@ key_ctab kctab str kt
KEY_CTAB 0525 -B-G-* clear-tab key
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
@@ -467,6 +471,10 @@ prtr_on mc5 str po
- - -B-G-* turn on printer
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
@@ -533,6 +541,10 @@ key_resume kres str &5
KEY_RESUME 0570 ----- resume key
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
@@ -595,6 +607,10 @@ key_f39 kf39 str FT
KEY_F(39) - ----E F39 function key
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
@@ -751,6 +767,10 @@ change_res_horz chr str ZC
- - ----- Change horizontal resolution to #1
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
diff --git a/include/Caps.osf1r5 b/include/Caps.osf1r5
index c766a2519..4e2cd06fd 100644
--- a/include/Caps.osf1r5
+++ b/include/Caps.osf1r5
@@ -385,6 +385,10 @@ key_ctab kctab str kt
KEY_CTAB 0525 -B-G-* clear-tab key
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
@@ -447,6 +451,10 @@ prtr_on mc5 str po
- - -B-G-* turn on printer
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
@@ -602,6 +610,10 @@ ena_acs enacs str eA
- - ----- enable alternate char set
end_bit_image_region endbi str Yy - -
----- End a bit-image region
enter_am_mode smam str SA - -
----- turn on automatic margins
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
@@ -648,6 +660,10 @@ key_f39 kf39 str FT
KEY_F(39) - ----E F39 function key
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
@@ -686,6 +702,10 @@ key_replace krpl str &3
KEY_REPLACE 0566 ----- replace key
key_restart krst str &4 KEY_RESTART 0567
----- restart key
key_resume kres str &5 KEY_RESUME 0570
----- resume key
key_save ksav str &6 KEY_SAVE 0571
----- save 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
diff --git a/include/Caps.uwin b/include/Caps.uwin
index 755c76974..cf836f5d4 100644
--- a/include/Caps.uwin
+++ b/include/Caps.uwin
@@ -363,6 +363,10 @@ key_ctab kctab str kt
KEY_CTAB 0525 -B-G-* clear-tab key
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(24n)2 Lbw(7n)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
@@ -425,6 +429,10 @@ prtr_on mc5 str po
- - -B-G-* turn on printer
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(24n)2 Lbw(7n)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
@@ -491,6 +499,10 @@ key_resume kres str &5
KEY_RESUME 0570 ----- resume key
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(24n)2 Lbw(7n)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
@@ -553,6 +565,10 @@ key_f39 kf39 str FT
KEY_F(39) - ----E F39 function key
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(24n)2 Lbw(7n)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
--
2.30.2
signature.asc
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH 7/8] include/Caps*: Work around DWB 3.3 tbl limitation.,
G. Branden Robinson <=