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

pod2latex incorrectly handles index entries #12883

Closed
p5pRT opened this issue Mar 26, 2013 · 4 comments
Closed

pod2latex incorrectly handles index entries #12883

p5pRT opened this issue Mar 26, 2013 · 4 comments

Comments

@p5pRT
Copy link

p5pRT commented Mar 26, 2013

Migrated from rt.perl.org#117365 (status was 'rejected')

Searchable as RT117365$

@p5pRT
Copy link
Author

p5pRT commented Mar 26, 2013

From brian.samek@gmail.com

This is a bug report for perl from brian.samek@​gmail.com,
generated with the help of perlbug 1.39 running under perl 5.14.2.

pod2latex incorrectly handles index entries following \sections or
\subsections in Pod files, so some correctly formatted Pod files will
not compile to DVI or PDF from LaTeX. For example, the following will
produce an error​:

perldoc -u perlfaq4 > perlfaq4.pod
pod2latex -full perlfaq4.pod
latex perlfaq4.tex

Here is a minimal example that works​:

=head1 Heading
X<Foo>X<Bar>

Here is a minimal example of the structure in perlfaq4.pod that causes
the problem​:

=head1 Heading
X<Foo>
X<Bar>

When there is a new line between index entries, pod2latex nests the
index entries in the heading like this​:

\section{Heading
\index{Foo}

\index{Bar}\label{Heading_Foo_Bar}\index{Heading
Foo

Bar}}

However, in LaTeX it is not legal to start a new paragraph within a
\section or \subsection. LaTeX therefore throws the error, "Paragraph
ended before \@​[s]sect was complete."

If there are only a few index entries, they will be listed on the same
line following the \section or \subsection, so pod2latex will not create
a new paragraph within the \section or \subsection. But with a
sufficient number of index entries, they will be listed on multiple
lines, like those following the subsection "How do I find yesterday's
date?" in perlfaq4.pod.

\index entries should appear outside the closing brace for the prior
\section or \subsection.


Flags​:
  category=library
  severity=low
  module=Pod​::LaTeX


Site configuration information for perl 5.14.2​:

Configured by Debian Project at Mon Mar 18 19​:35​:03 UTC 2013.

Summary of my perl5 (revision 5 version 14 subversion 2) configuration​:
 
  Platform​:
  osname=linux, osvers=3.2.0-37-generic, archname=x86_64-linux-gnu-thread-multi
  uname='linux allspice 3.2.0-37-generic #58-ubuntu smp thu jan 24 15​:28​:10 utc 2013 x86_64 x86_64 x86_64 gnulinux '
  config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Dldflags= -Wl,-Bsymbolic-functions -Wl,-z,relro -Dlddlflags=-shared -Wl,-Bsymbolic-functions -Wl,-z,relro -Dcccdlflags=-fPIC -Darchname=x86_64-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.14 -Darchlib=/usr/lib/perl/5.14 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.14.2 -Dsitearch=/usr/local/lib/perl/5.14.2 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Duse64bitint -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -Ui_libutil -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib -Dlibperl=libperl.so.5.14.2 -des'
  hint=recommended, useposix=true, d_sigaction=define
  useithreads=define, usemultiplicity=define
  useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
  use64bitint=define, use64bitall=define, uselongdouble=undef
  usemymalloc=n, bincompat5005=undef
  Compiler​:
  cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -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 -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include'
  ccversion='', gccversion='4.7.2', gccosandvers=''
  intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
  d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
  ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
  alignbytes=8, prototype=define
  Linker and Libraries​:
  ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
  libpth=/usr/local/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /usr/lib
  libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
  perllibs=-ldl -lm -lpthread -lc -lcrypt
  libc=, so=so, useshrplib=true, libperl=libperl.so.5.14.2
  gnulibc_version='2.15'
  Dynamic Linking​:
  dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
  cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib -fstack-protector'

Locally applied patches​:
 


@​INC for perl 5.14.2​:
  /etc/perl
  /usr/local/lib/perl/5.14.2
  /usr/local/share/perl/5.14.2
  /usr/lib/perl5
  /usr/share/perl5
  /usr/lib/perl/5.14
  /usr/share/perl/5.14
  /usr/local/lib/site_perl
  .


Environment for perl 5.14.2​:
  HOME=/home/brian
  LANG=en_US.UTF-8
  LANGUAGE (unset)
  LD_LIBRARY_PATH (unset)
  LOGDIR (unset)
  PATH=/usr/lib/lightdm/lightdm​:/usr/local/sbin​:/usr/local/bin​:/usr/sbin​:/usr/bin​:/sbin​:/bin​:/usr/games​:/usr/local/games
  PERL_BADLANG (unset)
  SHELL=/bin/bash

@p5pRT
Copy link
Author

p5pRT commented Jul 4, 2014

From @jkeenan

On Tue Mar 26 09​:15​:25 2013, brian.samek@​gmail.com wrote​:

