texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: * tp/Texinfo/Convert/Text.pm: rename _code_option


From: Patrice Dumas
Subject: branch master updated: * tp/Texinfo/Convert/Text.pm: rename _code_options as _code_state and raw as _raw_state.
Date: Sun, 12 Feb 2023 06:10:51 -0500

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 83791b5205 * tp/Texinfo/Convert/Text.pm: rename _code_options as 
_code_state and raw as _raw_state.
83791b5205 is described below

commit 83791b5205e05930a4b29ddec11988e5c331e77c
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sun Feb 12 12:10:30 2023 +0100

    * tp/Texinfo/Convert/Text.pm: rename _code_options as _code_state and
    raw as _raw_state.
    
    * tp/Texinfo/Convert/Text.pm (_convert): decrease _raw_state when
    coming out of raw state.
    
    * tp/Texinfo/ParserNonXS.pm (_process_remaining_on_line): in ignored
    @inline* arguments, do not postpend to the line when there is no match
    with a delimiter, instead consume the line. As in the XS parser.
    
    * tp/Texinfo/XS/parsetexi/macro.c (expand_macro_body): keep text after
    a non paired \ in the macro body, like the perl parser.
    
    * tp/Texinfo/ParserNonXS.pm (_process_remaining_on_line),
    tp/Texinfo/XS/parsetexi/separator.c (handle_comma): put elided
    content of @inline* in the tree.
    
    * tp/Texinfo/ParserNonXS.pm (_expand_macro_body): change code to be
    clearer and more in line with XS parser code.
---
 ChangeLog                                          |  22 +++++
 tp/Texinfo/Convert/Text.pm                         |  62 +++++++-----
 tp/Texinfo/ParserNonXS.pm                          |  74 +++++++++------
 tp/Texinfo/XS/parsetexi/macro.c                    |   5 +-
 tp/Texinfo/XS/parsetexi/separator.c                |  30 +++++-
 .../conditionals/inlinefmtifelse_nesting.pl        |   8 +-
 .../conditionals/inlineiffmtifelse_not_closed.pl   |  10 +-
 .../inlineiffmtifelse_not_closed_three_arg.pl      |   8 +-
 .../inlineiffmtifelse_not_closed_two_arg.pl        |  10 +-
 .../conditionals/inlineifset_false_not_closed.pl   |  10 +-
 tp/t/results/converters_tests/inline.pl            |  20 +++-
 tp/t/results/converters_tests/inline_expand_tex.pl | 100 ++++++++++++++++----
 tp/t/results/converters_tests/inlinefmtifelse.pl   | 104 ++++++++++++++++-----
 .../results/converters_tests/inlineifsetifclear.pl |  20 +++-
 .../converters_tests/inlineifsetifclearspaces.pl   |  20 +++-
 tp/t/results/macro/ignored_macro_definition.pl     |  18 +++-
 .../macro/macro_call_in_ignored_inlinefmtifelse.pl |   8 +-
 .../macro/macro_call_in_inlinefmtifelse_format.pl  |   8 +-
 .../macro/macro_end_call_in_ignored_inlinefmt.pl   |   8 +-
 .../macro_end_call_in_ignored_inlinefmtifelse.pl   |   6 +-
 ...cro_end_call_in_ignored_inlinefmtifelse_else.pl |   8 +-
 .../macro/macro_end_call_in_ignored_inlineraw.pl   |   8 +-
 .../macro_inlineifcond_end_in_empty_ignored.pl     |   8 +-
 tp/t/results/raw/inline_missing_first_arg.pl       |  14 ++-
 tp/t/results/value/ignored_value_definition.pl     |  12 ++-
 25 files changed, 471 insertions(+), 130 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 5853c22a71..a6c9486e66 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2023-02-12  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/Convert/Text.pm: rename _code_options as _code_state and
+       raw as _raw_state.
+
+       * tp/Texinfo/Convert/Text.pm (_convert): decrease _raw_state when
+       coming out of raw state.
+
+       * tp/Texinfo/ParserNonXS.pm (_process_remaining_on_line): in ignored
+       @inline* arguments, do not postpend to the line when there is no match
+       with a delimiter, instead consume the line. As in the XS parser.
+
+       * tp/Texinfo/XS/parsetexi/macro.c (expand_macro_body): keep text after
+       a non paired \ in the macro body, like the perl parser.
+
+       * tp/Texinfo/ParserNonXS.pm (_process_remaining_on_line),
+       tp/Texinfo/XS/parsetexi/separator.c (handle_comma): put elided
+       content of @inline* in the tree.
+
+       * tp/Texinfo/ParserNonXS.pm (_expand_macro_body): change code to be
+       clearer and more in line with XS parser code.
+
 2023-02-11  Patrice Dumas  <pertusus@free.fr>
 
        * tp/Texinfo/ParserNonXS.pm (_process_remaining_on_line),
diff --git a/tp/Texinfo/Convert/Text.pm b/tp/Texinfo/Convert/Text.pm
index 5af4f4669c..4439ec13e0 100644
--- a/tp/Texinfo/Convert/Text.pm
+++ b/tp/Texinfo/Convert/Text.pm
@@ -371,7 +371,7 @@ sub convert_to_text($;$)
   if (defined($options)) {
     bless $options;
     if ($options->{'code'}) {
-      $options->{'_code_options'} = 1;
+      $options->{'_code_state'} = 1;
     }
   }
   return _convert($root, $options);
@@ -386,6 +386,12 @@ sub _convert($;$)
 
   $options = {} if (!defined($options));
 
+  #print STDERR "E: c: ".(defined($options->{'_code_state'})
+  #                         ? $options->{'_code_state'} : 'UNDEF')
+  #   ." r: ".(defined($options->{'_raw_state'})
+  #                         ? $options->{'_raw_state'} : 'UNDEF')
+  #   .", ".Texinfo::Common::debug_print_element_short($element, 1)."\n";
+
   if (!defined($element)) {
     confess("Texinfo::Convert::Text::_convert: element undef");
   }
