--- loncom/interface/Attic/lonspreadsheet.pm 2002/06/08 15:27:06 1.91 +++ loncom/interface/Attic/lonspreadsheet.pm 2002/07/05 01:31:25 1.95 @@ -1,5 +1,5 @@ # -# $Id: lonspreadsheet.pm,v 1.91 2002/06/08 15:27:06 matthew Exp $ +# $Id: lonspreadsheet.pm,v 1.95 2002/07/05 01:31:25 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -106,6 +106,13 @@ my %courseopt; my %useropt; my %parmhash; +# +# Some hashes for stats on timing and performance +# + +my %starttimes; +my %usedtimes; + # Stuff that only the screen handler can know my $includedir; @@ -165,6 +172,10 @@ $cfn=''; $usymb=''; +# error messages + +$errormsg=''; + sub mask { my ($lower,$upper)=@_; @@ -820,28 +831,29 @@ sub sett { } sub calc { - %v=(); + undef %v; &sett(); my $notfinished=1; my $depth=0; + my $errormsg; while ($notfinished) { $notfinished=0; foreach (keys(%t)) { my $old=$v{$_}; $v{$_}=eval($t{$_}); if ($@) { - %v=(); - return $@; + $v{$_}='"error"'; + $errormsg.=$_.': '.$@."\n"; } if ($v{$_} ne $old) { $notfinished=1; } } $depth++; if ($depth>100) { - %v=(); + undef %v; return 'Maximum calculation depth exceeded'; } } - return ''; + return $errormsg; } sub templaterow { @@ -863,9 +875,11 @@ sub outrowassess { my @cols=(); if ($n) { my ($usy,$ufn)=split(/\_\_\&\&\&\_\_/,$f{'A'.$n}); + if ($rl{$usy}) { $cols[0]=$rl{$usy}.'
'. ' +
+ENDINSERTBUTTONS + # ------------------------------------------------------------- Print out sheet &outsheet($r,$asheet);