Brendan O'Dea <[EMAIL PROTECTED]> writes:
> On Tue, Mar 07, 2006 at 12:02:53AM -0800, Andrew Pimlott wrote:
>> This old bug just tripped me. It appears trivial to fix with this
>> patch. I don't know roff, but this seems to have the right effect, and
>> you notice the tip-off "bv" ("bar vertical", "box vertical"?). Someone
>> who knows roff could tell if this is the "right" fix (is tchrist still
>> active?), but this change seems harmless.
>>
>> --- /usr/share/perl/5.8.8/Pod/Man.pm 2006-03-07 00:01:39.000000000 -0800
>> +++ - 2006-03-07 00:02:16.902649000 -0800
>> @@ -74,11 +74,10 @@
>> ..
>> .\" Set up some character translations and predefined strings. \*(-- will
>> .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
>> -.\" double quote, and \*(R" will give a right double quote. | will give a
>> -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used
>> to
>> +.\" double quote, and \*(R" will give a right double quote.
>> +.\" \*(C+ will give a nicer C++. Capital omega is used to
>> .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
>> .\" expand to `' in nroff, nothing in troff, for use with C<>.
>> -.tr \(*W-|\(bv\*(Tr
>> .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
>> .ie n \{\
>> . ds -- \(*W-
> Russ Allbery maintains podlators now.
> This may well be fixed in the most recent version for cases of literal
> text (which I presume is the case you're trying to fix).
> Russ, similarly to "-" is literal text, should (is?) | now left
> unchanged?
\(bv is actually "bar vertical" not "box vertical"; see groff_char(7). I
don't know the original motivation for translating | into \(bv, but it's
been there for years, probably since Tom's original pod2man. I presume he
thought it was a good idea, at least at the time. However, that time was
before Unicode was even invented.
In the new Unicode world, I think molesting unsuspecting ASCII characters
is much less of a good idea than it originally was; back then, this sort
of transformation only affected the troff output, but now, you get Unicode
in man output. I think this patch is correct, and I'm going to apply it
upstream. Brendan, the Perl maintainers are still debating over whether
to include Pod::Simple and the new podlators in stable, so in the meantime
I'd just go ahead and apply this patch to the Debian Perl package.
I'm a little suspicious of the \*(W fiddling as well, but I'm not sure I
understand exactly why that's being done. The comment says that it's
turning \*(-- into an unbreakable dash, but I don't understand why that's
being done by outputting a Greek capital omega followed by a dash and then
using .tr to change the omega back to a dash. If anyone understands what
the motivation might be here, please explain it to me?
--
Russ Allbery ([EMAIL PROTECTED]) <http://www.eyrie.org/~eagle/>
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]