Front page | perl.perl5.changes |
Postings from May 2012
[perl.git] branch blead, updated. v5.17.0-8-g83c03aa
From:
Father Chrysostomos
Date:
May 26, 2012 11:50
Subject:
[perl.git] branch blead, updated. v5.17.0-8-g83c03aa
Message ID:
E1SYM4M-0006C5-JG@camel.ams6.corp.booking.com
In perl.git, the branch blead has been updated
<http://perl5.git.perl.org/perl.git/commitdiff/83c03aa3e02c6caf08cbd40cd0ac1f82ce181d81?hp=1e2715d22e66475ff329a94f2876e71a68005a1b>
- Log -----------------------------------------------------------------
commit 83c03aa3e02c6caf08cbd40cd0ac1f82ce181d81
Author: Aristotle Pagaltzis <pagaltzis@gmx.de>
Date: Tue May 15 18:59:33 2012 +0200
rewrite installhtml's installdir dir scan logic
The code so far was riddled with copy-paste and hacks and incurred
redundant effort, including syscalls. Replaced with a skimmable and
parsimonious implementation.
M installhtml
commit 8de3880f558aa119a83ded6d8ccaaba20d587030
Author: Aristotle Pagaltzis <pagaltzis@gmx.de>
Date: Wed May 16 04:47:29 2012 +0200
turn some quasi-declarations into real inline ones
M installhtml
commit b1124ff0a4329772bd7fea18b2433d6fa39caa3d
Author: Aristotle Pagaltzis <pagaltzis@gmx.de>
Date: Tue May 15 18:59:31 2012 +0200
switch installhtml from File::Spec to ::Functions
The plan in the next commits is to use C<no_upwards> from File:::Spec to
be explicit about intent -- imported using File::Spec::Function to avoid
the ugly File::Spec class method calling convention. This patch would be
frivolous otherwise, but given the occasion we might as well make things
consistent.
M installhtml
-----------------------------------------------------------------------
Summary of changes:
installhtml | 42 +++++++++++++++++++++---------------------
1 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/installhtml b/installhtml
index 6375ced..75d6adc 100644
--- a/installhtml
+++ b/installhtml
@@ -4,7 +4,7 @@
use strict;
use Config; # for config options in the makefile
-use File::Spec;
+use File::Spec::Functions qw(rel2abs no_upwards);
use Getopt::Long; # for command-line parsing
use Cwd;
use Pod::Html 'anchorify';
@@ -362,8 +362,8 @@ sub split_on_item {
print "splitting files by item.\n" if $verbose && $#splititem >= 0;
$pwd = getcwd();
- my $splitter = File::Spec->rel2abs("$splitpod/splitpod", $pwd);
- my $perl = File::Spec->rel2abs($^X, $pwd);
+ my $splitter = rel2abs("$splitpod/splitpod", $pwd);
+ my $perl = rel2abs($^X, $pwd);
foreach my $pod (@splititem) {
# figure out the directory to split into
$pod =~ s,^([^/]*)$,/$1,;
@@ -485,34 +485,34 @@ sub splitpod {
#
sub installdir {
my($dir, $recurse, $podroot, $splitdirs, $ignore) = @_;
- my(@dirlist, @podlist, @pmlist, $doindex);
- @dirlist = (); # directories to recurse on
- @podlist = (); # .pod files to install
- @pmlist = (); # .pm files to install
+ my @dirlist; # directories to recurse on
+ my @podlist; # .pod files to install
+ my @pmlist; # .pm files to install
# should files in this directory get an index?
- $doindex = (grep($_ eq "$podroot/$dir", @$splitdirs) ? 0 : 1);
+ my $doindex = (grep($_ eq "$podroot/$dir", @$splitdirs) ? 0 : 1);
opendir(DIR, "$podroot/$dir")
|| die "$0: error opening directory $podroot/$dir: $!\n";
- # find the directories to recurse on
- @dirlist = map { if ($^O eq 'VMS') {/^(.*)\.dir$/i; "$dir/$1";} else {"$dir/$_";}}
- grep(-d "$podroot/$dir/$_" && !/^\.{1,2}/, readdir(DIR)) if $recurse;
- rewinddir(DIR);
-
- # find all the .pod files within the directory
- @podlist = map { /^(.*)\.pod$/; "$dir/$1" }
- grep(! -d "$podroot/$dir/$_" && /\.pod$/, readdir(DIR));
- rewinddir(DIR);
-
- # find all the .pm files within the directory
- @pmlist = map { /^(.*)\.pm$/; "$dir/$1" }
- grep(! -d "$podroot/$dir/$_" && /\.pm$/, readdir(DIR));
+ while(readdir DIR) {
+ no_upwards($_) or next;
+ my $is_dir = -d "$podroot/$dir/$_";
+ next if $is_dir and not $recurse;
+ my $target = (
+ $is_dir ? \@dirlist :
+ s/\.pod$// ? \@podlist :
+ s/\.pm$// ? \@pmlist :
+ undef
+ );
+ push @$target, "$dir/$_" if $target;
+ }
closedir(DIR);
+ if ($^O eq 'VMS') { s/\.dir$//i for @dirlist }
+
# recurse on all subdirectories we kept track of
foreach $dir (@dirlist) {
installdir($dir, $recurse, $podroot, $splitdirs, $ignore);
--
Perl5 Master Repository
-
[perl.git] branch blead, updated. v5.17.0-8-g83c03aa
by Father Chrysostomos