This is indeed true.
For more details, please consult

  http://www.openbsd.org/faq/ports/specialtopics.html#Mandoc

Some minor remarks:

Marc Espie wrote on Sun, Jan 09, 2011 at 05:43:40PM +0100:

> If you run into a port with a USE_GROFF, think twice before removing it!
> 
> If you remove it, then you depend on mandoc doing the right thing in
> replacing groff.  Which means showing a correct result for now,
> *and for later*.
> 
> There are constructs mandoc does not handle. There are constructs mandoc
> somewhat ignores, silently by default.

Actually, if mandoc ignores something silently (that is, not printing
an ERROR message when run as mandoc -Werror), and the result is that
relevant information is missing or the formatting is seriously garbled,
i consider that a bug in mandoc, at least an error reporting bug,
so i'm interested in reports about such problems.

But sure, there are still bugs in mandoc error detection.

> Before removing USE_GROFF, you definitely should try out mandoc -Wall
> *and read the errors and warnings*.

Actually, *in this context*, i.e. when deciding whether USE_GROFF
is needed, the WARNINGs should not matter - when a warning results
in relevant information loss or seriously garbled formatting, i tend
to consider that a bug in mandoc.

Thus, i consider running mandoc -Werror (or -Tlint -Werror) sufficient
for this purpose.  (And don't forget to manually check that the output
looks sane afterwards.)

Of course, even though that is not needed from a ports perspective,
you are welcome to use -Wall (equivalent to plain -Tlint) as well,
in particular in case you are working with upstream to improve mdoc(7)
code quality.  But just as with lint(1), don't follow complaints by
mandoc -Tlint blindly, make sure they indicate real problems.
mandoc -Tlint is certainly not perfect yet.

> When in doubt, check with Ingo. But if the result is not squeaky
> clean, there is a chance a future update of mandoc *will break the
> page*.  Hence the USE_GROFF...

Indeed; or even more probable, a future update of the port itself
may break the page.  If mandoc is only barely able to cope with
what you have now, chances are the upstream author might use yet
more fancy stuff in the next release...

Reply via email to