@@ -429,11 +435,11 @@ sub _convert($;$)
       $result = $element->{'text'};
       if ((! defined($element->{'type'})
            or $element->{'type'} ne 'raw')
-           and !$options->{'raw'}) {
+           and !$options->{'_raw_state'}) {
         if ($options->{'sc'}) {
           $result = uc($result);
         }
-        if (!$options->{'_code_options'}) {
+        if (!$options->{'_code_state'}) {
           $result =~ s/``/"/g;
           $result =~ s/\'\'/"/g;
           $result =~ s/---/\x{1F}/g;
@@ -470,14 +476,14 @@ sub _convert($;$)
                                         $options->{'sc'});
       return $result;
     } elsif ($element->{'cmdname'} eq 'image') {
-      $options->{_code_options}++;
+      $options->{'_code_state'}++;
       my $text = _convert($element->{'args'}->[0], $options);
-      $options->{_code_options}--;
+      $options->{'_code_state'}--;
       return $text;
     } elsif ($element->{'cmdname'} eq 'email') {
-      $options->{_code_options}++;
+      $options->{'_code_state'}++;
       my $mail = _convert($element->{'args'}->[0], $options);
-      $options->{_code_options}--;
+      $options->{'_code_state'}--;
       my $text;
       $text = _convert($element->{'args'}->[1], $options)
          if (defined($element->{'args'}->[1]));
@@ -491,9 +497,9 @@ sub _convert($;$)
       my $text;
       $text = _convert($element->{'args'}->[1], $options)
         if (defined($element->{'args'}->[1]));
-      $options->{_code_options}++;
+      $options->{'_code_state'}++;
       my $url = _convert($element->{'args'}->[0], $options);
-      $options->{_code_options}--;
+      $options->{'_code_state'}--;
       if (defined($text) and $text ne '') {
         return "$url ($text)";
       } else {
@@ -509,7 +515,9 @@ sub _convert($;$)
       }
     } elsif ($Texinfo::Commands::brace_commands{$element->{'cmdname'}}
              and $Texinfo::Commands::brace_commands{$element->{'cmdname'}} eq 
'inline') {
-      $options->{'raw'} = 1 if ($element->{'cmdname'} eq 'inlineraw');
+      if ($element->{'cmdname'} eq 'inlineraw') {
+        $options->{'_raw_state'}++;
+      }
       my $arg_index = 1;
       if ($element->{'cmdname'} eq 'inlinefmtifelse'
           and (!$element->{'extra'}->{'format'}
@@ -517,11 +525,14 @@ sub _convert($;$)
                or 
!$options->{'expanded_formats_hash'}->{$element->{'extra'}->{'format'}})) {
         $arg_index = 2;
       }
+      my $result = '';
       if (scalar(@{$element->{'args'}}) > $arg_index) {
-        return _convert($element->{'args'}->[$arg_index], $options);
-      } else {
-        return '';
+        $result = _convert($element->{'args'}->[$arg_index], $options);
       }
+      if ($element->{'cmdname'} eq 'inlineraw') {
+        $options->{'_raw_state'}--;
+      }
+      return $result;
     } elsif ($element->{'args'} and $element->{'args'}->[0]
            and (($element->{'args'}->[0]->{'type'}
                 and $element->{'args'}->[0]->{'type'} eq 'brace_command_arg')
@@ -534,9 +545,9 @@ sub _convert($;$)
                or $Texinfo::Commands::math_commands{$element->{'cmdname'}}) {
         $in_code = 1;
       }
-      $options->{_code_options}++ if ($in_code);
+      $options->{'_code_state'}++ if ($in_code);
       $result = _convert($element->{'args'}->[0], $options);
-      $options->{_code_options}-- if ($in_code);
+      $options->{'_code_state'}-- if ($in_code);
       $options->{'sc'}-- if ($element->{'cmdname'} eq 'sc');
       return $result;
     # block commands
@@ -555,9 +566,6 @@ sub _convert($;$)
         chomp ($result);
         $result .= "\n" if ($result =~ /\S/);
       }
-    } elsif ($options->{'expanded_formats_hash'}
-             and $options->{'expanded_formats_hash'}->{$element->{'cmdname'}}) 
{
-      $options->{'raw'} = 1;
     } elsif ($formatted_line_commands{$element->{'cmdname'}}
              and $element->{'args'}) {
       if ($element->{'cmdname'} ne 'node') {
@@ -622,13 +630,14 @@ sub _convert($;$)
         push @contents, @$arguments;
       }
       push @contents, {'text' => "\n"};
-      $options->{_code_options}++;
+      $options->{'_code_state'}++;
       $result = _convert({'contents' => \@contents}, $options);
-      $options->{_code_options}--;
+      $options->{'_code_state'}--;
     }
   }
   if ($element->{'contents'}) {
     my $in_code;
+    my $in_raw;
     if (($element->{'cmdname'}
          and 
($Texinfo::Commands::preformatted_code_commands{$element->{'cmdname'}}
               or $Texinfo::Commands::math_commands{$element->{'cmdname'}}
@@ -636,15 +645,22 @@ sub _convert($;$)
                   and 
$Texinfo::Commands::block_commands{$element->{'cmdname'}} eq 'raw')))
          or ($element->{'type'} and $element->{'type'} eq 'menu_entry_node')) {
       $in_code = 1;
+    } elsif ($element->{'cmdname'}
+             and $Texinfo::Commands::block_commands{$element->{'cmdname'}}
+             and $Texinfo::Commands::block_commands{
+                                       $element->{'cmdname'}} eq 'format_raw') 
{
+      $in_raw = 1;
     }
     if (ref($element->{'contents'}) ne 'ARRAY') {
       cluck "contents not an array($element->{'contents'}).";
     }
-    $options->{_code_options}++ if ($in_code);
+    $options->{'_code_state'}++ if ($in_code);
+    $options->{'_raw_state'}++ if ($in_raw);
     foreach my $content (@{$element->{'contents'}}) {
       $result .= _convert($content, $options);
     }
-    $options->{_code_options}-- if ($in_code);
+    $options->{'_raw_state'}-- if ($in_raw);
+    $options->{'_code_state'}-- if ($in_code);
   }
   if ($element->{'type'} and $element->{'type'} eq 'bracketed'
       and (!$element->{'parent'}->{'type'} or
@@ -974,7 +990,7 @@ L<Texinfo::Report> objet.  See also 
L<Texinfo::Convert::Converter>.
 =item expanded_formats_hash
 
 A reference on a hash.  The keys should be format names (like C<html>,
-C<tex>), and if the corresponding  value is set, the format is expanded.
+C<tex>), and if the corresponding value is set, the format is expanded.
 
 =back
 
diff --git a/tp/Texinfo/ParserNonXS.pm b/tp/Texinfo/ParserNonXS.pm
index afa8048a98..0bf6be60a1 100644
--- a/tp/Texinfo/ParserNonXS.pm
+++ b/tp/Texinfo/ParserNonXS.pm
@@ -2653,7 +2653,7 @@ sub _expand_macro_body($$$$) {
 
   my $result = '';
   while ($macrobody ne '') {
-    if ($macrobody =~ s/^([^\\]*)\\//o) {
+    if ($macrobody =~ s/^([^\\]*)\\//) {
       $result .= $1;
       if ($macrobody =~ s/^\\//) {
         $result .= '\\';
@@ -2672,12 +2672,16 @@ sub _expand_macro_body($$$$) {
              $macro->{'element'}->{'args'}->[0]->{'text'}, $arg), 
$source_info);
           $result .= '\\' . $arg;
         }
+      } else {
+        # unpaired backslash
+        last;
       }
-      next;
+    } else {
+      # End of body.
+      last;
     }
-    $result .= $macrobody;
-    last;
   }
+  $result .= $macrobody;
   return $result;
 }
 
