From: dpvc v. a. <we...@ma...> - 2005-06-16 15:34:24
|
Log Message: ----------- New flag showAllErrors for when a custom checker is supplied. This will cause all errors generated in the user's code to be reported (normally, messages from the Value and Parser packages are ignored). 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.46 retrieving revision 1.47 diff -Llib/Value/AnswerChecker.pm -Llib/Value/AnswerChecker.pm -u -r1.46 -r1.47 --- lib/Value/AnswerChecker.pm +++ lib/Value/AnswerChecker.pm @@ -161,7 +161,7 @@ my $self = shift; my $other = shift; my $ans = shift; return eval {$self == $other} unless ref($ans->{checker}) eq 'CODE'; my $equal = eval {&{$ans->{checker}}($self,$other,$ans)}; - if (!defined($equal) && $@ ne '' && !$$Value::context->{error}{flag}) { + if (!defined($equal) && $@ ne '' && (!$$Value::context->{error}{flag} || $ans->{showAllErrors})) { $$Value::context->setError("<I>An error occurred while checking your answer:</I>\n". '<DIV STYLE="margin-left:1em">'.$@.'</DIV>',''); $$Value::context->{error}{flag} = $CMP_ERROR; |