Follow-up Comment #7, bug #68708 (group groff): [comment #4 comment #4:] G. Branden Robinson wrote on Sun, Sep 20, 2026 at 11:39:27PM -0400: > Ingo Schwarze:
>> If any OpenBSD developer would use .No to request roman font, i would shoot
>> them on sight. Fortunately, people don't do that, the macro is used to
>> close a prior in-line macro scope.
> I see. How _sure_ you are that that's consistent with the 4.4BSD version of
> the mdoc package, and with groff mdoc?
schwarze@fantadrom $ cd /var/www/vhosts/man.bsd.lv/man/4.4BSD-Lite2/
schwarze@fantadrom $ grep -R '^\..*[. ]No\>' man* | less
I found only two examples where hyphenation would make sense:
man3/fts.3:
In this manual page, ``file'' and
.Dq Fa FTSENT No structure
are generally
interchangeable.
man3/funopen.3:
The
.Fn funopen
function
associates a stream with up to four
.Dq Tn I/O No functions .
But .Tn is obsolete, so today this would be just ".Dq I/O functions".
I found one example of horrible abuse:
man1/systat.1:
.No pseudo Ns -DMA
This should obviously be just a text line "pseudo-DMA", as it was before. I
have no idea why cael@ did this during the mdoc(7) v2 to v3 conversion, maybe
just a brainfart - it happens when doing large amounts of work quickly.
I found one example of mild abuse:
man4/tahoe/mem.4:
transfers with a
16-bit address (the offset in this region) and a
.Dq No non-privileged short Tn I/O
.Tn VERSAbus
address modifier.
Obviously, this should be just ".Dq non-privileged short ...".
I found one example of a markup mistake:
man1/mail.1:
.Nm mail
types
.Dq Li No applicable messages
and
aborts the command.
It appears "\&No" was forgotten during the conversion from man(7).
In conclusion, there is little evidence of .No being used to request roman
font even in 4.4BSD-Lite2, and almost no of any .No arguments where
hyphenation could make sense.
> Maybe some day you'll get to interview her again.
I appears Kristaps had an interview with her in 2026 (i forgot about that,
even though i dimly recall he mentioned to me that he wanted to do that).
Glad that you found it!
>> Sure, but an expression complicated enough to warrant .No in the middle
>> almost certainly doesn't want hyphenation in the middle, because it is
>> simply not running natural-language text, unless the .No macro is being
>> abused.
> Not sure I agree. It should be okay to hyphenate (both automatically, and at
> explicit hyphens), `Ar` arguments, because they are not literals.
That's a different discussion. Even if you think .Ar should be hyphenated, it
doesn't follow that .No should.
Personally, i don't like if groff breaks the line at hyphens in .Ar, for the
reasons of /-searchability mentioned by another poster. Then again, i
wouldn't report that as a bug against groff, rather regard it as a mildly
unwise choice. Automatic hyphenation in .Ar seems worse because it can
confuse the reader even more easily by not making it clear whether the hyphen
is part of the placeholder or merely inserted by automatic hyphenation. But
this is off-topic in this ticket.
> Readable except for the macro names, which sound like the Black Speech of
> Mordor.
More like the Black Speech of Murray Hill: chmod(1), cmp(1), cp(1), dc(1),
df(1), du(1), ed(1), ln(1), ls(1), mkdir(1), mv(1), nm(1), od(1), pr(1),
rm(1), su(1), wc(1), brk(2), creat(3), passwd(5), roff(7), ... and with a
smaller lexicon.
> I didn't get a solid read on Kirk. Given his fee-based CSRG archive service
> on CD-ROM, and his lecture fees, it seems he consistently keeps an eye turned
> to how he can monetize his expertise and personal history. That by itself is
> not evidence of very much.
You can't get rich on CD-ROMs that are only interesting for purely historical
purposes. His point clearly was to make historical sources available at a
time when large online resources weren't yet as common as they are today.
Clearly, you don't want to produce CD-ROMs and send them out for free, so i
assume the price was intended to recoup part of the manufacturing and maybe
assembling and management cost involved in the making.
Also, his lecture fees aways seemed modest to me. Trying to get rich on
teaching FreeBSD kernel internals wood seem like a rather dubious enterprise
to me.
I have met Kirk several times in person at conferences, and he always acted in
very kind and helpful ways.
> Interesting. groff man(7) and mdoc(7), of course, let the user control set
> that default indentation, if they desire.
$ man -O indent=40,width=60 man
works as expected with mandoc(1), too, but don't blame mandoc for how ugly the
result looks!
> Yes--I'm going to need such a resource if you don't want me to run an even
> greater risk of breaking groff/mandoc compatibility. This doesn't mean you
> have to prepare it; if you haven't by time I need it, I'll start making it
> myself.
Saying "your argument stands on its head" would go a bit far, but you do
represent it slightly sideways, i think.
Cynthia established the rules, and groff (Werner?) may or may not have
modified some of them - i never checked the history of scope reopening. I
simply took groff as the standard and re-implemented that in mandoc(1).
If you need help figuring out the rules that (Cynthia + groff) established,
also look at the mandoc test suite, i do remember writing several tests for
this particular detail, and i expect test suite coverage of this particular
point to be fairly complete, even though i did not re-check completeness right
now.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?68708>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature
