On Sun, Oct 26, 2025 at 06:10:50AM -0400, Thomas Dickey wrote: > On Sun, Oct 26, 2025 at 05:55:53AM -0400, Thomas Dickey wrote: > > On Sun, Oct 26, 2025 at 04:53:38AM -0400, Thomas Dickey wrote: > > > On Sat, Oct 25, 2025 at 08:53:02PM -0500, G. Branden Robinson wrote: > > > > At 2025-10-26T00:43:19+0000, Thomas Dickey wrote: > > > > > + correct a recent change to curs_termino.3x, along with > > > > > formatting > > > > > fixes for manpages. > > > > > > > > This change regresses formatting on DWB 3.3, Plan 9, and Solaris 10 > > > > troffs, causing some synopsis lines to overset (overrun the right > > > > margin). That's because those formatters use a line length of 65n in > > > > nroff mode, not 78-80n as Heirloom Doctools troff and groff (for their > > > > man(7) packages), and mandoc(1) do. > > > > > > so... can we set the line-length for those in a directive? > > > > For instance, would > > .if n .ll 70 > > > > work with those older versions, or would (putting it before .TH for > > instance) > > be ignored? > > I see with groff that works after the .TH line, but is ignored with Solaris > 10. > Also, comparisons don't appear to work, e.g, > .if n .l > 70
Revisiting
.if n .ll 70
I see that the .SH, .PP, etc., commands reset the line length in Solaris 10.
Without modifying, I see this:
-------------------------------------------------------------------------------
Library calls curs_insstr(3X)
NAME
insstr, winsstr, mvinsstr, mvinsnstr, insnstr, winsnstr,
mvwinsstr, mvwinsnstr - insert a string in a curses window
SYNOPSIS
#include <curses.h>
int insstr(const char * str);
int winsstr(WINDOW * win, const char * str);
int mvinsstr(int y, int x, const char * str);
int mvwinsstr(WINDOW * win, int y, int x, const char * str);
int insnstr(const char * str, int n);
int winsnstr(WINDOW * win, const char * str, int n);
int mvinsnstr(int y, int x, const char * str, int n);
int mvwinsnstr(WINDOW * win, int y, int x, const char * str, int n);
DESCRIPTION
winsstr inserts a string str before the character at the
cursor in window win as if by calling winsch(3X) for each
char in str. No line wrapping is performed. Characters to
the right of the cursor are shifted right; those at the
right edge of the window may be lost. winsstr stops insert-
ing if it would have to wrap to the next line to write the
next char in str. The cursor position does not change
(after moving to (y, x), if specified). insnstr does the
same, but inserts at most n characters, or as many as possi-
ble (up to the end of the line) if n is negative.
ncurses(3X) describes the variants of these functions.
-------------------------------------------------------------------------------
which admittedly is odd to look at, but since we're not often using
terminals which have only 65 columns, is arguably okay.
Solaris 10 nroff can't handle terminfo.5 anyway...
--
Thomas E. Dickey <[email protected]>
https://invisible-island.net
signature.asc
Description: PGP signature
