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};
|