texinfo-commits
[Top][All Lists]
Advanced

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

[5354]


From: Patrice Dumas
Subject: [5354]
Date: Thu, 05 Sep 2013 23:27:48 +0000

Revision: 5354
          http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=5354
Author:   pertusus
Date:     2013-09-05 23:27:45 +0000 (Thu, 05 Sep 2013)
Log Message:
-----------

        * tp/Texinfo/Parser.pm, 
        tp/Texinfo/Convert/HTML.pm(_convert_inline_command),
        tp/Texinfo/Convert/Plaintext.pm, tp/Texinfo/Convert/DocBook.pm,
        tp/Texinfo/Convert/Text.pm, tp/Texinfo/Common.pm, 
        tp/Texinfo/Convert/TexinfoXML.pm:
        implement @inlinefmtifelse, @inlineifclear, @inlineifset.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/tp/TODO
    trunk/tp/Texinfo/Common.pm
    trunk/tp/Texinfo/Convert/DocBook.pm
    trunk/tp/Texinfo/Convert/HTML.pm
    trunk/tp/Texinfo/Convert/Plaintext.pm
    trunk/tp/Texinfo/Convert/TexinfoXML.pm
    trunk/tp/Texinfo/Convert/Text.pm
    trunk/tp/Texinfo/Parser.pm
    trunk/tp/t/converters_tests.t
    trunk/tp/t/results/converters_tests/inline_expand_tex.pl
    trunk/tp/t/results/raw/inline_missing_first_arg.pl
    trunk/tp/t/results/raw/inlinefmt_with_empty_line.pl
    trunk/util/texinfo.dtd

Added Paths:
-----------
    trunk/tp/t/results/converters_tests/inlinefmtifelse.pl
    trunk/tp/t/results/converters_tests/inlineifsetifclear.pl

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog     2013-09-01 19:14:58 UTC (rev 5353)
+++ trunk/ChangeLog     2013-09-05 23:27:45 UTC (rev 5354)
@@ -1,3 +1,12 @@
+2013-09-06  Patrice Dumas  <address@hidden>
+
+       * tp/Texinfo/Parser.pm, 
+       tp/Texinfo/Convert/HTML.pm(_convert_inline_command),
+       tp/Texinfo/Convert/Plaintext.pm, tp/Texinfo/Convert/DocBook.pm,
+       tp/Texinfo/Convert/Text.pm, tp/Texinfo/Common.pm, 
+       tp/Texinfo/Convert/TexinfoXML.pm:
+       implement @inlinefmtifelse, @inlineifclear, @inlineifset.
+
 2013-09-01  Patrice Dumas  <address@hidden>
 
        * tp/Texinfo/Convert/Info.pm (_node): warn if node name contains

Modified: trunk/tp/TODO
===================================================================
--- trunk/tp/TODO       2013-09-01 19:14:58 UTC (rev 5353)
+++ trunk/tp/TODO       2013-09-05 23:27:45 UTC (rev 5354)
@@ -13,11 +13,7 @@
 Before next release
 ===================
 
-Warn node names incorrect.
 
-New conditionals.
-
-
 Bugs
 ====
 

Modified: trunk/tp/Texinfo/Common.pm
===================================================================
--- trunk/tp/Texinfo/Common.pm  2013-09-01 19:14:58 UTC (rev 5353)
+++ trunk/tp/Texinfo/Common.pm  2013-09-05 23:27:45 UTC (rev 5354)
@@ -625,11 +625,26 @@
 }
 
 our %inline_format_commands;
-foreach my $inline_format_command ('inlineraw', 'inlinefmt') {
+our %inline_commands;
+foreach my $inline_format_command ('inlineraw', 'inlinefmt', 
+        'inlinefmtifelse') {
   $inline_format_commands{$inline_format_command} = 1;
   $brace_commands{$inline_format_command} = 2;
+  $inline_commands{$inline_format_command} = 1;
 }
 
+$brace_commands{'inlinefmtifelse'} = 3;
+
+our %inline_conditional_commands;
+foreach my $inline_conditional_command ('inlineifclear', 'inlineifset') {
+  $inline_conditional_commands{$inline_conditional_command} = 1;
+  $brace_commands{$inline_conditional_command} = 2;
+  $inline_commands{$inline_conditional_command} = 1;
+}
+
+# 'inlineset', 'inlineclear'
+#$brace_commands{'inlineclear'} = 1;
+
 foreach my $two_arg_command('email') {
   $brace_commands{$two_arg_command} = 2;
 }

Modified: trunk/tp/Texinfo/Convert/DocBook.pm
===================================================================
--- trunk/tp/Texinfo/Convert/DocBook.pm 2013-09-01 19:14:58 UTC (rev 5353)
+++ trunk/tp/Texinfo/Convert/DocBook.pm 2013-09-05 23:27:45 UTC (rev 5354)
@@ -1025,17 +1025,30 @@
         } else {
           return '';
         }
-      } elsif ($Texinfo::Common::inline_format_commands{$root->{'cmdname'}}
-               and $root->{'extra'} and $root->{'extra'}->{'format'}
-               and 
$self->{'expanded_formats_hash'}->{$root->{'extra'}->{'format'}}) {
+      } elsif ($Texinfo::Common::inline_commands{$root->{'cmdname'}}) {
+        my $expand = 0;
+        if ($Texinfo::Common::inline_format_commands{$root->{'cmdname'}}) {
+          if ($root->{'cmdname'} eq 'inlinefmtifelse'
+              or ($root->{'extra'} and $root->{'extra'}->{'format'}
+                  and 
$self->{'expanded_formats_hash'}->{$root->{'extra'}->{'format'}})) {
+            $expand = 1;
+          }
+        } elsif (defined($root->{'extra'}->{'expand_index'})) {
+          $expand = 1;
+        }
+        return '' if (! $expand);
+        my $arg_index = 1;
         if ($root->{'cmdname'} eq 'inlineraw') {
           push @{$self->{'document_context'}}, {'monospace' => [0]};
           $self->{'document_context'}->[-1]->{'raw'} = 1;
+        } elsif ($root->{'cmdname'} eq 'inlinefmtifelse' 
+                 and ! 
$self->{'expanded_formats_hash'}->{$root->{'extra'}->{'format'}}) {
+          $arg_index = 2;
         }
-        if (scalar (@{$root->{'extra'}->{'brace_command_contents'}}) == 2
-            and defined($root->{'extra'}->{'brace_command_contents'}->[-1])) {
+        if (scalar (@{$root->{'extra'}->{'brace_command_contents'}}) > 
$arg_index
+            and 
defined($root->{'extra'}->{'brace_command_contents'}->[$arg_index])) {
           $result .= $self->_convert({'contents'
-                        => 
$root->{'extra'}->{'brace_command_contents'}->[-1]});
+                        => 
$root->{'extra'}->{'brace_command_contents'}->[$arg_index]});
         }
         if ($root->{'cmdname'} eq 'inlineraw') {
           pop @{$self->{'document_context'}};

Modified: trunk/tp/Texinfo/Convert/HTML.pm
===================================================================
--- trunk/tp/Texinfo/Convert/HTML.pm    2013-09-01 19:14:58 UTC (rev 5353)
+++ trunk/tp/Texinfo/Convert/HTML.pm    2013-09-05 23:27:45 UTC (rev 5354)
@@ -72,6 +72,7 @@
 my %item_container_commands = %Texinfo::Common::item_container_commands;
 my %raw_commands = %Texinfo::Common::raw_commands;
 my %format_raw_commands = %Texinfo::Common::format_raw_commands;
+my %inline_commands = %Texinfo::Common::inline_commands;
 my %inline_format_commands = %Texinfo::Common::inline_format_commands;
 my %code_style_commands       = %Texinfo::Common::code_style_commands;
 my %regular_font_style_commands = 
%Texinfo::Common::regular_font_style_commands;
@@ -1106,8 +1107,12 @@
   'pxref' => 
[['monospace'],['normal'],['normal'],['monospacetext'],['normal']],
   'ref' => [['monospace'],['normal'],['normal'],['monospacetext'],['normal']],
   'image' => [['monospacetext'],['monospacetext'],['monospacetext'],['string', 
'normal'],['monospacetext']],
+  # FIXME shouldn't it better not to convert if later ignored?
   'inlinefmt' => [['monospacetext'],['normal']],
+  'inlinefmtifelse' => [['monospacetext'],['normal'],['normal']],
   'inlineraw' => [['monospacetext'],['raw']],
+  'inlineifclear' => [['monospacetext'],['normal']],
+  'inlineifset' => [['monospacetext'],['normal']],
   'item' => [[]],
   'itemx' => [[]],
 );
