Front page | perl.perl5.porters |
Postings from March 2007
[perl #41691] [PATCH] v5.8.8 pod2html -- Convert RFC links to point ot IETF pages
From:
Jari Aalto
Date:
March 4, 2007 04:06
Subject:
[perl #41691] [PATCH] v5.8.8 pod2html -- Convert RFC links to point ot IETF pages
Message ID:
rt-3.6.HEAD-2051-1173009770-1464.41691-75-0@perl.org
# New Ticket Created by Jari Aalto
# Please include the string: [perl #41691]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=41691 >
This is a bug report for perl from jaalto@cante.cante.net,
generated with the help of perlbug 1.35 running under perl v5.8.8.
-----------------------------------------------------------------
[Please enter your report here]
The manual pages many times have references to the internet standards,
like
See RFC 822 and HTTP protocol RFC 2616
The following patch converts these to point to corresponding official
IETF pages.
Note, that this patch build on top of my previous patch titled:
"[perl #41687] perlbug AutoReply: [PATCH] v5.8.8 pod2html -- Add
--[no]fragmentuniq to support more readable <a name=..> refs"
=== modified file 'Html.pm'
--- Html.pm 2007-03-04 00:43:23 +0000
+++ Html.pm 2007-03-04 11:53:59 +0000
@@ -1538,10 +1538,29 @@
sub process_text {
return if $Ignore;
my( $tref ) = @_;
- my $res = process_text1( 0, $tref );
+ my $res;
+ $res = process_text1( 0, $tref );
$$tref = $res;
}
+sub process_text_rfc_links {
+ my $text = shift;
+
+ # For every "RFCnnnn" or "RFC nnn" link it to the authorative
+ # source. Do not use (i) option here. Require RFC to be written in
+ # in capital letters.
+
+ $text =~ s{
+ (?=^\S) # positive lookahead, make dure this is "text" paragraph
+ (.*?) # $1: Grab leading text
+ (?<=[^<>]) # Make sure this is not an URL already
+ (RFC\s*(\d{1,5}))\b # max 5 digits
+ }
+ {$1<a href="http://www.ietf.org/rfc/rfc$3.txt">$2</a>}gx;
+
+ $text;
+}
+
sub process_text1($$;$$){
my( $lev, $rstr, $func, $closing ) = @_;
my $res = '';
@@ -1730,6 +1749,8 @@
} else {
warn "$0: $Podfile: undelimited $func<> in paragraph $Paragraph.\n" unless $Quiet;
}
+
+ $res = process_text_rfc_links($res);
}
return $res;
}
[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
category=core
severity=low
---
Site configuration information for perl v5.8.8:
Configured by Debian Project at Wed Dec 6 23:17:41 UTC 2006.
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
Platform:
osname=linux, osvers=2.6.18.3, archname=i486-linux-gnu-thread-multi
uname='linux saens 2.6.18.3 #1 smp sat nov 25 13:39:52 est 2006 i686 gnulinux '
config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=i486-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.8 -Darchlib=/usr/lib/perl/5.8 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.8.8 -Dsitearch=/usr/local/lib/perl/5.8.8 -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 -Uusesfio -Uusenm -Duseshrplib -Dlibperl=libperl.so.5.8.8 -Dd_dosuid -des'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef 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 -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include'
ccversion='', gccversion='4.1.2 20061115 (prerelease) (Debian 4.1.1-20)', 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
libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
perllibs=-ldl -lm -lpthread -lc -lcrypt
libc=/lib/libc-2.3.6.so, so=so, useshrplib=true, libperl=libperl.so.5.8.8
gnulibc_version='2.3.6'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'
Locally applied patches:
---
@INC for perl v5.8.8:
/home/jaalto/var/lib/code/perl
/etc/perl
/usr/local/lib/perl/5.8.8
/usr/local/share/perl/5.8.8
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.8
/usr/share/perl/5.8
/usr/local/lib/site_perl
/usr/local/lib/perl/5.8.7
/usr/local/share/perl/5.8.7
/usr/local/lib/perl/5.8.4
/usr/local/share/perl/5.8.4
.
---
Environment for perl v5.8.8:
HOME=/home/jaalto
LANG (unset)
LANGUAGE (unset)
LC_ALL=en_US
LD_LIBRARY_PATH (unset)
LOGDIR (unset)
PATH=/usr/local/bin:/home/jaalto/var/link/bin:/sbin:/bin:/usr/bin:/usr/sbin:/usr/share/bin:/usr/bin/X11:/usr/games
PERL5LIB=/home/jaalto/var/lib/code/perl
PERL_BADLANG (unset)
SHELL=/bin/bash