SYN SYN
[p5sagit/p5-mst-13.2.git] / lib / Pod / Html.pm
index 24d546d..f70a42b 100644 (file)
@@ -893,6 +893,10 @@ sub scan_dir {
            $pages{$_}  = "" unless defined $pages{$_};
            $pages{$_} .= "$dir/$_.pod:";
            push(@pods, "$dir/$_.pod");
+       } elsif (/\.html\z/) {                              # .html
+           s/\.html\z//;
+           $pages{$_}  = "" unless defined $pages{$_};
+           $pages{$_} .= "$dir/$_.pod:";
        } elsif (/\.pm\z/) {                                # .pm
            s/\.pm\z//;
            $pages{$_}  = "" unless defined $pages{$_};
@@ -1412,10 +1416,13 @@ sub process_text {
 
 sub process_text1($$;$$){
     my( $lev, $rstr, $func, $closing ) = @_;
-    $lev++ unless defined $func;
     my $res = '';
 
-    $func ||= '';
+    unless (defined $func) {
+       $func = '';
+       $lev++;
+    }
+
     if( $func eq 'B' ){
        # B<text> - boldface
        $res = '<STRONG>' . process_text1( $lev, $rstr ) . '</STRONG>';
@@ -1435,8 +1442,10 @@ sub process_text1($$;$$){
 
     } elsif( $func eq 'E' ){
        # E<x> - convert to character
-       $$rstr =~ s/^(\w+)>//;
-       $res = "&$1;";
+       $$rstr =~ s/^([^>]*)>//;
+       my $escape = $1;
+       $escape =~ s/^(\d+|X[\dA-F]+)$/#$1/i;
+       $res = "&$escape;";
 
     } elsif( $func eq 'F' ){
        # F<filename> - italizice
@@ -1625,7 +1634,7 @@ sub go_ahead($$$){
 #
 sub emit_C($;$$){
     my( $text, $nocode, $args ) = @_;
-    $args ||= '';
+    $args = '' unless defined $args;
     my $res;
     my( $url, $fid ) = coderef( undef(), $text );
 
@@ -1937,7 +1946,7 @@ sub depod1($;$$){
       $res .= $$rstr;
   } elsif( $func eq 'E' ){
       # E<x> - convert to character
-      $$rstr =~ s/^(\w+)>//;
+      $$rstr =~ s/^([^>]*)>//;
       $res .= $E2c{$1} || "";
   } elsif( $func eq 'X' ){
       # X<> - ignore