@@ -2363,15 +2368,26 @@
   my $args = shift;
 
   my $format_arg = shift @$args;
-  my $text_arg = shift @$args;
 
   my $format;
   if (defined($format_arg)) {
     $format = $format_arg->{'monospacetext'};
   }
   return '' if (!defined($format) or $format eq '');
-  
-  if ($self->{'expanded_formats_hash'}->{$format}) {
+
+  my $arg_index = undef;
+  if ($inline_format_commands{$cmdname}) {
+    if ($cmdname eq 'inlinefmtifelse' 
+        and ! $self->{'expanded_formats_hash'}->{$format}) {
+      $arg_index = 1;
+    } elsif ($self->{'expanded_formats_hash'}->{$format}) {
+      $arg_index = 0;
+    }
+  } elsif (defined($command->{'extra'}->{'expand_index'})) {
+    $arg_index = 0;
+  }
+  if (defined($arg_index) and $arg_index < scalar(@$args)) {
+    my $text_arg = $args->[$arg_index];
     if ($text_arg) {
       if ($text_arg->{'normal'}) {
         return $text_arg->{'normal'};
@@ -2379,12 +2395,11 @@
         return $text_arg->{'raw'};
       }
     }
-  } else {
-    return '';
   }
+  return '';
 }
 
-foreach my $command (keys(%inline_format_commands)) {
+foreach my $command (keys(%inline_commands)) {
   $default_commands_conversion{$command} = \&_convert_inline_command;
 }
 

Modified: trunk/tp/Texinfo/Convert/Plaintext.pm
===================================================================
--- trunk/tp/Texinfo/Convert/Plaintext.pm       2013-09-01 19:14:58 UTC (rev 
5353)
+++ trunk/tp/Texinfo/Convert/Plaintext.pm       2013-09-05 23:27:45 UTC (rev 
5354)
@@ -87,6 +87,7 @@
 my %preformatted_commands = %Texinfo::Common::preformatted_commands;
 my %explained_commands = %Texinfo::Common::explained_commands;
 my %inline_format_commands = %Texinfo::Common::inline_format_commands;
+my %inline_commands = %Texinfo::Common::inline_commands;
 my %item_container_commands = %Texinfo::Common::item_container_commands;
 my %raw_commands = %Texinfo::Common::raw_commands;
 my %format_raw_commands = %Texinfo::Common::format_raw_commands;
@@ -1504,9 +1505,13 @@
   if (($root->{'type'} and $self->{'ignored_types'}->{$root->{'type'}})
        or ($root->{'cmdname'} 
             and ($self->{'ignored_commands'}->{$root->{'cmdname'}}
-                 or ($inline_format_commands{$root->{'cmdname'}}
-                     and (!$root->{'extra'}->{'format'}
-                          or 
!$self->{'expanded_formats_hash'}->{$root->{'extra'}->{'format'}}))))) {
+                 or ($inline_commands{$root->{'cmdname'}}
+                     and $root->{'cmdname'} ne 'inlinefmtifelse'
+                     and (($inline_format_commands{$root->{'cmdname'}}
+                          and (!$root->{'extra'}->{'format'}
+                               or 
!$self->{'expanded_formats_hash'}->{$root->{'extra'}->{'format'}}))
+                         or (!$inline_format_commands{$root->{'cmdname'}}
+                             and 
!defined($root->{'extra'}->{'expand_index'}))))))) {
     print STDERR "IGNORED\n" if ($self->{'debug'});
     return '';
   }
@@ -2103,15 +2108,21 @@
         }
       }
       return '';
-    } elsif ($inline_format_commands{$command}) {
-      if (scalar (@{$root->{'extra'}->{'brace_command_contents'}}) == 2
-         and defined($root->{'extra'}->{'brace_command_contents'}->[-1])) {
+    } elsif ($inline_commands{$command}) {
+      my $arg_index = 1;
+      if ($command eq 'inlinefmtifelse'
+          and (!$root->{'extra'}->{'format'} 
+               or 
!$self->{'expanded_formats_hash'}->{$root->{'extra'}->{'format'}})) {
+        $arg_index = 2;
+      }
+      if (scalar(@{$root->{'extra'}->{'brace_command_contents'}}) > $arg_index
+         and 
defined($root->{'extra'}->{'brace_command_contents'}->[$arg_index])) {
         my $argument;
         if ($command eq 'inlineraw') {
           $argument->{'type'} = '_code';
         }
         $argument->{'contents'} 
-            = $root->{'extra'}->{'brace_command_contents'}->[-1];
+            = $root->{'extra'}->{'brace_command_contents'}->[$arg_index];
         unshift @{$self->{'current_contents'}->[-1]}, ($argument);
       }
       return '';

Modified: trunk/tp/Texinfo/Convert/TexinfoXML.pm
===================================================================
--- trunk/tp/Texinfo/Convert/TexinfoXML.pm      2013-09-01 19:14:58 UTC (rev 
5353)
+++ trunk/tp/Texinfo/Convert/TexinfoXML.pm      2013-09-05 23:27:45 UTC (rev 
5354)
@@ -350,11 +350,15 @@
                                                  "${explained_command}desc"];
 }
 
