--- loncom/xml/run.pm	2003/06/09 21:37:54	1.37
+++ loncom/xml/run.pm	2003/10/01 21:34:53	1.41
@@ -1,6 +1,6 @@
 package Apache::run;
 #
-# $Id: run.pm,v 1.37 2003/06/09 21:37:54 albertel Exp $
+# $Id: run.pm,v 1.41 2003/10/01 21:34:53 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -38,7 +38,6 @@ ENDEVALUATE
 
 sub evaluate {
     my ($expression,$safeeval,$decls) = @_;
-    &Apache::lonxml::debug("got $expression and decls $decls");
     unless (defined($expression)) { return ''; }
     if ($Apache::lonxml::evaluate < 1) { return $expression; }
     my $result = '';
@@ -99,10 +98,18 @@ sub run {
 	    $error = 'Code ran too long. It ran for more than '.
 		Apache->request->server->timeout.' seconds';
 	}
-	&Apache::lonxml::error('<pre>'.&HTML::Entities::encode($error).' '.
-			       &HTML::Entities::encode($innererror).
-			       '</pre> occured while running <pre>'.
-			       &HTML::Entities::encode($code).'</pre>');
+	my $errormsg='<pre>'.&HTML::Entities::encode($error).' '.
+	    &HTML::Entities::encode($innererror).
+	    '</pre> occured while running <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') {
 	return $result[0];
@@ -131,7 +138,7 @@ sub dump {
 				$symname.'{$_} } sort keys %'.
 				$symname.')').")"
       }
-      if ($line ne '') { $dump.=&HTML::Entities::encode($line)."<br />\n"; }
+      if ($line ne '') { $dump.=&HTML::Entities::encode($line)."<br />"; }
     }
   }
   $dump.='';