--- loncom/xml/lonxml.pm 2004/01/28 16:10:26 1.298 +++ loncom/xml/lonxml.pm 2004/02/06 20:59:50 1.301 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # XML Parser Module # -# $Id: lonxml.pm,v 1.298 2004/01/28 16:10:26 albertel Exp $ +# $Id: lonxml.pm,v 1.301 2004/02/06 20:59:50 sakharuk Exp $ # # Copyright Michigan State University Board of Trustees # @@ -405,12 +405,13 @@ sub latex_special_symbols { $string =~ s/_/ /g; } else { $string=~s/\\ /\\char92 /g; - $string=~s/\^/\\\^ /g; + $string=~s/\^/\\\^\\strut /g; $string=~s/\~/\\char126 /g; #fixup & if it doesn't look like # { or α $string=~s/(&(?!((\#[0-9]+)|([a-z]+));))/\\$1/gi; $string=~s/([^&])\#/$1\\#/g; + $string=~s/([^\\])\#/$1\\#/g; $string=~s/(\$|_|{|})/\\$1/g; $string=~s/\\char92 /\\texttt{\\char92}/g; $string=~s/(>|<)/\$$1\$/g; #more or less @@ -1296,19 +1297,23 @@ sub display_title { sub debug { if ($Apache::lonxml::debug eq "1") { $|=1; - Apache->request->print('DEBUG:'.&HTML::Entities::encode($_[0])."\n"); + my $request=$Apache::lonxml::request; + if (!$request) { $request=Apache->request; } + $request->print('
DEBUG:'.&HTML::Entities::encode($_[0])."
\n"); } } sub error { $errorcount++; + my $request=$Apache::lonxml::request; + if (!$request) { $request=Apache->request; } if (($Apache::lonxml::debug eq 1) || ($ENV{'request.state'} eq 'construct') ) { # If printing in construction space, put the error inside

-      print $Apache::lonxml::warnings_error_header.
-	  "ERROR:".join("\n",@_)."\n";
+      $request->print($Apache::lonxml::warnings_error_header.
+		      "ERROR:".join("\n",@_)."\n");
       $Apache::lonxml::warnings_error_header='';
   } else {
-    print "An Error occured while processing this resource. The instructor has been notified. 
"; + $request->print("An Error occured while processing this resource. The instructor has been notified.
"); #notify author &Apache::lonmsg::author_res_msg($ENV{'request.filename'},join('
',@_)); #notify course @@ -1333,8 +1338,10 @@ sub warning { if ($ENV{'form.grade_target'} ne 'tex') { if ($ENV{'request.state'} eq 'construct' || $Apache::lonxml::debug) { - print $Apache::lonxml::warnings_error_header. - "WARNING:".join('
',@_)."
\n"; + my $request=$Apache::lonxml::request; + if (!$request) { $request=Apache->request; } + $request->print($Apache::lonxml::warnings_error_header. + "WARNING:".join('
',@_)."
\n"); $Apache::lonxml::warnings_error_header=''; } }