-foreach my $inline_command (keys(%Texinfo::Common::inline_format_commands)) {
+foreach my $inline_command (keys(%Texinfo::Common::inline_commands)) {
   $commands_args_elements{$inline_command} = ["${inline_command}format",
                                               "${inline_command}content"];
 }
 
+my $inline_command = 'inlinefmtifelse';
+$commands_args_elements{$inline_command} = ["${inline_command}format",
+             "${inline_command}contentif", "${inline_command}contentelse"];
+
 my %commands_elements;
 foreach my $command (keys(%Texinfo::Common::brace_commands)) {
   $commands_elements{$command} = [$command];

Modified: trunk/tp/Texinfo/Convert/Text.pm
===================================================================
--- trunk/tp/Texinfo/Convert/Text.pm    2013-09-01 19:14:58 UTC (rev 5353)
+++ trunk/tp/Texinfo/Convert/Text.pm    2013-09-05 23:27:45 UTC (rev 5354)
@@ -359,9 +359,13 @@
                  or ($ignored_block_commands{$root->{'cmdname'}}
                      and !(defined($options->{'expanded_formats_hash'})
                            and 
$options->{'expanded_formats_hash'}->{$root->{'cmdname'}}))
-                 or 
($Texinfo::Common::inline_format_commands{$root->{'cmdname'}}
-                     and (!$root->{'extra'}->{'format'}
-                          or 
!$options->{'expanded_formats_hash'}->{$root->{'extra'}->{'format'}}))
+                 or ($Texinfo::Common::inline_commands{$root->{'cmdname'}}
+                     and $root->{'cmdname'} ne 'inlinefmtifelse'
+                     and 
(($Texinfo::Common::inline_format_commands{$root->{'cmdname'}}
+                          and (!$root->{'extra'}->{'format'}
+                               or 
!$options->{'expanded_formats_hash'}->{$root->{'extra'}->{'format'}}))
+                         or 
(!$Texinfo::Common::inline_format_commands{$root->{'cmdname'}}
+                             and 
!defined($root->{'extra'}->{'expand_index'}))))
              # here ignore most of the misc commands
                  or ($root->{'args'} and $root->{'args'}->[0] 
                      and $root->{'args'}->[0]->{'type'} 
@@ -443,9 +447,19 @@
       } else {
         return _convert($root->{'args'}->[0], $options);
       }
-    } elsif ($Texinfo::Common::inline_format_commands{$root->{'cmdname'}}) {
+    } elsif ($Texinfo::Common::inline_commands{$root->{'cmdname'}}) {
       $options->{'raw'} = 1 if ($root->{'cmdname'} eq 'inlineraw');
-      return _convert($root->{'args'}->[1], $options);
+      my $arg_index = 1;
+      if ($root->{'cmdname'} eq 'inlinefmtifelse'
+          and (!$root->{'extra'}->{'format'}
+               or 
!$options->{'expanded_formats_hash'}->{$root->{'extra'}->{'format'}})) {
+        $arg_index = 2;
+      }
+      if (scalar(@{$root->{'args'}}) > $arg_index) {
+        return _convert($root->{'args'}->[$arg_index], $options);
+      } else {
+        return '';
+      }
     } elsif ($root->{'args'} and $root->{'args'}->[0] 
            and (($root->{'args'}->[0]->{'type'}
                 and $root->{'args'}->[0]->{'type'} eq 'brace_command_arg')

Modified: trunk/tp/Texinfo/Parser.pm
===================================================================
--- trunk/tp/Texinfo/Parser.pm  2013-09-01 19:14:58 UTC (rev 5353)
+++ trunk/tp/Texinfo/Parser.pm  2013-09-05 23:27:45 UTC (rev 5354)
@@ -242,6 +242,8 @@
 my %in_heading_commands       = %Texinfo::Common::in_heading_commands;
 my %explained_commands        = %Texinfo::Common::explained_commands;
 my %inline_format_commands    = %Texinfo::Common::inline_format_commands;
+my %inline_commands           = %Texinfo::Common::inline_commands;
+my %inline_conditional_commands = 
%Texinfo::Common::inline_conditional_commands;
 my %all_commands              = %Texinfo::Common::all_commands;
 
 # equivalence between a @set flag and an @@-command
@@ -537,7 +539,7 @@
 sub _ignore_global_commands($)
 {
   my $self = shift;
-  return !$self->{'raw_formats_stack'}->[-1];
+  return !$self->{'expanded_formats_stack'}->[-1];
 }
 
 # enter all the commands associated with an index name using the prefix
@@ -678,7 +680,7 @@
   $parser->{'regions_stack'} = [];
   $parser->{'macro_stack'} = [];
   $parser->{'conditionals_stack'} = [];
-  $parser->{'raw_formats_stack'} = [1];
+  $parser->{'expanded_formats_stack'} = [1];
 
   # turn the array to a hash for speed.  Not sure it really matters for such
   # a small array.
@@ -1672,7 +1674,7 @@
           or $menu_commands{$current->{'cmdname'}}
           or $format_raw_commands{$current->{'cmdname'}}) {
         my $context = pop @{$self->{'context_stack'}};
-        pop @{$self->{'raw_formats_stack'}} 
+        pop @{$self->{'expanded_formats_stack'}} 
           if ($format_raw_commands{$current->{'cmdname'}});
       }
       pop @{$self->{'regions_stack'}} 
@@ -1768,7 +1770,7 @@
         $self->_bug_message("context $context instead of rawpreformatted for 
$closed_command", 
                             $line_nr, $current);
       }
-      pop @{$self->{'raw_formats_stack'}};
+      pop @{$self->{'expanded_formats_stack'}};
     } elsif ($menu_commands{$current->{'cmdname'}}) {
       my $context = pop @{$self->{'context_stack'}};
       # may be in menu, but context is preformatted if in a preformatted too.
@@ -4764,10 +4766,10 @@
               } elsif ($format_raw_commands{$command}) {
                 push @{$self->{'context_stack'}}, 'rawpreformatted';
                 if ($self->{'expanded_formats_hash'}->{$command} 
-                    and $self->{'raw_formats_stack'}->[-1]) {
-                  push @{$self->{'raw_formats_stack'}}, 1;
+                    and $self->{'expanded_formats_stack'}->[-1]) {
+                  push @{$self->{'expanded_formats_stack'}}, $command;
                 } else {
-                  push @{$self->{'raw_formats_stack'}}, 0;
+                  push @{$self->{'expanded_formats_stack'}}, 0;
                 }
               }
               if ($region_commands{$command}) {
@@ -4951,10 +4953,11 @@
                 $current->{'parent'}->{'extra'}->{'spaces_before_argument'}
                    = $current->{'contents'}->[-1];
               }
-              if ($command eq 'inlineraw') {
-                push @{$self->{'context_stack'}}, $command;
+              if ($inline_commands{$command}) {
                 # this is changed when the first argument is known.
-                push @{$self->{'raw_formats_stack'}}, 0;
+                push @{$self->{'expanded_formats_stack'}}, 0;
+                push @{$self->{'context_stack'}}, $command
+                  if ($command eq 'inlineraw');
               }
             }
             print STDERR "OPENED address@hidden>{'parent'}->{'cmdname'}, 
