X-Git-Url: http://git.jankratochvil.net/?a=blobdiff_plain;f=Web.pm;h=c5c1ae9462f9679b29cabeec3bc291f56b4b9304;hb=00c99147e484912c0f0aed1243aebab117a7657c;hp=b542180f97521b7ba6cf4f2a511888246ee4ebea;hpb=10f756fe6ab500ff66f855688e3a753178ad80a7;p=MyWeb.git diff --git a/Web.pm b/Web.pm index b542180..c5c1ae9 100644 --- a/Web.pm +++ b/Web.pm @@ -144,7 +144,9 @@ my($class,%args)=@_; Wrequire 'My::Hash'; # $W={} can get somehow created very easily. - cluck "W not empty:\n".Dumper($W) if keys(%$W); + # Do not: cluck "W not empty:\n".Dumper($W) if keys(%$W); + # to prevent (of $W->{"headers_in"}): TODO: Enumeration may not be expected. + cluck "W not empty; __PACKAGE__ was: ".$W->{"__PACKAGE__"} if keys(%$W); $W=My::Hash->new({},"My::Hash::Sub","My::Hash::Push"); bless $W,$class; %$W=( @@ -304,7 +306,7 @@ sub exit_hook } sub exit_hook_start { - cluck "exit_hook_start() twice?" if defined $exit_orig; + do { cluck "exit_hook_start() twice?"; return; } if defined $exit_orig; $exit_orig=\&CORE::GLOBAL::exit; # Prevent: Subroutine CORE::GLOBAL::exit redefined no warnings 'redefine'; @@ -314,7 +316,8 @@ sub exit_hook_stop { do { cluck "exit_hook_stop() without exit_hook_start()?"; return; } if \&exit_hook ne \&CORE::GLOBAL::exit; - cluck "INTERNAL: exit_orig uninitialized" if !$exit_orig; + do { cluck "INTERNAL: exit_orig uninitialized"; return; } + if !$exit_orig; # Prevent: Subroutine CORE::GLOBAL::exit redefined no warnings 'redefine'; *CORE::GLOBAL::exit=$exit_orig; @@ -572,11 +575,17 @@ sub footer() cluck "Class file $file not found; tried: ".join(" ",@tried) if !$ext; } $file.=$ext; + my $viewcvs; + if ((my $file_cvs=$file)=~s{^My/}{}) { + $viewcvs=$W->{"viewcvs_My"}.$file_cvs; + } + else { + $viewcvs=$W->{"viewcvs"}.$file; + } $cvs_id_split[2]="" - .a_href((map({ my $s=$_; $s=~s#/viewcvs/#$&~checkout~/#; $s; } $W->{"viewcvs"}))[0]."$file?rev=".$cvs_id_split[2], + .a_href((map({ my $s=$_; $s=~s#/viewcvs/#$&~checkout~/#; $s; } $viewcvs))[0]."?rev=".$cvs_id_split[2], $cvs_id_split[2]); - $cvs_id_split[1]=a_href($W->{"viewcvs"}.$file, - ($package!~/^Apache2::/ ? $package : $cvs_id_split[1])); + $cvs_id_split[1]=a_href($viewcvs,($package!~/^Apache2::/ ? $package : $cvs_id_split[1])); $cvs_id_split[5]=&{$W->{"cvs_id_author_sub"}}($cvs_id_split[5]); } join " ",@cvs_id_split;