develooper Front page | perl.perl5.porters | Postings from April 2003

Re: [PATCH 5.8.0 UTIL] Fix installhtml for splitting and PM/POD conflicts

Thread Previous | Thread Next
From:
Rafael Garcia-Suarez
Date:
April 1, 2003 14:44
Subject:
Re: [PATCH 5.8.0 UTIL] Fix installhtml for splitting and PM/POD conflicts
Message ID:
20030402004657.067dc716.rgarciasuarez@free.fr
Steve Hay wrote:
> The patch below fixes four bugs in the installhtml utility:

Thanks, applied as change #19128 to the development sources
of perl. The actual patch I applied is copied below, so you can
know what's the current state of installhtml -- you appear to be
the only one to propose a patch to it since 5.8.0 was released.
(If you want to grab the dev. version of perl, see the perlhack manpage)

I notice that the --splithead option, used by default for
perlipc.pod, doesn't appear to work correctly. Are you inclined
to take a look at it ? (it produces a perlipc/0.html file when
I do "make install.html").


Change 19128 by rgs@rgs-home on 2003/04/01 21:30:12

	Subject: [PATCH 5.8.0 UTIL] Fix installhtml for splitting and PM/POD conflicts
	From: Steve Hay <steve.hay@uk.radan.com>
	Date: Thu, 20 Mar 2003 12:34:15 +0000
	Message-ID: <3E79B547.6030201@uk.radan.com>
	(with a few minor tweaks)

Affected files ...

... //depot/perl/installhtml#20 edit

Differences ...

==== //depot/perl/installhtml#20 (xtext) ====

@@ -303,6 +303,7 @@
 
 sub create_index {
     my($html, $dir) = @_;
+    (my $pod = $dir) =~ s,^.*/,,;
     my(@files, @filedata, @index, $file);
     my($lcp1,$lcp2);
 
@@ -328,20 +329,21 @@
 	close(IN);
 
 	# pull out the NAME section
-  my $name;
-	($name) = grep(/NAME=/, @filedata);
-	($lcp1,$lcp2) = ($name =~ m,/H1>\s(\S+)\s[\s-]*(.*?)\s*$,sm);
-	if (defined $lcp1 and $lcp1 eq '<P>') { # Uninteresting.  Try again.
-	   ($lcp1,$lcp2) = ($name =~ m,/H1>\s<P>\s(\S+)\s[\s-]*(.*?)\s*$,sm);
+	my $name;
+	($name) = grep(/name="name"/i, @filedata);
+	($lcp1,$lcp2) = ($name =~ m,/H1>\s(\S+)\s[\s-]*(.*?)\s*$,smi);
+	if (defined $lcp1 and $lcp1 =~ m,^<P>$,i) { # Uninteresting.  Try again.
+	    ($lcp1,$lcp2) = ($name =~ m,/H1>\s<P>\s*(\S+)\s[\s-]*(.*?)\s*$,smi);
 	}
-	my $url= "$dir/$file" ;
+	my $url= "$pod/$file" ;
 	if ( ! defined $Options{htmlroot} || $Options{htmlroot} eq '' ) {
-	    $url = Pod::Html::relativize_url( "$dir/$file", $html ) ;
+	    $url = Pod::Html::relativize_url( "$pod/$file", $html ) ;
 	}
 
-	print HTML qq(<A HREF="$url">);
-	print HTML "<DT>$lcp1</A><DD>$lcp2\n" if defined $lcp1;
-#	print HTML qq(<A HREF="$url">$lcp1</A><BR>\n") if defined $lcp1;
+	if (defined $lcp1) {
+	    print HTML qq(<DT><A HREF="$url">);
+	    print HTML "$lcp1</A></DT><DD>$lcp2</DD>\n";
+	}
 
 	next;
 
@@ -350,7 +352,6 @@
 	for (@index) {
 	    s/<!-- INDEX BEGIN -->(\s*<!--)(.*)(-->\s*)<!-- INDEX END -->/$lcp2/s;
 	    s,#,$dir/$file#,g;
-	    # print HTML "$_\n";
 	    print HTML "$_\n<P><HR><P>\n";
 	}
     }
@@ -369,7 +370,7 @@
     foreach $pod (@splithead) {
 	# figure out the directory name and filename
 	$pod      =~ s,^([^/]*)$,/$1,;
-	$pod      =~ m,(.*?)/(.*?)(\.pod)?$,;
+	$pod      =~ m,(.*)/(.*?)(\.pod)?$,;
 	$dirname  = $1;
 	$filename = "$2.pod";
 
@@ -389,11 +390,11 @@
 
     print "splitting files by item.\n" if $verbose && $#splititem >= 0;
     $pwd = getcwd();
-	my $splitter = absolute_path($pwd, "$splitpod/splitpod");
+    my $splitter = absolute_path($pwd, "$splitpod/splitpod");
     foreach my $pod (@splititem) {
 	# figure out the directory to split into
 	$pod      =~ s,^([^/]*)$,/$1,;
-	$pod      =~ m,(.*?)/(.*?)(\.pod)?$,;
+	$pod      =~ m,(.*)/(.*?)(\.pod)?$,;
 	$dirname  = "$1/$2";
 	$filename = "$2.pod";
 
@@ -550,7 +551,7 @@
 	next if grep($_ eq "$podroot/$pod.pod", @$ignore);
 
 	# check if a .pm files exists too
-	if (grep($_ eq "$pod.pm", @pmlist)) {
+	if (grep($_ eq $pod, @pmlist)) {
 	    print  "$0: Warning both `$podroot/$pod.pod' and "
 		. "`$podroot/$pod.pm' exist, using pod\n";
 	    push(@ignore, "$pod.pm");
@@ -592,9 +593,7 @@
 
     # invoke pod2html
     print "$podroot/$pod => $htmldir/$html\n" if $verbose;
-#system("./pod2html",
-        Pod::Html'pod2html(
-        #Pod::Html'pod2html($pod2html,
+    Pod::Html::pod2html(
         "--htmldir=$htmldir",
 	"--htmlroot=$htmlroot",
 	"--podpath=".join(":", @podpath),
-- 
Unessential is not *NIX

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About