Hi Kristaps, >> when I run the following commands, the text "$c->uri" is fully >> underlined if the manual page is formatted with nroff. If the manual >> page is formatted with mandoc, only the text "->uri" is underlined. >> >> echo '=head3 $c->uri' | pod2man | nroff -man | less -R >> echo '=head3 $c->uri' | pod2man | mandoc | less -R > > Hi Andreas, > > The enclosed patch fixes this issue: since the 4.9 release, we've become > more strict. I've now added the correct magic for `\f(Cx' escapes as > dictated by groff(7) and your example works fine. This works very well. I've written a script that compares more than 350 manual pages and with this patch applied there are only few differences left. Here's one difference. mandoc doesn't underline "isn't". echo "=head3 What B Catalyst?" | pod2man | nroff -man | less -R echo "=head3 What B Catalyst?" | pod2man | mandoc | less -R And here's another difference. mandoc doesn't emphasise "STRING". Ignore the error message, that is appended to the output, because of the missing =over. echo "=item B>" | pod2man | nroff -man | less -R echo "=item B>" | pod2man | mandoc | less -R BTW, there's seems to be a bug in groff. Look at the way "is_level()" and "isLevelEnabled()" are underlined in the attached example. In groff's output the line stops at the quotation mark and not at the end of "level". pod2man Log4perl.pod | mandoc | less -R pod2man Log4perl.pod | nroff -man | less -R In 09_FormFu.pod the indented " C<...>" is wrapped differently. I don't know why that line is indented in the POD file. If the leading space is removed, groff and mandoc format the output identically. pod2man 09_FormFu.pod | nroff -man pod2man 09_FormFu.pod | mandoc sed 's/^ //' 09_FormFu.pod | pod2man | nroff -man sed 's/^ //' 09_FormFu.pod | pod2man | mandoc