From: dpvc v. a. <we...@ma...> - 2009-10-01 14:57:18
|
Log Message: ----------- Fix problem with processing lists where a constant answer produces a computation error Modified Files: -------------- pg/lib/Value: AnswerChecker.pm Revision Data ------------- Index: AnswerChecker.pm =================================================================== RCS file: /webwork/cvs/system/pg/lib/Value/AnswerChecker.pm,v retrieving revision 1.125 retrieving revision 1.126 diff -Llib/Value/AnswerChecker.pm -Llib/Value/AnswerChecker.pm -u -r1.125 -r1.126 --- lib/Value/AnswerChecker.pm +++ lib/Value/AnswerChecker.pm @@ -1330,9 +1330,9 @@ $sOpen = $student->{open}; $sClose = $student->{close}; } } + return if $ans->{split_error}; foreach my $x (@correct) {$x->{equation} = $self}; foreach my $x (@student) {$x->{equation} = $self}; - return if $ans->{split_error}; # # Check for parenthesis match # @@ -1510,13 +1510,9 @@ foreach my $entry (@entries) { my $v = Parser::Formula($entry); $v = Parser::Evaluate($v) if (defined($v) && $v->isConstant); + if (!defined($v)) {$ans->{split_error} = 1; $self->cmp_error($ans); return} $v->{equation} = $self; push(@formula,$v); - # - # There shouldn't be an error evaluating the formula, - # but you never know... - # - if (!defined($v)) {$ans->{split_error} = 1; $self->cmp_error; return} } return @formula; } @@ -1525,7 +1521,7 @@ # Return the value if it is defined, otherwise use a default # sub getOption { - my $ans = shift; my $name = shift; + my $ans = shift; my $name = shift; my $value = $ans->{$name}; return $value if defined($value); return $ans->{showPartialCorrectAnswers}; |