Diff for /loncom/xml/run.pm between versions 1.34 and 1.41

version 1.34, 2003/03/28 23:32:46 version 1.41, 2003/10/01 21:34:53
Line 49  sub evaluate { Line 49  sub evaluate {
     };      };
     my $innererror;      my $innererror;
     eval {      eval {
  alarm(Apache->request->server->timeout);   alarm($Apache::lonnet::perlvar{'lonScriptTimeout'});
  $safeeval->reval('{'.$decls.';$_=<<\'EXPRESSION\';'."\n".$expression.   $safeeval->reval('{'.$decls.';$_=<<\'EXPRESSION\';'."\n".$expression.
  "\n".'EXPRESSION'."\n".$EVALUATE_STRING.'}');   "\n".'EXPRESSION'."\n".$EVALUATE_STRING.'}');
  $innererror=$@;   $innererror=$@;
Line 87  sub run { Line 87  sub run {
     };      };
     my $innererror;      my $innererror;
     eval {      eval {
  alarm(Apache->request->server->timeout);   alarm($Apache::lonnet::perlvar{'lonScriptTimeout'});
  @result=$safeeval->reval($code);   @result=$safeeval->reval($code);
  $innererror=$@;   $innererror=$@;
  alarm(0);   alarm(0);
     };      };
     my $error=$@;      my $error=$@;
     &Apache::lonxml::debug("run got $@");  
     if (($Apache::run::timeout || $error ne '' || $innererror ne '') && !$hideerrors) {      if (($Apache::run::timeout || $error ne '' || $innererror ne '') && !$hideerrors) {
  if ($Apache::run::timeout) {   if ($Apache::run::timeout) {
     $error = 'Code ran too long. It ran for more than '.      $error = 'Code ran too long. It ran for more than '.
  Apache->request->server->timeout.' seconds';   Apache->request->server->timeout.' seconds';
  }   }
  &Apache::lonxml::error('<pre>'.&HTML::Entities::encode($error).' '.   my $errormsg='<pre>'.&HTML::Entities::encode($error).' '.
        &HTML::Entities::encode($innererror).      &HTML::Entities::encode($innererror).
        '</pre> occured while running <pre>'.      '</pre> occured while running <pre>';
        &HTML::Entities::encode($code).'</pre>');   $code=&HTML::Entities::encode($code);
    if ($innererror=~/line (\d+)/) {
       my $linenumber=$1;
       my @code=split("\n",$code);
       $code[$linenumber-1]='<b><font color="red">'.
    $code[$linenumber-1].'</font></b>';
       $code=join("\n",@code);
    }
    &Apache::lonxml::error($errormsg.$code.'</pre>');
     }      }
     if ( $#result < '1') {      if ( $#result < '1') {
  return $result[0];   return $result[0];
Line 131  sub dump { Line 138  sub dump {
  $symname.'{$_} } sort keys %'.   $symname.'{$_} } sort keys %'.
  $symname.')').")"   $symname.')').")"
       }        }
       if ($line ne '') { $dump.=&HTML::Entities::encode($line)."<br />\n"; }        if ($line ne '') { $dump.=&HTML::Entities::encode($line)."<br />"; }
     }      }
   }    }
   $dump.='';    $dump.='';

Removed from v.1.34  
changed lines
  Added in v.1.41


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>