--- loncom/homework/response.pm 2024/07/02 00:40:42 1.244.2.4
+++ loncom/homework/response.pm 2024/10/29 03:22:10 1.250
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# various response type definitons response definition
#
-# $Id: response.pm,v 1.244.2.4 2024/07/02 00:40:42 raeburn Exp $
+# $Id: response.pm,v 1.250 2024/10/29 03:22:10 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -265,10 +265,15 @@ sub mandatory_part_meta {
}
sub meta_part_order {
+ my ($type) = @_;
if (@Apache::inputtags::partlist) {
my @parts=@Apache::inputtags::partlist;
- shift(@parts);
+ unless ($type eq 'library') {
+ shift(@parts);
+ }
return ''.join(',',@parts).''."\n";
+ } elsif ($type eq 'library') {
+ return ''."\n";
} else {
return '0'."\n";
}
@@ -880,7 +885,7 @@ sub answer_part {
if ($env{'form.answer_output_mode'} eq 'tex') {
if (!$args->{'no_verbatim'}) {
my $to_use='|';
- foreach my $value (32..126) {
+ foreach my $value (33..41,43..126) {
my $char=pack('c',$value);
if ($answer !~ /\Q$char\E/) {
$to_use=$char;
@@ -1348,7 +1353,7 @@ and all true values mean that they can't
a return of undef means it is unattempted
a return of 0 means it is both attempted and still has tries and
- is wrong or is only partially correct, and retries
+ is wrong or is only partially correct, and retries
are allowed.
a return of 1 means it is marked correct
a return of 2 means they have exceeded maximum number of tries
@@ -1369,7 +1374,7 @@ sub check_status {
return 3;
}
my $status=&Apache::lonnet::EXT("user.resource.resource.$id.solved");
- if ($status =~ /^correct/) {
+ if ($status =~ /^correct/) {
my $awarded=&Apache::lonnet::EXT("user.resource.resource.$id.awarded");
my $retrypartial=&Apache::lonnet::EXT("resource.$id.retrypartial");
unless (($retrypartial =~ /^1|on|yes$/) && ($awarded <1)) {