--- loncom/homework/chemresponse.pm 2005/02/18 05:37:42 1.47 +++ loncom/homework/chemresponse.pm 2005/02/22 21:33:27 1.49 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # chemical equation style response # -# $Id: chemresponse.pm,v 1.47 2005/02/18 05:37:42 albertel Exp $ +# $Id: chemresponse.pm,v 1.49 2005/02/22 21:33:27 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -85,7 +85,6 @@ JMESECTION Molecule Editor @@ -109,7 +107,7 @@ You have to enable Java and JavaScript o $molecule
-JME Editor courtesy of Peter Ertl, Novartis +JME Editor courtesy of Peter Ertl, Novartis

@@ -125,7 +123,7 @@ CHEMPAGE $body=~s/\n/ /g; my $docopen=&Apache::lonhtmlcommon::javascript_docopen(); my $result=< + CHEMINPUT return $result; } @@ -438,8 +436,14 @@ sub end_reactionresponse { sub start_chem { my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style) = @_; my $result = ''; + my $inside = &Apache::lonxml::get_all_text_unbalanced("/chem",$parser); if ($target eq 'tex' || $target eq 'web') { - &Apache::lonxml::startredirection(); + $inside=&Apache::run::evaluate($inside,$safeeval,$$parstack[-1]); + if (!$Apache::lonxml::default_homework_loaded) { + &Apache::lonxml::default_homework_load($safeeval); + } + @Apache::scripttag::parser_env = @_; + $result=&Apache::run::run("return &chemparse(q\0$inside\0);",$safeeval); } return $result; } @@ -447,14 +451,6 @@ sub start_chem { sub end_chem { my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style) = @_; my $result = ''; - if ($target eq 'tex' || $target eq 'web') { - @Apache::scripttag::parser_env = @_; - if (!$Apache::lonxml::default_homework_loaded) { - &Apache::lonxml::default_homework_load($safeeval); - } - my $innards=&Apache::lonxml::endredirection(); - $result=&Apache::run::run("return &chemparse(q\0$innards\0);",$safeeval); - } return $result; }