* '^\}$' is changed to a space character @ 2025-09-30 18:17 Bjarni Ingi Gislason 2025-09-30 18:46 ` Alejandro Colomar 2025-09-30 19:40 ` G. Branden Robinson 0 siblings, 2 replies; 23+ messages in thread From: Bjarni Ingi Gislason @ 2025-09-30 18:17 UTC (permalink / raw) To: Alejandro Colomar; +Cc: linux-man This is shown with (my version of test-groff) test-groff -man -t -ww -b -z man7/vdso.7 troff: backtrace: file 'man7/vdso.7':146 troff:man7/vdso.7:146: warning: trailing space in the line troff: backtrace: file 'man7/vdso.7':196 troff:man7/vdso.7:196: warning: trailing space in the line troff: backtrace: file 'man7/vdso.7':225 troff:man7/vdso.7:225: warning: trailing space in the line troff: backtrace: file 'man7/vdso.7':261 troff:man7/vdso.7:261: warning: trailing space in the line troff: backtrace: file 'man7/vdso.7':279 troff:man7/vdso.7:279: warning: trailing space in the line troff: backtrace: file 'man7/vdso.7':307 troff:man7/vdso.7:307: warning: trailing space in the line troff: backtrace: file 'man7/vdso.7':369 troff:man7/vdso.7:369: warning: trailing space in the line troff: backtrace: file 'man7/vdso.7':411 troff:man7/vdso.7:411: warning: trailing space in the line troff: backtrace: file 'man7/vdso.7':451 troff:man7/vdso.7:451: warning: trailing space in the line troff: backtrace: file 'man7/vdso.7':472 troff:man7/vdso.7:472: warning: trailing space in the line troff: backtrace: file 'man7/vdso.7':490 troff:man7/vdso.7:490: warning: trailing space in the line troff: backtrace: file 'man7/vdso.7':508 troff:man7/vdso.7:508: warning: trailing space in the line troff: backtrace: file 'man7/vdso.7':526 troff:man7/vdso.7:526: warning: trailing space in the line troff: backtrace: file 'man7/vdso.7':551 troff:man7/vdso.7:551: warning: trailing space in the line troff: backtrace: file 'man7/vdso.7':570 troff:man7/vdso.7:570: warning: trailing space in the line This result in an empty line. Not all '^\}' lines are reported. grep -n -e '^\\\}$' shows all lines. Visible change is two empty lines after a table instead of a single line. A full stop should be used in front of '\}' to make the line a control line. This also the case in some other files. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: '^\}$' is changed to a space character 2025-09-30 18:17 '^\}$' is changed to a space character Bjarni Ingi Gislason @ 2025-09-30 18:46 ` Alejandro Colomar 2025-09-30 22:36 ` Bjarni Ingi Gislason 2025-09-30 19:40 ` G. Branden Robinson 1 sibling, 1 reply; 23+ messages in thread From: Alejandro Colomar @ 2025-09-30 18:46 UTC (permalink / raw) To: Bjarni Ingi Gislason; +Cc: linux-man [-- Attachment #1: Type: text/plain, Size: 2272 bytes --] Hi Bjarni, On Tue, Sep 30, 2025 at 06:17:26PM +0000, Bjarni Ingi Gislason wrote: > This is shown with (my version of test-groff) > > test-groff -man -t -ww -b -z man7/vdso.7 > > troff: backtrace: file 'man7/vdso.7':146 > troff:man7/vdso.7:146: warning: trailing space in the line > troff: backtrace: file 'man7/vdso.7':196 > troff:man7/vdso.7:196: warning: trailing space in the line > troff: backtrace: file 'man7/vdso.7':225 > troff:man7/vdso.7:225: warning: trailing space in the line > troff: backtrace: file 'man7/vdso.7':261 > troff:man7/vdso.7:261: warning: trailing space in the line > troff: backtrace: file 'man7/vdso.7':279 > troff:man7/vdso.7:279: warning: trailing space in the line > troff: backtrace: file 'man7/vdso.7':307 > troff:man7/vdso.7:307: warning: trailing space in the line > troff: backtrace: file 'man7/vdso.7':369 > troff:man7/vdso.7:369: warning: trailing space in the line > troff: backtrace: file 'man7/vdso.7':411 > troff:man7/vdso.7:411: warning: trailing space in the line > troff: backtrace: file 'man7/vdso.7':451 > troff:man7/vdso.7:451: warning: trailing space in the line > troff: backtrace: file 'man7/vdso.7':472 > troff:man7/vdso.7:472: warning: trailing space in the line > troff: backtrace: file 'man7/vdso.7':490 > troff:man7/vdso.7:490: warning: trailing space in the line > troff: backtrace: file 'man7/vdso.7':508 > troff:man7/vdso.7:508: warning: trailing space in the line > troff: backtrace: file 'man7/vdso.7':526 > troff:man7/vdso.7:526: warning: trailing space in the line > troff: backtrace: file 'man7/vdso.7':551 > troff:man7/vdso.7:551: warning: trailing space in the line > troff: backtrace: file 'man7/vdso.7':570 > troff:man7/vdso.7:570: warning: trailing space in the line > > This result in an empty line. > > Not all '^\}' lines are reported. > > grep -n -e '^\\\}$' shows all lines. > > Visible change is two empty lines after a table instead of a single line. > > A full stop should be used in front of '\}' to make the line a control > line. > > This also the case in some other files. Would you mind sending a patch? Have a lovely night! Alex -- <https://www.alejandro-colomar.es> Use port 80 (that is, <...:80/>). [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: '^\}$' is changed to a space character 2025-09-30 18:46 ` Alejandro Colomar @ 2025-09-30 22:36 ` Bjarni Ingi Gislason 2025-10-01 6:49 ` Alejandro Colomar 0 siblings, 1 reply; 23+ messages in thread From: Bjarni Ingi Gislason @ 2025-09-30 22:36 UTC (permalink / raw) To: Alejandro Colomar; +Cc: linux-man A patch is superfluous sed -e '/^\\\}$/ {s/^/./}' ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: '^\}$' is changed to a space character 2025-09-30 22:36 ` Bjarni Ingi Gislason @ 2025-10-01 6:49 ` Alejandro Colomar 2025-10-02 21:57 ` Bjarni Ingi Gislason 0 siblings, 1 reply; 23+ messages in thread From: Alejandro Colomar @ 2025-10-01 6:49 UTC (permalink / raw) To: Bjarni Ingi Gislason; +Cc: linux-man, branden [-- Attachment #1: Type: text/plain, Size: 496 bytes --] Hi Bjarni. On Tue, Sep 30, 2025 at 10:36:07PM +0000, Bjarni Ingi Gislason wrote: > A patch is superfluous > > sed -e '/^\\\}$/ {s/^/./}' This would also work; thanks! After all, what I need is something I can run to get the page changed. On the other hand, I think I prefer Branden's approach, which entirely eliminates the low-level roff(7) there. What do you think? Have a lovely day! Alex -- <https://www.alejandro-colomar.es> Use port 80 (that is, <...:80/>). [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: '^\}$' is changed to a space character 2025-10-01 6:49 ` Alejandro Colomar @ 2025-10-02 21:57 ` Bjarni Ingi Gislason 0 siblings, 0 replies; 23+ messages in thread From: Bjarni Ingi Gislason @ 2025-10-02 21:57 UTC (permalink / raw) To: Alejandro Colomar; +Cc: linux-man, branden On Wed, Oct 01, 2025 at 08:49:38AM +0200, Alejandro Colomar wrote: > Hi Bjarni. > > On Tue, Sep 30, 2025 at 10:36:07PM +0000, Bjarni Ingi Gislason wrote: > > A patch is superfluous > > > > sed -e '/^\\\}$/ {s/^/./}' > > This would also work; thanks! After all, what I need is something I can > run to get the page changed. > > On the other hand, I think I prefer Branden's approach, which entirely > eliminates the low-level roff(7) there. What do you think? > > I did not get a copy of Branden's e-mail. I suggest to get your own knowledge of the troff language, http://troff.org/54.pdf so that you are not addicted to the opinions of others. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: '^\}$' is changed to a space character 2025-09-30 18:17 '^\}$' is changed to a space character Bjarni Ingi Gislason 2025-09-30 18:46 ` Alejandro Colomar @ 2025-09-30 19:40 ` G. Branden Robinson 2025-09-30 19:44 ` G. Branden Robinson ` (2 more replies) 1 sibling, 3 replies; 23+ messages in thread From: G. Branden Robinson @ 2025-09-30 19:40 UTC (permalink / raw) To: linux-man; +Cc: Alejandro Colomar [-- Attachment #1: Type: text/plain, Size: 3820 bytes --] At 2025-09-30T18:17:26+0000, Bjarni Ingi Gislason wrote: > This is shown with (my version of test-groff) It's not just your version of "test-groff", a shell script built but not installed by the groff build process, but your version/fork of groff as a project. In particular, > test-groff -man -t -ww -b -z man7/vdso.7 > > troff: backtrace: file 'man7/vdso.7':146 > troff:man7/vdso.7:146: warning: trailing space in the line ...the foregoing is not a diagnostic message that GNU groff emits. It's an unhelpful message in at least two respects. * It doesn't identify a problem. This sort of noun phrase is not a useful diagnostic. * Because input lines and output lines are distinguishable in any program that fills, joins, breaks, or "folds" text, this diagnostic is furthermore unclear. Moreover, trailing spaces on input lines are not _invalid_ in any *roff, excepting possibly yours, which is private to you. [...] > Visible change is two empty lines after a table instead of a single > line. If that's the problem, then that is the defect you should report, not a wall of (arguably spurious) warning diagnostics. > A full stop should be used in front of '\}' to make the line a > control line. This counsel has nothing to do with the diagnostic you quoted (repeatedly). Here's the source: $ sed -n '143,147p' man7/vdso.7 The exact name should not matter to any code, so do not hardcode it. .if t \{\ .ft CW \} .TS There are other valid (and economical) ways to employ the `\}` escape sequence. I've pointed this out to you before, recently. https://lists.gnu.org/archive/html/bug-groff/2025-08/msg00177.html So this is one possible fix: The exact name should not matter to any code, so do not hardcode it. .if t \{\ .ft CW -\} +.\} .TS ...but so is this: The exact name should not matter to any code, so do not hardcode it. .if t \{\ -.ft CW +.ft CW\} .TS ...and this: The exact name should not matter to any code, so do not hardcode it. -.if t \{\ +.if t ft CW -\} .TS ...and this: diff --git a/man/man7/vdso.7 b/man/man7/vdso.7 index 0dc8bf6f2..88a561222 100644 --- a/man/man7/vdso.7 +++ b/man/man7/vdso.7 @@ -141,11 +141,9 @@ .SS vDSO names .BR ldd (1) output. The exact name should not matter to any code, so do not hardcode it. -.if t \{\ -.ft CW -\} +.EX .TS -l l. +L L. user ABI vDSO name _ aarch64 linux\-vdso.so.1 @@ -162,10 +160,7 @@ .SS vDSO names x86-64 linux\-vdso.so.1 x86/x32 linux\-vdso.so.1 .TE -.if t \{\ -.in -.ft P -\} +.EE .SS strace(1), seccomp(2), and the vDSO When tracing system calls with .BR strace (1), ...but my recommendation is be the following. diff --git a/man/man7/vdso.7 b/man/man7/vdso.7 index 0dc8bf6f2..750119996 100644 --- a/man/man7/vdso.7 +++ b/man/man7/vdso.7 @@ -141,11 +141,10 @@ .SS vDSO names .BR ldd (1) output. The exact name should not matter to any code, so do not hardcode it. -.if t \{\ -.ft CW -\} +.P .TS -l l. +Lb Lb +L L . user ABI vDSO name _ aarch64 linux\-vdso.so.1 @@ -162,10 +161,6 @@ .SS vDSO names x86-64 linux\-vdso.so.1 x86/x32 linux\-vdso.so.1 .TE -.if t \{\ -.in -.ft P -\} .SS strace(1), seccomp(2), and the vDSO When tracing system calls with .BR strace (1), ...and so on similarly for the rest of the tables in the document. I can't imagine why anyone wanted them all in a constant-width face. > This also the case in some other files. That claim doesn't help anyone. If trailing spaces in "the line" don't cause rendering problems in "other files", then there is no urgency to change them, and, arguably, not even a defect in the first place. Regards, Branden [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: '^\}$' is changed to a space character 2025-09-30 19:40 ` G. Branden Robinson @ 2025-09-30 19:44 ` G. Branden Robinson 2025-10-02 22:25 ` Alejandro Colomar 2025-10-04 9:16 ` Alejandro Colomar 2 siblings, 0 replies; 23+ messages in thread From: G. Branden Robinson @ 2025-09-30 19:44 UTC (permalink / raw) To: linux-man; +Cc: Alejandro Colomar [-- Attachment #1: Type: text/plain, Size: 392 bytes --] At 2025-09-30T14:40:06-0500, G. Branden Robinson wrote: > ...and this: > > The exact name should not matter to any code, so do not hardcode it. > -.if t \{\ > +.if t ft CW > -\} > .TS Whoops--in my annoyance with Bjarni, I managed to goof this instance of hand-written (pseudo-?)diff. Of course I meant: -.if t \{\ -.ft CW +.if t .ft CW -\} .TS Regards, Branden [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: '^\}$' is changed to a space character 2025-09-30 19:40 ` G. Branden Robinson 2025-09-30 19:44 ` G. Branden Robinson @ 2025-10-02 22:25 ` Alejandro Colomar 2025-10-04 9:16 ` Alejandro Colomar 2 siblings, 0 replies; 23+ messages in thread From: Alejandro Colomar @ 2025-10-02 22:25 UTC (permalink / raw) To: G. Branden Robinson; +Cc: linux-man, Bjarni Ingi Gislason [-- Attachment #1: Type: text/plain, Size: 4417 bytes --] Hi Branden, You removed Bjarni from the recipient list. I've bounced the emails to Bjarni. Have a lovely night! Alex On Tue, Sep 30, 2025 at 02:40:04PM -0500, G. Branden Robinson wrote: > At 2025-09-30T18:17:26+0000, Bjarni Ingi Gislason wrote: > > This is shown with (my version of test-groff) > > It's not just your version of "test-groff", a shell script built but not > installed by the groff build process, but your version/fork of groff as > a project. > > In particular, > > > test-groff -man -t -ww -b -z man7/vdso.7 > > > > troff: backtrace: file 'man7/vdso.7':146 > > troff:man7/vdso.7:146: warning: trailing space in the line > > ...the foregoing is not a diagnostic message that GNU groff emits. > > It's an unhelpful message in at least two respects. > > * It doesn't identify a problem. This sort of noun phrase is not a > useful diagnostic. > * Because input lines and output lines are distinguishable in any > program that fills, joins, breaks, or "folds" text, this diagnostic is > furthermore unclear. > > Moreover, trailing spaces on input lines are not _invalid_ in any *roff, > excepting possibly yours, which is private to you. > > [...] > > Visible change is two empty lines after a table instead of a single > > line. > > If that's the problem, then that is the defect you should report, not a > wall of (arguably spurious) warning diagnostics. > > > A full stop should be used in front of '\}' to make the line a > > control line. > > This counsel has nothing to do with the diagnostic you quoted > (repeatedly). > > Here's the source: > > $ sed -n '143,147p' man7/vdso.7 > The exact name should not matter to any code, so do not hardcode it. > .if t \{\ > .ft CW > \} > .TS > > There are other valid (and economical) ways to employ the `\}` escape > sequence. I've pointed this out to you before, recently. > > https://lists.gnu.org/archive/html/bug-groff/2025-08/msg00177.html > > So this is one possible fix: > > The exact name should not matter to any code, so do not hardcode it. > .if t \{\ > .ft CW > -\} > +.\} > .TS > > ...but so is this: > > The exact name should not matter to any code, so do not hardcode it. > .if t \{\ > -.ft CW > +.ft CW\} > .TS > > ...and this: > > The exact name should not matter to any code, so do not hardcode it. > -.if t \{\ > +.if t ft CW > -\} > .TS > > ...and this: > > diff --git a/man/man7/vdso.7 b/man/man7/vdso.7 > index 0dc8bf6f2..88a561222 100644 > --- a/man/man7/vdso.7 > +++ b/man/man7/vdso.7 > @@ -141,11 +141,9 @@ .SS vDSO names > .BR ldd (1) > output. > The exact name should not matter to any code, so do not hardcode it. > -.if t \{\ > -.ft CW > -\} > +.EX > .TS > -l l. > +L L. > user ABI vDSO name > _ > aarch64 linux\-vdso.so.1 > @@ -162,10 +160,7 @@ .SS vDSO names > x86-64 linux\-vdso.so.1 > x86/x32 linux\-vdso.so.1 > .TE > -.if t \{\ > -.in > -.ft P > -\} > +.EE > .SS strace(1), seccomp(2), and the vDSO > When tracing system calls with > .BR strace (1), > > ...but my recommendation is be the following. > > diff --git a/man/man7/vdso.7 b/man/man7/vdso.7 > index 0dc8bf6f2..750119996 100644 > --- a/man/man7/vdso.7 > +++ b/man/man7/vdso.7 > @@ -141,11 +141,10 @@ .SS vDSO names > .BR ldd (1) > output. > The exact name should not matter to any code, so do not hardcode it. > -.if t \{\ > -.ft CW > -\} > +.P > .TS > -l l. > +Lb Lb > +L L . > user ABI vDSO name > _ > aarch64 linux\-vdso.so.1 > @@ -162,10 +161,6 @@ .SS vDSO names > x86-64 linux\-vdso.so.1 > x86/x32 linux\-vdso.so.1 > .TE > -.if t \{\ > -.in > -.ft P > -\} > .SS strace(1), seccomp(2), and the vDSO > When tracing system calls with > .BR strace (1), > > ...and so on similarly for the rest of the tables in the document. > > I can't imagine why anyone wanted them all in a constant-width face. > > > This also the case in some other files. > > That claim doesn't help anyone. If trailing spaces in "the line" don't > cause rendering problems in "other files", then there is no urgency to > change them, and, arguably, not even a defect in the first place. > > Regards, > Branden -- <https://www.alejandro-colomar.es> Use port 80 (that is, <...:80/>). [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: '^\}$' is changed to a space character 2025-09-30 19:40 ` G. Branden Robinson 2025-09-30 19:44 ` G. Branden Robinson 2025-10-02 22:25 ` Alejandro Colomar @ 2025-10-04 9:16 ` Alejandro Colomar 2025-10-04 9:42 ` G. Branden Robinson 2 siblings, 1 reply; 23+ messages in thread From: Alejandro Colomar @ 2025-10-04 9:16 UTC (permalink / raw) To: G. Branden Robinson, Bjarni Ingi Gislason; +Cc: linux-man [-- Attachment #1: Type: text/plain, Size: 2754 bytes --] Hi Branden, On Tue, Sep 30, 2025 at 02:40:04PM -0500, G. Branden Robinson wrote: > ...but my recommendation is be the following. > > diff --git a/man/man7/vdso.7 b/man/man7/vdso.7 > index 0dc8bf6f2..750119996 100644 > --- a/man/man7/vdso.7 > +++ b/man/man7/vdso.7 > @@ -141,11 +141,10 @@ .SS vDSO names > .BR ldd (1) > output. > The exact name should not matter to any code, so do not hardcode it. > -.if t \{\ > -.ft CW > -\} > +.P > .TS > -l l. > +Lb Lb > +L L .o For consistency with the rest of the project, I've used 'lB' instead of 'Lb'. > user ABI vDSO name > _ > aarch64 linux\-vdso.so.1 > @@ -162,10 +161,6 @@ .SS vDSO names > x86-64 linux\-vdso.so.1 > x86/x32 linux\-vdso.so.1 > .TE > -.if t \{\ > -.in > -.ft P > -\} > .SS strace(1), seccomp(2), and the vDSO > When tracing system calls with > .BR strace (1), I like this change. I've applied this commit: <https://www.alejandro-colomar.es/src/alx/linux/man-pages/man-pages.git/commit/?h=contrib&id=fa940b6d17791a166c793b74a50cd72926d14b50> Here's the head(1) of it: $ git show | head -n40 commit fa940b6d17791a166c793b74a50cd72926d14b50 Author: Alejandro Colomar <alx@kernel.org> Date: Sat Oct 4 10:48:02 2025 +0200 man/man7/vdso.7: ffix Reported-by: Bjarni Ingi Gislason <bjarniig@simnet.is> Suggested-by: "G. Branden Robinson" <branden@debian.org> Signed-off-by: Alejandro Colomar <alx@kernel.org> diff --git a/man/man7/vdso.7 b/man/man7/vdso.7 index 0dc8bf6f2..8c8d00514 100644 --- a/man/man7/vdso.7 +++ b/man/man7/vdso.7 @@ -141,11 +141,10 @@ .SS vDSO names .BR ldd (1) output. The exact name should not matter to any code, so do not hardcode it. -.if t \{\ -.ft CW -\} +.P .TS -l l. +lB lB +l l . user ABI vDSO name _ aarch64 linux\-vdso.so.1 @@ -162,10 +161,6 @@ .SS vDSO names x86-64 linux\-vdso.so.1 x86/x32 linux\-vdso.so.1 .TE -.if t \{\ -.in -.ft P -\} .SS strace(1), seccomp(2), and the vDSO When tracing system calls with .BR strace (1), BTW, in the PDF, the '.P' doesn't seem to be working. <https://www.alejandro-colomar.es:80/share/dist/man-pages/git/HEAD/man-pages-HEAD.pdf#vdso.7> I don't see the space before the tables. Compare with the old PDF: <https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/book/man-pages-6.15.pdf#vdso.7> > ...and so on similarly for the rest of the tables in the document. The only other one I can see is syscalls(2). That one is a bit weird, so I'd like you to have a look at it and tell me what you'd do. Have a lovely day! Alex -- <https://www.alejandro-colomar.es> Use port 80 (that is, <...:80/>). [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: '^\}$' is changed to a space character 2025-10-04 9:16 ` Alejandro Colomar @ 2025-10-04 9:42 ` G. Branden Robinson 2025-10-04 10:30 ` Alejandro Colomar 2025-10-05 13:48 ` '^\}$' is (not) " G. Branden Robinson 0 siblings, 2 replies; 23+ messages in thread From: G. Branden Robinson @ 2025-10-04 9:42 UTC (permalink / raw) To: Alejandro Colomar; +Cc: Bjarni Ingi Gislason, linux-man [-- Attachment #1: Type: text/plain, Size: 1693 bytes --] Hi Alex, At 2025-10-04T11:16:06+0200, Alejandro Colomar wrote: [snip] > > -l l. > > +Lb Lb > > +L L .o > > For consistency with the rest of the project, I've used 'lB' instead > of 'Lb'. Okay. That happens to be the precise opposite of my preference; I think the column classifier is the more important property and column modifier(s), if present at all, less important. But tbl(1)'s matching is case-insensitive, so it's purely a question of house style. And consistency is king. :) Or co-king with "clarity"... > I like this change. I've applied this commit: > > <https://www.alejandro-colomar.es/src/alx/linux/man-pages/man-pages.git/commit/?h=contrib&id=fa940b6d17791a166c793b74a50cd72926d14b50> Looks good to me...but it _would_. ;-) > BTW, in the PDF, the '.P' doesn't seem to be working. > <https://www.alejandro-colomar.es:80/share/dist/man-pages/git/HEAD/man-pages-HEAD.pdf#vdso.7> Hmm, yes that does look wrong. Plus, I see too much vertical space _after_ the "ARM functions" table. I'll get back to you on this. > I don't see the space before the tables. Compare with the old PDF: > <https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/book/man-pages-6.15.pdf#vdso.7> > > > ...and so on similarly for the rest of the tables in the document. > > The only other one I can see is syscalls(2). That one is a bit weird, > so I'd like you to have a look at it and tell me what you'd do. By "in the document", I meant only the vdso(7) page itself. I don't know if I have the spoons to tackle issues in syscalls(2) before I follow up with you carrying my sed(1)-driven bucket of thunderbolts. Regards, Branden [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: '^\}$' is changed to a space character 2025-10-04 9:42 ` G. Branden Robinson @ 2025-10-04 10:30 ` Alejandro Colomar 2025-10-05 13:48 ` '^\}$' is (not) " G. Branden Robinson 1 sibling, 0 replies; 23+ messages in thread From: Alejandro Colomar @ 2025-10-04 10:30 UTC (permalink / raw) To: G. Branden Robinson; +Cc: Bjarni Ingi Gislason, linux-man [-- Attachment #1: Type: text/plain, Size: 2080 bytes --] Hi Branden, On Sat, Oct 04, 2025 at 04:42:43AM -0500, G. Branden Robinson wrote: > Hi Alex, > > At 2025-10-04T11:16:06+0200, Alejandro Colomar wrote: > [snip] > > > -l l. > > > +Lb Lb > > > +L L .o > > > > For consistency with the rest of the project, I've used 'lB' instead > > of 'Lb'. > > Okay. That happens to be the precise opposite of my preference; I think > the column classifier is the more important property and column > modifier(s), if present at all, less important. But tbl(1)'s matching > is case-insensitive, so it's purely a question of house style. I like from lB that B is well-known for bold, but 'b' not so much. > And consistency is king. :) Or co-king with "clarity"... > > > I like this change. I've applied this commit: > > > > <https://www.alejandro-colomar.es/src/alx/linux/man-pages/man-pages.git/commit/?h=contrib&id=fa940b6d17791a166c793b74a50cd72926d14b50> > > Looks good to me...but it _would_. ;-) > > > BTW, in the PDF, the '.P' doesn't seem to be working. > > > <https://www.alejandro-colomar.es:80/share/dist/man-pages/git/HEAD/man-pages-HEAD.pdf#vdso.7> > > Hmm, yes that does look wrong. Plus, I see too much vertical space > _after_ the "ARM functions" table. > > I'll get back to you on this. Okay. > > I don't see the space before the tables. Compare with the old PDF: > > <https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/book/man-pages-6.15.pdf#vdso.7> > > > > > ...and so on similarly for the rest of the tables in the document. > > > > The only other one I can see is syscalls(2). That one is a bit weird, > > so I'd like you to have a look at it and tell me what you'd do. > > By "in the document", I meant only the vdso(7) page itself. I somehow misread; it was quite clearly written. :) > I don't know if I have the spoons to tackle issues in syscalls(2) before > I follow up with you carrying my sed(1)-driven bucket of thunderbolts. :-) Cheers, Alex -- <https://www.alejandro-colomar.es> Use port 80 (that is, <...:80/>). [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: '^\}$' is (not) changed to a space character 2025-10-04 9:42 ` G. Branden Robinson 2025-10-04 10:30 ` Alejandro Colomar @ 2025-10-05 13:48 ` G. Branden Robinson 2025-10-05 18:47 ` Alejandro Colomar 1 sibling, 1 reply; 23+ messages in thread From: G. Branden Robinson @ 2025-10-05 13:48 UTC (permalink / raw) To: Alejandro Colomar; +Cc: Bjarni Ingi Gislason, linux-man [-- Attachment #1: Type: text/plain, Size: 3246 bytes --] Hi Alex, First I must correct the subject line. '^\}$' is not "changed to a space character". I explain below. At 2025-10-04T04:42:43-0500, G. Branden Robinson wrote: > At 2025-10-04T11:16:06+0200, Alejandro Colomar wrote: > > BTW, in the PDF, the '.P' doesn't seem to be working. > > > <https://www.alejandro-colomar.es:80/share/dist/man-pages/git/HEAD/man-pages-HEAD.pdf#vdso.7> > > Hmm, yes that does look wrong. Plus, I see too much vertical space > _after_ the "ARM functions" table. > > I'll get back to you on this. The problems are straightforward. Here's the relevant source. ---snip--- .SS ARM functions .\" See linux/arch/arm/vdso/vdso.lds.S .\" Commit: 8512287a8165592466cb9cb347ba94892e9c56a5 The table below lists the symbols exported by the vDSO. .if t \{\ .ft CW \} .TS l l. symbol version _ __vdso_gettimeofday LINUX_2.6 (exported since Linux 4.1) __vdso_clock_gettime LINUX_2.6 (exported since Linux 4.1) .TE .if t \{\ .in .ft P \} .P .\" See linux/arch/arm/kernel/entry-armv.S .\" See linux/Documentation/arm/kernel_user_helpers.rst Additionally, the ARM port has a code page full of utility functions. ---end snip--- As Bjarni pointed out, you probably want a *roff control character (typically `.`) before those closing brace escape sequences. If the branch of the conditional is taken, the closing brace sequence has no effect itself on formatting, but the blank line that remains _does_, just as with a `\"` comment. https://www.gnu.org/software/groff/manual/groff.html.node/Comments.html That explains the excessive vertical space after the table when rendering to PDF. But what about the missing vertical space _before_ it? The same spurious blank line is there, too, when typesetting--why doesn't it have effect? man(7), like other macro packages, employs a formatter feature called "no-space mode" in its sectioning macros.[1] This means that attempts to put vertical space on the output fail until at least one glyph (or drawing primitive) is typeset. Looking over groff_man(7), I don't see that I've actually documented this--so, homework for me. (This is the reason that calling the `P`--or `LP` or `PP` macros-- immediately after `SH` or `SS` has no visible effect. `HP`, `IP`, and `TP` work normally except for the inter-paragraph space they ordinarily apply.) You _can_ disable no-space mode with the `rs` request. Other approaches would be to simply let the table abut the (sub)section heading, or precede the table with an explanatory sentence. Regards, Branden [1] Strictly, groff man(7) currently enables no-space mode in an internal macro named `an*break-paragraph`, which all of the sectioning and paragraphing macros call. The consequence is that the following input: Foo. .PP .sp 3i Bar. ...does not put three inches of space between the paragraphs, but only the configured inter-paragraph spacing amount. The `TH` macro also (indirectly, via a trap macro that sets the page header) enters no-space mode after writing the page header. These provisions are all to keep an inexpert man(7) document author from making a hash of things. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: '^\}$' is (not) changed to a space character 2025-10-05 13:48 ` '^\}$' is (not) " G. Branden Robinson @ 2025-10-05 18:47 ` Alejandro Colomar 2025-10-06 8:51 ` G. Branden Robinson 0 siblings, 1 reply; 23+ messages in thread From: Alejandro Colomar @ 2025-10-05 18:47 UTC (permalink / raw) To: G. Branden Robinson; +Cc: Bjarni Ingi Gislason, linux-man [-- Attachment #1: Type: text/plain, Size: 5001 bytes --] Hi Branden, On Sun, Oct 05, 2025 at 08:48:12AM -0500, G. Branden Robinson wrote: > Hi Alex, > > First I must correct the subject line. '^\}$' is not "changed to a > space character". I explain below. > > At 2025-10-04T04:42:43-0500, G. Branden Robinson wrote: > > At 2025-10-04T11:16:06+0200, Alejandro Colomar wrote: > > > BTW, in the PDF, the '.P' doesn't seem to be working. > > URL edited: > > > <https://www.alejandro-colomar.es/share/dist/man-pages/git/HEAD/man-pages-HEAD.pdf#vdso.7> Shit, I forgot to remove the port when pasting the URL. Hopefully, crawlers won't follow it and DDoS me again. Otherwise I shall install Anubis. > > Hmm, yes that does look wrong. Plus, I see too much vertical space > > _after_ the "ARM functions" table. > > > > I'll get back to you on this. > > The problems are straightforward. Here's the relevant source. > > ---snip--- > .SS ARM functions > .\" See linux/arch/arm/vdso/vdso.lds.S > .\" Commit: 8512287a8165592466cb9cb347ba94892e9c56a5 > The table below lists the symbols exported by the vDSO. > .if t \{\ > .ft CW > \} > .TS > l l. > symbol version > _ > __vdso_gettimeofday LINUX_2.6 (exported since Linux 4.1) > __vdso_clock_gettime LINUX_2.6 (exported since Linux 4.1) > .TE > .if t \{\ > .in > .ft P > \} > .P > .\" See linux/arch/arm/kernel/entry-armv.S > .\" See linux/Documentation/arm/kernel_user_helpers.rst > Additionally, the ARM port has a code page full of utility functions. > ---end snip--- > > As Bjarni pointed out, you probably want a *roff control character > (typically `.`) before those closing brace escape sequences. If the > branch of the conditional is taken, the closing brace sequence has no > effect itself on formatting, but the blank line that remains _does_, > just as with a `\"` comment. In that link I had already applied this commit: commit fa940b6d17791a166c793b74a50cd72926d14b50 Author: Alejandro Colomar <alx@kernel.org> Date: Sat Oct 4 10:48:02 2025 +0200 man/man7/vdso.7: ffix Reported-by: Bjarni Ingi Gislason <bjarniig@simnet.is> Suggested-by: "G. Branden Robinson" <branden@debian.org> Signed-off-by: Alejandro Colomar <alx@kernel.org> diff --git a/man/man7/vdso.7 b/man/man7/vdso.7 index 0dc8bf6f2..8c8d00514 100644 --- a/man/man7/vdso.7 +++ b/man/man7/vdso.7 @@ -141,11 +141,10 @@ .SS vDSO names .BR ldd (1) output. The exact name should not matter to any code, so do not hardcode it. -.if t \{\ -.ft CW -\} +.P .TS -l l. +lB lB +l l . user ABI vDSO name _ aarch64 linux\-vdso.so.1 @@ -162,10 +161,6 @@ .SS vDSO names x86-64 linux\-vdso.so.1 x86/x32 linux\-vdso.so.1 .TE -.if t \{\ -.in -.ft P -\} .SS strace(1), seccomp(2), and the vDSO When tracing system calls with .BR strace (1), @@ ... ... So, I expect the explanation shouldn't hold anymore, right? There are no closing brace escape sequences anymore. > https://www.gnu.org/software/groff/manual/groff.html.node/Comments.html > > That explains the excessive vertical space after the table when > rendering to PDF. But what about the missing vertical space _before_ > it? The same spurious blank line is there, too, when typesetting--why > doesn't it have effect? > > man(7), like other macro packages, employs a formatter feature called > "no-space mode" in its sectioning macros.[1] This means that attempts > to put vertical space on the output fail until at least one glyph (or > drawing primitive) is typeset. Looking over groff_man(7), I don't see > that I've actually documented this--so, homework for me. (This is the > reason that calling the `P`--or `LP` or `PP` macros-- immediately after > `SH` or `SS` has no visible effect. `HP`, `IP`, and `TP` work normally > except for the inter-paragraph space they ordinarily apply.) > > You _can_ disable no-space mode with the `rs` request. Other approaches > would be to simply let the table abut Hmmm, new word for my vocabulary! :D Cheers, Alex > the (sub)section heading, or > precede the table with an explanatory sentence. > > Regards, > Branden > > [1] Strictly, groff man(7) currently enables no-space mode in an > internal macro named `an*break-paragraph`, which all of the > sectioning and paragraphing macros call. The consequence is that > the following input: > > Foo. > .PP > .sp 3i > Bar. > > ...does not put three inches of space between the paragraphs, but > only the configured inter-paragraph spacing amount. > > The `TH` macro also (indirectly, via a trap macro that sets the page > header) enters no-space mode after writing the page header. These > provisions are all to keep an inexpert man(7) document author from > making a hash of things. -- <https://www.alejandro-colomar.es> Use port 80 (that is, <...:80/>). [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: '^\}$' is (not) changed to a space character 2025-10-05 18:47 ` Alejandro Colomar @ 2025-10-06 8:51 ` G. Branden Robinson 2025-10-06 10:25 ` Alejandro Colomar 0 siblings, 1 reply; 23+ messages in thread From: G. Branden Robinson @ 2025-10-06 8:51 UTC (permalink / raw) To: Alejandro Colomar; +Cc: Bjarni Ingi Gislason, linux-man [-- Attachment #1: Type: text/plain, Size: 1123 bytes --] Hi Alex, At 2025-10-05T20:47:02+0200, Alejandro Colomar wrote: > URL edited: > > > > > <https://www.alejandro-colomar.es/share/dist/man-pages/git/HEAD/man-pages-HEAD.pdf#vdso.7> > > Shit, I forgot to remove the port when pasting the URL. Hopefully, > crawlers won't follow it and DDoS me again. Otherwise I shall install > Anubis. As an obscure ficitious personage named Eadric of Deorham once said, "they'll always find a way". > > As Bjarni pointed out, you probably want a *roff control character > > (typically `.`) before those closing brace escape sequences. If the > > branch of the conditional is taken, the closing brace sequence has > > no effect itself on formatting, but the blank line that remains > > _does_, just as with a `\"` comment. > > In that link I had already applied this commit: > [...] > -.if t \{\ > -.ft CW > -\} > +.P [...] > So, I expect the explanation shouldn't hold anymore, right? There are > no closing brace escape sequences anymore. Right, but the excess space in the document should not still be present, either. Regards, Branden [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: '^\}$' is (not) changed to a space character 2025-10-06 8:51 ` G. Branden Robinson @ 2025-10-06 10:25 ` Alejandro Colomar 2025-10-06 10:42 ` groff build problem involving "ckd_mul" and "ckd_add" G. Branden Robinson 0 siblings, 1 reply; 23+ messages in thread From: Alejandro Colomar @ 2025-10-06 10:25 UTC (permalink / raw) To: G. Branden Robinson; +Cc: Bjarni Ingi Gislason, linux-man [-- Attachment #1: Type: text/plain, Size: 4891 bytes --] Hi Branden, On Mon, Oct 06, 2025 at 03:51:49AM -0500, G. Branden Robinson wrote: > > -.if t \{\ > > -.ft CW > > -\} > > +.P > [...] > > > So, I expect the explanation shouldn't hold anymore, right? There are > > no closing brace escape sequences anymore. > > Right, but the excess space in the document should not still be present, > either. Hmmm, it's weird. If I produce the PDF in my computer, the space is now correct. However, the PDF book served on my website still has the wrong space. I know it has the correct source code, because it doesn't use CW anymore. The only difference I can see is the groff(1) version. In my computer, I have GNU groff version 1.23.0.2695-49927 but on my server I have GNU groff version 1.23.0.1254-19a18 But I also tested 1.23.0, and it does the right thing. Maybe the version on my server has a temporary bug that appeared after 1.23.0 and was fixed before 1.23.0.2695-49927. I tried building groff from git HEAD to see if that fixed the issues in my server. However, it seems groff doesn't build at the moment: $ make make all-recursive make[1]: Entering directory '/srv/alx/src/gnu/groff/master' make[2]: Entering directory '/srv/alx/src/gnu/groff/master' CXX src/roff/troff/div.o In file included from src/roff/troff/div.cpp:29: src/roff/troff/hvunits.h: In member function ‘units vunits::to_units()’: src/roff/troff/hvunits.h:91:7: error: ‘ckd_mul’ was not declared in this scope 91 | if (ckd_mul(&r, n, vresolution)) | ^~~~~~~ src/roff/troff/hvunits.h: In function ‘vunits operator+(const vunits&, const vunits&)’: src/roff/troff/hvunits.h:105:7: error: ‘ckd_add’ was not declared in this scope 105 | if (ckd_add(&r.n, r.n, y.n)) | ^~~~~~~ src/roff/troff/hvunits.h: In function ‘vunits operator-(const vunits&, const vunits&)’: src/roff/troff/hvunits.h:114:7: error: ‘ckd_sub’ was not declared in this scope 114 | if (ckd_sub(&r.n, r.n, y.n)) | ^~~~~~~ src/roff/troff/hvunits.h: In function ‘vunits operator-(const vunits&)’: src/roff/troff/hvunits.h:123:7: error: ‘ckd_mul’ was not declared in this scope 123 | if (ckd_mul(&r.n, x.n, -1)) | ^~~~~~~ src/roff/troff/hvunits.h: In function ‘vunits operator*(const vunits&, int)’: src/roff/troff/hvunits.h:145:7: error: ‘ckd_mul’ was not declared in this scope 145 | if (ckd_mul(&r.n, x.n, n)) | ^~~~~~~ src/roff/troff/hvunits.h: In function ‘vunits operator*(int, const vunits&)’: src/roff/troff/hvunits.h:154:7: error: ‘ckd_mul’ was not declared in this scope 154 | if (ckd_mul(&r.n, n, x.n)) | ^~~~~~~ src/roff/troff/hvunits.h: In member function ‘units hunits::to_units()’: src/roff/troff/hvunits.h:208:7: error: ‘ckd_mul’ was not declared in this scope 208 | if (ckd_mul(&r, n, hresolution)) | ^~~~~~~ src/roff/troff/hvunits.h: In function ‘hunits operator+(const hunits&, const hunits&)’: src/roff/troff/hvunits.h:222:7: error: ‘ckd_add’ was not declared in this scope 222 | if (ckd_add(&r.n, r.n, y.n)) | ^~~~~~~ src/roff/troff/hvunits.h: In function ‘hunits operator-(const hunits&, const hunits&)’: src/roff/troff/hvunits.h:231:7: error: ‘ckd_sub’ was not declared in this scope 231 | if (ckd_sub(&r.n, r.n, y.n)) | ^~~~~~~ src/roff/troff/hvunits.h: In function ‘hunits operator-(const hunits&)’: src/roff/troff/hvunits.h:241:7: error: ‘ckd_mul’ was not declared in this scope 241 | if (ckd_mul(&r.n, x.n, -1)) | ^~~~~~~ src/roff/troff/hvunits.h: In function ‘hunits operator*(const hunits&, int)’: src/roff/troff/hvunits.h:263:7: error: ‘ckd_mul’ was not declared in this scope 263 | if (ckd_mul(&r.n, x.n, n)) | ^~~~~~~ src/roff/troff/hvunits.h: In function ‘hunits operator*(int, const hunits&)’: src/roff/troff/hvunits.h:272:7: error: ‘ckd_mul’ was not declared in this scope 272 | if (ckd_mul(&r.n, x.n, n)) | ^~~~~~~ src/roff/troff/div.cpp: In member function ‘virtual void macro_diversion::output(node*, bool, vunits, vunits, hunits)’: src/roff/troff/div.cpp:325:7: error: ‘ckd_add’ was not declared in this scope 325 | if (ckd_add(&new_vpos, vpos, lineht)) | ^~~~~~~ make[2]: *** [Makefile:9395: src/roff/troff/div.o] Error 1 make[2]: Leaving directory '/srv/alx/src/gnu/groff/master' make[1]: *** [Makefile:11776: all-recursive] Error 1 make[1]: Leaving directory '/srv/alx/src/gnu/groff/master' make: *** [Makefile:6977: all] Error 2 Did you forget some #include? Have a lovely day! Alex -- <https://www.alejandro-colomar.es> Use port 80 (that is, <...:80/>). [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* groff build problem involving "ckd_mul" and "ckd_add" 2025-10-06 10:25 ` Alejandro Colomar @ 2025-10-06 10:42 ` G. Branden Robinson 2025-10-06 11:10 ` Alejandro Colomar 0 siblings, 1 reply; 23+ messages in thread From: G. Branden Robinson @ 2025-10-06 10:42 UTC (permalink / raw) To: Alejandro Colomar; +Cc: Bjarni Ingi Gislason, linux-man [-- Attachment #1: Type: text/plain, Size: 5765 bytes --] [looping in groff@gnu list] [was: '^\}$' is (not) changed to a space character] Hi Alex, At 2025-10-06T12:25:23+0200, Alejandro Colomar wrote: > On Mon, Oct 06, 2025 at 03:51:49AM -0500, G. Branden Robinson wrote: > > Right, but the excess space in the document should not still be > > present, either. > > Hmmm, it's weird. If I produce the PDF in my computer, the space is > now correct. However, the PDF book served on my website still has the > wrong space. I know it has the correct source code, because it > doesn't use CW anymore. > > The only difference I can see is the groff(1) version. In my computer, > I have > > GNU groff version 1.23.0.2695-49927 > > but on my server I have > > GNU groff version 1.23.0.1254-19a18 > > But I also tested 1.23.0, and it does the right thing. Maybe the > version on my server has a temporary bug that appeared after 1.23.0 > and was fixed before 1.23.0.2695-49927. That could explain it. I find bugs I introduced myself all the time. (Such discoveries often drive new regression test scripts.) This one doesn't ring a bell, but that doesn't mean much. > I tried building groff from git HEAD to see if that fixed the issues > in my server. However, it seems groff doesn't build at the moment: > > $ make > make all-recursive > make[1]: Entering directory '/srv/alx/src/gnu/groff/master' > make[2]: Entering directory '/srv/alx/src/gnu/groff/master' > CXX src/roff/troff/div.o > In file included from src/roff/troff/div.cpp:29: > src/roff/troff/hvunits.h: In member function ‘units vunits::to_units()’: > src/roff/troff/hvunits.h:91:7: error: ‘ckd_mul’ was not declared in this scope > 91 | if (ckd_mul(&r, n, vresolution)) > | ^~~~~~~ > src/roff/troff/hvunits.h: In function ‘vunits operator+(const vunits&, const vunits&)’: > src/roff/troff/hvunits.h:105:7: error: ‘ckd_add’ was not declared in this scope > 105 | if (ckd_add(&r.n, r.n, y.n)) > | ^~~~~~~ > src/roff/troff/hvunits.h: In function ‘vunits operator-(const vunits&, const vunits&)’: > src/roff/troff/hvunits.h:114:7: error: ‘ckd_sub’ was not declared in this scope > 114 | if (ckd_sub(&r.n, r.n, y.n)) > | ^~~~~~~ > src/roff/troff/hvunits.h: In function ‘vunits operator-(const vunits&)’: > src/roff/troff/hvunits.h:123:7: error: ‘ckd_mul’ was not declared in this scope > 123 | if (ckd_mul(&r.n, x.n, -1)) > | ^~~~~~~ > src/roff/troff/hvunits.h: In function ‘vunits operator*(const vunits&, int)’: > src/roff/troff/hvunits.h:145:7: error: ‘ckd_mul’ was not declared in this scope > 145 | if (ckd_mul(&r.n, x.n, n)) > | ^~~~~~~ > src/roff/troff/hvunits.h: In function ‘vunits operator*(int, const vunits&)’: > src/roff/troff/hvunits.h:154:7: error: ‘ckd_mul’ was not declared in this scope > 154 | if (ckd_mul(&r.n, n, x.n)) > | ^~~~~~~ > src/roff/troff/hvunits.h: In member function ‘units hunits::to_units()’: > src/roff/troff/hvunits.h:208:7: error: ‘ckd_mul’ was not declared in this scope > 208 | if (ckd_mul(&r, n, hresolution)) > | ^~~~~~~ > src/roff/troff/hvunits.h: In function ‘hunits operator+(const hunits&, const hunits&)’: > src/roff/troff/hvunits.h:222:7: error: ‘ckd_add’ was not declared in this scope > 222 | if (ckd_add(&r.n, r.n, y.n)) > | ^~~~~~~ > src/roff/troff/hvunits.h: In function ‘hunits operator-(const hunits&, const hunits&)’: > src/roff/troff/hvunits.h:231:7: error: ‘ckd_sub’ was not declared in this scope > 231 | if (ckd_sub(&r.n, r.n, y.n)) > | ^~~~~~~ > src/roff/troff/hvunits.h: In function ‘hunits operator-(const hunits&)’: > src/roff/troff/hvunits.h:241:7: error: ‘ckd_mul’ was not declared in this scope > 241 | if (ckd_mul(&r.n, x.n, -1)) > | ^~~~~~~ > src/roff/troff/hvunits.h: In function ‘hunits operator*(const hunits&, int)’: > src/roff/troff/hvunits.h:263:7: error: ‘ckd_mul’ was not declared in this scope > 263 | if (ckd_mul(&r.n, x.n, n)) > | ^~~~~~~ > src/roff/troff/hvunits.h: In function ‘hunits operator*(int, const hunits&)’: > src/roff/troff/hvunits.h:272:7: error: ‘ckd_mul’ was not declared in this scope > 272 | if (ckd_mul(&r.n, x.n, n)) > | ^~~~~~~ > src/roff/troff/div.cpp: In member function ‘virtual void macro_diversion::output(node*, bool, vunits, vunits, hunits)’: > src/roff/troff/div.cpp:325:7: error: ‘ckd_add’ was not declared in this scope > 325 | if (ckd_add(&new_vpos, vpos, lineht)) > | ^~~~~~~ > make[2]: *** [Makefile:9395: src/roff/troff/div.o] Error 1 > make[2]: Leaving directory '/srv/alx/src/gnu/groff/master' > make[1]: *** [Makefile:11776: all-recursive] Error 1 > make[1]: Leaving directory '/srv/alx/src/gnu/groff/master' > make: *** [Makefile:6977: all] Error 2 > > Did you forget some #include? It builds for me and others, like Deri and Grisha Levit. https://lists.gnu.org/archive/html/groff/2025-10/msg00009.html Have you "bootstrapped" lately? That's necessary for Git users when we bump the version of gnulib we include, which we probably did after either 1.23.0.2695-49927 or 1.23.0.1254-19a18, and maybe both. One thing I do recall is bumping gnulib to get at the checked arithmetic functions--precisely the ones you see above. Also, FYI: $ git describe origin/master 1.23.0-4017-g3ea378d35 I'll probably be bumping gnulib again soon--the version we're using hits end-of-support in less than three months. Regards, Branden [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: groff build problem involving "ckd_mul" and "ckd_add" 2025-10-06 10:42 ` groff build problem involving "ckd_mul" and "ckd_add" G. Branden Robinson @ 2025-10-06 11:10 ` Alejandro Colomar 2025-10-07 2:06 ` Collin Funk 0 siblings, 1 reply; 23+ messages in thread From: Alejandro Colomar @ 2025-10-06 11:10 UTC (permalink / raw) To: G. Branden Robinson; +Cc: Bjarni Ingi Gislason, linux-man, groff [-- Attachment #1: Type: text/plain, Size: 5924 bytes --] Hi Branden, On Mon, Oct 06, 2025 at 05:42:24AM -0500, G. Branden Robinson wrote: > [looping in groff@gnu list] [Actually looping in groff@gnu.org; I think you forgot. :] > [was: '^\}$' is (not) changed to a space character] [...] > > I tried building groff from git HEAD to see if that fixed the issues > > in my server. However, it seems groff doesn't build at the moment: > > [...] > > > > Did you forget some #include? > > It builds for me and others, like Deri and Grisha Levit. > > https://lists.gnu.org/archive/html/groff/2025-10/msg00009.html > > Have you "bootstrapped" lately? That's necessary for Git users when we > bump the version of gnulib we include, which we probably did after > either 1.23.0.2695-49927 or 1.23.0.1254-19a18, and maybe both. One > thing I do recall is bumping gnulib to get at the checked arithmetic > functions--precisely the ones you see above. Yes, I bootstrapped today. I also ran 'git submodule update' prior to that. > > Also, FYI: > > $ git describe origin/master > 1.23.0-4017-g3ea378d35 I can reproduce both on my server (Debian) and on my desktop (Devuan). I'm using Sid, so that may have something to do (maybe I have a more recent compiler that errors where yours doesn't?). alx@devuan:~/src/gnu/groff/master$ git describe HEAD 1.23.0-4017-g3ea378d35 alx@devuan:~/src/gnu/groff/master$ git status On branch master Your branch is up to date with 'gnu/master'. nothing to commit, working tree clean alx@devuan:~/src/gnu/groff/master$ git submodule update alx@devuan:~/src/gnu/groff/master$ git submodule 3fbc2c7bb371916a6f3433ef28d84874909d1052 gnulib (v1.0-1350-g3fbc2c7bb3) alx@devuan:~/src/gnu/groff/master$ set -o pipefail alx@devuan:~/src/gnu/groff/master$ time ./bootstrap |& wc -l; echo $? 681 real 0m5.284s user 0m3.950s sys 0m0.496s 0 alx@devuan:~/src/gnu/groff/master$ time ./configure |& wc -l; echo $? 430 real 0m11.332s user 0m8.099s sys 0m2.322s 0 alx@devuan:~/src/gnu/groff/master$ time make -j24 -k |& wc -l; echo $? 1385 real 0m4.765s user 0m35.467s sys 0m2.930s 2 alx@devuan:~/src/gnu/groff/master$ make make all-recursive make[1]: Entering directory '/srv/alx/src/gnu/groff/master' make[2]: Entering directory '/srv/alx/src/gnu/groff/master' CXX src/roff/troff/div.o In file included from src/roff/troff/div.cpp:29: src/roff/troff/hvunits.h: In member function ‘units vunits::to_units()’: src/roff/troff/hvunits.h:91:7: error: ‘ckd_mul’ was not declared in this scope 91 | if (ckd_mul(&r, n, vresolution)) | ^~~~~~~ src/roff/troff/hvunits.h: In function ‘vunits operator+(const vunits&, const vunits&)’: src/roff/troff/hvunits.h:105:7: error: ‘ckd_add’ was not declared in this scope 105 | if (ckd_add(&r.n, r.n, y.n)) | ^~~~~~~ src/roff/troff/hvunits.h: In function ‘vunits operator-(const vunits&, const vunits&)’: src/roff/troff/hvunits.h:114:7: error: ‘ckd_sub’ was not declared in this scope 114 | if (ckd_sub(&r.n, r.n, y.n)) | ^~~~~~~ src/roff/troff/hvunits.h: In function ‘vunits operator-(const vunits&)’: src/roff/troff/hvunits.h:123:7: error: ‘ckd_mul’ was not declared in this scope 123 | if (ckd_mul(&r.n, x.n, -1)) | ^~~~~~~ src/roff/troff/hvunits.h: In function ‘vunits operator*(const vunits&, int)’: src/roff/troff/hvunits.h:145:7: error: ‘ckd_mul’ was not declared in this scope 145 | if (ckd_mul(&r.n, x.n, n)) | ^~~~~~~ src/roff/troff/hvunits.h: In function ‘vunits operator*(int, const vunits&)’: src/roff/troff/hvunits.h:154:7: error: ‘ckd_mul’ was not declared in this scope 154 | if (ckd_mul(&r.n, n, x.n)) | ^~~~~~~ src/roff/troff/hvunits.h: In member function ‘units hunits::to_units()’: src/roff/troff/hvunits.h:208:7: error: ‘ckd_mul’ was not declared in this scope 208 | if (ckd_mul(&r, n, hresolution)) | ^~~~~~~ src/roff/troff/hvunits.h: In function ‘hunits operator+(const hunits&, const hunits&)’: src/roff/troff/hvunits.h:222:7: error: ‘ckd_add’ was not declared in this scope 222 | if (ckd_add(&r.n, r.n, y.n)) | ^~~~~~~ src/roff/troff/hvunits.h: In function ‘hunits operator-(const hunits&, const hunits&)’: src/roff/troff/hvunits.h:231:7: error: ‘ckd_sub’ was not declared in this scope 231 | if (ckd_sub(&r.n, r.n, y.n)) | ^~~~~~~ src/roff/troff/hvunits.h: In function ‘hunits operator-(const hunits&)’: src/roff/troff/hvunits.h:241:7: error: ‘ckd_mul’ was not declared in this scope 241 | if (ckd_mul(&r.n, x.n, -1)) | ^~~~~~~ src/roff/troff/hvunits.h: In function ‘hunits operator*(const hunits&, int)’: src/roff/troff/hvunits.h:263:7: error: ‘ckd_mul’ was not declared in this scope 263 | if (ckd_mul(&r.n, x.n, n)) | ^~~~~~~ src/roff/troff/hvunits.h: In function ‘hunits operator*(int, const hunits&)’: src/roff/troff/hvunits.h:272:7: error: ‘ckd_mul’ was not declared in this scope 272 | if (ckd_mul(&r.n, x.n, n)) | ^~~~~~~ src/roff/troff/div.cpp: In member function ‘virtual void macro_diversion::output(node*, bool, vunits, vunits, hunits)’: src/roff/troff/div.cpp:325:7: error: ‘ckd_add’ was not declared in this scope 325 | if (ckd_add(&new_vpos, vpos, lineht)) | ^~~~~~~ make[2]: *** [Makefile:9395: src/roff/troff/div.o] Error 1 make[2]: Leaving directory '/srv/alx/src/gnu/groff/master' make[1]: *** [Makefile:11776: all-recursive] Error 1 make[1]: Leaving directory '/srv/alx/src/gnu/groff/master' make: *** [Makefile:6977: all] Error 2 Cheers, Alex -- <https://www.alejandro-colomar.es> Use port 80 (that is, <...:80/>). [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: groff build problem involving "ckd_mul" and "ckd_add" 2025-10-06 11:10 ` Alejandro Colomar @ 2025-10-07 2:06 ` Collin Funk 2025-10-07 8:47 ` Alejandro Colomar 0 siblings, 1 reply; 23+ messages in thread From: Collin Funk @ 2025-10-07 2:06 UTC (permalink / raw) To: Alejandro Colomar Cc: G. Branden Robinson, Bjarni Ingi Gislason, linux-man, groff Alejandro Colomar <alx@kernel.org> writes: >> It builds for me and others, like Deri and Grisha Levit. >> >> https://lists.gnu.org/archive/html/groff/2025-10/msg00009.html >> >> Have you "bootstrapped" lately? That's necessary for Git users when we >> bump the version of gnulib we include, which we probably did after >> either 1.23.0.2695-49927 or 1.23.0.1254-19a18, and maybe both. One >> thing I do recall is bumping gnulib to get at the checked arithmetic >> functions--precisely the ones you see above. > > Yes, I bootstrapped today. I also ran 'git submodule update' prior to > that. > >> >> Also, FYI: >> >> $ git describe origin/master >> 1.23.0-4017-g3ea378d35 > > I can reproduce both on my server (Debian) and on my desktop (Devuan). > I'm using Sid, so that may have something to do (maybe I have a more > recent compiler that errors where yours doesn't?). This was discussed and fixed in Gnulib a few months ago [1]. I assume you are using g++ 15 and the others are not. Here are the relevant commits: $ git branch --contains=7ee6e40b6730c87e5c1323bb5c2564bcb6eff9e4 * master stable-202507 $ git branch --contains=e331531a771443edae4135e6bcd016282cf1a3aa * master stable-202507 But groff is using a branch that does not contain them: commit e3ff929ddea95e0fc9fe7ea3541d28665de42370 Author: G. Branden Robinson <g.branden.robinson@gmail.com> AuthorDate: Fri Mar 28 03:10:49 2025 -0500 Commit: G. Branden Robinson <g.branden.robinson@gmail.com> CommitDate: Sat Mar 29 22:27:32 2025 -0500 gnulib: Update stable/2025-01 branch. ...to commit 3fbc2c7bb3, 3 March. Using the following command I can make ./bootstrap use the master branch from my local checkout to copy files: $ env GNULIB_SRCDIR=$HOME/.local/src/gnulib ./bootstrap Allows me to build groff fine with g++ 15. Collin [1] https://lists.gnu.org/archive/html/bug-gnulib/2025-05/msg00207.html ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: groff build problem involving "ckd_mul" and "ckd_add" 2025-10-07 2:06 ` Collin Funk @ 2025-10-07 8:47 ` Alejandro Colomar 2025-10-07 20:06 ` G. Branden Robinson 0 siblings, 1 reply; 23+ messages in thread From: Alejandro Colomar @ 2025-10-07 8:47 UTC (permalink / raw) To: Collin Funk; +Cc: G. Branden Robinson, Bjarni Ingi Gislason, linux-man, groff [-- Attachment #1: Type: text/plain, Size: 1728 bytes --] Hi Collin, On Mon, Oct 06, 2025 at 07:06:39PM -0700, Collin Funk wrote: > > I can reproduce both on my server (Debian) and on my desktop (Devuan). > > I'm using Sid, so that may have something to do (maybe I have a more > > recent compiler that errors where yours doesn't?). > > This was discussed and fixed in Gnulib a few months ago [1]. I assume > you are using g++ 15 and the others are not. Yup, that sounds like it. I'm using g++ (Debian 15.2.0-4) 15.2.0 > Here are the relevant commits: > > $ git branch --contains=7ee6e40b6730c87e5c1323bb5c2564bcb6eff9e4 > * master > stable-202507 > $ git branch --contains=e331531a771443edae4135e6bcd016282cf1a3aa > * master > stable-202507 > > But groff is using a branch that does not contain them: > > commit e3ff929ddea95e0fc9fe7ea3541d28665de42370 > Author: G. Branden Robinson <g.branden.robinson@gmail.com> > AuthorDate: Fri Mar 28 03:10:49 2025 -0500 > Commit: G. Branden Robinson <g.branden.robinson@gmail.com> > CommitDate: Sat Mar 29 22:27:32 2025 -0500 > > gnulib: Update stable/2025-01 branch. > > ...to commit 3fbc2c7bb3, 3 March. > > Using the following command I can make ./bootstrap use the master branch > from my local checkout to copy files: > > $ env GNULIB_SRCDIR=$HOME/.local/src/gnulib ./bootstrap > > Allows me to build groff fine with g++ 15. Thanks! Branden, would you mind bumping the gnulib version sooner than later to avoid using workarounds? That would also allow us to use countof() sooner. Have a lovely day! Alex -- <https://www.alejandro-colomar.es> Use port 80 (that is, <...:80/>). [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: groff build problem involving "ckd_mul" and "ckd_add" 2025-10-07 8:47 ` Alejandro Colomar @ 2025-10-07 20:06 ` G. Branden Robinson 2025-10-07 20:24 ` Alejandro Colomar 0 siblings, 1 reply; 23+ messages in thread From: G. Branden Robinson @ 2025-10-07 20:06 UTC (permalink / raw) To: Alejandro Colomar; +Cc: Collin Funk, Bjarni Ingi Gislason, linux-man, groff [-- Attachment #1: Type: text/plain, Size: 571 bytes --] At 2025-10-07T10:47:43+0200, Alejandro Colomar wrote: > On Mon, Oct 06, 2025 at 07:06:39PM -0700, Collin Funk wrote: > > Using the following command I can make ./bootstrap use the master > > branch from my local checkout to copy files: > > > > $ env GNULIB_SRCDIR=$HOME/.local/src/gnulib ./bootstrap > > > > Allows me to build groff fine with g++ 15. > > Thanks! > > Branden, would you mind bumping the gnulib version sooner than later > to avoid using workarounds? That would also allow us to use countof() > sooner. Done! Regards, Branden [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: groff build problem involving "ckd_mul" and "ckd_add" 2025-10-07 20:06 ` G. Branden Robinson @ 2025-10-07 20:24 ` Alejandro Colomar 2025-10-07 20:29 ` G. Branden Robinson 0 siblings, 1 reply; 23+ messages in thread From: Alejandro Colomar @ 2025-10-07 20:24 UTC (permalink / raw) To: G. Branden Robinson; +Cc: Collin Funk, Bjarni Ingi Gislason, linux-man, groff [-- Attachment #1: Type: text/plain, Size: 419 bytes --] Hi Branden, On Tue, Oct 07, 2025 at 03:06:36PM -0500, G. Branden Robinson wrote: > > Branden, would you mind bumping the gnulib version sooner than later > > to avoid using workarounds? That would also allow us to use countof() > > sooner. > > Done! Thanks! Do you want a patch for using countof() tonight? Cheers, Alex -- <https://www.alejandro-colomar.es> Use port 80 (that is, <...:80/>). [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: groff build problem involving "ckd_mul" and "ckd_add" 2025-10-07 20:24 ` Alejandro Colomar @ 2025-10-07 20:29 ` G. Branden Robinson 2025-10-07 21:10 ` Alejandro Colomar 0 siblings, 1 reply; 23+ messages in thread From: G. Branden Robinson @ 2025-10-07 20:29 UTC (permalink / raw) To: Alejandro Colomar; +Cc: Collin Funk, Bjarni Ingi Gislason, linux-man, groff [-- Attachment #1: Type: text/plain, Size: 148 bytes --] At 2025-10-07T22:24:19+0200, Alejandro Colomar wrote: > Thanks! Do you want a patch for using countof() tonight? No hurry! ;-) Regards, Branden [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: groff build problem involving "ckd_mul" and "ckd_add" 2025-10-07 20:29 ` G. Branden Robinson @ 2025-10-07 21:10 ` Alejandro Colomar 0 siblings, 0 replies; 23+ messages in thread From: Alejandro Colomar @ 2025-10-07 21:10 UTC (permalink / raw) To: G. Branden Robinson; +Cc: Collin Funk, Bjarni Ingi Gislason, linux-man, groff [-- Attachment #1: Type: text/plain, Size: 506 bytes --] Hi Branden, On Tue, Oct 07, 2025 at 03:29:28PM -0500, G. Branden Robinson wrote: > At 2025-10-07T22:24:19+0200, Alejandro Colomar wrote: > > Thanks! Do you want a patch for using countof() tonight? > > No hurry! ;-) I have it almost ready. I'll finish it in an hour or so. If you're ready to apply it, I'd like to have it tonight if we can. :-) Have a lovely night! Alex > > Regards, > Branden -- <https://www.alejandro-colomar.es> Use port 80 (that is, <...:80/>). [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2025-10-07 21:10 UTC | newest] Thread overview: 23+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-09-30 18:17 '^\}$' is changed to a space character Bjarni Ingi Gislason 2025-09-30 18:46 ` Alejandro Colomar 2025-09-30 22:36 ` Bjarni Ingi Gislason 2025-10-01 6:49 ` Alejandro Colomar 2025-10-02 21:57 ` Bjarni Ingi Gislason 2025-09-30 19:40 ` G. Branden Robinson 2025-09-30 19:44 ` G. Branden Robinson 2025-10-02 22:25 ` Alejandro Colomar 2025-10-04 9:16 ` Alejandro Colomar 2025-10-04 9:42 ` G. Branden Robinson 2025-10-04 10:30 ` Alejandro Colomar 2025-10-05 13:48 ` '^\}$' is (not) " G. Branden Robinson 2025-10-05 18:47 ` Alejandro Colomar 2025-10-06 8:51 ` G. Branden Robinson 2025-10-06 10:25 ` Alejandro Colomar 2025-10-06 10:42 ` groff build problem involving "ckd_mul" and "ckd_add" G. Branden Robinson 2025-10-06 11:10 ` Alejandro Colomar 2025-10-07 2:06 ` Collin Funk 2025-10-07 8:47 ` Alejandro Colomar 2025-10-07 20:06 ` G. Branden Robinson 2025-10-07 20:24 ` Alejandro Colomar 2025-10-07 20:29 ` G. Branden Robinson 2025-10-07 21:10 ` Alejandro Colomar
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox