--- loncom/xml/lonxml.pm 2004/04/12 22:55:59 1.316 +++ loncom/xml/lonxml.pm 2004/05/27 04:25:13 1.319 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # XML Parser Module # -# $Id: lonxml.pm,v 1.316 2004/04/12 22:55:59 albertel Exp $ +# $Id: lonxml.pm,v 1.319 2004/05/27 04:25:13 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -460,7 +460,7 @@ sub inner_xmlparse { #clear out any tags that didn't end while ($token->[1] ne $$stack['-1'] && ($#$stack > -1)) { my $lasttag=$$stack[-1]; - if ($token->[1] =~ /^$lasttag$/i) { + if ($token->[1] =~ /^\Q$lasttag\E$/i) { &Apache::lonxml::warning('Using tag </'.$token->[1].'> on line '.$token->[3].' as end tag to <'.$$stack[-1].'>'); last; } else { @@ -524,6 +524,10 @@ sub inner_xmlparse { return $finaloutput; } +## +## Looks to see if there is a subroutine defined for this tag. If so, call it, +## otherwise do not call it as we do not know what it is. +## sub callsub { my ($sub,$target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; my $currentstring=''; @@ -556,6 +560,10 @@ sub callsub { $parstack,$parser,$safeeval, $style); } else { + if ($target eq 'tex') { + # throw away tag name + return ''; + } #&Apache::lonxml::debug("NOT Calling sub $sub in $space $metamode"); if ($metamode <1) { if (defined($token->[4]) && ($metamode < 1)) { @@ -735,7 +743,7 @@ sub init_safespace { my $rndseed; my ($symb,$courseid,$domain,$name) = &Apache::lonxml::whichuser(); $rndseed=&Apache::lonnet::rndseed($symb,$courseid,$domain,$name); - $safeinit .= ';$external::randomseed='.$rndseed.';'; + $safeinit .= ';$external::randomseed="'.$rndseed.'";'; &Apache::lonxml::debug("Setting rndseed to $rndseed"); &Apache::run::run($safeinit,$safeeval); @@ -1047,7 +1055,7 @@ sub afterburn { my $anchorname=$_; my $matchthis=$anchorname; $matchthis=~s/\_+/\\s\+/g; - $result=~s/($matchthis)/\$1\<\/font\>/gs; + $result=~s/(\Q$matchthis\E)/\$1\<\/font\>/gs; } } if ($ENV{'form.link'}) { @@ -1055,14 +1063,14 @@ sub afterburn { my ($anchorname,$linkurl)=split(/\>/,$_); my $matchthis=$anchorname; $matchthis=~s/\_+/\\s\+/g; - $result=~s/($matchthis)/\$1\<\/a\>/gs; + $result=~s/(\Q$matchthis\E)/\$1\<\/a\>/gs; } } if ($ENV{'form.anchor'}) { my $anchorname=$ENV{'form.anchor'}; my $matchthis=$anchorname; $matchthis=~s/\_+/\\s\+/g; - $result=~s/($matchthis)/\$1\<\/a\>/s; + $result=~s/(\Q$matchthis\E)/\$1\<\/a\>/s; $result.=(<<"ENDSCRIPT");