remaining: "
@@ -5027,7 +5030,7 @@
                 and $current->{'parent'}->{'cmdname'} ne 'math') {
               # @inline* always have end spaces considered as normal text 
               $self->_isolate_last_space($current) 
-                unless 
($inline_format_commands{$current->{'parent'}->{'cmdname'}});
+                unless ($inline_commands{$current->{'parent'}->{'cmdname'}});
               $self->_register_command_arg($current, 'brace_command_contents');
               # Remove empty arguments, as far as possible
               _remove_empty_content_arguments($current);
@@ -5122,16 +5125,18 @@
                 }
               }
             } elsif ($explained_commands{$current->{'parent'}->{'cmdname'}}
-                     or 
$inline_format_commands{$current->{'parent'}->{'cmdname'}}) {
+                     or $inline_commands{$current->{'parent'}->{'cmdname'}}) {
               my $current_command = $current->{'parent'};
-              if ($current_command->{'cmdname'} eq 'inlineraw') {
-                my $context_command = pop @{$self->{'context_stack'}};
-                if ($context_command ne $current_command->{'cmdname'}) {
-                  $self->_bug_message("context $context_command instead of 
inlineraw $current_command->{'cmdname'}", 
-                                   $line_nr, $current);
-                  die;
+              if ($inline_commands{$current_command->{'cmdname'}}) {
+                if ($current_command->{'cmdname'} eq 'inlineraw') {
+                  my $context_command = pop @{$self->{'context_stack'}};
+                  if ($context_command ne $current_command->{'cmdname'}) {
+                    $self->_bug_message("context $context_command instead of 
inlineraw $current_command->{'cmdname'}", 
+                                     $line_nr, $current);
+                    die;
+                  }
                 }
-                pop @{$self->{'raw_formats_stack'}};
+                pop @{$self->{'expanded_formats_stack'}};
               }
               if (address@hidden>{'args'}} 
                   or address@hidden>{'extra'}->{'brace_command_contents'}}
@@ -5155,13 +5160,13 @@
                     
$self->{'explained_commands'}->{$current_command->{'cmdname'}}->{$normalized_type}
 
                       = 
$current_command->{'extra'}->{'brace_command_contents'}->[1];
                   }
-                } else {
-                  my $format
-                   = Texinfo::Convert::Text::convert({'contents' =>
-                       
$current_command->{'extra'}->{'brace_command_contents'}->[0]},
-                       {Texinfo::Common::_convert_text_options($self)});
-                  $current_command->{'extra'}->{'format'} = $format; 
-                }
+                }# else {
+                #  my $argument
+                #   = Texinfo::Convert::Text::convert({'contents' =>
+                #       
$current_command->{'extra'}->{'brace_command_contents'}->[0]},
+                #       {Texinfo::Common::_convert_text_options($self)});
+                #  $current_command->{'extra'}->{'format'} = $argument; 
+                #}
               }
             } elsif ($current->{'parent'}->{'cmdname'} eq 'errormsg') {
               if (! _ignore_global_commands($self)) {
@@ -5234,23 +5239,55 @@
           }
           my $type = $current->{'type'};
           $current = $current->{'parent'};
-          if ($current->{'cmdname'} eq 'inlineraw') {
-            # change the top of the raw_formats_stack now that we know the
-            # first arg of the inlineraw
-            my $inlineraw_type
-               = Texinfo::Convert::Text::convert({'contents' =>
+          if ($inline_commands{$current->{'cmdname'}}) {
+            if (! $current->{'extra'}->{'format'}) {
+              # change the top of the raw_formats_stack now that we know the
+              # first arg of the inlineraw
+              my $inline_type
+                = Texinfo::Convert::Text::convert({'contents' =>
                   $current->{'extra'}->{'brace_command_contents'}->[0]},
                           {Texinfo::Common::_convert_text_options($self)});
-            if ($self->{'expanded_formats_hash'}->{$inlineraw_type} 
-                and $self->{'raw_formats_stack'}->[-2]) {
-              $self->{'raw_formats_stack'}->[-1] = 1;
+              if ($self->{'expanded_formats_stack'}->[-2]) {
+                if ($inline_format_commands{$current->{'cmdname'}}) {
+                  if ($self->{'expanded_formats_hash'}->{$inline_type}) { 
+                    $self->{'expanded_formats_stack'}->[-1] = $inline_type;
+                    $current->{'extra'}->{'expand_index'} = 1;
+                  } else {
+                    $self->{'expanded_formats_stack'}->[-1] = 0;
+                  }
+                } elsif (($current->{'cmdname'} eq 'inlineifset'
+                          and exists($self->{'values'}->{$inline_type}))
+                         or ($current->{'cmdname'} eq 'inlineifclear' 
+                             and ! exists($self->{'values'}->{$inline_type}))) 
{
+                  $self->{'expanded_formats_stack'}->[-1] 
+                         = "$current->{'cmdname'} $inline_type";
+                  $current->{'extra'}->{'expand_index'} = 1;
+                } else {
+                  $self->{'expanded_formats_stack'}->[-1] = 0;
+                }
+              } else {
+                $self->{'expanded_formats_stack'}->[-1] = 0;
+              }
+              $current->{'extra'}->{'format'} = $inline_type;
             } else {
-              $self->{'raw_formats_stack'}->[-1] = 0;
+              # happens for the second arg of inlinefmtifelse
+              my $inline_type = $current->{'extra'}->{'format'};
+              if ($self->{'expanded_formats_stack'}->[-2]
+                  and ! ($self->{'expanded_formats_hash'}->{$inline_type})) {
+                $self->{'expanded_formats_stack'}->[-1] = $inline_type;
+                $current->{'extra'}->{'expand_index'} = 2;
+              } else {
+                $self->{'expanded_formats_stack'}->[-1] = 0;
+              }
             }
           }
           $current->{'remaining_args'}--;
           push @{$current->{'args'}},
                { 'type' => $type, 'parent' => $current, 'contents' => [] };
+          #if ($inline_commands{$current->{'cmdname'}} 
+          #    and ! $self->{'expanded_formats_stack'}->[-1]) {
+          #  $current->{'args'}->[-1]->{'extra'}->{'ignore'} = 1;
+          #} 
           $current = $current->{'args'}->[-1];
           push @{$current->{'contents'}}, 
                  {'type' => 'empty_spaces_before_argument',
@@ -5323,11 +5360,11 @@
     }
     @{$self->{'context_stack'}} = ($self->{'context'});
   }
-  if (@{$self->{'raw_formats_stack'}} != 1) {
+  if (@{$self->{'expanded_formats_stack'}} != 1) {
     if ($self->{'DEBUG'}) {
-      print STDERR "RAW_FORMATS_STACK no empty end _parse_texi: ".join('|', 
@{$self->{'raw_formats_stack'}})."\n";
+      print STDERR "EXPANDED_FORMATS_STACK no empty end _parse_texi: 
".join('|', @{$self->{'expanded_formats_stack'}})."\n";
     }
-    @{$self->{'raw_formats_stack'}} = ($self->{'raw_formats_stack'}->[0]);
+    @{$self->{'expanded_formats_stack'}} = 
($self->{'expanded_formats_stack'}->[0]);
   }
   return $root;
 }
@@ -6948,27 +6985,27 @@
 The author tree element is in the I<author> array of the C<@titlepage>
 or the C<@quotation> or C<@smallquotation> it is associated with.
 
-=item @ifclear
+=item C<@ifclear>
 
-=item @ifset
+=item C<@ifset>
 
 The original line is in I<line>.
 
-=item @end
+=item C<@end>
 
 The textual argument is in I<command_argument>.
 The corresponding @-command is in I<command>.
 
-=item @documentencoding
+=item C<@documentencoding>
 
 The argument, normalized is in I<input_encoding_name> if it is recognized.
 The corresponding perl encoding name is in I<input_perl_encoding>.
 
-=item @click
+=item C<@click>
 
 In I<clickstyle> there is the current clickstyle command.
 
-=item kbd
+=item C<@kbd>
 
 I<code> is set depending on the context and C<@kbdinputstyle>.
 
@@ -6988,6 +7025,22 @@
 
 The corresponding command is in I<command>.
 
+=item C<@inlinefmt>
+
+=item C<@inlineraw>
+
+=item C<@inlinefmtifelse>
+
+=item C<@inlineifclear>
+
+=item C<@inlineifset>
+
+The first argument is in I<format>.  If an argument has been determined
+as being expanded by the Parser, the index of this argument is in
+I<expand_index>.  Index numbering begins at 0, but the first argument is
+always the format or flag name, so, if set, it should be 1 or 2 for
+C<@inlinefmtifelse>, and 1 for other commands.
+
 =back
 
 =head1 SEE ALSO

Modified: trunk/tp/t/converters_tests.t
===================================================================
--- trunk/tp/t/converters_tests.t       2013-09-01 19:14:58 UTC (rev 5353)
+++ trunk/tp/t/converters_tests.t       2013-09-05 23:27:45 UTC (rev 5354)
@@ -605,6 +605,34 @@
 ['inline_expand_tex',
 $inline_text, {'expanded_formats' => ['tex']},
 ],
+['inlinefmtifelse',
+'@inlinefmtifelse{html,,else html no if}.
address@hidden,if html,else html}.
+
address@hidden,if plaintext no second arg}.
address@hidden,if plaintext,else plaintext}.
+
address@hidden,if xml empty second arg,}.
+
address@hidden docbook , if docbook spaces , else docbook spaces }.
+
address@hidden tex , if tex spaces , else tex spaces }.
+
address@hidden,if docbook,else docbook}.
+
address@hidden,if tex,else tex}.
+'],
+['inlineifsetifclear',
+'@inlineifclear{aaa, iclear first }.
+
address@hidden, ifset first }.
+
address@hidden aaa
+
address@hidden, ifclear second }.
+
address@hidden, ifset second }.
+'],
 ['table_in_display_in_example',
 '@example
 @display

Modified: trunk/tp/t/results/converters_tests/inline_expand_tex.pl
===================================================================
--- trunk/tp/t/results/converters_tests/inline_expand_tex.pl    2013-09-01 
19:14:58 UTC (rev 5353)
+++ trunk/tp/t/results/converters_tests/inline_expand_tex.pl    2013-09-05 
23:27:45 UTC (rev 5354)
@@ -300,6 +300,7 @@
                 {}
               ]
             ],
+            'expand_index' => 1,
             'format' => 'tex',
             'spaces_before_argument' => {
               'text' => '',
@@ -644,6 +645,7 @@
                 {}
               ]
             ],