@@ -6463,33 +6467,43 @@ sub _process_remaining_on_line($$$$)
           if (!$expandp and $current->{'cmdname'} eq 'inlinefmtifelse') {
             $current->{'extra'}->{'expand_index'} = 2;
 
-            # Add a dummy argument for the first argument.
-            push @{$current->{'args'}}, {'type' => 'elided_brace_command_arg',
-                                         'parent' => $current,};
+            my $elided_arg_elt = {'type' => 'elided_brace_command_arg',
+                                  'contents' => [],
+                                  'parent' => $current,};
+            push @{$current->{'args'}}, $elided_arg_elt;
+            my $raw = {'type' => 'raw', 'text' => ''};
+            push @{$elided_arg_elt->{'contents'}}, $raw;
+
             # Scan forward to get the next argument.
             my $brace_count = 1;
             while ($brace_count > 0) {
               # Forward to next comma or brace
-              if ($line =~ s/[^{,}]*([,{}])//) {
-                if ($1 eq ',' and $brace_count == 1) {
-                  last;
-                } elsif ($1 eq '{') {
+              if ($line =~ s/([^{,}]*)([,{}])//) {
+                $raw->{'text'} .= $1;
+                my $delimiter = $2;
+                if ($delimiter eq ',') {
+                  if ($brace_count == 1) {
+                    last;
+                  }
+                  $raw->{'text'} .= $delimiter;
+                } elsif ($delimiter eq '{') {
                   $brace_count++;
-                } elsif ($1 eq '}') {
+                  $raw->{'text'} .= $delimiter;
+                } elsif ($delimiter eq '}') {
                   $brace_count--;
+                  $raw->{'text'} .= $delimiter if ($brace_count);
                 }
               } else {
-                my $new_text;
-                ($new_text, $source_info)
+                $raw->{'text'} .= $line;
+                ($line, $source_info)
                 # there is a test a situation with macro call closing in 
ignored
                 # @inlinefmtifelse first arg:
                 # t/*macro.t macro_end_call_in_ignored_inlinefmtifelse.
-                   = _next_text($self, $current->{'args'}->[-1]);
-                if (not defined($new_text)) {
+                   = _next_text($self, $elided_arg_elt);
+                if (not defined($line)) {
                   $retval = $GET_A_NEW_LINE; # error - unbalanced brace
                   goto funexit;
                 }
-                $line .= $new_text;
               }
             }
             if ($brace_count == 0) {
@@ -6508,30 +6522,38 @@ sub _process_remaining_on_line($$$$)
         # If this command is not being expanded, add a dummy argument,
         # and scan forward to the closing brace.
         if (!$expandp) {
-          push @{$current->{'args'}}, {'type' => 'elided_brace_command_arg',
-                                       'parent' => $current,};
+          my $elided_arg_elt = {'type' => 'elided_brace_command_arg',
+                                'contents' => [],
+                                'parent' => $current,};
+          push @{$current->{'args'}}, $elided_arg_elt;
+          my $raw = {'type' => 'raw', 'text' => ''};
+          push @{$elided_arg_elt->{'contents'}}, $raw;
+
           my $brace_count = 1;
           while ($brace_count > 0) {
-            if ($line =~ s/[^{}]*([{}])//) {
-              if ($1 eq '{') {
+            if ($line =~ s/([^{}]*)([{}])//) {
+              $raw->{'text'} .= $1;
+              my $delimiter = $2;
+              if ($delimiter eq '{') {
                 $brace_count++;
+                $raw->{'text'} .= $delimiter;
               } else {
                 $brace_count--;
+                $raw->{'text'} .= $delimiter if ($brace_count);
               }
             } else {
-              my $new_text;
+              $raw->{'text'} .= $line;
               # test for a situation with macro call end in ignored
               # @inline* last arg are in
               # t/*macro.t macro_end_call_in_ignored_inlinefmt
               # t/*macro.t macro_end_call_in_ignored_inlineraw
               # t/*macro.t macro_end_call_in_ignored_inlinefmtifelse_else
-              ($new_text, $source_info)
-                 = _next_text($self, $current->{'args'}->[-1]);
-              if (not defined($new_text)) {
+              ($line, $source_info)
+                 = _next_text($self, $elided_arg_elt);
+              if (not defined($line)) {
                 $retval = $GET_A_NEW_LINE; # error - unbalanced brace
                 goto funexit;
               }
-              $line .= $new_text;
             }
           }
           $current->{'remaining_args'}--;
diff --git a/tp/Texinfo/XS/parsetexi/macro.c b/tp/Texinfo/XS/parsetexi/macro.c
index 55258fd269..e20d8f809c 100644
--- a/tp/Texinfo/XS/parsetexi/macro.c
+++ b/tp/Texinfo/XS/parsetexi/macro.c
@@ -425,7 +425,7 @@ expand_macro_body (MACRO *macro_record, ELEMENT *arguments, 
TEXT *expanded)
       bs = strchrnul (ptext, '\\');
       text_append_n (expanded, ptext, bs - ptext);
       if (!*bs)
-        break; /* End of line. */
+        break; /* End of body. */
 
       ptext = bs + 1;
       if (*ptext == '\\')
@@ -438,7 +438,8 @@ expand_macro_body (MACRO *macro_record, ELEMENT *arguments, 
TEXT *expanded)
           bs = strchr (ptext, '\\');
           if (!bs)
             {
-              /* malformed input - unpaired backslash */
+              /* unpaired backslash */
+              text_append (expanded, ptext);
               return;
             }
 
diff --git a/tp/Texinfo/XS/parsetexi/separator.c 
b/tp/Texinfo/XS/parsetexi/separator.c
index 9b072f7732..ac03f4a789 100644
--- a/tp/Texinfo/XS/parsetexi/separator.c
+++ b/tp/Texinfo/XS/parsetexi/separator.c
@@ -598,18 +598,24 @@ handle_comma (ELEMENT *current, char **line_inout)
           if (!expandp && current->cmd == CM_inlinefmtifelse)
             {
               ELEMENT *e;
+              ELEMENT *arg;
               int brace_count = 1;
 
               add_extra_integer (current, "expand_index", 2);
 
-              /* Add a dummy argument for the first argument. */
               e = new_element (ET_elided_brace_command_arg);
               add_to_element_args (current, e);
+              arg = new_element (ET_raw);
+              text_append (&arg->text, "");
+              add_to_element_contents (e, arg);
 
               /* Scan forward to get the next argument. */
               while (brace_count > 0)
                 {
-                  line += strcspn (line, "{},");
+                  size_t non_separator_len = strcspn (line, "{},");
+                  if (non_separator_len > 0)
+                    text_append_n (&arg->text, line, non_separator_len);
+                  line += non_separator_len;
                   switch (*line)
                     {
                     case ',':
@@ -618,14 +624,19 @@ handle_comma (ELEMENT *current, char **line_inout)
                           line++;
                           goto inlinefmtifelse_done;
                         }
+                      text_append_n (&arg->text, line, 1);
                       break;
                     case '{':
                       brace_count++;
+                      text_append_n (&arg->text, line, 1);
                       break;
                     case '}':
                       brace_count--;
+                      if (brace_count > 0)
+                        text_append_n (&arg->text, line, 1);
                       break;
                     default:
+                      text_append (&arg->text, line);
                       line = next_text (e);
                       if (!line)
                         goto funexit;
@@ -657,21 +668,34 @@ handle_comma (ELEMENT *current, char **line_inout)
         {
           static char *alloc_line;
           ELEMENT *e;
+          ELEMENT *arg;
           int brace_count = 1;
+
           e = new_element (ET_elided_brace_command_arg);
           add_to_element_args (current, e);
+          arg = new_element (ET_raw);
+          text_append (&arg->text, "");
+          add_to_element_contents (e, arg);
+
           while (brace_count > 0)
             {
-              line += strcspn (line, "{}");
+              size_t non_separator_len = strcspn (line, "{}");
+              if (non_separator_len > 0)
+                text_append_n (&arg->text, line, non_separator_len);
+              line += non_separator_len;
               switch (*line)
                 {
                 case '{':
                   brace_count++;
+                  text_append_n (&arg->text, line, 1);
                   break;
                 case '}':
                   brace_count--;
+                  if (brace_count > 0)
+                    text_append_n (&arg->text, line, 1);
                   break;
                 default:
+                  text_append (&arg->text, line);
                   free (alloc_line);
                   alloc_line = next_text (e);
                   if (!alloc_line)
diff --git a/tp/t/results/conditionals/inlinefmtifelse_nesting.pl 
b/tp/t/results/conditionals/inlinefmtifelse_nesting.pl
index d8da7a55f6..2a62ff60a4 100644
--- a/tp/t/results/conditionals/inlinefmtifelse_nesting.pl
+++ b/tp/t/results/conditionals/inlinefmtifelse_nesting.pl
@@ -22,6 +22,12 @@ $result_trees{'inlinefmtifelse_nesting'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' @footnote{See.}',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 },
                 {
@@ -78,7 +84,7 @@ $result_trees{'inlinefmtifelse_nesting'} = {
   'type' => 'document_root'
 };
 
-$result_texis{'inlinefmtifelse_nesting'} = '@inlinefmtifelse{info,, 
@emph{text}}
+$result_texis{'inlinefmtifelse_nesting'} = '@inlinefmtifelse{info, 
@footnote{See.}, @emph{text}}
 ';
 
 
diff --git a/tp/t/results/conditionals/inlineiffmtifelse_not_closed.pl 
b/tp/t/results/conditionals/inlineiffmtifelse_not_closed.pl
index fcd5791c1b..a4a347b2e5 100644
--- a/tp/t/results/conditionals/inlineiffmtifelse_not_closed.pl
+++ b/tp/t/results/conditionals/inlineiffmtifelse_not_closed.pl
@@ -22,6 +22,13 @@ $result_trees{'inlineiffmtifelse_not_closed'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => '
+',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -46,7 +53,8 @@ $result_trees{'inlineiffmtifelse_not_closed'} = {
   'type' => 'document_root'
 };
 
-$result_texis{'inlineiffmtifelse_not_closed'} = '@inlinefmtifelse{html,}';
+$result_texis{'inlineiffmtifelse_not_closed'} = '@inlinefmtifelse{html,
+}';
 
 
 $result_texts{'inlineiffmtifelse_not_closed'} = '';
diff --git 
a/tp/t/results/conditionals/inlineiffmtifelse_not_closed_three_arg.pl 
b/tp/t/results/conditionals/inlineiffmtifelse_not_closed_three_arg.pl
index a51fbc7bf0..3d5b1abae0 100644
--- a/tp/t/results/conditionals/inlineiffmtifelse_not_closed_three_arg.pl
+++ b/tp/t/results/conditionals/inlineiffmtifelse_not_closed_three_arg.pl
@@ -22,6 +22,12 @@ $result_trees{'inlineiffmtifelse_not_closed_three_arg'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' hhhhh',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 },
                 {
@@ -60,7 +66,7 @@ $result_trees{'inlineiffmtifelse_not_closed_three_arg'} = {
   'type' => 'document_root'
 };
 
-$result_texis{'inlineiffmtifelse_not_closed_three_arg'} = 
'@inlinefmtifelse{html,, ggggg
+$result_texis{'inlineiffmtifelse_not_closed_three_arg'} = 
'@inlinefmtifelse{html, hhhhh, ggggg
 }';
 
 
diff --git a/tp/t/results/conditionals/inlineiffmtifelse_not_closed_two_arg.pl 
b/tp/t/results/conditionals/inlineiffmtifelse_not_closed_two_arg.pl
index 2b8d7cca29..6412a4a7c4 100644
--- a/tp/t/results/conditionals/inlineiffmtifelse_not_closed_two_arg.pl
+++ b/tp/t/results/conditionals/inlineiffmtifelse_not_closed_two_arg.pl
@@ -22,6 +22,13 @@ $result_trees{'inlineiffmtifelse_not_closed_two_arg'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' hhhhh
+',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -46,7 +53,8 @@ $result_trees{'inlineiffmtifelse_not_closed_two_arg'} = {
   'type' => 'document_root'
 };
 
-$result_texis{'inlineiffmtifelse_not_closed_two_arg'} = 
'@inlinefmtifelse{html,}';
+$result_texis{'inlineiffmtifelse_not_closed_two_arg'} = 
'@inlinefmtifelse{html, hhhhh
+}';
 
 
 $result_texts{'inlineiffmtifelse_not_closed_two_arg'} = '';
diff --git a/tp/t/results/conditionals/inlineifset_false_not_closed.pl 
b/tp/t/results/conditionals/inlineifset_false_not_closed.pl
index 9c2e7a7df5..350798b5dd 100644
--- a/tp/t/results/conditionals/inlineifset_false_not_closed.pl
+++ b/tp/t/results/conditionals/inlineifset_false_not_closed.pl
@@ -22,6 +22,13 @@ $result_trees{'inlineifset_false_not_closed'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' bbb
+',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -45,7 +52,8 @@ $result_trees{'inlineifset_false_not_closed'} = {
   'type' => 'document_root'
 };
 
-$result_texis{'inlineifset_false_not_closed'} = '@inlineifset{aaa,}';
+$result_texis{'inlineifset_false_not_closed'} = '@inlineifset{aaa, bbb
+}';
 
 
 $result_texts{'inlineifset_false_not_closed'} = '';
diff --git a/tp/t/results/converters_tests/inline.pl 
b/tp/t/results/converters_tests/inline.pl
index 84876eb432..484772623e 100644
--- a/tp/t/results/converters_tests/inline.pl
+++ b/tp/t/results/converters_tests/inline.pl
@@ -183,6 +183,12 @@ $result_trees{'inline'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' $\\underline{a < b @code{tex \\hbox{ code 
}}}$ ``',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -496,6 +502,12 @@ $result_trees{'inline'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' raw $\\underline{a < b @code{tex \\hbox{ 
code }}}$ ``',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -627,7 +639,7 @@ $result_texis{'inline'} = '
 @inlinefmt{plaintext, plaintext ``}, 
 @inlinefmt{xml, <para>xml</para> ``},
 @inlinefmt{docbook, <emphasis>docbook</emphasis> ``}, 
-@inlinefmt{tex,}
+@inlinefmt{tex, $\\underline{a < b @code{tex \\hbox{ code }}}$ ``}
 @inlinefmt{latex, @math{\\frac{a < b @code{tex \\hbox{ code }}}{b}} ``}
 
 
@@ -635,7 +647,7 @@ $result_texis{'inline'} = '
 @inlineraw{plaintext, raw plaintext ``}, 
 @inlineraw{xml, raw <para>xml</para> ``},
 @inlineraw{docbook, raw <emphasis>docbook</emphasis> ``}, 
-@inlineraw{tex,}
+@inlineraw{tex, raw $\\underline{a < b @code{tex \\hbox{ code }}}$ ``}
 @inlineraw{latex, raw $\\frac{a < b @code{tex \\hbox{ code }}}{b}$ ``}
 ';
 
@@ -693,7 +705,7 @@ $result_converted{'xml'}->{'inline'} = '
 <inlinefmt><inlinefmtformat>plaintext</inlinefmtformat><inlinefmtcontent 
spaces=" ">plaintext &textldquo;</inlinefmtcontent></inlinefmt>, 
 &lt;para&gt;xml&lt;/para&gt; &textldquo;,
 <inlinefmt><inlinefmtformat>docbook</inlinefmtformat><inlinefmtcontent 
spaces=" ">&lt;emphasis&gt;docbook&lt;/emphasis&gt; 
&textldquo;</inlinefmtcontent></inlinefmt>, 
-<inlinefmt><inlinefmtformat>tex</inlinefmtformat></inlinefmt>
+<inlinefmt><inlinefmtformat>tex</inlinefmtformat><inlinefmtcontent> 
$\\underline{a &lt; b @code{tex \\hbox{ code }}}$ 
``</inlinefmtcontent></inlinefmt>
 <inlinefmt><inlinefmtformat>latex</inlinefmtformat><inlinefmtcontent spaces=" 
"><math>\\frac{a &lt; b <code>tex \\hbox{ code }</code>}{b}</math> 
&textldquo;</inlinefmtcontent></inlinefmt>
 </para>
 
@@ -701,7 +713,7 @@ $result_converted{'xml'}->{'inline'} = '
 <inlineraw><inlinerawformat>plaintext</inlinerawformat><inlinerawcontent 
spaces=" ">raw plaintext &textldquo;</inlinerawcontent></inlineraw>, 
 raw <para>xml</para> ``,
 <inlineraw><inlinerawformat>docbook</inlinerawformat><inlinerawcontent 
spaces=" ">raw &lt;emphasis&gt;docbook&lt;/emphasis&gt; 
&textldquo;</inlinerawcontent></inlineraw>, 
-<inlineraw><inlinerawformat>tex</inlinerawformat></inlineraw>
+<inlineraw><inlinerawformat>tex</inlinerawformat><inlinerawcontent> raw 
$\\underline{a &lt; b @code{tex \\hbox{ code }}}$ 
``</inlinerawcontent></inlineraw>
 <inlineraw><inlinerawformat>latex</inlinerawformat><inlinerawcontent spaces=" 
">raw $\\frac{a &lt; b <code>tex \\hbox{ code }</code>}{b}$ 
&textldquo;</inlinerawcontent></inlineraw>
 </para>';
 
diff --git a/tp/t/results/converters_tests/inline_expand_tex.pl 
b/tp/t/results/converters_tests/inline_expand_tex.pl
index 26e0d0eee0..5e85f2aaed 100644
--- a/tp/t/results/converters_tests/inline_expand_tex.pl
+++ b/tp/t/results/converters_tests/inline_expand_tex.pl
@@ -27,6 +27,12 @@ $result_trees{'inline_expand_tex'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' <blink>html</blink> ``',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -55,6 +61,12 @@ $result_trees{'inline_expand_tex'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' plaintext ``',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -83,6 +95,12 @@ $result_trees{'inline_expand_tex'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' <para>xml</para> ``',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -111,6 +129,12 @@ $result_trees{'inline_expand_tex'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' <emphasis>docbook</emphasis> ``',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -196,6 +220,12 @@ $result_trees{'inline_expand_tex'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' @math{\\frac{a < b @code{tex \\hbox{ code 
}}}{b}} ``',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -239,6 +269,12 @@ $result_trees{'inline_expand_tex'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' raw <blink>html</blink> ``',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -267,6 +303,12 @@ $result_trees{'inline_expand_tex'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' raw plaintext ``',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -295,6 +337,12 @@ $result_trees{'inline_expand_tex'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' raw <para>xml</para> ``',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -323,6 +371,12 @@ $result_trees{'inline_expand_tex'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' raw <emphasis>docbook</emphasis> ``',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -437,6 +491,12 @@ $result_trees{'inline_expand_tex'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' raw $\\frac{a < b @code{tex \\hbox{ code 
}}}{b}$ ``',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -465,20 +525,20 @@ $result_trees{'inline_expand_tex'} = {
 };
 
 $result_texis{'inline_expand_tex'} = '
-@inlinefmt{html,}, 
-@inlinefmt{plaintext,}, 
-@inlinefmt{xml,},
-@inlinefmt{docbook,}, 
+@inlinefmt{html, <blink>html</blink> ``}, 
+@inlinefmt{plaintext, plaintext ``}, 
+@inlinefmt{xml, <para>xml</para> ``},
+@inlinefmt{docbook, <emphasis>docbook</emphasis> ``}, 
 @inlinefmt{tex, $\\underlinea < b @code{tex \\hbox code }}$ ``
-@inlinefmt{latex,}
+@inlinefmt{latex, @math{\\frac{a < b @code{tex \\hbox{ code }}}{b}} ``}
 
 
-@inlineraw{html,}, 
-@inlineraw{plaintext,}, 
-@inlineraw{xml,},
-@inlineraw{docbook,}, 
+@inlineraw{html, raw <blink>html</blink> ``}, 
+@inlineraw{plaintext, raw plaintext ``}, 
+@inlineraw{xml, raw <para>xml</para> ``},
+@inlineraw{docbook, raw <emphasis>docbook</emphasis> ``}, 
 @inlineraw{tex, raw $\\underline{a < b @code{tex \\hbox{ code }}}$ ``}
-@inlineraw{latex,}
+@inlineraw{latex, raw $\\frac{a < b @code{tex \\hbox{ code }}}{b}$ ``}
 ';
 
 
@@ -568,20 +628,20 @@ raw $\\underline{a < b <code class="code">tex \\hbox{ 
code }</code>}$ ``
 
 
 $result_converted{'xml'}->{'inline_expand_tex'} = '
-<para><inlinefmt><inlinefmtformat>html</inlinefmtformat></inlinefmt>, 
-<inlinefmt><inlinefmtformat>plaintext</inlinefmtformat></inlinefmt>, 
-<inlinefmt><inlinefmtformat>xml</inlinefmtformat></inlinefmt>,
-<inlinefmt><inlinefmtformat>docbook</inlinefmtformat></inlinefmt>, 
+<para><inlinefmt><inlinefmtformat>html</inlinefmtformat><inlinefmtcontent> 
&lt;blink&gt;html&lt;/blink&gt; ``</inlinefmtcontent></inlinefmt>, 
+<inlinefmt><inlinefmtformat>plaintext</inlinefmtformat><inlinefmtcontent> 
plaintext ``</inlinefmtcontent></inlinefmt>, 
+<inlinefmt><inlinefmtformat>xml</inlinefmtformat><inlinefmtcontent> 
&lt;para&gt;xml&lt;/para&gt; ``</inlinefmtcontent></inlinefmt>,
+<inlinefmt><inlinefmtformat>docbook</inlinefmtformat><inlinefmtcontent> 
&lt;emphasis&gt;docbook&lt;/emphasis&gt; ``</inlinefmtcontent></inlinefmt>, 
 $\\underlinea &lt; b <code>tex \\hbox code </code>$ &textldquo;
-<inlinefmt><inlinefmtformat>latex</inlinefmtformat></inlinefmt>
+<inlinefmt><inlinefmtformat>latex</inlinefmtformat><inlinefmtcontent> 
@math{\\frac{a &lt; b @code{tex \\hbox{ code }}}{b}} 
``</inlinefmtcontent></inlinefmt>
 </para>
 
-<para><inlineraw><inlinerawformat>html</inlinerawformat></inlineraw>, 
-<inlineraw><inlinerawformat>plaintext</inlinerawformat></inlineraw>, 
-<inlineraw><inlinerawformat>xml</inlinerawformat></inlineraw>,
-<inlineraw><inlinerawformat>docbook</inlinerawformat></inlineraw>, 
+<para><inlineraw><inlinerawformat>html</inlinerawformat><inlinerawcontent> raw 
&lt;blink&gt;html&lt;/blink&gt; ``</inlinerawcontent></inlineraw>, 
+<inlineraw><inlinerawformat>plaintext</inlinerawformat><inlinerawcontent> raw 
plaintext ``</inlinerawcontent></inlineraw>, 
+<inlineraw><inlinerawformat>xml</inlinerawformat><inlinerawcontent> raw 
&lt;para&gt;xml&lt;/para&gt; ``</inlinerawcontent></inlineraw>,
+<inlineraw><inlinerawformat>docbook</inlinerawformat><inlinerawcontent> raw 
&lt;emphasis&gt;docbook&lt;/emphasis&gt; ``</inlinerawcontent></inlineraw>, 
 raw $\\underline{a < b <code>tex \\hbox{ code }</code>}$ ``
-<inlineraw><inlinerawformat>latex</inlinerawformat></inlineraw>
+<inlineraw><inlinerawformat>latex</inlinerawformat><inlinerawcontent> raw 
$\\frac{a &lt; b @code{tex \\hbox{ code }}}{b}$ 
``</inlinerawcontent></inlineraw>
 </para>';
 
 
diff --git a/tp/t/results/converters_tests/inlinefmtifelse.pl 
b/tp/t/results/converters_tests/inlinefmtifelse.pl
index 54d30c6e1c..48e4213c76 100644
--- a/tp/t/results/converters_tests/inlinefmtifelse.pl
+++ b/tp/t/results/converters_tests/inlinefmtifelse.pl
@@ -22,6 +22,12 @@ $result_trees{'inlinefmtifelse'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => '',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 },
                 {
@@ -59,6 +65,12 @@ $result_trees{'inlinefmtifelse'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => 'if html',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 },
                 {
@@ -106,6 +118,12 @@ $result_trees{'inlinefmtifelse'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => 'if plaintext no second arg',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 },
                 {
@@ -138,6 +156,12 @@ $result_trees{'inlinefmtifelse'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => 'if plaintext',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 },
                 {
@@ -185,6 +209,12 @@ $result_trees{'inlinefmtifelse'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => 'if xml empty second arg',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 },
                 {
@@ -235,6 +265,12 @@ $result_trees{'inlinefmtifelse'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' if docbook spaces ',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 },
                 {
@@ -295,6 +331,12 @@ $result_trees{'inlinefmtifelse'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' if tex spaces ',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 },
                 {
@@ -347,6 +389,12 @@ $result_trees{'inlinefmtifelse'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => 'if docbook',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 },
                 {
@@ -394,6 +442,12 @@ $result_trees{'inlinefmtifelse'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => 'if tex',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 },
                 {
@@ -441,6 +495,12 @@ $result_trees{'inlinefmtifelse'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => 'if latex',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 },
                 {
@@ -478,22 +538,22 @@ $result_trees{'inlinefmtifelse'} = {
 };
 
 $result_texis{'inlinefmtifelse'} = '@inlinefmtifelse{html,,else html no if}.
-@inlinefmtifelse{html,,else html}.
+@inlinefmtifelse{html,if html,else html}.
 
-@inlinefmtifelse{plaintext,,}.
-@inlinefmtifelse{plaintext,,else plaintext}.
+@inlinefmtifelse{plaintext,if plaintext no second arg,}.
+@inlinefmtifelse{plaintext,if plaintext,else plaintext}.
 
-@inlinefmtifelse{xml,,}.
+@inlinefmtifelse{xml,if xml empty second arg,}.
 
-@inlinefmtifelse{ docbook ,, else docbook spaces }.
+@inlinefmtifelse{ docbook , if docbook spaces , else docbook spaces }.
 
-@inlinefmtifelse{ tex ,, else tex spaces }.
+@inlinefmtifelse{ tex , if tex spaces , else tex spaces }.
 
-@inlinefmtifelse{docbook,,else docbook}.
+@inlinefmtifelse{docbook,if docbook,else docbook}.
 
-@inlinefmtifelse{tex,,else tex}.
+@inlinefmtifelse{tex,if tex,else tex}.
 
-@inlinefmtifelse{latex,,else latex}.
+@inlinefmtifelse{latex,if latex,else latex}.
 ';
 
 
@@ -525,7 +585,7 @@ $result_floats{'inlinefmtifelse'} = {};
 
 $result_converted{'plaintext'}->{'inlinefmtifelse'} = 'else html no if.  else 
html.
 
-   .  .
+   if plaintext no second arg.  if plaintext.
 
    .
 
@@ -542,7 +602,7 @@ $result_converted{'plaintext'}->{'inlinefmtifelse'} = 'else 
html no if.  else ht
 
 
 $result_converted{'html_text'}->{'inlinefmtifelse'} = '<p>.
-.
+if html.
 </p>
 <p>.
 else plaintext.
@@ -562,22 +622,22 @@ else plaintext.
 
 
 $result_converted{'xml'}->{'inlinefmtifelse'} = 
'<para><inlinefmtifelse><inlinefmtifelseformat>html</inlinefmtifelseformat><inlinefmtifelsecontentelse>else
 html no if</inlinefmtifelsecontentelse></inlinefmtifelse>.
-<inlinefmtifelse><inlinefmtifelseformat>html</inlinefmtifelseformat><inlinefmtifelsecontentelse>else
 html</inlinefmtifelsecontentelse></inlinefmtifelse>.
+<inlinefmtifelse><inlinefmtifelseformat>html</inlinefmtifelseformat><inlinefmtifelsecontentif>if
 html</inlinefmtifelsecontentif><inlinefmtifelsecontentelse>else 
html</inlinefmtifelsecontentelse></inlinefmtifelse>.
 </para>
-<para><inlinefmtifelse><inlinefmtifelseformat>plaintext</inlinefmtifelseformat></inlinefmtifelse>.
-<inlinefmtifelse><inlinefmtifelseformat>plaintext</inlinefmtifelseformat><inlinefmtifelsecontentelse>else
 plaintext</inlinefmtifelsecontentelse></inlinefmtifelse>.
+<para><inlinefmtifelse><inlinefmtifelseformat>plaintext</inlinefmtifelseformat><inlinefmtifelsecontentif>if
 plaintext no second arg</inlinefmtifelsecontentif></inlinefmtifelse>.
+<inlinefmtifelse><inlinefmtifelseformat>plaintext</inlinefmtifelseformat><inlinefmtifelsecontentif>if
 plaintext</inlinefmtifelsecontentif><inlinefmtifelsecontentelse>else 
plaintext</inlinefmtifelsecontentelse></inlinefmtifelse>.
 </para>
 <para>.
 </para>
-<para><inlinefmtifelse><inlinefmtifelseformat spaces=" ">docbook 
</inlinefmtifelseformat><inlinefmtifelsecontentelse spaces=" ">else docbook 
spaces </inlinefmtifelsecontentelse></inlinefmtifelse>.
+<para><inlinefmtifelse><inlinefmtifelseformat spaces=" ">docbook 
</inlinefmtifelseformat><inlinefmtifelsecontentif> if docbook spaces 
</inlinefmtifelsecontentif><inlinefmtifelsecontentelse spaces=" ">else docbook 
spaces </inlinefmtifelsecontentelse></inlinefmtifelse>.
 </para>
-<para><inlinefmtifelse><inlinefmtifelseformat spaces=" ">tex 
</inlinefmtifelseformat><inlinefmtifelsecontentelse spaces=" ">else tex spaces 
</inlinefmtifelsecontentelse></inlinefmtifelse>.
+<para><inlinefmtifelse><inlinefmtifelseformat spaces=" ">tex 
</inlinefmtifelseformat><inlinefmtifelsecontentif> if tex spaces 
</inlinefmtifelsecontentif><inlinefmtifelsecontentelse spaces=" ">else tex 
spaces </inlinefmtifelsecontentelse></inlinefmtifelse>.
 </para>
-<para><inlinefmtifelse><inlinefmtifelseformat>docbook</inlinefmtifelseformat><inlinefmtifelsecontentelse>else
 docbook</inlinefmtifelsecontentelse></inlinefmtifelse>.
+<para><inlinefmtifelse><inlinefmtifelseformat>docbook</inlinefmtifelseformat><inlinefmtifelsecontentif>if
 docbook</inlinefmtifelsecontentif><inlinefmtifelsecontentelse>else 
docbook</inlinefmtifelsecontentelse></inlinefmtifelse>.
 </para>
-<para><inlinefmtifelse><inlinefmtifelseformat>tex</inlinefmtifelseformat><inlinefmtifelsecontentelse>else
 tex</inlinefmtifelsecontentelse></inlinefmtifelse>.
+<para><inlinefmtifelse><inlinefmtifelseformat>tex</inlinefmtifelseformat><inlinefmtifelsecontentif>if
 tex</inlinefmtifelsecontentif><inlinefmtifelsecontentelse>else 
tex</inlinefmtifelsecontentelse></inlinefmtifelse>.
 </para>
-<para><inlinefmtifelse><inlinefmtifelseformat>latex</inlinefmtifelseformat><inlinefmtifelsecontentelse>else
 latex</inlinefmtifelsecontentelse></inlinefmtifelse>.
+<para><inlinefmtifelse><inlinefmtifelseformat>latex</inlinefmtifelseformat><inlinefmtifelsecontentif>if
 latex</inlinefmtifelsecontentif><inlinefmtifelsecontentelse>else 
latex</inlinefmtifelsecontentelse></inlinefmtifelse>.
 </para>';
 
 
@@ -589,11 +649,11 @@ else plaintext.
 </para>
 <para>.
 </para>
-<para>.
+<para> if docbook spaces .
 </para>
 <para>else tex spaces .
 </para>
-<para>.
+<para>if docbook.
 </para>
 <para>else tex.
 </para>
@@ -617,7 +677,7 @@ else docbook.
 
 else tex.
 
-.
+if latex.
 ';
 
 1;
diff --git a/tp/t/results/converters_tests/inlineifsetifclear.pl 
b/tp/t/results/converters_tests/inlineifsetifclear.pl
index a4d67f9f40..a3d54b6933 100644
--- a/tp/t/results/converters_tests/inlineifsetifclear.pl
+++ b/tp/t/results/converters_tests/inlineifsetifclear.pl
@@ -71,6 +71,12 @@ $result_trees{'inlineifsetifclear'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' ifset first ',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -137,6 +143,12 @@ $result_trees{'inlineifsetifclear'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' ifclear second ',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -215,11 +227,11 @@ $result_trees{'inlineifsetifclear'} = {
 
 $result_texis{'inlineifsetifclear'} = '@inlineifclear{aaa, iclear first }.
 
-@inlineifset{aaa,}.
+@inlineifset{aaa, ifset first }.
 
 @set aaa
 
-@inlineifclear{aaa,}.
+@inlineifclear{aaa, ifclear second }.
 
 @inlineifset{aaa, ifset second }.
 ';
@@ -265,11 +277,11 @@ $result_converted{'html_text'}->{'inlineifsetifclear'} = 
'<p>iclear first .
 
 $result_converted{'xml'}->{'inlineifsetifclear'} = 
'<para><inlineifclear><inlineifclearformat>aaa</inlineifclearformat><inlineifclearcontent
 spaces=" ">iclear first </inlineifclearcontent></inlineifclear>.
 </para>
-<para><inlineifset><inlineifsetformat>aaa</inlineifsetformat></inlineifset>.
+<para><inlineifset><inlineifsetformat>aaa</inlineifsetformat><inlineifsetcontent>
 ifset first </inlineifsetcontent></inlineifset>.
 </para>
 <set name="aaa" line=" aaa"></set>
 
-<para><inlineifclear><inlineifclearformat>aaa</inlineifclearformat></inlineifclear>.
+<para><inlineifclear><inlineifclearformat>aaa</inlineifclearformat><inlineifclearcontent>
 ifclear second </inlineifclearcontent></inlineifclear>.
 </para>
 
<para><inlineifset><inlineifsetformat>aaa</inlineifsetformat><inlineifsetcontent
 spaces=" ">ifset second </inlineifsetcontent></inlineifset>.
 </para>';
diff --git a/tp/t/results/converters_tests/inlineifsetifclearspaces.pl 
b/tp/t/results/converters_tests/inlineifsetifclearspaces.pl
index 7c7d375b13..e0c27cef07 100644
--- a/tp/t/results/converters_tests/inlineifsetifclearspaces.pl
+++ b/tp/t/results/converters_tests/inlineifsetifclearspaces.pl
@@ -91,6 +91,12 @@ $result_trees{'inlineifsetifclearspaces'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' ifset first ',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -169,6 +175,12 @@ $result_trees{'inlineifsetifclearspaces'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' ifclear second ',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -263,11 +275,11 @@ $result_texis{'inlineifsetifclearspaces'} = 
'@inlineifclear
 { aaa , iclear first }.
 
 @inlineifset
-{ aaa ,}.
+{ aaa , ifset first }.
 
 @set aaa
 
-@inlineifclear { aaa ,}.
+@inlineifclear { aaa , ifclear second }.
 
 @inlineifset { aaa , ifset second }.
 ';
@@ -332,11 +344,11 @@ 
$result_converted{'html_text'}->{'inlineifsetifclearspaces'} = '<p>iclear first
 
 $result_converted{'xml'}->{'inlineifsetifclearspaces'} = '<para><inlineifclear 
spacesaftercmd="\\n"><inlineifclearformat spaces=" ">aaa 
</inlineifclearformat><inlineifclearcontent spaces=" ">iclear first 
</inlineifclearcontent></inlineifclear>.
 </para>
-<para><inlineifset spacesaftercmd="\\n"><inlineifsetformat spaces=" ">aaa 
</inlineifsetformat></inlineifset>.
+<para><inlineifset spacesaftercmd="\\n"><inlineifsetformat spaces=" ">aaa 
</inlineifsetformat><inlineifsetcontent> ifset first 
</inlineifsetcontent></inlineifset>.
 </para>
 <set name="aaa" line=" aaa"></set>
 
-<para><inlineifclear spacesaftercmd=" "><inlineifclearformat spaces=" ">aaa 
</inlineifclearformat></inlineifclear>.
+<para><inlineifclear spacesaftercmd=" "><inlineifclearformat spaces=" ">aaa 
</inlineifclearformat><inlineifclearcontent> ifclear second 
</inlineifclearcontent></inlineifclear>.
 </para>
 <para><inlineifset spacesaftercmd=" "><inlineifsetformat spaces=" ">aaa 
</inlineifsetformat><inlineifsetcontent spaces=" ">ifset second 
</inlineifsetcontent></inlineifset>.
 </para>';
diff --git a/tp/t/results/macro/ignored_macro_definition.pl 
b/tp/t/results/macro/ignored_macro_definition.pl
index fa76a635a3..336f7d5526 100644
--- a/tp/t/results/macro/ignored_macro_definition.pl
+++ b/tp/t/results/macro/ignored_macro_definition.pl
@@ -89,6 +89,17 @@ $result_trees{'ignored_macro_definition'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => '
+@unmacro mymacro
+@macro mymacro{}
+in inlinefmt tex
+@end macro
+',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -157,7 +168,12 @@ outside
 @end macro
 
 
-@inlinefmt{tex,}
+@inlinefmt{tex,
+@unmacro mymacro
+@macro mymacro{}
+in inlinefmt tex
+@end macro
+}
 
 outside.
 ';
diff --git a/tp/t/results/macro/macro_call_in_ignored_inlinefmtifelse.pl 
b/tp/t/results/macro/macro_call_in_ignored_inlinefmtifelse.pl
index 4e28fd2640..c89d56cef7 100644
--- a/tp/t/results/macro/macro_call_in_ignored_inlinefmtifelse.pl
+++ b/tp/t/results/macro/macro_call_in_ignored_inlinefmtifelse.pl
@@ -87,6 +87,12 @@ $result_trees{'macro_call_in_ignored_inlinefmtifelse'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' here @commafmt{} finish',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 },
                 {
@@ -122,7 +128,7 @@ $result_texis{'macro_call_in_ignored_inlinefmtifelse'} = 
'@macro commafmt
 before comma, after
 @end macro
 
-Toto @inlinefmtifelse{tex,,} done.
+Toto @inlinefmtifelse{tex, here @commafmt{} finish,} done.
 ';
 
 
diff --git a/tp/t/results/macro/macro_call_in_inlinefmtifelse_format.pl 
b/tp/t/results/macro/macro_call_in_inlinefmtifelse_format.pl
index 51e05f0432..3372a83105 100644
--- a/tp/t/results/macro/macro_call_in_inlinefmtifelse_format.pl
+++ b/tp/t/results/macro/macro_call_in_inlinefmtifelse_format.pl
@@ -101,6 +101,12 @@ $result_trees{'macro_call_in_inlinefmtifelse_format'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' before',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 },
                 {
@@ -154,7 +160,7 @@ $result_texis{'macro_call_in_inlinefmtifelse_format'} = 
'@macro inlinefirstarg
 ex, before, after
 @end macro
 
-Toto @inlinefmtifelse{tex,, after} done.
+Toto @inlinefmtifelse{tex, before, after} done.
 ';
 
 
diff --git a/tp/t/results/macro/macro_end_call_in_ignored_inlinefmt.pl 
b/tp/t/results/macro/macro_end_call_in_ignored_inlinefmt.pl
index ad55a4697e..e5681cb45d 100644
--- a/tp/t/results/macro/macro_end_call_in_ignored_inlinefmt.pl
+++ b/tp/t/results/macro/macro_end_call_in_ignored_inlinefmt.pl
@@ -106,11 +106,14 @@ $result_trees{'macro_end_call_in_ignored_inlinefmt'} = {
                       'source_marks' => [
                         {
                           'counter' => 1,
+                          'position' => 4,
                           'sourcemark_type' => 'macro_expansion',
                           'status' => 'end'
                         }
                       ],
-                      'text' => ''
+                      'text' => ' inT
+still ignored',
+                      'type' => 'raw'
                     }
                   ],
                   'type' => 'elided_brace_command_arg'
@@ -144,7 +147,8 @@ $result_texis{'macro_end_call_in_ignored_inlinefmt'} = 
'@macro startfmt
 Para @inlinefmt{tex, inT
 @end macro
 
-Para @inlinefmt{tex,}. After.
+Para @inlinefmt{tex, inT
+still ignored}. After.
 ';
 
 
diff --git a/tp/t/results/macro/macro_end_call_in_ignored_inlinefmtifelse.pl 
b/tp/t/results/macro/macro_end_call_in_ignored_inlinefmtifelse.pl
index dc467257d1..984cb423e7 100644
--- a/tp/t/results/macro/macro_end_call_in_ignored_inlinefmtifelse.pl
+++ b/tp/t/results/macro/macro_end_call_in_ignored_inlinefmtifelse.pl
@@ -106,11 +106,13 @@ 
$result_trees{'macro_end_call_in_ignored_inlinefmtifelse'} = {
                       'source_marks' => [
                         {
                           'counter' => 1,
+                          'position' => 7,
                           'sourcemark_type' => 'macro_expansion',
                           'status' => 'end'
                         }
                       ],
-                      'text' => ''
+                      'text' => ' before comma',
+                      'type' => 'raw'
                     }
                   ],
                   'type' => 'elided_brace_command_arg'
@@ -158,7 +160,7 @@ $result_texis{'macro_end_call_in_ignored_inlinefmtifelse'} 
= '@macro inlinefirst
 Toto @inlinefmtifelse{tex, before
 @end macro
 
-Toto @inlinefmtifelse{tex,, finish} done.
+Toto @inlinefmtifelse{tex, before comma, finish} done.
 ';
 
 
diff --git 
a/tp/t/results/macro/macro_end_call_in_ignored_inlinefmtifelse_else.pl 
b/tp/t/results/macro/macro_end_call_in_ignored_inlinefmtifelse_else.pl
index 891f5a7b4b..c5f58870f2 100644
--- a/tp/t/results/macro/macro_end_call_in_ignored_inlinefmtifelse_else.pl
+++ b/tp/t/results/macro/macro_end_call_in_ignored_inlinefmtifelse_else.pl
@@ -119,11 +119,13 @@ 
$result_trees{'macro_end_call_in_ignored_inlinefmtifelse_else'} = {
                       'source_marks' => [
                         {
                           'counter' => 1,
+                          'position' => 8,
                           'sourcemark_type' => 'macro_expansion',
                           'status' => 'end'
                         }
                       ],
-                      'text' => ''
+                      'text' => ' ignored after',
+                      'type' => 'raw'
                     }
                   ],
                   'type' => 'elided_brace_command_arg'
@@ -158,12 +160,12 @@ 
$result_texis{'macro_end_call_in_ignored_inlinefmtifelse_else'} = '@macro endcal
 own, ignored
 @end macro
 
-Toto @inlinefmtifelse{html, before shown,} done.
+Toto @inlinefmtifelse{html, before shown, ignored after} done.
 ';
 
 
 $result_texts{'macro_end_call_in_ignored_inlinefmtifelse_else'} = '
-Toto  done.
+Toto  ignored after done.
 ';
 
 $result_errors{'macro_end_call_in_ignored_inlinefmtifelse_else'} = [];
diff --git a/tp/t/results/macro/macro_end_call_in_ignored_inlineraw.pl 
b/tp/t/results/macro/macro_end_call_in_ignored_inlineraw.pl
index 344f03121b..b78102925d 100644
--- a/tp/t/results/macro/macro_end_call_in_ignored_inlineraw.pl
+++ b/tp/t/results/macro/macro_end_call_in_ignored_inlineraw.pl
@@ -106,11 +106,14 @@ $result_trees{'macro_end_call_in_ignored_inlineraw'} = {
                       'source_marks' => [
                         {
                           'counter' => 1,
+                          'position' => 13,
                           'sourcemark_type' => 'macro_expansion',
                           'status' => 'end'
                         }
                       ],
-                      'text' => ''
+                      'text' => ' in@something
+still ignored',
+                      'type' => 'raw'
                     }
                   ],
                   'type' => 'elided_brace_command_arg'
@@ -144,7 +147,8 @@ $result_texis{'macro_end_call_in_ignored_inlineraw'} = 
'@macro startraw
 Para @inlineraw{tex, in\\@something
 @end macro
 
-Para @inlineraw{tex,}. After.
+Para @inlineraw{tex, in@something
+still ignored}. After.
 ';
 
 
diff --git a/tp/t/results/macro/macro_inlineifcond_end_in_empty_ignored.pl 
b/tp/t/results/macro/macro_inlineifcond_end_in_empty_ignored.pl
index 558e158d2c..1c0a8920d3 100644
--- a/tp/t/results/macro/macro_inlineifcond_end_in_empty_ignored.pl
+++ b/tp/t/results/macro/macro_inlineifcond_end_in_empty_ignored.pl
@@ -105,7 +105,8 @@ $result_trees{'macro_inlineifcond_end_in_empty_ignored'} = {
                           'status' => 'end'
                         }
                       ],
-                      'text' => ''
+                      'text' => '',
+                      'type' => 'raw'
                     }
                   ],
                   'type' => 'elided_brace_command_arg'
@@ -172,7 +173,8 @@ $result_trees{'macro_inlineifcond_end_in_empty_ignored'} = {
                           'status' => 'end'
                         }
                       ],
-                      'text' => ''
+                      'text' => ' ',
+                      'type' => 'raw'
                     }
                   ],
                   'type' => 'elided_brace_command_arg'
@@ -207,7 +209,7 @@ ag,
 @end macro
 Toto @inlineifset{flag,}. After.
 
-Again with space @inlineifset{flag,}. After.
+Again with space @inlineifset{flag, }. After.
 ';
 
 
diff --git a/tp/t/results/raw/inline_missing_first_arg.pl 
b/tp/t/results/raw/inline_missing_first_arg.pl
index bc49ad4765..ef37496aa8 100644
--- a/tp/t/results/raw/inline_missing_first_arg.pl
+++ b/tp/t/results/raw/inline_missing_first_arg.pl
@@ -22,6 +22,12 @@ $result_trees{'inline_missing_first_arg'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' aaa',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -44,6 +50,12 @@ $result_trees{'inline_missing_first_arg'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => ' bbb',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -71,7 +83,7 @@ $result_trees{'inline_missing_first_arg'} = {
   'type' => 'document_root'
 };
 
-$result_texis{'inline_missing_first_arg'} = '@inlinefmt{ ,}. @inlineraw{,}.
+$result_texis{'inline_missing_first_arg'} = '@inlinefmt{ , aaa}. @inlineraw{, 
bbb}.
 ';
 
 
diff --git a/tp/t/results/value/ignored_value_definition.pl 
b/tp/t/results/value/ignored_value_definition.pl
index 96f490480f..60b87fdbef 100644
--- a/tp/t/results/value/ignored_value_definition.pl
+++ b/tp/t/results/value/ignored_value_definition.pl
@@ -50,6 +50,14 @@ $result_trees{'ignored_value_definition'} = {
                   'type' => 'brace_command_arg'
                 },
                 {
+                  'contents' => [
+                    {
+                      'text' => '
+@set aa in inlinefmt tex
+',
+                      'type' => 'raw'
+                    }
+                  ],
                   'type' => 'elided_brace_command_arg'
                 }
               ],
@@ -118,7 +126,9 @@ $result_trees{'ignored_value_definition'} = {
 
 $result_texis{'ignored_value_definition'} = '@set aa outside
 
-@inlinefmt{tex,}
+@inlinefmt{tex,
+@set aa in inlinefmt tex
+}
 
 outside.
 ';



reply via email to

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