texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: Format @*ref node out of main document to determi


From: Patrice Dumas
Subject: branch master updated: Format @*ref node out of main document to determine if quoted
Date: Fri, 14 Oct 2022 12:55:06 -0400

This is an automated email from the git hooks/post-receive script.

pertusus pushed a commit to branch master
in repository texinfo.

The following commit(s) were added to refs/heads/master by this push:
     new 67ffa6f016 Format @*ref node out of main document to determine if 
quoted
67ffa6f016 is described below

commit 67ffa6f0168b1299a4df0c2397b65673c4612fac
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Fri Oct 14 18:54:55 2022 +0200

    Format @*ref node out of main document to determine if quoted
    
    * tp/Texinfo/Convert/Info.pm (converter_line_warn)
    (converter_line_error), tp/Texinfo/Convert/Plaintext.pm
    (converter_line_warn, converter_line_error, _convert):
    add converter_line_warn and converter_line_error to intercept calls
    to line_warn and line_error in case a silent conversion is needed,
    with 'silent' set for converter.
    Convert the @*ref commands node outside of the main document
    formatting before converting the node normally, to determine if it
    needs to be quoted.
    
    * tp/Texinfo/Convert/Info.pm (add_text_to_count),
    tp/Texinfo/Convert/Plaintext.pm(add_text_to_count): rename
    add_text_count to add_text_to_count.
---
 ChangeLog                                          |  18 ++
 tp/Texinfo/Convert/Info.pm                         |  18 +-
 tp/Texinfo/Convert/Plaintext.pm                    | 169 ++++++++---------
 .../quote_node_names_info/res_info/nodequote.info  |   2 +-
 tp/t/results/info_tests/ref_tests.pl               |   2 +-
 tp/t/results/info_tests/xref_test.pl               |   8 +-
 .../res_plaintext/quote_node_names.txt             |   2 +-
 .../plaintext_tests/xref_quote_long_item.pl        |  15 +-
 .../res_parser/formatting_info/formatting.info     | 200 ++++++++++-----------
 9 files changed, 224 insertions(+), 210 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index d47607be33..376e98a517 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2022-10-14  Patrice Dumas  <pertusus@free.fr>
+
+       Format @*ref node out of main document to determine if quoted
+
+       * tp/Texinfo/Convert/Info.pm (converter_line_warn)
+       (converter_line_error), tp/Texinfo/Convert/Plaintext.pm
+       (converter_line_warn, converter_line_error, _convert):
+       add converter_line_warn and converter_line_error to intercept calls
+       to line_warn and line_error in case a silent conversion is needed,
+       with 'silent' set for converter.
+       Convert the @*ref commands node outside of the main document
+       formatting before converting the node normally, to determine if it
+       needs to be quoted.
+
+       * tp/Texinfo/Convert/Info.pm (add_text_to_count),
+       tp/Texinfo/Convert/Plaintext.pm(add_text_to_count): rename
+       add_text_count to add_text_to_count.
+
 2022-10-13  Patrice Dumas  <pertusus@free.fr>
 
        * tp/init/html32.pm: do not use &minus;, protect with
