--- loncom/xml/lonxml.pm	2003/10/11 21:06:11	1.285
+++ loncom/xml/lonxml.pm	2003/11/11 16:48:11	1.292
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # XML Parser Module 
 #
-# $Id: lonxml.pm,v 1.285 2003/10/11 21:06:11 www Exp $
+# $Id: lonxml.pm,v 1.292 2003/11/11 16:48:11 sakharuk Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -320,6 +320,7 @@ sub xmlparse {
  &Apache::inputtags::initialize_inputtags();
  &Apache::outputtags::initialize_outputtags();
  &Apache::edit::initialize_edit();
+ &Apache::londefdef::initialize_londefdef();
 
 #
 # do we have a course style file?
@@ -336,6 +337,13 @@ sub xmlparse {
                           &Apache::style::styleparser($target,$styletext));
        }
     }
+ } elsif ($ENV{'construct.style'} && ($ENV{'request.state'} eq 'construct')) {
+     my $location=&Apache::lonnet::filelocation('',$ENV{'construct.style'});
+     my $styletext=&Apache::lonnet::getfile($location);
+       if ($styletext ne '-1') {
+          %style_for_target = (%style_for_target,
+                          &Apache::style::styleparser($target,$styletext));
+      }
  }
 #&printalltags();
  my @pars = ();
@@ -394,7 +402,7 @@ sub latex_special_symbols {
 	$string =~ s/_/ /g;
     } else {
 	$string=~s/\\ /\\char92 /g;
-	$string=~s/\^/\\char94 /g;
+	$string=~s/\^/\\\^ /g;
 	$string=~s/\~/\\char126 /g;
 	$string=~s/(&[^A-Za-z\#])/\\$1/g;
 	$string=~s/([^&])\#/$1\\#/g;
@@ -658,6 +666,7 @@ sub init_safespace {
   $safeeval->permit("entereval");
   $safeeval->permit(":base_math");
   $safeeval->permit("sort");
+  $safeeval->permit("time");
   $safeeval->deny(":base_io");
   $safehole->wrap(\&Apache::scripttag::xmlparse,$safeeval,'&xmlparse');
   $safehole->wrap(\&Apache::outputtags::multipart,$safeeval,'&multipart');
@@ -1058,6 +1067,7 @@ ENDSCRIPT
 
 sub storefile {
     my ($file,$contents)=@_;
+    &Apache::lonnet::correct_line_ends(\$contents);
     if (my $fh=Apache::File->new('>'.$file)) {
 	print $fh $contents;
         $fh->close();