texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[7492] DocBook.pm avoid using normalized


From: gavinsmith0123
Subject: [7492] DocBook.pm avoid using normalized
Date: Wed, 2 Nov 2016 21:10:56 +0000 (UTC)

Revision: 7492
          http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=7492
Author:   gavin
Date:     2016-11-02 21:10:55 +0000 (Wed, 02 Nov 2016)
Log Message:
-----------
DocBook.pm avoid using normalized

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/tp/Texinfo/Convert/DocBook.pm

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog     2016-11-01 14:25:13 UTC (rev 7491)
+++ trunk/ChangeLog     2016-11-02 21:10:55 UTC (rev 7492)
@@ -1,3 +1,12 @@
+2016-11-02  Gavin Smith  <address@hidden>
+
+       * tp/Texinfo/Convert/DocBook.pm (_convert) <xref commands>: 
+       Instead of using 'normalized' value to see if the 
+       cross-reference refers to the "Top" node, convert the first 
+       argument to the command (into DocBook) and check if the 
+       resulting string is "Top".  Later on in function, re-use this
+       value for the contents of the <link> element.
+
 2016-11-01  Gavin Smith  <address@hidden>
 
        * tp/Texinfo/Structuring.pm (associate_internal_references): 

Modified: trunk/tp/Texinfo/Convert/DocBook.pm
===================================================================
--- trunk/tp/Texinfo/Convert/DocBook.pm 2016-11-01 14:25:13 UTC (rev 7491)
+++ trunk/tp/Texinfo/Convert/DocBook.pm 2016-11-02 21:10:55 UTC (rev 7492)
@@ -851,20 +851,36 @@
                 and 
defined($root->{'extra'}->{'brace_command_contents'}->[3])) {
               $manual_file_contents = 
$root->{'extra'}->{'brace_command_contents'}->[3];
             }
-            my $section_name_contents;
+            my ($section_name_contents, $section_name);
             if (defined($root->{'extra'}->{'brace_command_contents'}->[2])) {
               $section_name_contents 
                 = $root->{'extra'}->{'brace_command_contents'}->[2];
+              $section_name = $self->_convert(
+                     {'contents' => $section_name_contents});
             } elsif 
(defined($root->{'extra'}->{'brace_command_contents'}->[1])) {
               $section_name_contents
                 = $root->{'extra'}->{'brace_command_contents'}->[1];
-            } elsif (defined($root->{'extra'}->{'brace_command_contents'}->[0])
-                     and (!$book_contents 
-                          or 
$root->{'extra'}->{'node_argument'}->{'manual_content'}
-                          or 
$root->{'extra'}->{'node_argument'}->{'normalized'} ne 'Top')) {
+              $section_name = $self->_convert(
+                     {'contents' => $section_name_contents});
+            } elsif 
(defined($root->{'extra'}->{'brace_command_contents'}->[0])) {
               $section_name_contents
                 = $root->{'extra'}->{'brace_command_contents'}->[0];
+              $section_name = $self->_convert(
+                     {'contents' => $section_name_contents});
+
+               if ($book_contents
+                   and 
!$root->{'extra'}->{'node_argument'}->{'manual_content'}) {
+                 if ($section_name eq 'Top') {
+                   $section_name = undef;
+                   $section_name_contents = undef;
+                 }
+               }
+               # Note: it would be nice to re-use $section_name instead of
+               # having 'gdt' convert $section_name_contents again, but
+               # there isn't a good way to pass an already-converted string 
+               # into 'gdt'.
             }
+
             # external ref
             if ($book_contents or $manual_file_contents) {
               return '' if (!$book_contents);
@@ -907,8 +923,7 @@
                   and 
!$root->{'extra'}->{'node_argument'}->{'manual_content'}) {
                 $linkend = " 
linkend=\"$root->{'extra'}->{'node_argument'}->{'normalized'}\"";
               }
-              my $argument = "<link${linkend}>".$self->_convert({'contents' => 
-                        $section_name_contents}) ."</link>";
+              my $argument = "<link${linkend}>".$section_name."</link>";
               if ($root->{'cmdname'} eq 'ref') {
                 return $self->_convert(
                         $self->gdt('{title_ref}', {'title_ref' => 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]