* [PATCH] man/man7/man.7: Don't warn if groff_man.7 is not installed
@ 2025-12-09 21:38 Ash Holland
2025-12-09 21:51 ` G. Branden Robinson
0 siblings, 1 reply; 4+ messages in thread
From: Ash Holland @ 2025-12-09 21:38 UTC (permalink / raw)
To: Alejandro Colomar; +Cc: Ash Holland, linux-man
When I invoke e.g. `man man`, I see a warning:
/home/ash/.nix-profile/bin/man: can't resolve man7/groff_man.7
This is observed by others too: <https://askubuntu.com/q/1521258/478436>
To avoid this, we can simply ask troff not to emit this message:
<https://www.gnu.org/software/groff/manual/groff.html#index-_002esoquiet>
Signed-off-by: Ash Holland <x-hv2j5m@keysmash.solutions>
---
man/man7/man.7 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/man/man7/man.7 b/man/man7/man.7
index f460f4ad3..cdf019063 100644
--- a/man/man7/man.7
+++ b/man/man7/man.7
@@ -1 +1 @@
-.so man7/groff_man.7
+.soquiet man7/groff_man.7
--
2.51.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] man/man7/man.7: Don't warn if groff_man.7 is not installed
2025-12-09 21:38 [PATCH] man/man7/man.7: Don't warn if groff_man.7 is not installed Ash Holland
@ 2025-12-09 21:51 ` G. Branden Robinson
2025-12-09 23:18 ` Alejandro Colomar
0 siblings, 1 reply; 4+ messages in thread
From: G. Branden Robinson @ 2025-12-09 21:51 UTC (permalink / raw)
To: Ash Holland; +Cc: Alejandro Colomar, linux-man
[-- Attachment #1: Type: text/plain, Size: 1339 bytes --]
Hi Ash,
At 2025-12-09T21:38:00+0000, Ash Holland wrote:
> When I invoke e.g. `man man`, I see a warning:
>
> /home/ash/.nix-profile/bin/man: can't resolve man7/groff_man.7
>
> This is observed by others too: <https://askubuntu.com/q/1521258/478436>
>
> To avoid this, we can simply ask troff not to emit this message:
> <https://www.gnu.org/software/groff/manual/groff.html#index-_002esoquiet>
I'm the GNU maintainer of groff and the author (instigator?) of the
`soquiet` request. Your patch isn't wrong, but I must point out that
the `soquiet` request is new to groff 1.23.0 (which isn't that new
anymore--it was released in July 2023).
> -.so man7/groff_man.7
> +.soquiet man7/groff_man.7
If Alex applies this, it means the page redirection[1] will stop working
_where it had been before_ for any systems using groff 1.22.4 or older.
If Alex wants to make the Linux man-pages require groff 1.23.0 or later
(there's been no subsequent release, but I'm working on it[2]), that's
fine with me, but such a decision should be announced so that
distributors of man-pages packages can judge whether they need/want to
increment the versioning of their package dependencies accordingly.
Regards,
Branden
[1] that's not really what it is, but let's pretend
[2] https://savannah.gnu.org/bugs/?65099
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] man/man7/man.7: Don't warn if groff_man.7 is not installed
2025-12-09 21:51 ` G. Branden Robinson
@ 2025-12-09 23:18 ` Alejandro Colomar
2025-12-17 19:01 ` G. Branden Robinson
0 siblings, 1 reply; 4+ messages in thread
From: Alejandro Colomar @ 2025-12-09 23:18 UTC (permalink / raw)
To: G. Branden Robinson; +Cc: Ash Holland, linux-man, Colin Watson
[-- Attachment #1: Type: text/plain, Size: 3732 bytes --]
[CC += Collin]
Hi Ash, Branden, Collin,
On Tue, Dec 09, 2025 at 03:51:49PM -0600, G. Branden Robinson wrote:
> Hi Ash,
>
> At 2025-12-09T21:38:00+0000, Ash Holland wrote:
> > When I invoke e.g. `man man`, I see a warning:
> >
> > /home/ash/.nix-profile/bin/man: can't resolve man7/groff_man.7
> >
> > This is observed by others too: <https://askubuntu.com/q/1521258/478436>
Interesting:
alx@devuan:~$ man man
man: can't resolve man7/groff_man.7
alx@devuan:~$ man -w man
man: can't resolve man7/groff_man.7
/usr/share/man/man1/man.1.gz
alx@devuan:~$ man -aw man
man: can't resolve man7/groff_man.7
/usr/share/man/man1/man.1.gz
/usr/share/man/man1/man.1posix.gz
/usr/share/man/man7/groff_man.7.gz
alx@devuan:~$ man -aw groff_man
/usr/share/man/man7/groff_man.7.gz
alx@devuan:~$ man 7 man | head -n1
man: can't resolve man7/groff_man.7
groff_man(7) Miscellaneous Information Manual groff_man(7)
Why does man(1) resolve the .so directives for listing files? Shouldn't
it just list the file I asked for? If the file is a .so page, I want to
see the file that contains the .so, and not the file it sources. It's
my problem to follow the .so link later myself, I think.
That would remove the diagnostic when reading man(1), because unless you
try to read the page man(7), there's no reason why man(1) would even try
to resolve it.
I'd qualify this as a bug (or at least dubious feature) of man-db.
mandoc's man(1) doesn't have this bug:
alx@devuan:~$ mman -aw man
mman: outdated mandoc.db lacks man(1) entry, run makewhatis /usr/share/man
mman: outdated mandoc.db lacks man(7) entry, run makewhatis /usr/share/man
mman: outdated mandoc.db lacks man(7) entry, run makewhatis /usr/local/share/man
/usr/share/man/man1/man.1.gz
/usr/share/man/man1/man.1posix.gz
/usr/share/man/man7/man.7.gz
/usr/local/share/man/man7/man.7
> >
> > To avoid this, we can simply ask troff not to emit this message:
> > <https://www.gnu.org/software/groff/manual/groff.html#index-_002esoquiet>
>
> I'm the GNU maintainer of groff and the author (instigator?) of the
> `soquiet` request. Your patch isn't wrong, but I must point out that
> the `soquiet` request is new to groff 1.23.0 (which isn't that new
> anymore--it was released in July 2023).
>
> > -.so man7/groff_man.7
> > +.soquiet man7/groff_man.7
I'm not yet convinced that this is beneficial. I'd like to first hear
Collin's opinion of my proposal of not following .so in man(1)
unnecessaily.
> If Alex applies this, it means the page redirection[1] will stop working
> _where it had been before_ for any systems using groff 1.22.4 or older.
Would it be possible to implement a .soquiet fallback as you did with
.MR in Debian?
> If Alex wants to make the Linux man-pages require groff 1.23.0 or later
> (there's been no subsequent release, but I'm working on it[2]), that's
> fine with me, but such a decision should be announced so that
> distributors of man-pages packages can judge whether they need/want to
> increment the versioning of their package dependencies accordingly.
Actually, this will happen sooner or later, and the exact date depends
more on you than me. MR.sed is coming eventually. :)
I'd prefer if Ingo would release a new version of mandoc(1) before that
happens, but I'm not going to wait forever. He told me he might release
around the end of 2025 or begining of 2026, but that it wasn't certain.
We'll see.
Have a lovely night!
Alex
> Regards,
> Branden
>
> [1] that's not really what it is, but let's pretend
> [2] https://savannah.gnu.org/bugs/?65099
--
<https://www.alejandro-colomar.es>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] man/man7/man.7: Don't warn if groff_man.7 is not installed
2025-12-09 23:18 ` Alejandro Colomar
@ 2025-12-17 19:01 ` G. Branden Robinson
0 siblings, 0 replies; 4+ messages in thread
From: G. Branden Robinson @ 2025-12-17 19:01 UTC (permalink / raw)
To: Alejandro Colomar; +Cc: Ash Holland, linux-man, Colin Watson, groff
[-- Attachment #1: Type: text/plain, Size: 4741 bytes --]
[looping in groff list due to musings on its development]
Hi Alex,
At 2025-12-10T00:18:32+0100, Alejandro Colomar wrote:
> On Tue, Dec 09, 2025 at 03:51:49PM -0600, G. Branden Robinson wrote:
> > I'm the GNU maintainer of groff and the author (instigator?) of the
> > `soquiet` request. Your patch isn't wrong, but I must point out
> > that the `soquiet` request is new to groff 1.23.0 (which isn't that
> > new anymore--it was released in July 2023).
> >
> > > -.so man7/groff_man.7
> > > +.soquiet man7/groff_man.7
>
> I'm not yet convinced that this is beneficial. I'd like to first hear
> [Colin]'s opinion of my proposal of not following .so in man(1)
> unnecessaily.
Colin with one ell. Watson != Funk. :)
> > If Alex applies this, it means the page redirection[1] will stop
> > working _where it had been before_ for any systems using groff
> > 1.22.4 or older.
>
> Would it be possible to implement a .soquiet fallback as you did with
> .MR in Debian?
Yes, but it would be ugly, because it would require bitwise arithmetic
on the value of the `.warn` register, to temporarily mask off the
position in this bit vector that enables warnings in category "file".
Since the *roff language doesn't have bitwise arithmetic operators, this
means manipulating large, mysterious integers.
https://www.gnu.org/software/groff/manual/groff.html.node/Warnings.html#Warnings
I've been taking examples of this sort of bit fiddling _out_ of groff's
corpus.
See, e.g., <https://savannah.gnu.org/bugs/?57583>.
Not long ago, I sketched a design for an extension to GNU troff syntax
for requests like `warn` and `cflags` that would enable greater
expressiveness.[1] If anyone ever gets around to implementing that, we
could retire the `soquiet` and `msoquiet` requests from the formatter
language, demoting them to "compatibility macros" in some "tmac" file
that would probably be loaded by default for one release, then not.
Because then you could simply say the following (and this is in fact
almost how I'd write `soquiet` as a macro).
.do nr saved-warn \n[.warn]
.do warn -file
.so man7/groff_man.7
.do warn \n[saved-warn]
This is even completely portable to AT&T troff.
(Maybe "compat124.tmac" would be automatically loaded by "troffrc" in
groff 1.25, but not in groff 1.26. But we'd keep shipping
"compat124.tmac" forever; as a side effect, this scheme would tend to
drive documents in the direction of either (1) keeping pace with
developments in the formatter, (2) declaring their demand for an old
version, or (3) using a "compatible subset of the language", as AT&T
troff documents largely already do when interpreted with GNU troff.)
All seem like sound practices to me, appropriate to different audiences.
Similarly, if we ever get the string iterator I've spent years grumbling
about,[2] a _whole bunch_ of string-related requests could move to such
a "compat" macro package, and a several contemplated new ones could be
implemented in a new auxiliary package, say, "string.tmac".[3]
> > If Alex wants to make the Linux man-pages require groff 1.23.0 or
> > later (there's been no subsequent release, but I'm working on
> > it[2]), that's fine with me, but such a decision should be announced
> > so that distributors of man-pages packages can judge whether they
> > need/want to increment the versioning of their package dependencies
> > accordingly.
>
> Actually, this will happen sooner or later, and the exact date depends
> more on you than me.
Yup, I've just got to learn how to document my inscrutable sed(1)
incantations to your satisfaction. ;-)
> MR.sed is coming eventually. :)
Aye, and I'll be a happy guy when it does.
> I'd prefer if Ingo would release a new version of mandoc(1) before
> that happens, but I'm not going to wait forever. He told me he might
> release around the end of 2025 or begining of 2026, but that it wasn't
> certain. We'll see.
Yeah, the landing of groff 1.23.0 in OpenBSD seems to be a bit stuck as
well. :(
https://github.com/ischwarze/groff-port/commits/1.23/
Part of the problem there is, I suspect, multiple disagreements between
Ingo and me over what constitutes a "regression" in groff. In my
opinion, he managed, in mandoc(1)'s test suite, to explore the *roff
language aggressively (that's a good thing), to the point that he
discovered undefined behavior. And also a perhaps under-appreciated
major difference in AT&T troff and GNU troff syntaxes.
Regards,
Branden
[1] https://lists.gnu.org/archive/html/groff/2025-12/msg00007.html
[2] https://savannah.gnu.org/bugs/?62264
[3] https://lists.gnu.org/archive/html/groff/2024-11/msg00044.html
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-12-17 19:01 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-09 21:38 [PATCH] man/man7/man.7: Don't warn if groff_man.7 is not installed Ash Holland
2025-12-09 21:51 ` G. Branden Robinson
2025-12-09 23:18 ` Alejandro Colomar
2025-12-17 19:01 ` G. Branden Robinson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox