--- loncom/homework/response.pm	2004/09/09 18:34:29	1.103
+++ loncom/homework/response.pm	2004/10/21 06:33:37	1.108
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # various response type definitons response definition
 #
-# $Id: response.pm,v 1.103 2004/09/09 18:34:29 albertel Exp $
+# $Id: response.pm,v 1.108 2004/10/21 06:33:37 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -268,10 +268,11 @@ sub handle_previous {
     if ($$previous{'used'} && ($$previous{'award'} eq $ad) ) {
 	if ($$previous{'last'}) {
 	    push(@Apache::inputtags::previous,'PREVIOUSLY_LAST');
-	} else {
+	    push(@Apache::inputtags::previous_version,$$previous{'version'});
+	} elsif ($Apache::lonhomework::type ne 'survey') {
 	    push(@Apache::inputtags::previous,'PREVIOUSLY_USED');
+	    push(@Apache::inputtags::previous_version,$$previous{'version'});
 	}
-	push(@Apache::inputtags::previous_version,$$previous{'version'});
     }
 }
 
@@ -507,6 +508,7 @@ sub showallfoils {
 	    return 1;
 	}
     }
+    if ($Apache::lonhomework::type eq 'survey') { return 1; }
     return 0;
 }
 
@@ -532,9 +534,11 @@ sub getresponse {
 	$Apache::lonhomework::results{"resource.$part.$id.scantron"}.=
 	    $response;
 	if ($resulttype ne 'letter') {
-	    $response = $let_to_num{$response};
-	} elsif ($resulttype ne 'A is 1') {
-	    $response = $let_to_num{$response}+1;
+	    if ($resulttype eq 'A is 1') {
+		$response = $let_to_num{$response}+1;
+	    } else {
+		$response = $let_to_num{$response};
+	    }
 	}
     } else {
 	$response = $ENV{$formparm};
@@ -644,7 +648,7 @@ sub analyze_store_foilgroup {
 sub check_if_computed {
     my ($token,$parstack,$safeeval,$name)=@_;
     my $value = &Apache::lonxml::get_param($name,$parstack,$safeeval);
-    if ($value ne $token->[2]{$name}) {
+    if (ref($token->[2]) eq 'HASH' && $value ne $token->[2]{$name}) {
 	my $part_id="$Apache::inputtags::part.$Apache::inputtags::response[-1]";
 	$Apache::lonhomework::analyze{"$part_id.answercomputed"} = 1;
     }