+            'expand_index' => 1,
             'format' => 'tex',
             'spaces_before_argument' => {
               'text' => '',

Added: trunk/tp/t/results/converters_tests/inlinefmtifelse.pl
===================================================================
--- trunk/tp/t/results/converters_tests/inlinefmtifelse.pl                      
        (rev 0)
+++ trunk/tp/t/results/converters_tests/inlinefmtifelse.pl      2013-09-05 
23:27:45 UTC (rev 5354)
@@ -0,0 +1,915 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors 
+   %result_indices %result_sectioning %result_nodes %result_menus
+   %result_floats %result_converted %result_converted_errors 
+   %result_elements %result_directions_text);
+
+use utf8;
+
+$result_trees{'inlinefmtifelse'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'html'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'else html no if'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'inlinefmtifelse',
+          'contents' => [],
+          'extra' => {
+            'brace_command_contents' => [
+              [
+                {}
+              ],
+              undef,
+              [
+                {}
+              ]
+            ],
+            'expand_index' => 2,
+            'format' => 'html',
+            'spaces_before_argument' => {
+              'text' => '',
+              'type' => 'empty_spaces_before_argument'
+            }
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 1,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '.
+'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'html'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'if html'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'else html'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'inlinefmtifelse',
+          'contents' => [],
+          'extra' => {
+            'brace_command_contents' => [
+              [
+                {}
+              ],
+              [
+                {}
+              ],
+              [
+                {}
+              ]
+            ],
+            'expand_index' => 2,
+            'format' => 'html',
+            'spaces_before_argument' => {
+              'text' => '',
+              'type' => 'empty_spaces_before_argument'
+            }
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 2,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'plaintext'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'if plaintext no second arg'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'inlinefmtifelse',
+          'contents' => [],
+          'extra' => {
+            'brace_command_contents' => [
+              [
+                {}
+              ],
+              [
+                {}
+              ]
+            ],
+            'format' => 'plaintext',
+            'spaces_before_argument' => {
+              'text' => '',
+              'type' => 'empty_spaces_before_argument'
+            }
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 4,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '.
+'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'plaintext'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'if plaintext'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'else plaintext'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'inlinefmtifelse',
+          'contents' => [],
+          'extra' => {
+            'brace_command_contents' => [
+              [
+                {}
+              ],
+              [
+                {}
+              ],
+              [
+                {}
+              ]
+            ],
+            'expand_index' => 2,
+            'format' => 'plaintext',
+            'spaces_before_argument' => {
+              'text' => '',
+              'type' => 'empty_spaces_before_argument'
+            }
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 5,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'xml'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'if xml empty second arg'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'inlinefmtifelse',
+          'contents' => [],
+          'extra' => {
+            'brace_command_contents' => [
+              [
+                {}
+              ],
+              [
+                {}
+              ],
+              undef
+            ],
+            'expand_index' => 2,
+            'format' => 'xml',
+            'spaces_before_argument' => {
+              'text' => '',
+              'type' => 'empty_spaces_before_argument'
+            }
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 7,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'text' => ' ',
+                  'type' => 'empty_spaces_before_argument'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'docbook'
+                },
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'spaces_at_end'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'text' => ' ',
+                  'type' => 'empty_spaces_before_argument'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'if docbook spaces'
+                },
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'spaces_at_end'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'text' => ' ',
+                  'type' => 'empty_spaces_before_argument'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'else docbook spaces '
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'inlinefmtifelse',
+          'contents' => [],
+          'extra' => {
+            'brace_command_contents' => [
+              [
+                {}
+              ],
+              [
+                {}
+              ],
+              [
+                {}
+              ]
+            ],
+            'expand_index' => 2,
+            'format' => 'docbook',
+            'spaces_before_argument' => {}
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 9,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'text' => ' ',
+                  'type' => 'empty_spaces_before_argument'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'tex'
+                },
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'spaces_at_end'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'text' => ' ',
+                  'type' => 'empty_spaces_before_argument'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'if tex spaces'
+                },
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'spaces_at_end'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'text' => ' ',
+                  'type' => 'empty_spaces_before_argument'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'else tex spaces '
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'inlinefmtifelse',
+          'contents' => [],
+          'extra' => {
+            'brace_command_contents' => [
+              [
+                {}
+              ],
+              [
+                {}
+              ],
+              [
+                {}
+              ]
+            ],
+            'expand_index' => 2,
+            'format' => 'tex',
+            'spaces_before_argument' => {}
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 11,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'docbook'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'if docbook'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'else docbook'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'inlinefmtifelse',
+          'contents' => [],
+          'extra' => {
+            'brace_command_contents' => [
+              [
+                {}
+              ],
+              [
+                {}
+              ],
+              [
+                {}
+              ]
+            ],
+            'expand_index' => 2,
+            'format' => 'docbook',
+            'spaces_before_argument' => {
+              'text' => '',
+              'type' => 'empty_spaces_before_argument'
+            }
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 13,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'tex'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'if tex'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'else tex'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'inlinefmtifelse',
+          'contents' => [],
+          'extra' => {
+            'brace_command_contents' => [
+              [
+                {}
+              ],
+              [
+                {}
+              ],
+              [
+                {}
+              ]
+            ],
+            'expand_index' => 2,
+            'format' => 'tex',
+            'spaces_before_argument' => {
+              'text' => '',
+              'type' => 'empty_spaces_before_argument'
+            }
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 15,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[0]{'args'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[0]{'args'}[2];
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[0]{'args'}[2]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[0]{'extra'}{'brace_command_contents'}[0][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[0]{'extra'}{'brace_command_contents'}[2][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[0]{'args'}[2]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'inlinefmtifelse'}{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'inlinefmtifelse'}{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[2];
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[2]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[2]{'args'}[1];
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[2]{'args'}[1]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[2];
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[2]{'args'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[2]{'args'}[2];
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[2]{'args'}[2]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[2];
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[2]{'extra'}{'brace_command_contents'}[0][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[2]{'extra'}{'brace_command_contents'}[1][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[2]{'args'}[1]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[2]{'extra'}{'brace_command_contents'}[2][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[2]{'args'}[2]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'inlinefmtifelse'}{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'inlinefmtifelse'}{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[0]{'parent'} = 
$result_trees{'inlinefmtifelse'};
+$result_trees{'inlinefmtifelse'}{'contents'}[1]{'parent'} = 
$result_trees{'inlinefmtifelse'};
+$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[0]{'args'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[0]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[0]{'args'}[1];
+$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[0]{'extra'}{'brace_command_contents'}[0][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[0]{'extra'}{'brace_command_contents'}[1][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[0]{'args'}[1]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'inlinefmtifelse'}{'contents'}[2];
+$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[1]{'parent'} = 
$result_trees{'inlinefmtifelse'}{'contents'}[2];
+$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[2]{'args'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[2];
+$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[2]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[2]{'args'}[1];
+$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[2]{'args'}[1]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[2];
+$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[2]{'args'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[2]{'args'}[2];
+$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[2]{'args'}[2]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[2];
+$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[2]{'extra'}{'brace_command_contents'}[0][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[2]{'extra'}{'brace_command_contents'}[1][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[2]{'args'}[1]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[2]{'extra'}{'brace_command_contents'}[2][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[2]{'args'}[2]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[2]{'parent'} = 
$result_trees{'inlinefmtifelse'}{'contents'}[2];
+$result_trees{'inlinefmtifelse'}{'contents'}[2]{'contents'}[3]{'parent'} = 
$result_trees{'inlinefmtifelse'}{'contents'}[2];
+$result_trees{'inlinefmtifelse'}{'contents'}[2]{'parent'} = 
$result_trees{'inlinefmtifelse'};
+$result_trees{'inlinefmtifelse'}{'contents'}[3]{'parent'} = 
$result_trees{'inlinefmtifelse'};
+$result_trees{'inlinefmtifelse'}{'contents'}[4]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[4]{'contents'}[0]{'args'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[4]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[4]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[4]{'contents'}[0]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[4]{'contents'}[0]{'args'}[1];
+$result_trees{'inlinefmtifelse'}{'contents'}[4]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[4]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[4]{'contents'}[0]{'args'}[2]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[4]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[4]{'contents'}[0]{'extra'}{'brace_command_contents'}[0][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[4]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[4]{'contents'}[0]{'extra'}{'brace_command_contents'}[1][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[4]{'contents'}[0]{'args'}[1]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[4]{'contents'}[0]{'parent'} = 
$result_trees{'inlinefmtifelse'}{'contents'}[4];
+$result_trees{'inlinefmtifelse'}{'contents'}[4]{'contents'}[1]{'parent'} = 
$result_trees{'inlinefmtifelse'}{'contents'}[4];
+$result_trees{'inlinefmtifelse'}{'contents'}[4]{'parent'} = 
$result_trees{'inlinefmtifelse'};
+$result_trees{'inlinefmtifelse'}{'contents'}[5]{'parent'} = 
$result_trees{'inlinefmtifelse'};
+$result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'args'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'args'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'args'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'args'}[1];
+$result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'args'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'args'}[1];
+$result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'args'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'args'}[2];
+$result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'args'}[2]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'extra'}{'brace_command_contents'}[0][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'extra'}{'brace_command_contents'}[1][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'args'}[1]{'contents'}[1];
+$result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'extra'}{'brace_command_contents'}[2][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'args'}[2]{'contents'}[1];
+$result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'extra'}{'spaces_before_argument'}
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[0]{'parent'} = 
$result_trees{'inlinefmtifelse'}{'contents'}[6];
+$result_trees{'inlinefmtifelse'}{'contents'}[6]{'contents'}[1]{'parent'} = 
$result_trees{'inlinefmtifelse'}{'contents'}[6];
+$result_trees{'inlinefmtifelse'}{'contents'}[6]{'parent'} = 
$result_trees{'inlinefmtifelse'};
+$result_trees{'inlinefmtifelse'}{'contents'}[7]{'parent'} = 
$result_trees{'inlinefmtifelse'};
+$result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'args'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'args'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'args'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'args'}[1];
+$result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'args'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'args'}[1];
+$result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'args'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'args'}[2];
+$result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'args'}[2]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'extra'}{'brace_command_contents'}[0][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'extra'}{'brace_command_contents'}[1][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'args'}[1]{'contents'}[1];
+$result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'extra'}{'brace_command_contents'}[2][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'args'}[2]{'contents'}[1];
+$result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'extra'}{'spaces_before_argument'}
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[0]{'parent'} = 
$result_trees{'inlinefmtifelse'}{'contents'}[8];
+$result_trees{'inlinefmtifelse'}{'contents'}[8]{'contents'}[1]{'parent'} = 
$result_trees{'inlinefmtifelse'}{'contents'}[8];
+$result_trees{'inlinefmtifelse'}{'contents'}[8]{'parent'} = 
$result_trees{'inlinefmtifelse'};
+$result_trees{'inlinefmtifelse'}{'contents'}[9]{'parent'} = 
$result_trees{'inlinefmtifelse'};
+$result_trees{'inlinefmtifelse'}{'contents'}[10]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[10]{'contents'}[0]{'args'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[10]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[10]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[10]{'contents'}[0]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[10]{'contents'}[0]{'args'}[1];
+$result_trees{'inlinefmtifelse'}{'contents'}[10]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[10]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[10]{'contents'}[0]{'args'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[10]{'contents'}[0]{'args'}[2];
+$result_trees{'inlinefmtifelse'}{'contents'}[10]{'contents'}[0]{'args'}[2]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[10]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[10]{'contents'}[0]{'extra'}{'brace_command_contents'}[0][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[10]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[10]{'contents'}[0]{'extra'}{'brace_command_contents'}[1][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[10]{'contents'}[0]{'args'}[1]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[10]{'contents'}[0]{'extra'}{'brace_command_contents'}[2][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[10]{'contents'}[0]{'args'}[2]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[10]{'contents'}[0]{'parent'} = 
$result_trees{'inlinefmtifelse'}{'contents'}[10];
+$result_trees{'inlinefmtifelse'}{'contents'}[10]{'contents'}[1]{'parent'} = 
$result_trees{'inlinefmtifelse'}{'contents'}[10];
+$result_trees{'inlinefmtifelse'}{'contents'}[10]{'parent'} = 
$result_trees{'inlinefmtifelse'};
+$result_trees{'inlinefmtifelse'}{'contents'}[11]{'parent'} = 
$result_trees{'inlinefmtifelse'};
+$result_trees{'inlinefmtifelse'}{'contents'}[12]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[12]{'contents'}[0]{'args'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[12]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[12]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[12]{'contents'}[0]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[12]{'contents'}[0]{'args'}[1];
+$result_trees{'inlinefmtifelse'}{'contents'}[12]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[12]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[12]{'contents'}[0]{'args'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[12]{'contents'}[0]{'args'}[2];
+$result_trees{'inlinefmtifelse'}{'contents'}[12]{'contents'}[0]{'args'}[2]{'parent'}
 = $result_trees{'inlinefmtifelse'}{'contents'}[12]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[12]{'contents'}[0]{'extra'}{'brace_command_contents'}[0][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[12]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[12]{'contents'}[0]{'extra'}{'brace_command_contents'}[1][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[12]{'contents'}[0]{'args'}[1]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[12]{'contents'}[0]{'extra'}{'brace_command_contents'}[2][0]
 = 
$result_trees{'inlinefmtifelse'}{'contents'}[12]{'contents'}[0]{'args'}[2]{'contents'}[0];
+$result_trees{'inlinefmtifelse'}{'contents'}[12]{'contents'}[0]{'parent'} = 
$result_trees{'inlinefmtifelse'}{'contents'}[12];
+$result_trees{'inlinefmtifelse'}{'contents'}[12]{'contents'}[1]{'parent'} = 
$result_trees{'inlinefmtifelse'}{'contents'}[12];
+$result_trees{'inlinefmtifelse'}{'contents'}[12]{'parent'} = 
$result_trees{'inlinefmtifelse'};
+
+$result_texis{'inlinefmtifelse'} = '@inlinefmtifelse{html,,else html no if}.
address@hidden,if html,else html}.
+
address@hidden,if plaintext no second arg}.
address@hidden,if plaintext,else plaintext}.
+
address@hidden,if xml empty second arg,}.
+
address@hidden docbook , if docbook spaces , else docbook spaces }.
+
address@hidden tex , if tex spaces , else tex spaces }.
+
address@hidden,if docbook,else docbook}.
+
address@hidden,if tex,else tex}.
+';
+
+
+$result_texts{'inlinefmtifelse'} = 'else html no if.
+else html.
+
+.
+else plaintext.
+
+.
+
+else docbook spaces .
+
+else tex spaces .
+
+else docbook.
+
+else tex.
+';
+
+$result_errors{'inlinefmtifelse'} = [];
+
+
+
+$result_converted{'plaintext'}->{'inlinefmtifelse'} = 'else html no if.  else 
html.
+
+   if plaintext no second arg.  if plaintext.
+
+   .
+
+   else docbook spaces .
+
+   else tex spaces .
+
+   else docbook.
+
+   else tex.
+';
+
+
+$result_converted{'html_text'}->{'inlinefmtifelse'} = '<p>.
+if html.
+</p>
+<p>.
+else plaintext.
+</p>
+<p>.
+</p>
+<p>else docbook spaces .
+</p>
+<p>else tex spaces .
+</p>
+<p>else docbook.
+</p>
+<p>else tex.
+</p>';
+
+
+$result_converted{'xml'}->{'inlinefmtifelse'} = 
'<para><inlinefmtifelse><inlinefmtifelseformat>html</inlinefmtifelseformat><inlinefmtifelsecontentelse>else
 html no if</inlinefmtifelsecontentelse></inlinefmtifelse>.
+<inlinefmtifelse><inlinefmtifelseformat>html</inlinefmtifelseformat><inlinefmtifelsecontentif>if
 html</inlinefmtifelsecontentif><inlinefmtifelsecontentelse>else 
html</inlinefmtifelsecontentelse></inlinefmtifelse>.
+</para>
+<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 spaces=" "><inlinefmtifelseformat>docbook 
</inlinefmtifelseformat><inlinefmtifelsecontentif spaces=" ">if docbook spaces 
</inlinefmtifelsecontentif><inlinefmtifelsecontentelse spaces=" ">else docbook 
spaces </inlinefmtifelsecontentelse></inlinefmtifelse>.
+</para>
+<para><inlinefmtifelse spaces=" "><inlinefmtifelseformat>tex 
</inlinefmtifelseformat><inlinefmtifelsecontentif spaces=" ">if tex spaces 
</inlinefmtifelsecontentif><inlinefmtifelsecontentelse spaces=" ">else tex 
spaces </inlinefmtifelsecontentelse></inlinefmtifelse>.
+</para>
+<para><inlinefmtifelse><inlinefmtifelseformat>docbook</inlinefmtifelseformat><inlinefmtifelsecontentif>if
 docbook</inlinefmtifelsecontentif><inlinefmtifelsecontentelse>else 
docbook</inlinefmtifelsecontentelse></inlinefmtifelse>.
+</para>
+<para><inlinefmtifelse><inlinefmtifelseformat>tex</inlinefmtifelseformat><inlinefmtifelsecontentif>if
 tex</inlinefmtifelsecontentif><inlinefmtifelsecontentelse>else 
tex</inlinefmtifelsecontentelse></inlinefmtifelse>.
+</para>';
+
+
+$result_converted{'docbook'}->{'inlinefmtifelse'} = '<para>else html no if.
+else html.
+</para>
+<para>.
+else plaintext.
+</para>
+<para>.
+</para>
+<para>if docbook spaces.
+</para>
+<para>else tex spaces .
+</para>
+<para>if docbook.
+</para>
+<para>else tex.
+</para>';
+
+1;

Added: trunk/tp/t/results/converters_tests/inlineifsetifclear.pl
===================================================================
--- trunk/tp/t/results/converters_tests/inlineifsetifclear.pl                   
        (rev 0)
+++ trunk/tp/t/results/converters_tests/inlineifsetifclear.pl   2013-09-05 
23:27:45 UTC (rev 5354)
@@ -0,0 +1,424 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors 
+   %result_indices %result_sectioning %result_nodes %result_menus
+   %result_floats %result_converted %result_converted_errors 
+   %result_elements %result_directions_text);
+
+use utf8;
+
+$result_trees{'inlineifsetifclear'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'aaa'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'text' => ' ',
+                  'type' => 'empty_spaces_before_argument'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'iclear first '
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'inlineifclear',
+          'contents' => [],
+          'extra' => {
+            'brace_command_contents' => [
+              [
+                {}
+              ],
+              [
+                {}
+              ]
+            ],
+            'expand_index' => 1,
+            'format' => 'aaa',
+            'spaces_before_argument' => {
+              'text' => '',
+              'type' => 'empty_spaces_before_argument'
+            }
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 1,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'aaa'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'text' => ' ',
+                  'type' => 'empty_spaces_before_argument'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'ifset first '
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'inlineifset',
+          'contents' => [],
+          'extra' => {
+            'brace_command_contents' => [
+              [
+                {}
+              ],
+              [
+                {}
+              ]
+            ],
+            'format' => 'aaa',
+            'spaces_before_argument' => {
+              'text' => '',
+              'type' => 'empty_spaces_before_argument'
+            }
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 3,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'args' => [
+        {
+          'parent' => {},
+          'text' => 'aaa',
+          'type' => 'misc_arg'
+        },
+        {
+          'parent' => {},
+          'text' => '',
+          'type' => 'misc_arg'
+        }
+      ],
+      'cmdname' => 'set',
+      'extra' => {
+        'arg_line' => ' aaa
+',
+        'misc_args' => [
+          'aaa',
+          ''
+        ]
+      },
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'aaa'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'text' => ' ',
+                  'type' => 'empty_spaces_before_argument'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'ifclear second '
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'inlineifclear',
+          'contents' => [],
+          'extra' => {
+            'brace_command_contents' => [
+              [
+                {}
+              ],
+              [
+                {}
+              ]
+            ],
+            'format' => 'aaa',
+            'spaces_before_argument' => {
+              'text' => '',
+              'type' => 'empty_spaces_before_argument'
+            }
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 7,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'aaa'
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'text' => ' ',
+                  'type' => 'empty_spaces_before_argument'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'ifset second '
+                }
+              ],
+              'parent' => {},
+              'type' => 'brace_command_arg'
+            }
+          ],
+          'cmdname' => 'inlineifset',
+          'contents' => [],
+          'extra' => {
+            'brace_command_contents' => [
+              [
+                {}
+              ],
+              [
+                {}
+              ]
+            ],
+            'expand_index' => 1,
+            'format' => 'aaa',
+            'spaces_before_argument' => {
+              'text' => '',
+              'type' => 'empty_spaces_before_argument'
+            }
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 9,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '.
+'
+        }
+      ],
+      'parent' => {},
+      'type' => 'paragraph'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'inlineifsetifclear'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'inlineifsetifclear'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'inlineifsetifclear'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'inlineifsetifclear'}{'contents'}[0]{'contents'}[0];
+$result_trees{'inlineifsetifclear'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'inlineifsetifclear'}{'contents'}[0]{'contents'}[0]{'args'}[1];
+$result_trees{'inlineifsetifclear'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'inlineifsetifclear'}{'contents'}[0]{'contents'}[0];
+$result_trees{'inlineifsetifclear'}{'contents'}[0]{'contents'}[0]{'extra'}{'brace_command_contents'}[0][0]
 = 
$result_trees{'inlineifsetifclear'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'inlineifsetifclear'}{'contents'}[0]{'contents'}[0]{'extra'}{'brace_command_contents'}[1][0]
 = 
$result_trees{'inlineifsetifclear'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'contents'}[1];
+$result_trees{'inlineifsetifclear'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'inlineifsetifclear'}{'contents'}[0];
+$result_trees{'inlineifsetifclear'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'inlineifsetifclear'}{'contents'}[0];
+$result_trees{'inlineifsetifclear'}{'contents'}[0]{'parent'} = 
$result_trees{'inlineifsetifclear'};
+$result_trees{'inlineifsetifclear'}{'contents'}[1]{'parent'} = 
$result_trees{'inlineifsetifclear'};
+$result_trees{'inlineifsetifclear'}{'contents'}[2]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'inlineifsetifclear'}{'contents'}[2]{'contents'}[0]{'args'}[0];
+$result_trees{'inlineifsetifclear'}{'contents'}[2]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'inlineifsetifclear'}{'contents'}[2]{'contents'}[0];
+$result_trees{'inlineifsetifclear'}{'contents'}[2]{'contents'}[0]{'args'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'inlineifsetifclear'}{'contents'}[2]{'contents'}[0]{'args'}[1];
+$result_trees{'inlineifsetifclear'}{'contents'}[2]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'inlineifsetifclear'}{'contents'}[2]{'contents'}[0];
+$result_trees{'inlineifsetifclear'}{'contents'}[2]{'contents'}[0]{'extra'}{'brace_command_contents'}[0][0]
 = 
$result_trees{'inlineifsetifclear'}{'contents'}[2]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'inlineifsetifclear'}{'contents'}[2]{'contents'}[0]{'extra'}{'brace_command_contents'}[1][0]
 = 
$result_trees{'inlineifsetifclear'}{'contents'}[2]{'contents'}[0]{'args'}[1]{'contents'}[1];
+$result_trees{'inlineifsetifclear'}{'contents'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'inlineifsetifclear'}{'contents'}[2];
+$result_trees{'inlineifsetifclear'}{'contents'}[2]{'contents'}[1]{'parent'} = 
$result_trees{'inlineifsetifclear'}{'contents'}[2];
+$result_trees{'inlineifsetifclear'}{'contents'}[2]{'parent'} = 
$result_trees{'inlineifsetifclear'};
+$result_trees{'inlineifsetifclear'}{'contents'}[3]{'parent'} = 
$result_trees{'inlineifsetifclear'};
+$result_trees{'inlineifsetifclear'}{'contents'}[4]{'args'}[0]{'parent'} = 
$result_trees{'inlineifsetifclear'}{'contents'}[4];
+$result_trees{'inlineifsetifclear'}{'contents'}[4]{'args'}[1]{'parent'} = 
$result_trees{'inlineifsetifclear'}{'contents'}[4];
+$result_trees{'inlineifsetifclear'}{'contents'}[4]{'parent'} = 
$result_trees{'inlineifsetifclear'};
+$result_trees{'inlineifsetifclear'}{'contents'}[5]{'parent'} = 
$result_trees{'inlineifsetifclear'};
+$result_trees{'inlineifsetifclear'}{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'inlineifsetifclear'}{'contents'}[6]{'contents'}[0]{'args'}[0];
+$result_trees{'inlineifsetifclear'}{'contents'}[6]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'inlineifsetifclear'}{'contents'}[6]{'contents'}[0];
+$result_trees{'inlineifsetifclear'}{'contents'}[6]{'contents'}[0]{'args'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'inlineifsetifclear'}{'contents'}[6]{'contents'}[0]{'args'}[1];
+$result_trees{'inlineifsetifclear'}{'contents'}[6]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'inlineifsetifclear'}{'contents'}[6]{'contents'}[0];
+$result_trees{'inlineifsetifclear'}{'contents'}[6]{'contents'}[0]{'extra'}{'brace_command_contents'}[0][0]
 = 
$result_trees{'inlineifsetifclear'}{'contents'}[6]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'inlineifsetifclear'}{'contents'}[6]{'contents'}[0]{'extra'}{'brace_command_contents'}[1][0]
 = 