diff --git a/tp/Texinfo/Convert/Info.pm b/tp/Texinfo/Convert/Info.pm
index 6f96c425fc..e7af999855 100644
--- a/tp/Texinfo/Convert/Info.pm
+++ b/tp/Texinfo/Convert/Info.pm
@@ -265,7 +265,7 @@ sub output($)
     my ($label_text, $byte_count) = $self->node_line($label->{'root'});
 
     if ($seen_anchors{$label_text}) {
-      $self->line_error($self, sprintf(__("\@%s output more than once: %s"),
+      $self->converter_line_error($self, sprintf(__("\@%s output more than 
once: %s"),
           $label->{'root'}->{'cmdname'},
           Texinfo::Convert::Texinfo::convert_to_texinfo({'contents' =>
               $label->{'root'}->{'extra'}->{'node_content'}})),
@@ -420,7 +420,7 @@ sub format_error_outside_of_any_node($$)
   my $self = shift;
   my $element = shift;
   if (!$self->{'current_node'}) {
-    $self->line_warn($self,
+    $self->converter_line_warn($self,
          sprintf(__("\@%s outside of any node"),
                  $element->{'cmdname'}), $element->{'source_info'});
   }
@@ -436,7 +436,7 @@ sub format_node($$)
   return '' if (!defined($node->{'extra'}->{'node_content'}));
   if (!$self->{'empty_lines_count'}) {
     $result .= "\n";
-    $self->add_text_count("\n");
+    $self->add_text_to_count("\n");
     # if in the first node, complete the 'text_before_first_node' too.
     if (!$self->{'first_node_done'}) {
       $self->{'text_before_first_node'} .= "\n";
@@ -457,13 +457,13 @@ sub format_node($$)
   $self->add_location($node);
   my $node_begin = "\x{1F}\nFile: $output_filename,  Node: ";
   $result .= $node_begin;
-  $self->add_text_count($node_begin);
+  $self->add_text_to_count($node_begin);
   my ($node_text, $byte_count) = $self->node_line($node);
   my $pre_quote = '';
   my $post_quote = '';
   if ($node_text =~ /,/) {
     if ($self->{'info_special_chars_warning'}) {
-      $self->line_warn($self, sprintf(__(
+      $self->converter_line_warn($self, sprintf(__(
                  "\@node name should not contain `,': %s"), $node_text),
                                $node->{'source_info'});
     }
@@ -479,7 +479,7 @@ sub format_node($$)
     if ($node->{'structure'}->{'node_'.lc($direction)}) {
       my $node_direction = $node->{'structure'}->{'node_'.lc($direction)};
       my $text = ",  $direction: ";
-      $self->add_text_count($text);
+      $self->add_text_to_count($text);
       $result .= $text;
       if ($node_direction->{'extra'}->{'manual_content'}) {
         $result .= $self->convert_line({'type' => '_code',
@@ -499,7 +499,7 @@ sub format_node($$)
               # warn only for external nodes, internal nodes should already
               # trigger a warning when defined
               and $node_direction->{'extra'}->{'manual_content'}) {
-            $self->line_warn($self, sprintf(__(
+            $self->converter_line_warn($self, sprintf(__(
                  "\@node %s name should not contain `,': %s"),
                                            $direction, $node_text),
                              $node->{'source_info'});
@@ -515,12 +515,12 @@ sub format_node($$)
     } elsif ($direction eq 'Up' and $node->{'extra'}->{'normalized'} eq 'Top') 
{
       # add an up direction for Top node
       my $text = ",  $direction: ".$self->get_conf('TOP_NODE_UP');
-      $self->add_text_count($text);
+      $self->add_text_to_count($text);
       $result .= $text;
     }
   }
   $result .="\n\n";
-  $self->add_text_count("\n\n");
+  $self->add_text_to_count("\n\n");
   $self->{'count_context'}->[-1]->{'lines'} = 3;
   $self->{'empty_lines_count'} = 1;
 
diff --git a/tp/Texinfo/Convert/Plaintext.pm b/tp/Texinfo/Convert/Plaintext.pm
index 3ea00e00aa..9bcaa51b3d 100644
--- a/tp/Texinfo/Convert/Plaintext.pm
+++ b/tp/Texinfo/Convert/Plaintext.pm
@@ -737,6 +737,31 @@ sub new_formatter($$;$)
   return $formatter;
 }
 
+# intercept messages, in case some Texinfo is processed twice
+sub converter_line_warn($$$$)
+{
+  my $self = shift;
+  my $configuration_information = shift;
+  my $text = shift;
+  my $error_location_info = shift;
+
+  if (!$self->{'silent'}) {
+    $self->line_warn($configuration_information, $text, $error_location_info);
+  }
+}
+
+sub converter_line_error($$$$)
+{
+  my $self = shift;
+  my $configuration_information = shift;
+  my $text = shift;
+  my $error_location_info = shift;
+
+  if (!$self->{'silent'}) {
+    $self->line_error($configuration_information, $text, $error_location_info);
+  }
+}
+
 sub convert_line($$;$)
 {
   my ($self, $converted, $conf) = @_;
@@ -770,7 +795,7 @@ sub count_bytes($$)
                                       $self->{'output_perl_encoding'});
 }
 
-sub add_text_count($$)
+sub add_text_to_count($$)
 {
   my ($self, $text) = @_;
   if (!$self->{'count_context'}->[-1]->{'pending_text'}) {
@@ -787,7 +812,7 @@ sub _add_lines_count($$)
 
 # Update $SELF->{'count_context'}->[-1]->{'bytes'} by counting the text that
 # hasn't been counted yet.  It is faster to count the text all together than
-# piece by piece in add_text_count.
+# piece by piece in add_text_to_count.
 sub update_count_context($)
 {
   my $self = shift;
@@ -860,7 +885,7 @@ sub _add_newline_if_needed($) {
   my $self = shift;
   if (defined($self->{'empty_lines_count'}) 
        and $self->{'empty_lines_count'} == 0) {
-    add_text_count($self, "\n");
+    add_text_to_count($self, "\n");
     _add_lines_count($self, 1);
     $self->{'empty_lines_count'} = 1;
     return "\n";
@@ -909,7 +934,7 @@ sub process_footnotes($;$)
     if ($self->get_conf('footnotestyle') eq 'end' or !defined($element)) {
       my $footnotes_header = "   ---------- Footnotes ----------\n\n";
       $result .= $footnotes_header;
-      add_text_count($self, $footnotes_header);
+      add_text_to_count($self, $footnotes_header);
       _add_lines_count($self, 2);
       $self->{'empty_lines_count'} = 1;
     } else {
@@ -953,7 +978,7 @@ sub process_footnotes($;$)
       $result .= $footnote_text;
       $self->{'text_element_context'}->[-1]->{'counter'} +=
          Texinfo::Convert::Unicode::string_width($footnote_text);
-      add_text_count($self, $footnote_text);
+      add_text_to_count($self, $footnote_text);
       $self->{'empty_lines_count'} = 0;
 
       $result .= $self->_convert($footnote->{'root'}->{'args'}->[0]); 
@@ -1205,7 +1230,7 @@ sub _menu($$)
 
   if ($menu_command->{'cmdname'} eq 'menu') {
     my $result = "* Menu:\n\n";
-    add_text_count($self, $result);
+    add_text_to_count($self, $result);
     _add_lines_count($self, 2);
     if ($self->{'current_node'}) {
       $self->{'seenmenus'}->{$self->{'current_node'}} = 1;
@@ -1338,13 +1363,13 @@ sub process_printindex($$;$)
   if ($in_info) {
     my $info_printindex_magic = "\x{00}\x{08}[index\x{00}\x{08}]\n";
     $result .= $info_printindex_magic;
-    add_text_count($self, $info_printindex_magic);
+    add_text_to_count($self, $info_printindex_magic);
     _add_lines_count($self, 1);
   }
   my $heading = "* Menu:\n\n";
 
   $result .= $heading;
-  add_text_count($self, $heading);
+  add_text_to_count($self, $heading);
   _add_lines_count($self, 2);
 
   # this is used to count entries that are the same
@@ -1384,7 +1409,7 @@ sub process_printindex($$;$)
     # protected, however, as done below, such that : in the node are not
     # mistaken as being part of the index entry.
     if ($entry_text =~ /:/ and $self->get_conf('INDEX_SPECIAL_CHARS_WARNING')) 
{
-      $self->line_warn ($self,
+      $self->converter_line_warn ($self,
         sprintf(__("Index entry in \@%s with : produces invalid Info: %s"),
                 $entry->{'index_at_command'},
                 Texinfo::Convert::Texinfo::convert_to_texinfo($entry_tree)),
@@ -1397,17 +1422,17 @@ sub process_printindex($$;$)
     } else {
       $entry_counts{$entry_text}++;
       $entry_nr = ' <'.$entry_counts{$entry_text}.'>';
-      add_text_count($self, $entry_nr);
+      add_text_to_count($self, $entry_nr);
     }
     my $entry_line = "* $entry_text${entry_nr}: ";
-    add_text_count($self, "* ".": ");
+    add_text_to_count($self, "* ".": ");
     
     my $line_width = Texinfo::Convert::Unicode::string_width($entry_line);
     my $entry_line_addition = '';
     if ($line_width < $index_length_to_node) {
       my $spaces = ' ' x ($index_length_to_node - $line_width);
       $entry_line_addition .= $spaces;
-      add_text_count($self, $spaces);
+      add_text_to_count($self, $spaces);
     }
     my $node = $entry_nodes{$entry};
 
@@ -1431,7 +1456,7 @@ sub process_printindex($$;$)
       # done by the Parser.
       # Warn, only once.
       if (!$self->{'index_entries_no_node'}->{$entry}) {
-        $self->line_warn($self,
+        $self->converter_line_warn($self,
              sprintf(__("entry for index `%s' outside of any node"),
                         $index_name), 
$entry->{'entry_element'}->{'source_info'});
         $self->{'index_entries_no_node'}->{$entry} = 1;
@@ -1447,7 +1472,7 @@ sub process_printindex($$;$)
         if ($self->{'info_special_chars_warning'}) {
           # Warn only once
           if (! $self->{'index_entry_node_colon'}->{$node_line}) {
-            $self->line_warn($self, sprintf(__(
+            $self->converter_line_warn($self, sprintf(__(
              "node name with index entries should not contain `%s'"),
                                             $warned_char),
                            $node->{'source_info'});
@@ -1464,7 +1489,7 @@ sub process_printindex($$;$)
       $entry_line_addition .= $node_line;
     }
     $entry_line_addition .= '.';
-    add_text_count($self, '.');
+    add_text_to_count($self, '.');
 
     $entry_line .= $entry_line_addition;
     $result .= $entry_line;
@@ -1484,12 +1509,12 @@ sub process_printindex($$;$)
            . "$line_part\n";
     }
     _add_lines_count($self, 1);
-    add_text_count($self, $line_part);
+    add_text_to_count($self, $line_part);
     $result .= $line_part;
   }
 
   $result .= "\n"; 
-  add_text_count($self, "\n");
+  add_text_to_count($self, "\n");
   _add_lines_count($self, 1);
   
   return $result;
@@ -1537,7 +1562,7 @@ sub ensure_end_of_line($$)
   }
   $text .= "\n";
   $self->{'text_element_context'}->[-1]->{'counter'} = 0;
-  add_text_count($self, "\n");
+  add_text_to_count($self, "\n");
   _add_lines_count($self, 1);
   return $text;
 }
@@ -1556,7 +1581,7 @@ sub image_formatted_text($$$$)
       {'contents' => $element->{'args'}->[3]->{'contents'}},
       $self->{'convert_text_options'}) .']';
   } else {
-    $self->line_warn($self, sprintf(__(
+    $self->converter_line_warn($self, sprintf(__(
                     "could not find \@image file `%s.txt' nor alternate text"),
                              $basefile), $element->{'source_info'});
     $result = '['.$basefile.']';
@@ -1634,7 +1659,7 @@ sub _convert($$)
       # relevant to keep form feeds in other ignorable spaces.
       $result = _get_form_feeds($element->{'text'});
     }
-    add_text_count($self, $result);
+    add_text_to_count($self, $result);
     return $result;
   }
 
@@ -1650,7 +1675,7 @@ sub _convert($$)
       $result = "";
       if ($element->{'text'} =~ /\f/) {
         $result .= _get_form_feeds($element->{'text'});
-        add_text_count($self, $result);
+        add_text_to_count($self, $result);
       }
       $result .= _count_added($self, $formatter->{'container'},
                 add_text($formatter->{'container'}, "\n"));
@@ -1675,7 +1700,7 @@ sub _convert($$)
         return $result;
       # the following is only possible if paragraphindent is set to asis
       } elsif ($type and $type eq 'spaces_before_paragraph') {
-        add_text_count($self, $element->{'text'});
+        add_text_to_count($self, $element->{'text'});
         return $element->{'text'};
       # ignore text outside of any format, but warn if ignored text not empty
       } elsif ($element->{'text'} =~ /\S/) {
@@ -1930,7 +1955,7 @@ sub _convert($$)
              and $element->{'args'}->[0]->{'contents'}->[0]->{'text'} =~ 
/^Note\s/i
              and $self->{'converted_format'}
              and $self->{'converted_format'} eq 'info') {
-          $self->line_warn($self, __(
+          $self->converter_line_warn($self, __(
     "\@strong{Note...} produces a spurious cross-reference in Info; reword to 
avoid that"), 
                            $element->{'source_info'});
         }
@@ -1983,7 +2008,7 @@ sub _convert($$)
       add_next($formatter->{'container'},'');
       my ($image, $lines_count) = $self->format_image($element);
       _add_lines_count($self, $lines_count);
-      add_text_count($self, $image);
+      add_text_to_count($self, $image);
       if ($image ne '' and $formatter->{'type'} ne 'paragraph') {
         $self->{'empty_lines_count'} = 0;
       }
@@ -2182,7 +2207,7 @@ sub _convert($$)
           my $quoting_required = 0;
           if ($name_text_checked =~ /:/m) { 
             if ($self->{'info_special_chars_warning'}) {
-              $self->line_warn($self, sprintf(__(
+              $self->converter_line_warn($self, sprintf(__(
                  "\@%s cross-reference name should not contain `:'"),
                                        $command), $element->{'source_info'});
             }
@@ -2205,20 +2230,17 @@ sub _convert($$)
           $result .= _convert($self, {'contents' => $file});
         }
 
-        # node name
-        $self->{'formatters'}->[-1]->{'suppress_styles'} = 1;
-        my $maybe_file
-          = get_pending($self->{'formatters'}->[-1]->{'container'});
-        my $node_text = _convert($self, {'type' => '_code',
-                                         'contents' => $node_content});
-        delete $self->{'formatters'}->[-1]->{'suppress_styles'};
-
-        my $node_text_checked = $node_text
-           .get_pending($self->{'formatters'}->[-1]->{'container'});
-        $maybe_file =~ s/^\s*//;
-        $maybe_file = quotemeta $maybe_file;
-        $node_text_checked =~ s/^\s*$maybe_file//;
-        my $quoting_required = 0;
+        # format ref node argument outside of the document context to determine
+        # if it should be quoted
+        $self->{'silent'} = 0 if (!defined($self->{'silent'}));
+        $self->{'silent'}++;
+        push @{$self->{'count_context'}}, {'lines' => 0, 'bytes' => 0};
+        my $node_line_name = $self->convert_line({'type' => '_code',
+                                         'contents' => $node_content},
+                                       {'suppress_styles' => 1,
+                                         'no_added_eol' => 1});
+        pop @{$self->{'count_context'}};
+        $self->{'silent'}--;
 
         my $check_chars;
         if ($name) {
@@ -2227,9 +2249,10 @@ sub _convert($$)
           $check_chars = quotemeta ":";
         }
 
-        if ($node_text_checked =~ /([$check_chars])/m){
+        my $quoting_required = 0;
+        if ($node_line_name =~ /([$check_chars])/m) {
           if ($self->{'info_special_chars_warning'}) {
-            $self->line_warn($self, sprintf(__(
+            $self->converter_line_warn($self, sprintf(__(
                "\@%s node name should not contain `%s'"), $command, $1),
                              $element->{'source_info'});
           }
@@ -2237,9 +2260,22 @@ sub _convert($$)
             $quoting_required = 1;
           }
         }
+
         my $pre_quote = $quoting_required ? "\x{7f}" : '';
         my $post_quote = $pre_quote;
 
+        # node name
+        my $node_text = '';
+        $node_text .= _count_added($self,
+          $self->{'formatters'}[-1]{'container'},
+          add_next($self->{'formatters'}->[-1]->{'container'}, $pre_quote))
+               if $pre_quote;
+
+        $self->{'formatters'}->[-1]->{'suppress_styles'} = 1;
+        $node_text .= _convert($self, {'type' => '_code',
+                                         'contents' => $node_content});
+        delete $self->{'formatters'}->[-1]->{'suppress_styles'};
+
         $node_text .= _count_added($self,
           $self->{'formatters'}[-1]{'container'},
           add_next($self->{'formatters'}->[-1]->{'container'}, $post_quote))
@@ -2251,42 +2287,15 @@ sub _convert($$)
             add_next($self->{'formatters'}->[-1]->{'container'}, '::'));
         }
 
-        my $following = '';
-        my $maybe_leading
-          = get_pending($self->{'formatters'}->[-1]->{'container'});
-
-        if ($pre_quote) {
-          # Try to output enough that the node name is output so we can
-          # insert $pre_quote before it.
-          # We could use add_pending_word, but this could lead to
-          # the line being broken too late.
-          my $next = $self->{'current_contents'}->[-1]->[0];
-          if ($next) {
-            $following = _convert($self, $next);
-            $node_text .= $following;
-            shift @{$self->{'current_contents'}->[-1]};
-          }
-
-          $node_text =~ s/(^(\s*$maybe_file\s*))/$1$pre_quote/;
-          _count_added($self,$self->{'formatters'}[-1]{'container'},
-                       $pre_quote);
-        }
         $result .= $node_text;
 
-        # Check if punctuation follows the ref command.  If we converted
-        # past the ref command, check if the excess starts with one of the
-        # characters.  Do this by stripping off the leading text that
-        # contains the output from the ref command.
+        # Check if punctuation follows the ref command.
         #
         # FIXME: is @xref really special here?  Original comment:
         # "If command is @xref, the punctuation must always follow the
         # command, for other commands it may be in the argument..."
 
-        $following .= get_pending($self->{'formatters'}->[-1]->{'container'});
-        $maybe_leading = quotemeta $maybe_leading;
-        $following =~ s/^$maybe_leading//;
-
-        if ($name and $following !~ /^[\.,]/) {
+        if ($name) {
           my $next = $self->{'current_contents'}->[-1]->[0];
           if (!($next and $next->{'text'} and $next->{'text'} =~ /^[\.,]/)) {
             if ($command eq 'xref') {
@@ -2294,11 +2303,11 @@ sub _convert($$)
                 my $text = $next->{'text'};
                 $text =~ s/^\s*//;
                 my $char = substr($text, 0, 1);
-                $self->line_warn($self, sprintf(__(
+                $self->converter_line_warn($self, sprintf(__(
                             "`.' or `,' must follow \@xref, not %s"),
                                          $char), $element->{'source_info'});
               } else {
-                $self->line_warn($self,
+                $self->converter_line_warn($self,
                            __("`.' or `,' must follow \@xref"),
                                  $element->{'source_info'});
               }
@@ -2396,7 +2405,7 @@ sub _convert($$)
           ($self->{'format_context'}->[-1]->{'indent_level'}) * 
$indent_length);
       $result =~ s/\n$//; # final newline has its own tree element
       $self->{'empty_lines_count'} = 0 unless ($result eq '');
-      add_text_count($self, $result);
+      add_text_to_count($self, $result);
       _add_lines_count($self, 1);
       return $result;
 
@@ -2585,7 +2594,7 @@ sub _convert($$)
                                            * $indent_length);
         $result .= _add_newline_if_needed($self);
         $self->{'empty_lines_count'} = 0 unless ($heading_underlined eq '');
-        add_text_count($self, $heading_underlined);
+        add_text_to_count($self, $heading_underlined);
         $result .= $heading_underlined;
         if ($heading_underlined ne '') {
           _add_lines_count($self, 2);
@@ -2789,7 +2798,7 @@ sub _convert($$)
         pop @{$self->{'count_context'}};
       }
       $self->{'format_context'}->[-1]->{'paragraph_count'}++;
-      add_text_count($self, $result);
+      add_text_to_count($self, $result);
       _add_lines_count($self, $lines_count);
       return $result;
     } elsif ($command eq 'sp') {
@@ -2815,7 +2824,7 @@ sub _convert($$)
             = 
$self->format_contents($self->{'structuring'}->{'sectioning_root'}, 
                               'contents');
         _add_lines_count($self, $lines_count);
-        add_text_count($self, $result);
+        add_text_to_count($self, $result);
       }
       return $result;
     } elsif ($command eq 'shortcontents' 
@@ -2827,7 +2836,7 @@ sub _convert($$)
               = 
$self->format_contents($self->{'structuring'}->{'sectioning_root'}, 
                               'shortcontents');
         _add_lines_count($self, $lines_count);
-        add_text_count($self, $result);
+        add_text_to_count($self, $result);
       }
       return $result;
     # all the @-commands that have an information for the formatting, like
@@ -3135,7 +3144,7 @@ sub _convert($$)
           if ($entry_name_seen) {
             if ($node_text =~ /([,\t]|\.\s)/) {
               if ($self->{'info_special_chars_warning'}) {
-                $self->line_warn($self, sprintf(__(
+                $self->converter_line_warn($self, sprintf(__(
                    "menu entry node name should not contain `%s'"), $1),
                                $element->{'source_info'});
               }
@@ -3146,7 +3155,7 @@ sub _convert($$)
           } else {
             if ($node_text =~ /:/) {
               if ($self->{'info_special_chars_warning'}) {
-                $self->line_warn($self, __(
+                $self->converter_line_warn($self, __(
                  "menu entry node name should not contain `:'"),
                                $element->{'source_info'});
               }
@@ -3168,7 +3177,7 @@ sub _convert($$)
           $pre_quote = $post_quote = '';
           if ($entry_name =~ /:/) {
             if ($self->{'info_special_chars_warning'}) {
-              $self->line_warn($self, __(
+              $self->converter_line_warn($self, __(
                  "menu entry name should not contain `:'"),
                                $element->{'source_info'});
             }
diff --git 
a/tp/t/results/info_tests/quote_node_names_info/res_info/nodequote.info 
b/tp/t/results/info_tests/quote_node_names_info/res_info/nodequote.info
index 69d4608336..5cd2dea860 100644
--- a/tp/t/results/info_tests/quote_node_names_info/res_info/nodequote.info
+++ b/tp/t/results/info_tests/quote_node_names_info/res_info/nodequote.info
@@ -9,7 +9,7 @@ node.
    *Note the::caption and a word: blah:blah. *Note the::caption:
 blah:blah.
 
-   *Note the::caption and a word: blumpty.fump .*Note the::caption:
+   *Note the::caption and a word: blumpty.fump. *Note the::caption:
 blumpty.fump.mrmrmrmmrmrmr
 
    *Note blah:blah::.
diff --git a/tp/t/results/info_tests/ref_tests.pl 
b/tp/t/results/info_tests/ref_tests.pl
index 1fb3c5cbbb..2415b50915 100644
--- a/tp/t/results/info_tests/ref_tests.pl
+++ b/tp/t/results/info_tests/ref_tests.pl
@@ -672,7 +672,7 @@ comma:: after ref.  ‘*note (m)in ref followed by end 
command::’.
 
    *note name: (m)in ref followed by comma, *note name: (m)in ref not
 followed by comma. after ref.  ‘*note name: (m)in ref followed by end
-command.’.  *note name: (m)in ref ending with a dot. after ref.  .
+command.’.  *note name: (m)in ref ending with a dot.. after ref.
 
 
 
diff --git a/tp/t/results/info_tests/xref_test.pl 
b/tp/t/results/info_tests/xref_test.pl
index 79345769da..64b7be13e0 100644
--- a/tp/t/results/info_tests/xref_test.pl
+++ b/tp/t/results/info_tests/xref_test.pl
@@ -449,8 +449,8 @@ $result_converted{'info'}->{'xref_test'} = 'This is , 
produced from .
 File: ,  Node: Top,  Up: (dir)
 
 *Note (m)in xref::.  *Note (m)bad xref:: after xref.  ‘*Note (m)bad
-nested xref::’.  *Note name: (m)in ref ending with a dot. !  after xref
-and dot inside.  .*Note (m)in ref followed by symbol::# g.
+nested xref::’.  *Note name: (m)in ref ending with a dot.. !  after xref
+and dot inside.  *Note (m)in ref followed by symbol::# g.
 
 
 Tag Table:
@@ -475,12 +475,12 @@ $result_converted_errors{'info'}->{'xref_test'} = [
     'type' => 'warning'
   },
   {
-    'error_line' => 'warning: `.\' or `,\' must follow @xref
+    'error_line' => 'warning: `.\' or `,\' must follow @xref, not !
 ',
     'file_name' => '',
     'line_nr' => 6,
     'macro' => '',
-    'text' => '`.\' or `,\' must follow @xref',
+    'text' => '`.\' or `,\' must follow @xref, not !',
     'type' => 'warning'
   }
 ];
diff --git 
a/tp/t/results/plaintext_tests/quote_node_names/res_plaintext/quote_node_names.txt
 
b/tp/t/results/plaintext_tests/quote_node_names/res_plaintext/quote_node_names.txt
index 6ba889cb94..181b634d42 100644
--- 
a/tp/t/results/plaintext_tests/quote_node_names/res_plaintext/quote_node_names.txt
+++ 
b/tp/t/results/plaintext_tests/quote_node_names/res_plaintext/quote_node_names.txt
@@ -4,7 +4,7 @@ node.
    *Note the::caption and a word: blah:blah. *Note the::caption:
 blah:blah.
 
-   *Note the::caption and a word: blumpty.fump .*Note the::caption:
+   *Note the::caption and a word: blumpty.fump. *Note the::caption:
 blumpty.fump.mrmrmrmmrmrmr
 
    *Note blah:blah::.
diff --git a/tp/t/results/plaintext_tests/xref_quote_long_item.pl 
b/tp/t/results/plaintext_tests/xref_quote_long_item.pl
index f84da04c5a..38b957645c 100644
--- a/tp/t/results/plaintext_tests/xref_quote_long_item.pl
+++ b/tp/t/results/plaintext_tests/xref_quote_long_item.pl
@@ -348,21 +348,8 @@ $result_converted{'plaintext'}->{'xref_quote_long_item'} = 
'‘@verbatiminclude
      *Note Texinfo::Convert::Utils::expand_verbatiminclude:
      (tp_api)Texinfo::Convert::Utils $tree =
      expand_verbatiminclude($registrar, $configuration_information,
-     $verbatiminclude).  .
+     $verbatiminclude).
 
 ';
 
-$result_converted_errors{'plaintext'}->{'xref_quote_long_item'} = [
-  {
-    'error_line' => 'warning: `.\' or `,\' must follow @xref
-',
-    'file_name' => '',
-    'line_nr' => 4,
-    'macro' => '',
-    'text' => '`.\' or `,\' must follow @xref',
-    'type' => 'warning'
-  }
-];
-
-
 1;
diff --git a/tp/tests/layout/res_parser/formatting_info/formatting.info 
b/tp/tests/layout/res_parser/formatting_info/formatting.info
index 5a35534032..8d8c787308 100644
--- a/tp/tests/layout/res_parser/formatting_info/formatting.info
+++ b/tp/tests/layout/res_parser/formatting_info/formatting.info
@@ -426,7 +426,7 @@ s--ect,ion::
 
    '@ref{s--ect@comma{}ion, a @comma{} in cross ref, a comma@comma{} in
 title, a comma@comma{} in file, a @comma{} in manual name }' *note a ,
-in cross ref: (a comma, in file)s--ect,ion .
+in cross ref: (a comma, in file)s--ect,ion.
 
    '@ref{chapter,cross ref name}' *note cross ref name: chapter.
 '@ref{chapter,,title}' *note title: chapter. '@ref{chapter,,,file name}'
@@ -473,7 +473,7 @@ name}' *note cross ref name: node. '@inforef{node,,file 
name}' *note
 arg}' *note cross ref name: (file name, spurious arg)chapter.
 
    '@inforef{s--ect@comma{}ion, a @comma{} in cross ref, a comma@comma{}
-in file}' *note a , in cross ref: (a comma, in file)s--ect,ion .
+in file}' *note a , in cross ref: (a comma, in file)s--ect,ion.
 
    '*note chapter::'.
 
@@ -1136,7 +1136,7 @@ s--ect,ion::
 
    '@ref{s--ect@comma{}ion, a @comma{} in cross ref, a comma@comma{} in
 title, a comma@comma{} in file, a @comma{} in manual name }' *note a ,
-in cross ref: (a comma, in file)s--ect,ion .
+in cross ref: (a comma, in file)s--ect,ion.
 
    '@ref{chapter,cross ref name}' *note cross ref name: chapter.
 '@ref{chapter,,title}' *note title: chapter. '@ref{chapter,,,file name}'
@@ -1183,7 +1183,7 @@ name}' *note cross ref name: node. '@inforef{node,,file 
name}' *note
 arg}' *note cross ref name: (file name, spurious arg)chapter.
 
    '@inforef{s--ect@comma{}ion, a @comma{} in cross ref, a comma@comma{}
-in file}' *note a , in cross ref: (a comma, in file)s--ect,ion .
+in file}' *note a , in cross ref: (a comma, in file)s--ect,ion.
 
    '*note chapter::'.
 
@@ -1803,7 +1803,7 @@ s--ect,ion::
 
    '@ref{s--ect@comma{}ion, a @comma{} in cross ref, a comma@comma{} in
 title, a comma@comma{} in file, a @comma{} in manual name }' *note a ,
-in cross ref: (a comma, in file)s--ect,ion .
+in cross ref: (a comma, in file)s--ect,ion.
 
    '@ref{chapter,cross ref name}' *note cross ref name: chapter.
 '@ref{chapter,,title}' *note title: chapter. '@ref{chapter,,,file name}'
@@ -1850,7 +1850,7 @@ name}' *note cross ref name: node. '@inforef{node,,file 
name}' *note
 arg}' *note cross ref name: (file name, spurious arg)chapter.
 
    '@inforef{s--ect@comma{}ion, a @comma{} in cross ref, a comma@comma{}
-in file}' *note a , in cross ref: (a comma, in file)s--ect,ion .
+in file}' *note a , in cross ref: (a comma, in file)s--ect,ion.
 
    '*note chapter::'.
 
@@ -2610,8 +2610,8 @@ cross ref name: (file name). '@inforef{}' *note ::
      @ref{s--ect@comma{}ion, a @comma{} in cross
      ref, a comma@comma{} in title, a comma@comma{} in file, a @comma{} in 
manual name }
      *note a , in cross
-     ref: (a comma, in file)s--ect,ion
-     .
+     ref: (a comma, in file)s--ect,ion.
+
      @ref{chapter,cross ref name} *note cross ref name: chapter.
      @ref{chapter,,title} *note title: chapter.
      @ref{chapter,,,file name} *note (file name)chapter::
@@ -2657,8 +2657,8 @@ cross ref name: (file name). '@inforef{}' *note ::
      @inforef{s--ect@comma{}ion, a @comma{} in cross
      ref, a comma@comma{} in file}
      *note a , in cross
-     ref: (a comma, in file)s--ect,ion
-     .
+     ref: (a comma, in file)s--ect,ion.
+
      '*note chapter::'.
 
      *note cross ref with uref uref1 (href://http/myhost.com/index.html): 
(info file with uref3 uref3 (href://http/myhost.com/index3.html))ext.
@@ -2895,14 +2895,14 @@ aaa"]
 [index]
 * Menu:
 
-* truc:                                  chapter.            (line 2174)
+* truc:                                  chapter.            (line 2172)
 
    codeidx
 
 [index]
 * Menu:
 
-* a INDEX---ENTRY tẽ --- î:              chapter.            (line 2174)
+* a INDEX---ENTRY tẽ --- î:              chapter.            (line 2172)
 
    cp
 
@@ -2915,20 +2915,20 @@ aaa"]
 * -option:                               chapter.            (line   28)
 * -option <1>:                           chapter.            (line  688)
 * -option <2>:                           chapter.            (line 1359)
-* .:                                     chapter.            (line 2174)
-* ?:                                     chapter.            (line 2174)
-* a:                                     chapter.            (line 2174)
-* aaa, bbb:                              chapter.            (line 2174)
-* a--a:                                  chapter.            (line 2174)
+* .:                                     chapter.            (line 2172)
+* ?:                                     chapter.            (line 2172)
+* a:                                     chapter.            (line 2172)
+* aaa, bbb:                              chapter.            (line 2172)
+* a--a:                                  chapter.            (line 2172)
 * a--asis:                               chapter.            (line  500)
 * a--asis <1>:                           chapter.            (line 1160)
-* a--asis <2>:                           chapter.            (line 1960)
+* a--asis <2>:                           chapter.            (line 1958)
 * b:                                     chapter.            (line  501)
 * b <1>:                                 chapter.            (line 1161)
-* b <2>:                                 chapter.            (line 1961)
-* b--b, c--c:                            chapter.            (line 2174)
+* b <2>:                                 chapter.            (line 1959)
+* b--b, c--c:                            chapter.            (line 2172)
 * counting entry:                        chapter.            (line    4)
-* d--dd, e--ee, f--ff:                   chapter.            (line 2174)
+* d--dd, e--ee, f--ff:                   chapter.            (line 2172)
 * d--efcv_name:                          chapter.            (line  341)
 * d--efcv_name <1>:                      chapter.            (line  344)
 * d--efcv_name <2>:                      chapter.            (line 1001)
@@ -2971,13 +2971,13 @@ aaa"]
 * d--efvr_name:                          chapter.            (line  317)
 * d--efvr_name <1>:                      chapter.            (line  977)
 * d--efvr_name <2>:                      chapter.            (line 1775)
-* g--gg, h--hh jjj, k--kk, l--ll:        chapter.            (line 2174)
+* g--gg, h--hh jjj, k--kk, l--ll:        chapter.            (line 2172)
 * index entry between item and itemx:    chapter.            (line  505)
 * index entry between item and itemx <1>: chapter.           (line  623)
 * index entry between item and itemx <2>: chapter.           (line 1165)
 * index entry between item and itemx <3>: chapter.           (line 1283)
-* index entry between item and itemx <4>: chapter.           (line 1965)
-* index entry between item and itemx <5>: chapter.           (line 2115)
+* index entry between item and itemx <4>: chapter.           (line 1963)
+* index entry between item and itemx <5>: chapter.           (line 2113)
 * index entry in footnote:               chapter.            (line    4)
 * index entry within deffn:              chapter.            (line  292)
 * index entry within deffn <1>:          chapter.            (line  952)
@@ -2988,8 +2988,8 @@ aaa"]
 * index entry within multitable:         chapter.            (line  225)
 * index entry within multitable <1>:     chapter.            (line  885)
 * index entry within multitable <2>:     chapter.            (line 1682)
-* t-ruc:                                 chapter.            (line 2174)
-* T-ruc:                                 chapter.            (line 2174)
+* t-ruc:                                 chapter.            (line 2172)
+* T-ruc:                                 chapter.            (line 2172)
 * vtable i--tem code kbdinputstyle:      chapter.            (line  127)
 * vtable i--tem code kbdinputstyle <1>:  chapter.            (line  787)
 * vtable i--tem code kbdinputstyle <2>:  chapter.            (line 1582)
@@ -3029,8 +3029,8 @@ aaa"]
 * --foption:                             chapter.            (line   28)
 * --foption <1>:                         chapter.            (line  688)
 * --foption <2>:                         chapter.            (line 1359)
-* .:                                     chapter.            (line 2174)
-* ?:                                     chapter.            (line 2174)
+* .:                                     chapter.            (line 2172)
+* ?:                                     chapter.            (line 2172)
 * ``:                                    chapter.            (line   28)
 * `` <1>:                                chapter.            (line  688)
 * `` <2>:                                chapter.            (line 1359)
@@ -3041,12 +3041,12 @@ aaa"]
 * a <4>:                                 chapter.            (line 1164)
 * a <5>:                                 chapter.            (line 1282)
 * a <6>:                                 chapter.            (line 1761)
-* a <7>:                                 chapter.            (line 1964)
-* a <8>:                                 chapter.            (line 2114)
-* a <9>:                                 chapter.            (line 2174)
+* a <7>:                                 chapter.            (line 1962)
+* a <8>:                                 chapter.            (line 2112)
+* a <9>:                                 chapter.            (line 2172)
 * after:                                 chapter.            (line  633)
 * after <1>:                             chapter.            (line 1293)
-* after <2>:                             chapter.            (line 2125)
+* after <2>:                             chapter.            (line 2123)
 * arg2:                                  chapter.            (line  424)
 * arg2 <1>:                              chapter.            (line 1084)
 * arg2 <2>:                              chapter.            (line 1884)
@@ -3054,8 +3054,8 @@ aaa"]
 * b <1>:                                 chapter.            (line  623)
 * b <2>:                                 chapter.            (line 1165)
 * b <3>:                                 chapter.            (line 1283)
-* b <4>:                                 chapter.            (line 1965)
-* b <5>:                                 chapter.            (line 2115)
+* b <4>:                                 chapter.            (line 1963)
+* b <5>:                                 chapter.            (line 2113)
 * bidule machin:                         chapter.            (line  300)
 * bidule machin <1>:                     chapter.            (line  960)
 * bidule machin <2>:                     chapter.            (line 1756)
@@ -3122,16 +3122,16 @@ aaa"]
 * deffnx <3>:                            chapter.            (line  971)
 * deffnx <4>:                            chapter.            (line 1762)
 * deffnx <5>:                            chapter.            (line 1768)
-* f---aa:                                chapter.            (line 2174)
-* f---bb, f---cc:                        chapter.            (line 2174)
-* f---ddd, f---eee, ffff:                chapter.            (line 2174)
-* f---ggg, f---hhh fjjj, f---kkk, f---lll: chapter.          (line 2174)
+* f---aa:                                chapter.            (line 2172)
+* f---bb, f---cc:                        chapter.            (line 2172)
+* f---ddd, f---eee, ffff:                chapter.            (line 2172)
+* f---ggg, f---hhh fjjj, f---kkk, f---lll: chapter.          (line 2172)
 * followed:                              chapter.            (line  303)
 * followed <1>:                          chapter.            (line  631)
 * followed <2>:                          chapter.            (line  963)
 * followed <3>:                          chapter.            (line 1291)
 * followed <4>:                          chapter.            (line 1759)
-* followed <5>:                          chapter.            (line 2123)
+* followed <5>:                          chapter.            (line 2121)
 * I:                                     chapter.            (line  291)
 * I <1>:                                 chapter.            (line  313)
 * I <2>:                                 chapter.            (line  951)
@@ -3146,7 +3146,7 @@ aaa"]
 * id ule <2>:                            chapter.            (line 1752)
 * INVALID:                               chapter.            (line  635)
 * INVALID <1>:                           chapter.            (line 1295)
-* INVALID <2>:                           chapter.            (line 2127)
+* INVALID <2>:                           chapter.            (line 2125)
 * log trap:                              chapter.            (line  293)
 * log trap <1>:                          chapter.            (line  953)
 * log trap <2>:                          chapter.            (line 1749)
@@ -3170,10 +3170,10 @@ aaa"]
 * machin <11>:                           chapter.            (line 1290)
 * machin <12>:                           chapter.            (line 1755)
 * machin <13>:                           chapter.            (line 1757)
-* machin <14>:                           chapter.            (line 2119)
-* machin <15>:                           chapter.            (line 2120)
-* machin <16>:                           chapter.            (line 2121)
-* machin <17>:                           chapter.            (line 2122)
+* machin <14>:                           chapter.            (line 2117)
+* machin <15>:                           chapter.            (line 2118)
+* machin <16>:                           chapter.            (line 2119)
+* machin <17>:                           chapter.            (line 2120)
 * n--ame:                                chapter.            (line  320)
 * n--ame <1>:                            chapter.            (line  323)
 * n--ame <2>:                            chapter.            (line  980)
@@ -3183,15 +3183,15 @@ aaa"]
 * name2:                                 chapter.            (line  398)
 * name2 <1>:                             chapter.            (line 1058)
 * name2 <2>:                             chapter.            (line 1857)
-* t--ruc:                                chapter.            (line 2174)
-* T--ruc:                                chapter.            (line 2174)
+* t--ruc:                                chapter.            (line 2172)
+* T--ruc:                                chapter.            (line 2172)
 * truc:                                  chapter.            (line  292)
 * truc <1>:                              chapter.            (line  314)
 * truc <2>:                              chapter.            (line  952)
 * truc <3>:                              chapter.            (line  974)
 * truc <4>:                              chapter.            (line 1748)
 * truc <5>:                              chapter.            (line 1771)
-* xxx, zzz:                              chapter.            (line 2174)
+* xxx, zzz:                              chapter.            (line 2172)
 
    vr
 
@@ -3294,20 +3294,20 @@ chapter 2
 * -option:                               chapter.            (line   28)
 * -option <1>:                           chapter.            (line  688)
 * -option <2>:                           chapter.            (line 1359)
-* .:                                     chapter.            (line 2174)
-* ?:                                     chapter.            (line 2174)
-* a:                                     chapter.            (line 2174)
-* aaa, bbb:                              chapter.            (line 2174)
-* a--a:                                  chapter.            (line 2174)
+* .:                                     chapter.            (line 2172)
+* ?:                                     chapter.            (line 2172)
+* a:                                     chapter.            (line 2172)
+* aaa, bbb:                              chapter.            (line 2172)
+* a--a:                                  chapter.            (line 2172)
 * a--asis:                               chapter.            (line  500)
 * a--asis <1>:                           chapter.            (line 1160)
-* a--asis <2>:                           chapter.            (line 1960)
+* a--asis <2>:                           chapter.            (line 1958)
 * b:                                     chapter.            (line  501)
 * b <1>:                                 chapter.            (line 1161)
-* b <2>:                                 chapter.            (line 1961)
-* b--b, c--c:                            chapter.            (line 2174)
-* counting entry:                        chapter.            (line 2524)
-* d--dd, e--ee, f--ff:                   chapter.            (line 2174)
+* b <2>:                                 chapter.            (line 1959)
+* b--b, c--c:                            chapter.            (line 2172)
+* counting entry:                        chapter.            (line 2522)
+* d--dd, e--ee, f--ff:                   chapter.            (line 2172)
 * d--efcv_name:                          chapter.            (line  341)
 * d--efcv_name <1>:                      chapter.            (line  344)
 * d--efcv_name <2>:                      chapter.            (line 1001)
@@ -3350,14 +3350,14 @@ chapter 2
 * d--efvr_name:                          chapter.            (line  317)
 * d--efvr_name <1>:                      chapter.            (line  977)
 * d--efvr_name <2>:                      chapter.            (line 1775)
-* g--gg, h--hh jjj, k--kk, l--ll:        chapter.            (line 2174)
+* g--gg, h--hh jjj, k--kk, l--ll:        chapter.            (line 2172)
 * index entry between item and itemx:    chapter.            (line  505)
 * index entry between item and itemx <1>: chapter.           (line  623)
 * index entry between item and itemx <2>: chapter.           (line 1165)
 * index entry between item and itemx <3>: chapter.           (line 1283)
-* index entry between item and itemx <4>: chapter.           (line 1965)
-* index entry between item and itemx <5>: chapter.           (line 2115)
-* index entry in footnote:               chapter.            (line 2519)
+* index entry between item and itemx <4>: chapter.           (line 1963)
+* index entry between item and itemx <5>: chapter.           (line 2113)
+* index entry in footnote:               chapter.            (line 2517)
 * index entry within deffn:              chapter.            (line  292)
 * index entry within deffn <1>:          chapter.            (line  952)
 * index entry within deffn <2>:          chapter.            (line 1748)
@@ -3367,8 +3367,8 @@ chapter 2
 * index entry within multitable:         chapter.            (line  225)
 * index entry within multitable <1>:     chapter.            (line  885)
 * index entry within multitable <2>:     chapter.            (line 1682)
-* t-ruc:                                 chapter.            (line 2174)
-* T-ruc:                                 chapter.            (line 2174)
+* t-ruc:                                 chapter.            (line 2172)
+* T-ruc:                                 chapter.            (line 2172)
 * vtable i--tem code kbdinputstyle:      chapter.            (line  127)
 * vtable i--tem code kbdinputstyle <1>:  chapter.            (line  787)
 * vtable i--tem code kbdinputstyle <2>:  chapter.            (line 1582)
@@ -3406,8 +3406,8 @@ chapter 2
 * --foption:                             chapter.            (line   28)
 * --foption <1>:                         chapter.            (line  688)
 * --foption <2>:                         chapter.            (line 1359)
-* .:                                     chapter.            (line 2174)
-* ?:                                     chapter.            (line 2174)
+* .:                                     chapter.            (line 2172)
+* ?:                                     chapter.            (line 2172)
 * ``:                                    chapter.            (line   28)
 * `` <1>:                                chapter.            (line  688)
 * `` <2>:                                chapter.            (line 1359)
@@ -3418,12 +3418,12 @@ chapter 2
 * a <4>:                                 chapter.            (line 1164)
 * a <5>:                                 chapter.            (line 1282)
 * a <6>:                                 chapter.            (line 1761)
-* a <7>:                                 chapter.            (line 1964)
-* a <8>:                                 chapter.            (line 2114)
-* a <9>:                                 chapter.            (line 2174)
+* a <7>:                                 chapter.            (line 1962)
+* a <8>:                                 chapter.            (line 2112)
+* a <9>:                                 chapter.            (line 2172)
 * after:                                 chapter.            (line  633)
 * after <1>:                             chapter.            (line 1293)
-* after <2>:                             chapter.            (line 2125)
+* after <2>:                             chapter.            (line 2123)
 * arg2:                                  chapter.            (line  424)
 * arg2 <1>:                              chapter.            (line 1084)
 * arg2 <2>:                              chapter.            (line 1884)
@@ -3431,8 +3431,8 @@ chapter 2
 * b <1>:                                 chapter.            (line  623)
 * b <2>:                                 chapter.            (line 1165)
 * b <3>:                                 chapter.            (line 1283)
-* b <4>:                                 chapter.            (line 1965)
-* b <5>:                                 chapter.            (line 2115)
+* b <4>:                                 chapter.            (line 1963)
+* b <5>:                                 chapter.            (line 2113)
 * bidule machin:                         chapter.            (line  300)
 * bidule machin <1>:                     chapter.            (line  960)
 * bidule machin <2>:                     chapter.            (line 1756)
@@ -3499,16 +3499,16 @@ chapter 2
 * deffnx <3>:                            chapter.            (line  971)
 * deffnx <4>:                            chapter.            (line 1762)
 * deffnx <5>:                            chapter.            (line 1768)
-* f---aa:                                chapter.            (line 2174)
-* f---bb, f---cc:                        chapter.            (line 2174)
-* f---ddd, f---eee, ffff:                chapter.            (line 2174)
-* f---ggg, f---hhh fjjj, f---kkk, f---lll: chapter.          (line 2174)
+* f---aa:                                chapter.            (line 2172)
+* f---bb, f---cc:                        chapter.            (line 2172)
+* f---ddd, f---eee, ffff:                chapter.            (line 2172)
+* f---ggg, f---hhh fjjj, f---kkk, f---lll: chapter.          (line 2172)
 * followed:                              chapter.            (line  303)
 * followed <1>:                          chapter.            (line  631)
 * followed <2>:                          chapter.            (line  963)
 * followed <3>:                          chapter.            (line 1291)
 * followed <4>:                          chapter.            (line 1759)
-* followed <5>:                          chapter.            (line 2123)
+* followed <5>:                          chapter.            (line 2121)
 * I:                                     chapter.            (line  291)
 * I <1>:                                 chapter.            (line  313)
 * I <2>:                                 chapter.            (line  951)
@@ -3523,7 +3523,7 @@ chapter 2
 * id ule <2>:                            chapter.            (line 1752)
 * INVALID:                               chapter.            (line  635)
 * INVALID <1>:                           chapter.            (line 1295)
-* INVALID <2>:                           chapter.            (line 2127)
+* INVALID <2>:                           chapter.            (line 2125)
 * log trap:                              chapter.            (line  293)
 * log trap <1>:                          chapter.            (line  953)
 * log trap <2>:                          chapter.            (line 1749)
@@ -3547,10 +3547,10 @@ chapter 2
 * machin <11>:                           chapter.            (line 1290)
 * machin <12>:                           chapter.            (line 1755)
 * machin <13>:                           chapter.            (line 1757)
-* machin <14>:                           chapter.            (line 2119)
-* machin <15>:                           chapter.            (line 2120)
-* machin <16>:                           chapter.            (line 2121)
-* machin <17>:                           chapter.            (line 2122)
+* machin <14>:                           chapter.            (line 2117)
+* machin <15>:                           chapter.            (line 2118)
+* machin <16>:                           chapter.            (line 2119)
+* machin <17>:                           chapter.            (line 2120)
 * n--ame:                                chapter.            (line  320)
 * n--ame <1>:                            chapter.            (line  323)
 * n--ame <2>:                            chapter.            (line  980)
@@ -3560,35 +3560,35 @@ chapter 2
 * name2:                                 chapter.            (line  398)
 * name2 <1>:                             chapter.            (line 1058)
 * name2 <2>:                             chapter.            (line 1857)
-* t--ruc:                                chapter.            (line 2174)
-* T--ruc:                                chapter.            (line 2174)
+* t--ruc:                                chapter.            (line 2172)
+* T--ruc:                                chapter.            (line 2172)
 * truc:                                  chapter.            (line  292)
 * truc <1>:                              chapter.            (line  314)
 * truc <2>:                              chapter.            (line  952)
 * truc <3>:                              chapter.            (line  974)
 * truc <4>:                              chapter.            (line 1748)
 * truc <5>:                              chapter.            (line 1771)
-* xxx, zzz:                              chapter.            (line 2174)
+* xxx, zzz:                              chapter.            (line 2172)
 
 
 
 Tag Table:
-Node: Top18468
-Node: chapter18653
-Ref: chapter-Footnote-196776
-Ref: chapter-Footnote-296796
-Ref: chapter-Footnote-396817
-Ref: chapter-Footnote-496837
-Ref: chapter-Footnote-596858
-Ref: chapter-Footnote-696878
-Ref: chapter-Footnote-796899
-Ref: chapter-Footnote-896937
-Node: s--ect,ion96957
-Node: subsection97160
-Ref: anchor97341
-Node: subsubsection ``simple-double--97341
-Node: subsubsection three---four----''97541
-Node: chapter297713
+Node: Top18466
+Node: chapter18651
+Ref: chapter-Footnote-196760
+Ref: chapter-Footnote-296780
+Ref: chapter-Footnote-396801
+Ref: chapter-Footnote-496821
+Ref: chapter-Footnote-596842
+Ref: chapter-Footnote-696862
+Ref: chapter-Footnote-796883
+Ref: chapter-Footnote-896921
+Node: s--ect,ion96941
+Node: subsection97144
+Ref: anchor97325
+Node: subsubsection ``simple-double--97325
+Node: subsubsection three---four----''97525
+Node: chapter297697
 
 End Tag Table
 



reply via email to

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