X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fpod2man.PL;h=a673ea127d2a3120ce19ea9ad546f0965ff0d09b;hb=3f4520fee5e3350893877859562bde5dfa18d3a8;hp=9d0ecc31bc15f55b522b7c0bc3efe15a0805bdef;hpb=39e216bc90d449c29ecedac1a04e0b8d579b806c;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/pod2man.PL b/pod/pod2man.PL index 9d0ecc3..a673ea1 100644 --- a/pod/pod2man.PL +++ b/pod/pod2man.PL @@ -318,7 +318,11 @@ $cutting = 1; # running an installed version of Perl to produce documentation from an # uninstalled newer version's pod files. if ($^O ne 'plan9' and $^O ne 'dos' and $^O ne 'os2' and $^O ne 'MSWin32') { - my $perl = (-x './perl') ? './perl' : ((-x '../perl') ? '../perl' : ''); + my $perl = (-x './perl' && -f './perl' ) ? + './perl' : + ((-x '../perl' && -f '../perl') ? + '../perl' : + ''); ($version,$patch) = `$perl -e 'print $]'` =~ /^(\d\.\d{3})(\d{2})?/ if $perl; } # No luck; we'll just go with the running Perl's version @@ -331,6 +335,7 @@ sub makedate { my $secs = shift; my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($secs); my $mname = (qw{Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec})[$mon]; + $year += 1900; return "$mday/$mname/$year"; } @@ -561,7 +566,7 @@ print <<'END'; END print <<"END"; -.TH $name $section "$RP" "$date" "$center" +.TH $name $section "$date" "$RP" "$center" .UC END @@ -673,8 +678,24 @@ $indent = 0; $begun = ""; -# Unrolling [^A-Z>]|[A-Z](?!<) gives: // MRE pp 165. -my $nonest = '(?:[^A-Z>]*(?:[A-Z](?!<)[^A-Z>]*)*)'; +# Unrolling [^-=A-Z>]|[A-Z](?!<)|[-=](?![A-Z]<)[\x00-\xFF] gives: // MRE pp 165. +my $nonest = q{(?x) # Turn on /x mode. + (?: # Group + [^-=A-Z>]* # Anything that isn't a dash, equal sign or + # closing hook isn't special. Eat as much as + # we can. + (?: # Group. + (?: # Group. + [-=] # We want to recognize -> and =>. + (?![A-Z]<) # So, as long as it isn't followed by markup + [\x00-\xFF] # anything may follow - and = + | + [A-Z] # Capitals are fine too, + (?!<) # But not if they start markup. + ) # End of special sequences. + [^-=A-Z>]* # Followed by zero or more non-special chars. + )* # And we can repeat this as often as we can. + )}; # That's all folks. while (<>) { if ($cutting) {