$result_trees{'inlineifsetifclear'}{'contents'}[6]{'contents'}[0]{'args'}[1]{'contents'}[1];
+$result_trees{'inlineifsetifclear'}{'contents'}[6]{'contents'}[0]{'parent'} = 
$result_trees{'inlineifsetifclear'}{'contents'}[6];
+$result_trees{'inlineifsetifclear'}{'contents'}[6]{'contents'}[1]{'parent'} = 
$result_trees{'inlineifsetifclear'}{'contents'}[6];
+$result_trees{'inlineifsetifclear'}{'contents'}[6]{'parent'} = 
$result_trees{'inlineifsetifclear'};
+$result_trees{'inlineifsetifclear'}{'contents'}[7]{'parent'} = 
$result_trees{'inlineifsetifclear'};
+$result_trees{'inlineifsetifclear'}{'contents'}[8]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'inlineifsetifclear'}{'contents'}[8]{'contents'}[0]{'args'}[0];
+$result_trees{'inlineifsetifclear'}{'contents'}[8]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'inlineifsetifclear'}{'contents'}[8]{'contents'}[0];
+$result_trees{'inlineifsetifclear'}{'contents'}[8]{'contents'}[0]{'args'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'inlineifsetifclear'}{'contents'}[8]{'contents'}[0]{'args'}[1];
+$result_trees{'inlineifsetifclear'}{'contents'}[8]{'contents'}[0]{'args'}[1]{'parent'}
 = $result_trees{'inlineifsetifclear'}{'contents'}[8]{'contents'}[0];
