Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pod2man loses =head2 starting ' or . #9320

Closed
p5pRT opened this issue May 9, 2008 · 6 comments
Closed

pod2man loses =head2 starting ' or . #9320

p5pRT opened this issue May 9, 2008 · 6 comments

Comments

@p5pRT
Copy link

p5pRT commented May 9, 2008

Migrated from rt.perl.org#53910 (status was 'resolved')

Searchable as RT53910$

@p5pRT
Copy link
Author

p5pRT commented May 9, 2008

From user42@zip.com.au

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.

Perl Info

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
    .



@p5pRT
Copy link
Author

p5pRT commented May 9, 2008

From user42@zip.com.au

=head2 'destroy' method

Some text.

=head2 .deb file handling

Some text.

@p5pRT
Copy link
Author

p5pRT commented May 9, 2008

From user42@zip.com.au

Man.pm.diff
--- Man.pm.old	2008-05-09 11:04:15.000000000 +1000
+++ Man.pm	2008-05-09 11:04:19.000000000 +1000
@@ -1312,7 +1312,7 @@
 .if t .Sp
 .ne 5
 .PP
-\fB\\$1\fR
+\&\fB\\$1\fR
 .PP
 ..
 .de Sp \" Vertical space (when we can't use .PP)

@p5pRT
Copy link
Author

p5pRT commented May 17, 2008

From p5p@spam.wizbit.be

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>&#8203;:140&#8203;: warning&#8203;: \`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

@p5pRT
Copy link
Author

p5pRT commented May 17, 2008

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented May 17, 2008

p5p@spam.wizbit.be - Status changed from 'open' to 'resolved'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant