--- loncom/xml/lonxml.pm	2013/09/22 02:41:23	1.531.2.11
+++ loncom/xml/lonxml.pm	2014/02/06 17:34:19	1.531.2.14
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # XML Parser Module 
 #
-# $Id: lonxml.pm,v 1.531.2.11 2013/09/22 02:41:23 raeburn Exp $
+# $Id: lonxml.pm,v 1.531.2.14 2014/02/06 17:34:19 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -144,7 +144,7 @@ $metamode = 0;
 # turns on and of run::evaluate actually derefencing var refs
 $evaluate = 1;
 
-# data structure for eidt mode, determines what tags can go into what other tags
+# data structure for edit mode, determines what tags can go into what other tags
 %insertlist=();
 
 # stores the list of active tag namespaces
@@ -400,8 +400,12 @@ sub xmlparse {
  &clean_safespace($safeeval);
 
  if (@script_var_displays) {
-     my $scriptoutput = join('',@script_var_displays);
-     $finaloutput=~s{(</body>\s*</html>)\s*$}{$scriptoutput$1}s;
+     if ($finaloutput =~ m{</body>\s*</html>\s*$}s) {
+         my $scriptoutput = join('',@script_var_displays);
+         $finaloutput=~s{(</body>\s*</html>)\s*$}{$scriptoutput$1}s;
+     } else {
+         $finaloutput .= join('',@script_var_displays);
+     }
      undef(@script_var_displays);
  }
  &init_state();
@@ -745,7 +749,7 @@ sub init_safespace {
   my ($target,$safeeval,$safehole,$safeinit) = @_;
   $safeeval->reval('use LaTeX::Table;');
   $safeeval->deny_only(':dangerous');
-  $safeeval->reval('use Math::Complex;');
+  $safeeval->reval('use LONCAPA::LCMathComplex;');
   $safeeval->permit_only(":default");
   $safeeval->permit("entereval");
   $safeeval->permit(":base_math");
@@ -1453,7 +1457,9 @@ sub do_registered_ssi {
 
 sub add_script_result {
     my ($display) = @_;
-    push(@script_var_displays, $display);
+    if ($display ne '') {
+        push(@script_var_displays, $display);
+    }
 }
 
 #
@@ -2376,7 +2382,7 @@ sub description {
 sub helpinfo {
     my ($token)=@_;
     my $tag = &get_tag($token);
-    return ($insertlist{$tag.'.helpfile'}, $insertlist{$tag.'.helpdesc'});
+    return ($insertlist{$tag.'.helpfile'}, &mt($insertlist{$tag.'.helpdesc'}));
 }
 
 sub get_tag {