+$result_trees{'inlineifsetifclear'}{'contents'}[8]{'contents'}[0]{'extra'}{'brace_command_contents'}[0][0]
 = 
$result_trees{'inlineifsetifclear'}{'contents'}[8]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'inlineifsetifclear'}{'contents'}[8]{'contents'}[0]{'extra'}{'brace_command_contents'}[1][0]
 = 
$result_trees{'inlineifsetifclear'}{'contents'}[8]{'contents'}[0]{'args'}[1]{'contents'}[1];
+$result_trees{'inlineifsetifclear'}{'contents'}[8]{'contents'}[0]{'parent'} = 
$result_trees{'inlineifsetifclear'}{'contents'}[8];
+$result_trees{'inlineifsetifclear'}{'contents'}[8]{'contents'}[1]{'parent'} = 
$result_trees{'inlineifsetifclear'}{'contents'}[8];
+$result_trees{'inlineifsetifclear'}{'contents'}[8]{'parent'} = 
$result_trees{'inlineifsetifclear'};
+
+$result_texis{'inlineifsetifclear'} = '@inlineifclear{aaa, iclear first }.
+
address@hidden, ifset first }.
+
address@hidden aaa
+
address@hidden, ifclear second }.
+
address@hidden, ifset second }.
+';
+
+
+$result_texts{'inlineifsetifclear'} = 'iclear first .
+
+.
+
+
+.
+
+ifset second .
+';
+
+$result_errors{'inlineifsetifclear'} = [];
+
+
+
+$result_converted{'plaintext'}->{'inlineifsetifclear'} = 'iclear first .
+
+   .
+
+   .
+
+   ifset second .
+';
+
+
+$result_converted{'html_text'}->{'inlineifsetifclear'} = '<p>iclear first .
+</p>
+<p>.
+</p>
+
+<p>.
+</p>
+<p>ifset second .
+</p>';
+
+
+$result_converted{'xml'}->{'inlineifsetifclear'} = 
'<para><inlineifclear><inlineifclearformat>aaa</inlineifclearformat><inlineifclearcontent
 spaces=" ">iclear first </inlineifclearcontent></inlineifclear>.
