+  | +END
 
- +$heading+&print_html($left);
 
+print <<"END";
+ | END
 
-print `$updatecmd`;
+&print_html($title);
 
+print <<"END";
+ $heading+END
+
+print `$updatecmd >/dev/null 2>&1`;
+
 my(@modules) = split (/\s+/, $modulelist);
 
 foreach my $module (@modules) {
 
-    print "";
-    print "+
 
 
 
@@ -112,4 +186,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 +101,55 @@ 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 =~ /^([0-9]{4}-[0-9]{2}-[0-9]{2}.*?)\s+([^\s]+)$/) {
+                print "\n\n";
+                print HTML_encode($1);
+                print "\n";
+                print " commited by ";
+                print HTML_encode("$2");
+                print "\n\n"
+            }
+            elsif($line =~ /(\S+) (\(\S+\))([,:])/ || $line =~ /(\S+) (\(\S+,\s+\S+\))([,:])/) {
+                #chop $line;
+                my ($file, $rest, $ext) = ($1, $2, $3);
+                print " ";
+                print "";
+                print HTML_encode($file);
+                print " ";
+                if($rest =~ /\((\S+)\.(\d+)(.*)\)/) {
+                    my $newrev = "$1.$2";
+                    my $oldminver = $2-1;
+                    my $oldrev = "$1.$oldminver";
+                    if($2 != 1) {
+                        my $diff = ".diff?r1=$oldrev&r2=$newrev";
+                        print "(";
+                        print HTML_encode("$1.$2");
+                        print "";
+                        print HTML_encode("$3)");
+                    }
+                    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 +158,14 @@ foreach my $module (@modules) {
     print "
 |  \n\n";
 }
 
+&print_html($bottom);
+
 print <<"END";
 
+  
+ 
+ |