This is a bug report for perl from brian.samek@​gmail.com,
generated with the help of perlbug 1.39 running under perl 5.14.2.

pod2latex incorrectly handles index entries following \sections or
\subsections in Pod files, so some correctly formatted Pod files will
not compile to DVI or PDF from LaTeX. For example, the following will
produce an error​:

[snip]

As of Perl 5.019, Pod-LaTeX is no longer distributed with the Perl 5 core. So I have moved this bug report into that distribution's bug queue​: https://rt.cpan.org/Ticket/Display.html?id=96929.

Closing this particular ticket.

Thank you very much.
Jim Keenan

perldoc -u perlfaq4 > perlfaq4.pod
pod2latex -full perlfaq4.pod
latex perlfaq4.tex

Here is a minimal example that works​:

=head1 Heading
X<Foo>X<Bar>

Here is a minimal example of the structure in perlfaq4.pod that causes
the problem​:

=head1 Heading
X<Foo>
X<Bar>

When there is a new line between index entries, pod2latex nests the
index entries in the heading like this​:

\section{Heading
\index{Foo}

\index{Bar}\label{Heading_Foo_Bar}\index{Heading
Foo

Bar}}

However, in LaTeX it is not legal to start a new paragraph within a
\section or \subsection. LaTeX therefore throws the error, "Paragraph
ended before \@​[s]sect was complete."

If there are only a few index entries, they will be listed on the same
line following the \section or \subsection, so pod2latex will not
create
a new paragraph within the \section or \subsection. But with a
sufficient number of index entries, they will be listed on multiple
lines, like those following the subsection "How do I find yesterday's
date?" in perlfaq4.pod.

\index entries should appear outside the closing brace for the prior
\section or \subsection.

---
Flags​:
category=library
severity=low
module=Pod​::LaTeX
---
Site configuration information for perl 5.14.2​:

Configured by Debian Project at Mon Mar 18 19​:35​:03 UTC 2013.

Summary of my perl5 (revision 5 version 14 subversion 2)
configuration​:

Platform​:
osname=linux, osvers=3.2.0-37-generic, archname=x86_64-linux-gnu-
thread-multi
uname='linux allspice 3.2.0-37-generic #58-ubuntu smp thu jan 24
15​:28​:10 utc 2013 x86_64 x86_64 x86_64 gnulinux '
config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN
-D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector --param=ssp-buffer-size=4
-Wformat -Werror=format-security -Dldflags= -Wl,-Bsymbolic-functions
-Wl,-z,relro -Dlddlflags=-shared -Wl,-Bsymbolic-functions -Wl,-z,relro
-Dcccdlflags=-fPIC -Darchname=x86_64-linux-gnu -Dprefix=/usr
-Dprivlib=/usr/share/perl/5.14 -Darchlib=/usr/lib/perl/5.14
-Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5
-Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local
-Dsitelib=/usr/local/share/perl/5.14.2
-Dsitearch=/usr/local/lib/perl/5.14.2 -Dman1dir=/usr/share/man/man1
-Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1
-Dsiteman3dir=/usr/local/man/man3 -Duse64bitint -Dman1ext=1
-Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh
-Ud_ualarm -Uusesfio -Uusenm -Ui_libutil -DDEBUGGING=-g -Doptimize=-O2
-Duseshrplib -Dlibperl=libperl.so.5.14.2 -des'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler​:
cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-
protector -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 -fstack-protector
-fno-strict-aliasing -pipe -I/usr/local/include'
ccversion='', gccversion='4.7.2', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries​:
ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
libpth=/usr/local/lib /lib/x86_64-linux-gnu /lib/../lib
/usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /usr/lib
libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
perllibs=-ldl -lm -lpthread -lc -lcrypt
libc=, so=so, useshrplib=true, libperl=libperl.so.5.14.2
gnulibc_version='2.15'
Dynamic Linking​:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib -fstack-
protector'

Locally applied patches​:

---
@​INC for perl 5.14.2​:
/etc/perl
/usr/local/lib/perl/5.14.2
/usr/local/share/perl/5.14.2
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.14
/usr/share/perl/5.14
/usr/local/lib/site_perl
.

---
Environment for perl 5.14.2​:
HOME=/home/brian
LANG=en_US.UTF-8
LANGUAGE (unset)
LD_LIBRARY_PATH (unset)
LOGDIR (unset)
PATH=/usr/lib/lightdm/lightdm​:/usr/local/sbin​:/usr/local/bin​:/usr/sbin​:/usr/bin​:/sbin​:/bin​:/usr/games​:/usr/local/games
PERL_BADLANG (unset)
SHELL=/bin/bash

@p5pRT
Copy link
Author

p5pRT commented Jul 4, 2014

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

@p5pRT
Copy link
Author

p5pRT commented Jul 4, 2014

@jkeenan - Status changed from 'open' to 'rejected'

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