--- loncom/homework/response.pm	2019/10/23 22:35:22	1.244.2.2
+++ loncom/homework/response.pm	2024/10/29 03:29:30	1.244.2.5
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # various response type definitons response definition
 #
-# $Id: response.pm,v 1.244.2.2 2019/10/23 22:35:22 raeburn Exp $
+# $Id: response.pm,v 1.244.2.5 2024/10/29 03:29:30 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -468,8 +468,8 @@ sub end_customresponse {
 		$error = $award;
 		$award = 'ERROR';
 	    }
-            if (($award eq 'INCORRECT' || $award eq 'APPROX_ANS' ||
-                 $award eq 'EXACT_ANS')) {
+            if (($award eq 'INCORRECT') || ($award eq 'APPROX_ANS') ||
+                ($award eq 'EXACT_ANS') || ($award eq 'ASSIGNED_SCORE')) {
                 if ($Apache::lonhomework::type eq 'survey') {
                     $award='SUBMITTED';
                 } elsif ($Apache::lonhomework::type eq 'surveycred') {
@@ -766,7 +766,8 @@ sub start_responseparam {
 	}
     } elsif ($target eq 'grade' || $target eq 'answer' || $target eq 'web' ||
 	     $target eq 'tex' || $target eq 'analyze' ) {
-	if ($env{'request.state'} eq 'construct') {
+	if (($env{'request.state'} eq 'construct') ||
+	    ($env{'request.noversionuri'} =~ m{^\Q/res/adm/includes/templates/\E[^/]+\.problem$})) {
 	    my $name   =&Apache::lonxml::get_param('name',$parstack,$safeeval);
 	    my $default=&Apache::lonxml::get_param('default',$parstack,
 						     $safeeval);
@@ -797,7 +798,10 @@ sub reset_params {
 sub setup_params {
     my ($tag,$safeeval) = @_;
 
-    if ($env{'request.state'} eq 'construct') { return; }
+    if (($env{'request.state'} eq 'construct') ||
+        ($env{'request.noversionuri'} =~ m{^\Q/res/adm/includes/templates/\E[^/]+\.problem$})) {
+        return;
+    }
     my %paramlist=();
     foreach my $key (keys(%Apache::lonnet::packagetab)) {
 	if ($key =~ /^\Q$tag\E/) {
@@ -876,7 +880,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;