+  | +END
 
- +$heading+&print_html($left);
 
+print <<"END";
+ | END
 
+&print_html($title);
+
+print <<"END";
+ $heading+END
+
 print `$updatecmd`;
 
 my(@modules) = split (/\s+/, $modulelist);
 
 foreach my $module (@modules) {
 
-    print "";
-    print "+
 
 
 
@@ -112,4 +170,10 @@ sub HTML_encode ($){
     $encoded =~ s/</g;
     $encoded =~ s/>/>/g;
     return $encoded;
+}
+
+# Print a file without escaping HTML: -
+sub print_html ($) {
+    my ($filename) = @_;
+    print `cat $filename 2>&1`;
 }";
+    print "| $module module |  \n\n";
+    print "\n\n";
     print "| \n$module module\n |  | \n";
 
     my(@lines) = `$logcmd $module 2>&1`;
@@ -70,18 +94,46 @@ foreach my $module (@modules) {
     else {
         foreach my $line (@lines) {
 
-            if ($line =~ /^([0-9]{4}-[0-9]{2}-[0-9]{2}.*?)([^\s]+)$/) {
-                print "";
+            if ($line =~ /^([0-9]{4}-[0-9]{2}-[0-9]{2}.*?)\s+([^\s]+)\s+<([^\s]+)>$/) {
+                print "\n\n";
                 print HTML_encode($1);
-                print "";
-                print HTML_encode("by $2");
-                print ""
+                print "\n";
+                print " commited by ";
+                print HTML_encode("$2");
+                print "\n\n"
             }
+            elsif($line =~ /(\S+) (\(\S+\))([,:])/) {
+                #chop $line;
+                my ($file, $rest, $ext) = ($1, $2, $3);
+                print " ";
+                print "";
+                print HTML_encode($file);
+                print " ";
+                if($rest =~ /\((\S).(\S+)\)/) {
+                    my $newrev = "$1.$2";
+                    my $oldminver = $2-1;
+                    my $oldrev = "$1.$oldminver";
+                    if(!($1==1 && $2==1)) {
+                        my $diff = ".diff?r1=$oldrev&r2=$newrev";
+                        print "";
+                        print HTML_encode($rest);
+                        print "";
+                    }
+                    else {
+                        print HTML_encode($rest);
+                    }
+                }
+                else {
+                    print HTML_encode($rest);
+                }
+                print HTML_encode($ext);
+                print "\n"
+            }
             else {
                 chop $line;
                 print "
 ";
                 print HTML_encode($line);
-                print ""
+                print "
 \n"
             }
         }
     }
@@ -90,8 +142,14 @@ foreach my $module (@modules) {
     print "
 |  \n\n";
 }
 
+&print_html($bottom);
+
 print <<"END";
 
+  
+ 
+ |