--- loncom/xml/lonxml.pm	2004/02/26 23:39:03	1.303
+++ loncom/xml/lonxml.pm	2004/03/04 23:01:31	1.308
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # XML Parser Module 
 #
-# $Id: lonxml.pm,v 1.303 2004/02/26 23:39:03 albertel Exp $
+# $Id: lonxml.pm,v 1.308 2004/03/04 23:01:31 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -409,7 +409,7 @@ sub latex_special_symbols {
 	$string=~s/\~/\\char126 /g;
 	#fixup & if it doesn't look like
         # { or α
-	$string=~s/(&(?!((\#[0-9]+)|([a-z]+));))/\\$1/gi;
+	$string=~s/(&(?!((\#[0-9]+)|([a-z][a-z0-9]*));))/\\$1/gi;
         $string=~s/([^&\\])\#/$1\\#/g;
 	$string=~s/\#\#/\#\\#/g;
 	$string=~s/(\$|_|{|})/\\$1/g;
@@ -750,6 +750,7 @@ sub init_safespace {
   $safehole->wrap(\&Math::Random::random_set_seed_from_phrase,$safeeval,'&random_set_seed_from_phrase');
   $safehole->wrap(\&Math::Random::random_get_seed,$safeeval,'&random_get_seed');
   $safehole->wrap(\&Math::Random::random_set_seed,$safeeval,'&random_set_seed');
+  $safehole->wrap(\&Apache::lonxml::error,$safeeval,'&LONCAPA_INTERNAL_ERROR');
 
 #need to inspect this class of ops
 # $safeeval->deny(":base_orig");
@@ -765,18 +766,18 @@ sub init_safespace {
 sub __LC_INTERNAL_EVALUATE__ {
     my ($__LC__a,$__LC__b,$__LC__c)=@_;
     my $__LC__prefix;
-    my $__LC__msg;
     while(1){
 	{ 
 	    use strict;
+	    no strict "vars";
 	    if (eval(defined(eval($__LC__a.$__LC__b)))) {
-		return $__LC__msg.$__LC__prefix.eval($__LC__a.$__LC__b.$__LC__c);
+		return $__LC__prefix.eval($__LC__a.$__LC__b.$__LC__c);
 	    }
 	}
 	$__LC__prefix.=substr($__LC__a,0,1,"");
 	if ($__LC__a!~/^(\$|&|\#)/) { last; }
     }
-    return $__LC__prefix.$__LC__a.$__LC__b.$__LC__c.$__LC__msg;
+    return $__LC__prefix.$__LC__a.$__LC__b.$__LC__c;
 }
 EVALUATESUB
     $safeeval->permit("require");
@@ -1157,8 +1158,8 @@ sub inserteditinfo {
 					 'ed' => 'Edit');
       my $buttons=(<<BUTTONS);
 $cleanbut
-<input type="submit" name="savethisfile" value="$lt{'st'}" />
-<input type="submit" name="viewmode" value="$lt{'vi'}" />
+<input type="submit" name="savethisfile" accesskey="s"  value="$lt{'st'}" />
+<input type="submit" name="viewmode" accesskey="v" value="$lt{'vi'}" />
 BUTTONS
       my $editfooter=(<<ENDFOOTER);
 <hr />
@@ -1332,7 +1333,7 @@ sub error {
   if (($Apache::lonxml::debug eq 1) || ($ENV{'request.state'} eq 'construct') ) {
     # If printing in construction space, put the error inside <pre></pre>
       $request->print($Apache::lonxml::warnings_error_header.
-		      "<b>ERROR:</b>".join("\n",@_)."\n");
+		      "<b>ERROR:</b>".join("<br />\n",@_)."<br />\n");
       $Apache::lonxml::warnings_error_header='';
   } else {
     $request->print("<b>An Error occured while processing this resource. The instructor has been notified.</b> <br />");