
perlbug-followup at perl
May 27, 2012, 8:42 PM
Post #1 of 10
(133 views)
Permalink
|
|
[perl #113406] perldoc in 5.16.0 required groff upgrade but now misdisplays asterisks
|
|
# New Ticket Created by James E Keenan # Please include the string: [perl #113406] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=113406 > This is a bug report for perl from jkeenan [at] cpan, generated with the help of perlbug 1.39 running under perl 5.16.0. ----------------------------------------------------------------- [Please describe your issue here] I upgraded from Perl 5.12 or Perl 5.14 to Perl 5.16.0 on three machines in the last week: two Linux and one Darwin. As I began to use 'perldoc' on these machines, I noticed that warnings were being generated before the POD was formatted. These warnings reported that my version of 'groff' was out-of-date. Accordingly, I got the 'grotty' package from gnu.org and compiled, built and installed the code from source. ########## $ groff --version GNU groff version 1.21 Copyright (C) 2009 Free Software Foundation, Inc. GNU groff comes with ABSOLUTELY NO WARRANTY. You may redistribute copies of groff and its subprograms under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING. called subprograms: GNU grops (groff) version 1.21 GNU troff (groff) version 1.21 ######### Once I completed this upgrade, 'perldoc' worked without generating warnings. However, I now observe a regression in perldoc's performance. I (and others) have often written POD like this: ########## =head2 Comparing Two Lists Held in Arrays =over 4 =item * Given two lists: @Llist = qw(abel abel baker camera delta edward fargo golfer); @Rlist = qw(baker camera delta delta edward fargo golfer hilton); =item * ########## That is, POD where the '=item' directive is followed by a wordspace and an asterisk. Prior to 5.16.0 and the groff upgrade, perldoc always rendered this simply as an asterisk. Now, however, it's representing this as follows: ########## Comparing Two Lists Held in Arrays <C2><B7> Given two lists: @Llist = qw(abel abel baker camera delta edward fargo golfer); @Rlist = qw(baker camera delta delta edward fargo golfer hilton); <C2><B7> Get those items which appear at least once in both lists (their intersection). ########## That is, the '*' is being represented by 'perldoc' as '<C2><B7>'. To me, this is a regression. What is wrong and how can it be fixed? ########## [Please do not change anything below this line] ----------------------------------------------------------------- --- Flags: category=docs severity=medium --- Site configuration information for perl 5.16.0: Configured by jimk at Sun May 20 20:01:26 EDT 2012. Summary of my perl5 (revision 5 version 16 subversion 0) configuration: Platform: osname=darwin, osvers=8.11.0, archname=darwin-2level uname='darwin macintosh-8.local 8.11.0 darwin kernel version 8.11.0: wed oct 10 18:26:00 pdt 2007; root:xnu-792.24.17~1release_ppc power macintosh powerpc ' config_args='-des' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -I/usr/local/include -I/opt/local/include', optimize='-O3', cppflags='-fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -I/usr/local/include -I/opt/local/include' ccversion='', gccversion='4.0.1 (Apple Computer, Inc. build 5250)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags =' -L/usr/local/lib -L/opt/local/lib' libpth=/usr/local/lib /opt/local/lib /usr/lib libs=-ldbm -ldl -lm -lc perllibs=-ldl -lm -lc libc=, so=dylib, useshrplib=false, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags=' -bundle -undefined dynamic_lookup -L/usr/local/lib -L/opt/local/lib' Locally applied patches: --- @INC for perl 5.16.0: /usr/local/lib/perl5/site_perl/5.16.0/darwin-2level /usr/local/lib/perl5/site_perl/5.16.0 /usr/local/lib/perl5/5.16.0/darwin-2level /usr/local/lib/perl5/5.16.0 /usr/local/lib/perl5/site_perl/5.14.2 /usr/local/lib/perl5/site_perl/5.14.0 /usr/local/lib/perl5/site_perl/5.12.0 /usr/local/lib/perl5/site_perl/5.10.1 /usr/local/lib/perl5/site_perl/5.10.0 /usr/local/lib/perl5/site_perl . --- Environment for perl 5.16.0: DYLD_LIBRARY_PATH=/Users/jimk/work/pseudoinstall/lib:/Users/jimk/gitwork/parrot/blib/lib HOME=/Users/jimk LANG (unset) LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/usr/local/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/Users/jimk/bin:/Users/jimk/bin/perl:/Users/jimk/bin/c:/Users/jimk/bin/shell:/sw/lib:/sw/bin:/Users/jimk/bin:/Users/jimk/bin/perl:/Users/jimk/bin/c:/Users/jimk/bin/shell:/sw/lib:/sw/bin PERL_BADLANG (unset) SHELL=/bin/bash
|