+</para>
+<para><inlineifset><inlineifsetformat>aaa</inlineifsetformat><inlineifsetcontent
 spaces=" ">ifset first </inlineifsetcontent></inlineifset>.
+</para>
+<set name="aaa" line=" aaa"></set>
+
+<para><inlineifclear><inlineifclearformat>aaa</inlineifclearformat><inlineifclearcontent
 spaces=" ">ifclear second </inlineifclearcontent></inlineifclear>.
+</para>
+<para><inlineifset><inlineifsetformat>aaa</inlineifsetformat><inlineifsetcontent
 spaces=" ">ifset second </inlineifsetcontent></inlineifset>.
+</para>';
+
+
+$result_converted{'docbook'}->{'inlineifsetifclear'} = '<para>iclear first .
+</para>
+<para>.
+</para>
+
+<para>.
+</para>
+<para>ifset second .
+</para>';
+
+1;

Modified: trunk/tp/t/results/raw/inline_missing_first_arg.pl
===================================================================
--- trunk/tp/t/results/raw/inline_missing_first_arg.pl  2013-09-01 19:14:58 UTC 
(rev 5353)
+++ trunk/tp/t/results/raw/inline_missing_first_arg.pl  2013-09-05 23:27:45 UTC 
(rev 5354)
@@ -45,6 +45,7 @@
                 {}
               ]
             ],
+            'format' => '',
             'spaces_before_argument' => {}
           },
           'line_nr' => {
@@ -89,6 +90,7 @@
                 {}
               ]
             ],
+            'format' => '',
             'spaces_before_argument' => {
               'text' => '',
               'type' => 'empty_spaces_before_argument'

Modified: trunk/tp/t/results/raw/inlinefmt_with_empty_line.pl
===================================================================
--- trunk/tp/t/results/raw/inlinefmt_with_empty_line.pl 2013-09-01 19:14:58 UTC 
(rev 5353)
+++ trunk/tp/t/results/raw/inlinefmt_with_empty_line.pl 2013-09-05 23:27:45 UTC 
(rev 5354)
@@ -55,6 +55,7 @@
                 {}
               ]
             ],
+            'format' => 'plaintext',
             'spaces_before_argument' => {
               'text' => '',
               'type' => 'empty_spaces_before_argument'
@@ -133,6 +134,7 @@
                 {}
               ]
             ],
+            'format' => 'html',
             'spaces_before_argument' => {
               'text' => '',
               'type' => 'empty_spaces_before_argument'

Modified: trunk/util/texinfo.dtd
===================================================================
--- trunk/util/texinfo.dtd      2013-09-01 19:14:58 UTC (rev 5353)
+++ trunk/util/texinfo.dtd      2013-09-05 23:27:45 UTC (rev 5354)
@@ -151,7 +151,8 @@
 <!ENTITY % Inline.reference "xref | ref | pxref | inforef | email | uref | 
url">
 <!ENTITY % Inline.misc "click | clicksequence | logo | punct | spacecmd | today
                         | linebreak | accent | dotless | ctrl | inlineraw 
-                        | inlinefmt | infoenclose | noeos | formfeed ">
+                        | inlinefmt | inlinefmtifelse | inlineifclear 
+                        | inlineifset | infoenclose | noeos | formfeed ">
 
 <!-- on lines -->
 <!ENTITY % Inline.linetext "%Inline.emphasize; | %Inline.misc; | %Inline.fonts;
@@ -1038,6 +1039,7 @@
 <!ATTLIST errormsg
           %spacesattr;>
 
+<!-- inline conditionals -->
 <!ELEMENT inlineraw (inlinerawformat, inlinerawcontent)>
 <!ATTLIST inlineraw
           %spacesattr;>
@@ -1054,6 +1056,34 @@
 <!ATTLIST inlinefmtcontent
           %spacesattr;>
 
+<!ELEMENT inlineifclear (inlineifclearformat, inlineifclearcontent)>
+<!ATTLIST inlineifclear
+          %spacesattr;>
+<!ELEMENT inlineifclearformat (#PCDATA)>
+<!ELEMENT inlineifclearcontent (#PCDATA | %Inline.phrase;)*>
+<!ATTLIST inlineifclearcontent
+          %spacesattr;>
+
+<!ELEMENT inlineifset (inlineifsetformat, inlineifsetcontent)>
+<!ATTLIST inlineifset
+          %spacesattr;>
+<!ELEMENT inlineifsetformat (#PCDATA)>
+<!ELEMENT inlineifsetcontent (#PCDATA | %Inline.phrase;)*>
+<!ATTLIST inlineifsetcontent
+          %spacesattr;>
+
+<!ELEMENT inlinefmtifelse (inlinefmtifelseformat, inlinefmtifelsecontentif?, 
inlinefmtifelsecontentelse?)>
+<!ATTLIST inlinefmtifelse
+          %spacesattr;>
+<!ELEMENT inlinefmtifelseformat (#PCDATA)>
+<!ELEMENT inlinefmtifelsecontentif (#PCDATA | %Inline.phrase;)*>
+<!ATTLIST inlinefmtifelsecontentif
+          %spacesattr;>
+<!ELEMENT inlinefmtifelsecontentelse (#PCDATA | %Inline.phrase;)*>
+<!ATTLIST inlinefmtifelsecontentelse
+          %spacesattr;>
+
+
 <!-- command defined by definfoenclose -->
 <!ELEMENT infoenclose  (#PCDATA | %Inline.phrase;)*>
 <!ATTLIST infoenclose




reply via email to

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