Diff for /loncom/xml/lonxml.pm between versions 1.302 and 1.308

version 1.302, 2004/02/19 19:29:40 version 1.308, 2004/03/04 23:01:31
Line 409  sub latex_special_symbols { Line 409  sub latex_special_symbols {
  $string=~s/\~/\\char126 /g;   $string=~s/\~/\\char126 /g;
  #fixup & if it doesn't look like   #fixup & if it doesn't look like
         # { or α          # { 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/([^&\\])\#/$1\\#/g;
  $string=~s/\#\#/\#\\#/g;   $string=~s/\#\#/\#\\#/g;
  $string=~s/(\$|_|{|})/\\$1/g;   $string=~s/(\$|_|{|})/\\$1/g;
Line 750  sub init_safespace { Line 750  sub init_safespace {
   $safehole->wrap(\&Math::Random::random_set_seed_from_phrase,$safeeval,'&random_set_seed_from_phrase');    $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_get_seed,$safeeval,'&random_get_seed');
   $safehole->wrap(\&Math::Random::random_set_seed,$safeeval,'&random_set_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  #need to inspect this class of ops
 # $safeeval->deny(":base_orig");  # $safeeval->deny(":base_orig");
Line 760  sub init_safespace { Line 761  sub init_safespace {
   $safeinit .= ';$external::randomseed='.$rndseed.';';    $safeinit .= ';$external::randomseed='.$rndseed.';';
   &Apache::lonxml::debug("Setting rndseed to $rndseed");    &Apache::lonxml::debug("Setting rndseed to $rndseed");
   &Apache::run::run($safeinit,$safeeval);    &Apache::run::run($safeinit,$safeeval);
   
     my $subroutine=<<'EVALUATESUB';
   sub __LC_INTERNAL_EVALUATE__ {
       my ($__LC__a,$__LC__b,$__LC__c)=@_;
       my $__LC__prefix;
       while(1){
    { 
       use strict;
       no strict "vars";
       if (eval(defined(eval($__LC__a.$__LC__b)))) {
    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;
   }
   EVALUATESUB
       $safeeval->permit("require");
       $safeeval->reval($subroutine);
       $safeeval->deny("require");
 }  }
   
 sub default_homework_load {  sub default_homework_load {
Line 1135  sub inserteditinfo { Line 1158  sub inserteditinfo {
  'ed' => 'Edit');   'ed' => 'Edit');
       my $buttons=(<<BUTTONS);        my $buttons=(<<BUTTONS);
 $cleanbut  $cleanbut
 <input type="submit" name="savethisfile" value="$lt{'st'}" />  <input type="submit" name="savethisfile" accesskey="s"  value="$lt{'st'}" />
 <input type="submit" name="viewmode" value="$lt{'vi'}" />  <input type="submit" name="viewmode" accesskey="v" value="$lt{'vi'}" />
 BUTTONS  BUTTONS
       my $editfooter=(<<ENDFOOTER);        my $editfooter=(<<ENDFOOTER);
 <hr />  <hr />
Line 1310  sub error { Line 1333  sub error {
   if (($Apache::lonxml::debug eq 1) || ($ENV{'request.state'} eq 'construct') ) {    if (($Apache::lonxml::debug eq 1) || ($ENV{'request.state'} eq 'construct') ) {
     # If printing in construction space, put the error inside <pre></pre>      # If printing in construction space, put the error inside <pre></pre>
       $request->print($Apache::lonxml::warnings_error_header.        $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='';        $Apache::lonxml::warnings_error_header='';
   } else {    } else {
     $request->print("<b>An Error occured while processing this resource. The instructor has been notified.</b> <br />");      $request->print("<b>An Error occured while processing this resource. The instructor has been notified.</b> <br />");
Line 1326  sub error { Line 1349  sub error {
         "Error [$declutter]",join('<br />',@_));          "Error [$declutter]",join('<br />',@_));
       }        }
     }      }
   
     #FIXME probably shouldn't have me get everything forever.  
     &Apache::lonmsg::user_normal_msg('albertel','msu',"Error in $ENV{'request.filename'}",join('<br />',@_));  
     #&Apache::lonmsg::user_normal_msg('albertel','103',"Error in $ENV{'request.filename'}",$_[0]);  
   }    }
 }  }
   

Removed from v.1.302  
changed lines
  Added in v.1.308


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