This patch fixes the following two probems:
- If the error message contains the word "at", everything
from that "at" to the end of the error is deleted.
- If a load_* function is defined, then the submit_*
functions get the value that load_* provides rather than
what was submitted.
This patch is against 1.6 on CPAN.
--
You are a mystery as deep as the sea; the more I search, the more
I find, and the more I find the more I search for you.
-- St. Catherine of Siena
*** PerForm.pm-1.6 Sat Dec 21 21:00:29 2002
--- PerForm.pm Sat Dec 21 20:58:39 2002
***************
*** 169,183 ****
};
$error = $@;
$ctxt->{_Failed}++ if $error;
! $error =~ s/ at .*? line \d+\.$//;
}
}
# load
! if (defined &{"${package}::load_${name}"}) {
$params->{$name.$index} = "${package}::load_${name}"->($ctxt, $default,
$params->{$name.$index}, $index);
}
! elsif (!$params->{'__submitting'}) {
$params->{$name.$index} = $default;
}
--- 169,183 ----
};
$error = $@;
$ctxt->{_Failed}++ if $error;
! $error =~ s/(.*) at .*? line \d+\.$/$1/;
}
}
# load
! elsif (defined &{"${package}::load_${name}"}) {
$params->{$name.$index} = "${package}::load_${name}"->($ctxt, $default,
$params->{$name.$index}, $index);
}
! else{
$params->{$name.$index} = $default;
}
***************
*** 287,292 ****
--- 287,293 ----
sub checkbox ($;$$$$) {
my ($name, $value, $checked, $label, $index) = @_;
my ($package) = caller;
+ $value = 1 unless $value;
no strict 'refs';
***************
*** 304,322 ****
};
$error = $@;
$ctxt->{_Failed}++ if $error;
! $error =~ s/ at .*? line \d+\.$//;
}
}
- $value = 1 unless $value;
-
# load
! if (defined &{"${package}::load_${name}"}) {
my @vals = "${package}::load_${name}"->($ctxt, $params->{$name.$index},
$index);
$checked = shift @vals;
$value = shift @vals if @vals;
}
! elsif ($params->{'__submitting'}) {
$checked = 1 if defined($params->{$name.$index});
}
--- 305,321 ----
};
$error = $@;
$ctxt->{_Failed}++ if $error;
! $error =~ s/(.*) at .*? line \d+\.$/$1/;
}
}
# load
! elsif (defined &{"${package}::load_${name}"}) {
my @vals = "${package}::load_${name}"->($ctxt, $params->{$name.$index},
$index);
$checked = shift @vals;
$value = shift @vals if @vals;
}
! else {
$checked = 1 if defined($params->{$name.$index});
}
***************
*** 378,392 ****
};
$error = $@;
$ctxt->{_Failed}++ if $error;
! $error =~ s/ at .*? line \d+\.$//;
}
}
# load
! if (defined &{"${package}::load_${name}"}) {
$params->{$name} = "${package}::load_${name}"->($ctxt, $value,
$params->{$name});
}
! elsif (!$params->{'__submitting'}) {
$params->{$name} = $value;
}
--- 377,391 ----
};
$error = $@;
$ctxt->{_Failed}++ if $error;
! $error =~ s/(.*) at .*? line \d+\.$/$1/;
}
}
# load
! elsif (defined &{"${package}::load_${name}"}) {
$params->{$name} = "${package}::load_${name}"->($ctxt, $value,
$params->{$name});
}
! else {
$params->{$name} = $value;
}
***************
*** 437,442 ****
--- 436,442 ----
my $params = $ctxt->{Form};
my $error;
+ my ($selected, @options);
# validate
if ($params->{'__submitting'}) {
***************
*** 446,458 ****
};
$error = $@;
$ctxt->{_Failed}++ if $error;
! $error =~ s/ at .*? line \d+\.$//;
}
}
# load
! my ($selected, @options);
! if (defined &{"${package}::load_${name}"}) {
($selected, @options) = "${package}::load_${name}"->($ctxt,
[$params->get($name)]);
}
--- 446,457 ----
};
$error = $@;
$ctxt->{_Failed}++ if $error;
! $error =~ s/(.*) at .*? line \d+\.$/$1/;
}
}
# load
! elsif (defined &{"${package}::load_${name}"}) {
($selected, @options) = "${package}::load_${name}"->($ctxt,
[$params->get($name)]);
}
***************
*** 502,516 ****
};
$error = $@;
$ctxt->{_Failed}++ if $error;
! $error =~ s/ at .*? line \d+\.$//;
}
}
# load
! if (defined &{"${package}::load_${name}"}) {
$params->{$name.$index} = "${package}::load_${name}"->($ctxt, $default,
$params->{$name,$index}, $index);
}
! elsif (!$params->{'__submitting'}) {
$params->{$name.$index} = $default;
}
--- 501,515 ----
};
$error = $@;
$ctxt->{_Failed}++ if $error;
! $error =~ s/(.*) at .*? line \d+\.$/$1/;
}
}
# load
! elsif (defined &{"${package}::load_${name}"}) {
$params->{$name.$index} = "${package}::load_${name}"->($ctxt, $default,
$params->{$name,$index}, $index);
}
! else {
$params->{$name.$index} = $default;
}
***************
*** 552,557 ****
--- 551,557 ----
my $params = $ctxt->{Form};
my $error;
+ my ($selected, @options);
# validate
if ($params->{'__submitting'}) {
***************
*** 561,573 ****
};
$error = $@;
$ctxt->{_Failed}++ if $error;
! $error =~ s/ at .*? line \d+\.$//;
}
}
# load
! my ($selected, @options);
! if (defined &{"${package}::load_${name}"}) {
($selected, @options) = "${package}::load_${name}"->($ctxt,
$params->{$name});
}
--- 561,572 ----
};
$error = $@;
$ctxt->{_Failed}++ if $error;
! $error =~ s/(.*) at .*? line \d+\.$/$1/;
}
}
# load
! elsif (defined &{"${package}::load_${name}"}) {
($selected, @options) = "${package}::load_${name}"->($ctxt,
$params->{$name});
}
***************
*** 616,630 ****
};
$error = $@;
$ctxt->{_Failed}++ if $error;
! $error =~ s/ at .*? line \d+\.$//;
}
}
# load
! if (defined &{"${package}::load_${name}"}) {
$params->{$name.$index} = "${package}::load_${name}"->($ctxt, $default,
$params->{$name.$index}, $index);
}
! elsif (!$params->{'__submitting'}) {
$params->{$name.$index} = $default;
}
--- 615,629 ----
};
$error = $@;
$ctxt->{_Failed}++ if $error;
! $error =~ s/(.*) at .*? line \d+\.$/$1/;
}
}
# load
! elsif (defined &{"${package}::load_${name}"}) {
$params->{$name.$index} = "${package}::load_${name}"->($ctxt, $default,
$params->{$name.$index}, $index);
}
! else {
$params->{$name.$index} = $default;
}
Diff finished at Sat Dec 21 21:00:43
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]