Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Perl: porters

[perl #53910] pod2man loses =head2 starting ' or .

 

 

Perl porters RSS feed   Index | Next | Previous | View Threaded


perlbug-followup at perl

May 8, 2008, 6:08 PM

Post #1 of 2 (112 views)
Permalink
[perl #53910] pod2man loses =head2 starting ' or .

# New Ticket Created by Kevin Ryde
# Please include the string: [perl #53910]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=53910 >


The file foo.pod below processed with

pod2man foo.pod | man -l -

produces

Some text.

Some text.

where I hoped it would include the two =head2 lines as headings.

I noticed this in the docs of Gtk2::Ex::DBI (from cpan) where the
"'destroy' method" subheading under the BUGS section doesn't come out.


I think the troff generated by pod2man ends up with the heading text at
the start of a line, so a leading . or ' is interpreted as a request.
Groff in compatibility mode ignores unknown requests apparently, but you
can see errors with say

pod2man foo.pod | groff -man >/dev/null

giving

<standard input>:140: warning: `destroy'' not defined (probable missing space after `de')
<standard input>:143: warning: `deb' not defined (probable missing space after `de')


I think pod2man's .Sh macro can avoid the problem with a \& zero-width
space, per diff below. This would be like what groff's .SH does (in
an-old.tmac).

Although .Sh has \fB as the start of the line, apparently troff, and
that includes groff in compatibility mode, will "see through" such a
font setting and consider what follows to still be at the start of the
line. The groff manual under "Implementation Differences" has a note on
that.


[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
category=core
severity=low
---
Site configuration information for perl 5.10.0:

Configured by Debian Project at Thu May 1 02:26:44 UTC 2008.

Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
Platform:
osname=linux, osvers=2.6.24.4, archname=i486-linux-gnu-thread-multi
uname='linux ninsei 2.6.24.4 #1 smp preempt fri apr 18 15:36:09 pdt 2008 i686 gnulinux '
config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=i486-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.10 -Darchlib=/usr/lib/perl/5.10 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.10.0 -Dsitearch=/usr/local/lib/perl/5.10.0 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib -Dlibperl=libperl.so.5.10.0 -Dd_dosuid -des'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=undef, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2 -g',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include'
ccversion='', gccversion='4.2.3 (Debian 4.2.3-3)', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib /usr/lib64
libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
perllibs=-ldl -lm -lpthread -lc -lcrypt
libc=/lib/libc-2.7.so, so=so, useshrplib=true, libperl=libperl.so.5.10.0
gnulibc_version='2.7'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib'

Locally applied patches:


---
@INC for perl 5.10.0:
/etc/perl
/usr/local/lib/perl/5.10.0
/usr/local/share/perl/5.10.0
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.10
/usr/share/perl/5.10
/usr/local/lib/site_perl
.
Attachments: foo.pod (75 B)
  Man.pm.diff (0.22 KB)


perlbug-followup at perl

May 17, 2008, 5:37 AM

Post #2 of 2 (79 views)
Permalink
[perl #53910] pod2man loses =head2 starting ' or . [In reply to]

On Thu May 08 18:08:42 2008, kryde wrote:
> The file foo.pod below processed with
>
> pod2man foo.pod | man -l -
>
> produces
>
> Some text.
>
> Some text.
>
> where I hoped it would include the two =head2 lines as headings.
>
> I noticed this in the docs of Gtk2::Ex::DBI (from cpan) where the
> "'destroy' method" subheading under the BUGS section doesn't come out.
>
>
> I think the troff generated by pod2man ends up with the heading text
> at
> the start of a line, so a leading . or ' is interpreted as a request.
> Groff in compatibility mode ignores unknown requests apparently, but
> you
> can see errors with say
>
> pod2man foo.pod | groff -man >/dev/null
>
> giving
>
> <standard input>:140: warning: `destroy'' not defined (probable
> missing space after `de')
> <standard input>:143: warning: `deb' not defined (probable
missing
> space after `de')
>
>
> I think pod2man's .Sh macro can avoid the problem with a \& zero-width
> space, per diff below. This would be like what groff's .SH does (in
> an-old.tmac).
>
> Although .Sh has \fB as the start of the line, apparently troff, and
> that includes groff in compatibility mode, will "see through" such a
> font setting and consider what follows to still be at the start of the
> line. The groff manual under "Implementation Differences" has a note
> on
> that.
>
>
> [Please do not change anything below this line]
> -----------------------------------------------------------------

Thank you for your bug report and patch.

If you have any further bug reports and/or patches with regards to
Pod::Man then please submit them to http://rt.cpan.org/Public/Dist/
Display.html?Name=podlators

Pod::Man is a dual-lived module meaning that it is both in the CORE and
on CPAN.
Maintance for these modules, normally, gets done on CPAN after which
they are synced with the core.

Your bug report and patch in the CPAN RT queue: http://rt.cpan.org/
Public/Bug/Display.html?id=35876


Kind regards,

Bram

Perl porters RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact lists@gossamer-threads.com
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.