--- loncom/homework/response.pm	2004/10/15 16:22:25	1.106
+++ loncom/homework/response.pm	2004/11/08 19:20:13	1.109
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # various response type definitons response definition
 #
-# $Id: response.pm,v 1.106 2004/10/15 16:22:25 matthew Exp $
+# $Id: response.pm,v 1.109 2004/11/08 19:20:13 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -136,12 +136,17 @@ sub setrandomnumber {
 	my ($num1,$num2)=split(/\Q$char\E/,$rndseed);
 	$num1+=$rndmod;
 	$num2+=$rndmod;
+	if($Apache::lonnet::_64bit) { $num1=(($num1<<32)>>32); $num2=(($num2<<32)>>32); }
 	$rndseed=$num1.$char.$num2;
     } else {
 	$rndseed+=$rndmod;
+	if($Apache::lonnet::_64bit) {
+	    use integer;
+	    $rndseed=(($rndseed<<32)>>32);
+	}
     }
-    &Apache::lonnet::setup_random_from_rndseed($rndseed);
     &Apache::lonxml::debug("randseed $rndseed");
+    &Apache::lonnet::setup_random_from_rndseed($rndseed);
     return '';
 }
 
@@ -268,10 +273,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 +513,7 @@ sub showallfoils {
 	    return 1;
 	}
     }
+    if ($Apache::lonhomework::type eq 'survey') { return 1; }
     return 0;
 }