texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: * tp/Texinfo/ParserNonXS.pm (_end_line_misc_line)


From: Patrice Dumas
Subject: branch master updated: * tp/Texinfo/ParserNonXS.pm (_end_line_misc_line) (_end_line_starting_block, _parse_texi), tp/Texinfo/XS/parsetexi/api.c (store_source_mark_list), tp/Texinfo/XS/parsetexi/end_line.c (end_line_starting_block, end_line_misc_line), tp/Texinfo/XS/parsetexi/parser.c (push_conditional_stack) (pop_conditional_stack, top_conditional_stack), tp/Texinfo/XS/parsetexi/parser.h (CONDITIONAL_STACK_ITEM), tp/Texinfo/XS/parsetexi/source_marks.c (register_source_mark) (source_marks_reset_counters): add sou [...]
Date: Tue, 14 Feb 2023 16:41:12 -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 9cec126dbc * tp/Texinfo/ParserNonXS.pm (_end_line_misc_line) 
(_end_line_starting_block, _parse_texi), tp/Texinfo/XS/parsetexi/api.c 
(store_source_mark_list), tp/Texinfo/XS/parsetexi/end_line.c 
(end_line_starting_block, end_line_misc_line), tp/Texinfo/XS/parsetexi/parser.c 
(push_conditional_stack) (pop_conditional_stack, top_conditional_stack), 
tp/Texinfo/XS/parsetexi/parser.h (CONDITIONAL_STACK_ITEM), 
tp/Texinfo/XS/parsetexi/source_marks.c (register_source_mark) (source_marks_res 
[...]
9cec126dbc is described below

commit 9cec126dbca4007dc3111c1378fcab56202e558b
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Tue Feb 14 22:41:00 2023 +0100

    * tp/Texinfo/ParserNonXS.pm (_end_line_misc_line)
    (_end_line_starting_block, _parse_texi), tp/Texinfo/XS/parsetexi/api.c
    (store_source_mark_list), tp/Texinfo/XS/parsetexi/end_line.c
    (end_line_starting_block, end_line_misc_line),
    tp/Texinfo/XS/parsetexi/parser.c (push_conditional_stack)
    (pop_conditional_stack, top_conditional_stack),
    tp/Texinfo/XS/parsetexi/parser.h (CONDITIONAL_STACK_ITEM),
    tp/Texinfo/XS/parsetexi/source_marks.c (register_source_mark)
    (source_marks_reset_counters): add source marks for expanded @if*
    block conditionals, associated to the @if opening line and the @end
    line.  Add the start source mark to the conditional stack.
---
 ChangeLog                                          |  14 +
 tp/Texinfo/ParserNonXS.pm                          |  36 +-
 tp/Texinfo/XS/parsetexi/api.c                      |   1 +
 tp/Texinfo/XS/parsetexi/end_line.c                 |  25 +-
 tp/Texinfo/XS/parsetexi/parser.c                   |  24 +-
 tp/Texinfo/XS/parsetexi/parser.h                   |  12 +-
 tp/Texinfo/XS/parsetexi/source_marks.c             |   7 +
 tp/Texinfo/XS/parsetexi/tree_types.h               |   3 +-
 ...additional_space_in_end_conditional_expanded.pl |  69 +++
 tp/t/results/conditionals/command_conditionals.pl  | 304 ++++++++++++
 .../command_conditionals_user_defined.pl           | 300 ++++++++++++
 tp/t/results/conditionals/comment_on_ifset_line.pl | 533 +++++++++++++++++++++
 tp/t/results/conditionals/cond.pl                  | 201 ++++++++
 tp/t/results/conditionals/cond_ifhtml_ifinfo.pl    | 201 ++++++++
 .../conditionals/cond_ifhtml_ifinfo_iftex.pl       | 201 ++++++++
 tp/t/results/conditionals/cond_info.pl             | 201 ++++++++
 .../conditionals/cond_info_ifhtml_ifinfo_iftex.pl  | 201 ++++++++
 .../cond_info_no-ifhtml_no-ifinfo_no-iftex.pl      | 201 ++++++++
 .../cond_no-ifhtml_no-ifinfo_no-iftex.pl           | 201 ++++++++
 tp/t/results/conditionals/cond_xml.pl              | 201 ++++++++
 tp/t/results/conditionals/defcondx_Dbar.pl         |  76 +++
 .../conditionals/empty_ifset_in_ifset_set.pl       |  78 ++-
 tp/t/results/conditionals/empty_set_in_ifset.pl    |  69 +++
 tp/t/results/conditionals/end_ifset_in_format.pl   | 232 ++++++++-
 tp/t/results/conditionals/ifclear_in_ifset_set.pl  |  87 ++++
 .../conditionals/ifnot_format_conditional.pl       |  69 +++
 tp/t/results/conditionals/ifset_in_command.pl      |  75 +++
 .../conditionals/info_ifinfo_ifnotplaintext.pl     | 131 +++++
 tp/t/results/conditionals/macro_in_ifset_set.pl    |  78 ++-
 tp/t/results/conditionals/many_conditionals.pl     | 201 ++++++++
 tp/t/results/conditionals/nested_ifset_ifclear.pl  | 306 ++++++++++++
 tp/t/results/conditionals/plaintext_ifinfo.pl      |  67 +++
 .../plaintext_ifinfo_ifnotplaintext.pl             |  61 +++
 .../conditionals/superfluous_argument_to_end.pl    |  69 +++
 .../text_on_conditional_line_expanded.pl           |  79 +++
 .../formats_encodings/at_commands_in_refs.pl       | 353 ++++++++++++++
 .../at_commands_in_refs_latin1.pl                  | 353 ++++++++++++++
 .../formats_encodings/at_commands_in_refs_utf8.pl  | 353 ++++++++++++++
 tp/t/results/formats_encodings/sample_utf8.pl      |  68 ++-
 tp/t/results/languages/multiple_lang_chapters.pl   |  65 ++-
 .../languages/multiple_lang_chapters_latex.pl      |  65 ++-
 tp/t/results/macro/bib_example.pl                  | 147 ++++++
 tp/t/results/macro/glossary.pl                     | 126 +++++
 tp/t/results/macro/ifclear_in_macro.pl             |  83 ++++
 tp/t/results/macro/ifset_in_macro_set.pl           |  83 ++++
 tp/t/results/misc_commands/sp.pl                   |  68 ++-
 tp/t/results/moresectioning/raiselowersections.pl  | 153 +++++-
 tp/t/results/value/value_in_misc_commands.pl       | 200 +++++++-
 48 files changed, 6691 insertions(+), 40 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 78becac970..3fbbd6e767 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2023-02-14  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/ParserNonXS.pm (_end_line_misc_line)
+       (_end_line_starting_block, _parse_texi), tp/Texinfo/XS/parsetexi/api.c
+       (store_source_mark_list), tp/Texinfo/XS/parsetexi/end_line.c
+       (end_line_starting_block, end_line_misc_line),
+       tp/Texinfo/XS/parsetexi/parser.c (push_conditional_stack)
+       (pop_conditional_stack, top_conditional_stack),
+       tp/Texinfo/XS/parsetexi/parser.h (CONDITIONAL_STACK_ITEM),
+       tp/Texinfo/XS/parsetexi/source_marks.c (register_source_mark)
+       (source_marks_reset_counters): add source marks for expanded @if*
+       block conditionals, associated to the @if opening line and the @end
+       line.  Add the start source mark to the conditional stack.
+
 2023-02-14  Patrice Dumas  <pertusus@free.fr>
 
        * tp/Makefile.tres, tp/t/60macro.t, tp/t/converters_tests.t: add
diff --git a/tp/Texinfo/ParserNonXS.pm b/tp/Texinfo/ParserNonXS.pm
index f8a27dc49d..4b5c6d3592 100644
--- a/tp/Texinfo/ParserNonXS.pm
+++ b/tp/Texinfo/ParserNonXS.pm
@@ -3625,7 +3625,7 @@ sub _end_line_misc_line($$$)
     if ($block_commands{$end_command} ne 'conditional'
         or ($current->{'cmdname'} and $current->{'cmdname'} eq $end_command)
         or (not @{$self->{'conditional_stack'}}
-            or $self->{'conditional_stack'}->[-1] ne $end_command)) {
+            or $self->{'conditional_stack'}->[-1]->[0] ne $end_command)) {
       my $closed_command;
       ($closed_command, $current)
          = _close_commands($self, $current, $source_info, $end_command);
@@ -3653,10 +3653,20 @@ sub _end_line_misc_line($$$)
         if ($close_preformatted_commands{$end_command});
     } else {
       # case of a conditional not ignored
-      pop @{$self->{'conditional_stack'}};
-      print STDERR "POP COND $end_command\n"
+      my $cond_info = pop @{$self->{'conditional_stack'}};
+      my ($cond_command, $cond_source_mark) = @$cond_info;
+      print STDERR "POP END COND $end_command $cond_command "
+           ._debug_show_source_mark($cond_source_mark)." $cond_source_mark\n"
         if ($self->{'DEBUG'});
-      # TODO add a source mark for the end of conditional
+      my $end_source_mark = {'sourcemark_type' =>
+                                 $cond_source_mark->{'sourcemark_type'},
+                             'counter' =>
+                                 $cond_source_mark->{'counter'},
+      };
+      $end_source_mark->{'status'} = 'end';
+      delete $end->{'parent'};
+      $end_source_mark->{'element'} = $end;
+      _register_source_mark($self, $current, $end_source_mark);
     }
   } else {
     # Ignore @setfilename in included file, as said in the manual.
@@ -4158,7 +4168,15 @@ sub _end_line_starting_block($$$)
       $current = $current->{'parent'};
       my $conditional_command = _pop_element_from_contents($self, $current);
       die "BUG popping\n" if ($conditional_element ne $conditional_command);
-      push @{$self->{'conditional_stack'}}, $command;
+      delete $conditional_command->{'parent'};
+      my $source_mark = {'sourcemark_type' => 'expanded_conditional_command',
+                         'status' => 'start',
+                         'element' => $conditional_command};
+      _register_source_mark($self, $current, $source_mark);
+      print STDERR "PUSH BEGIN COND $command, "
+        ._debug_show_source_mark($source_mark)." $source_mark\n"
+          if ($self->{'DEBUG'});
+      push @{$self->{'conditional_stack'}}, [$command, $source_mark];
     }
   }
   if ($block_commands{$command} eq 'menu') {
@@ -6682,9 +6700,10 @@ sub _parse_texi($$$)
       my $source_info_text = '';
       $source_info_text = "$source_info->{'line_nr'}.$source_info->{'macro'}"
          if ($source_info);
+      my @cond_commands = map {$_->[0]} @{$self->{'conditional_stack'}};
       print STDERR "NEW LINE("
          .join('|', $self->_get_context_stack())
-         .":@{$self->{'conditional_stack'}}:$source_info_text): $line";
+         .":@cond_commands:$source_info_text): $line";
       #print STDERR "  $current: "
       #             .Texinfo::Common::debug_print_element_short($current)."\n";
     }
@@ -6749,8 +6768,9 @@ sub _parse_texi($$$)
   }
  finished_totally:
   while (@{$self->{'conditional_stack'}}) {
-    my $end_conditional = pop @{$self->{'conditional_stack'}};
-    $self->_line_error(sprintf(__("expected \@end %s"), $end_conditional),
+    my $cond_info = pop @{$self->{'conditional_stack'}};
+    my ($cond_command, $cond_source_mark) = @$cond_info;
+    $self->_line_error(sprintf(__("expected \@end %s"), $cond_command),
                       $source_info);
   }
   while (@{$self->{'raw_block_stack'}}) {
diff --git a/tp/Texinfo/XS/parsetexi/api.c b/tp/Texinfo/XS/parsetexi/api.c
index 3c36f82e0c..0bdd94186b 100644
--- a/tp/Texinfo/XS/parsetexi/api.c
+++ b/tp/Texinfo/XS/parsetexi/api.c
@@ -580,6 +580,7 @@ store_source_mark_list (ELEMENT *e)
               SAVE_S_M_TYPE (macro_expansion)
               SAVE_S_M_TYPE (value_expansion)
               SAVE_S_M_TYPE (ignored_conditional_block)
+              SAVE_S_M_TYPE (expanded_conditional_command)
             }
 
           av_push (av, newRV_inc ((SV *)source_mark));
diff --git a/tp/Texinfo/XS/parsetexi/end_line.c 
b/tp/Texinfo/XS/parsetexi/end_line.c
index 116c70ea25..53d5c87522 100644
--- a/tp/Texinfo/XS/parsetexi/end_line.c
+++ b/tp/Texinfo/XS/parsetexi/end_line.c
@@ -1430,10 +1430,16 @@ end_line_starting_block (ELEMENT *current)
       debug ("CONDITIONAL %s %d", command_name(command), iftrue);
       if (iftrue)
         {
-          push_conditional_stack (command);
+          ELEMENT *e;
+          SOURCE_MARK *source_mark;
           current = current->parent;
-          /* TODO not destroy but source mark */
-          destroy_element_and_children (pop_element_from_contents (current));
+          e = pop_element_from_contents (current);
+          e->parent = 0;
+          source_mark = new_source_mark (SM_type_expanded_conditional_command);
+          source_mark->status = SM_status_start;
+          source_mark->element = e;
+          push_conditional_stack (command, source_mark);
+          register_source_mark (current, source_mark);
         }
     }
 
@@ -1949,7 +1955,7 @@ end_line_misc_line (ELEMENT *current)
           || current->cmd == end_id
           /* not a non-ignored conditional */
           || (conditional_number == 0
-              || top_conditional_stack () != end_id))
+              || top_conditional_stack ()->command != end_id))
         {
           ELEMENT *closed_command;
           /* This closes tree elements (e.g. paragraphs) until we reach
@@ -1984,8 +1990,15 @@ end_line_misc_line (ELEMENT *current)
              in the conditional stack.  Pop it, such that
              the "@end" line does not appear in the final tree for a
              conditional block. */
-          enum command_id popped = pop_conditional_stack ();
-          destroy_element_and_children (end_elt);
+          CONDITIONAL_STACK_ITEM *cond_info = pop_conditional_stack ();
+          SOURCE_MARK *end_source_mark;
+          SOURCE_MARK *cond_source_mark = cond_info->source_mark;
+          end_source_mark = new_source_mark (cond_source_mark->type);
+          end_source_mark->counter = cond_source_mark->counter;
+          end_source_mark->status = SM_status_end;
+          end_elt->parent = 0;
+          end_source_mark->element = end_elt;
+          register_source_mark (current, end_source_mark);
         }
     }
   else
diff --git a/tp/Texinfo/XS/parsetexi/parser.c b/tp/Texinfo/XS/parsetexi/parser.c
index a6da8cdf4e..1cc3517b4f 100644
--- a/tp/Texinfo/XS/parsetexi/parser.c
+++ b/tp/Texinfo/XS/parsetexi/parser.c
@@ -164,38 +164,40 @@ ELEMENT *current_part = 0;
 
 /* Conditional stack. */
 
-enum command_id *conditional_stack;
+CONDITIONAL_STACK_ITEM *conditional_stack;
 size_t conditional_number;
 size_t conditional_space;
 
 void
-push_conditional_stack (enum command_id cond)
+push_conditional_stack (enum command_id cond, SOURCE_MARK *source_mark)
 {
   if (conditional_number == conditional_space)
     {
       conditional_stack = realloc (conditional_stack,
                                    (conditional_space += 5)
-                                   * sizeof (enum command_id));
+                                   * sizeof (CONDITIONAL_STACK_ITEM));
       if (!conditional_stack)
         fatal ("realloc failed");
     }
-  conditional_stack[conditional_number++] = cond;
+  conditional_stack[conditional_number].command = cond;
+  conditional_stack[conditional_number].source_mark = source_mark;
+  conditional_number++;
 }
 
-enum command_id
+CONDITIONAL_STACK_ITEM *
 pop_conditional_stack (void)
 {
   if (conditional_number == 0)
-    return CM_NONE;
-  return conditional_stack[--conditional_number];
+    return 0;
+  return &(conditional_stack[--conditional_number]);
 }
 
-enum command_id
+CONDITIONAL_STACK_ITEM *
 top_conditional_stack (void)
 {
   if (conditional_number == 0)
-    return CM_NONE;
-  return conditional_stack[conditional_number - 1];
+    return 0;
+  return &(conditional_stack[conditional_number - 1]);
 }
 
 
@@ -2340,7 +2342,7 @@ finished_totally:
   while (conditional_number > 0)
     {
       line_error ("expected @end %s",
-                  command_name(conditional_stack[conditional_number - 1]));
+        command_name(conditional_stack[conditional_number - 1].command));
       conditional_number--;
     }
 
diff --git a/tp/Texinfo/XS/parsetexi/parser.h b/tp/Texinfo/XS/parsetexi/parser.h
index 08b4985197..f65b23fadd 100644
--- a/tp/Texinfo/XS/parsetexi/parser.h
+++ b/tp/Texinfo/XS/parsetexi/parser.h
@@ -155,11 +155,16 @@ ELEMENT *handle_separator (ELEMENT *current, char 
separator,
                            char **line_inout);
 
 /* In parser.c */
+typedef struct {
+    enum command_id command;
+    SOURCE_MARK *source_mark;
+} CONDITIONAL_STACK_ITEM;
+
 size_t count_convert_u8 (char *text);
 ELEMENT *parse_texi (ELEMENT *root_elt, ELEMENT *current_elt);
-void push_conditional_stack (enum command_id cond);
-enum command_id pop_conditional_stack (void);
-enum command_id top_conditional_stack (void);
+void push_conditional_stack (enum command_id cond, SOURCE_MARK *source_mark);
+CONDITIONAL_STACK_ITEM *pop_conditional_stack (void);
+CONDITIONAL_STACK_ITEM *top_conditional_stack (void);
 extern size_t conditional_number;
 ELEMENT *parse_texi_document (void);
 int abort_empty_line (ELEMENT **current_inout, char *additional);
@@ -196,7 +201,6 @@ int check_space_element (ELEMENT *e);
 #define STILL_MORE_TO_PROCESS 1
 #define FINISHED_TOTALLY 2
 
-
 extern const char *whitespace_chars, *whitespace_chars_except_newline;
 extern const char *digit_chars;
 
diff --git a/tp/Texinfo/XS/parsetexi/source_marks.c 
b/tp/Texinfo/XS/parsetexi/source_marks.c
index 5019a54bfe..2bfadc5222 100644
--- a/tp/Texinfo/XS/parsetexi/source_marks.c
+++ b/tp/Texinfo/XS/parsetexi/source_marks.c
@@ -27,6 +27,7 @@ int defline_continuation_counter = 0;
 int macro_expansion_counter = 0;
 int value_expansion_counter = 0;
 int ignored_conditional_block_counter = 0;
+int expanded_conditional_command_counter = 0;
 
 SOURCE_MARK *
 new_source_mark (enum source_mark_type type)
@@ -145,6 +146,11 @@ register_source_mark (ELEMENT *e, SOURCE_MARK *source_mark)
           ignored_conditional_block_counter++;
           source_mark->counter = ignored_conditional_block_counter;
         }
+      else if (source_mark->type == SM_type_expanded_conditional_command)
+        {
+          expanded_conditional_command_counter++;
+          source_mark->counter = expanded_conditional_command_counter;
+        }
     }
 
   place_source_mark (e, source_mark);
@@ -160,6 +166,7 @@ source_marks_reset_counters (void)
   macro_expansion_counter = 0;
   value_expansion_counter = 0;
   ignored_conditional_block_counter = 0;
+  expanded_conditional_command_counter = 0;
 }
 
 SOURCE_MARK *
diff --git a/tp/Texinfo/XS/parsetexi/tree_types.h 
b/tp/Texinfo/XS/parsetexi/tree_types.h
index 1abac52739..a95e6746e4 100644
--- a/tp/Texinfo/XS/parsetexi/tree_types.h
+++ b/tp/Texinfo/XS/parsetexi/tree_types.h
@@ -49,7 +49,8 @@ enum source_mark_type { SM_type_none,
                         SM_type_defline_continuation,
                         SM_type_macro_expansion,
                         SM_type_value_expansion,
-                        SM_type_ignored_conditional_block
+                        SM_type_ignored_conditional_block,
+                        SM_type_expanded_conditional_command
 };
 
 enum source_mark_status {
diff --git 
a/tp/t/results/conditionals/additional_space_in_end_conditional_expanded.pl 
b/tp/t/results/conditionals/additional_space_in_end_conditional_expanded.pl
index 8fcc92c2e1..c6284f7f62 100644
--- a/tp/t/results/conditionals/additional_space_in_end_conditional_expanded.pl
+++ b/tp/t/results/conditionals/additional_space_in_end_conditional_expanded.pl
@@ -9,9 +9,78 @@ $result_trees{'additional_space_in_end_conditional_expanded'} 
= {
   'contents' => [
     {
       'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnothtml',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 1,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
+          'text' => ''
+        },
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnothtml'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnothtml'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => '  '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 3,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 9,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'not html
 '
             }
diff --git a/tp/t/results/conditionals/command_conditionals.pl 
b/tp/t/results/conditionals/command_conditionals.pl
index 5b5803705f..97d1e6df44 100644
--- a/tp/t/results/conditionals/command_conditionals.pl
+++ b/tp/t/results/conditionals/command_conditionals.pl
@@ -9,9 +9,88 @@ $result_trees{'command_conditionals'} = {
   'contents' => [
     {
       'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'txicommandconditionals'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifset',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 1,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
+          'text' => ''
+        },
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifset'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifset'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 3,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 51,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'Good, the txicommandconditionals variable was set.
 '
             }
@@ -92,6 +171,41 @@ $result_trees{'command_conditionals'} = {
               },
               'position' => 1,
               'sourcemark_type' => 'ignored_conditional_block'
+            },
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'nodexyz'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifcommandnotdefined',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 8,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
             }
           ],
           'text' => '
@@ -107,6 +221,46 @@ $result_trees{'command_conditionals'} = {
               'cmdname' => '@'
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 2,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifcommandnotdefined'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifcommandnotdefined'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 10,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 24,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'nodexyz is not defined.
 '
             }
@@ -114,6 +268,43 @@ $result_trees{'command_conditionals'} = {
           'type' => 'paragraph'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'node'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifcommanddefined',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 12,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -128,6 +319,44 @@ $result_trees{'command_conditionals'} = {
             },
             {
               'source_marks' => [
+                {
+                  'counter' => 3,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifcommanddefined'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifcommanddefined'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 14,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 17,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                },
                 {
                   'counter' => 2,
                   'element' => {
@@ -282,6 +511,41 @@ $result_trees{'command_conditionals'} = {
               },
               'position' => 1,
               'sourcemark_type' => 'ignored_conditional_block'
+            },
+            {
+              'counter' => 4,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'mathcode'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifcommandnotdefined',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 22,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
             }
           ],
           'text' => '
@@ -297,6 +561,46 @@ $result_trees{'command_conditionals'} = {
               'cmdname' => '@'
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 4,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifcommandnotdefined'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifcommandnotdefined'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 24,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 25,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'mathcode is not defined.
 '
             }
diff --git a/tp/t/results/conditionals/command_conditionals_user_defined.pl 
b/tp/t/results/conditionals/command_conditionals_user_defined.pl
index 07d7c3954a..aa28f607ac 100644
--- a/tp/t/results/conditionals/command_conditionals_user_defined.pl
+++ b/tp/t/results/conditionals/command_conditionals_user_defined.pl
@@ -187,6 +187,43 @@ $result_trees{'command_conditionals_user_defined'} = {
           }
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'truc'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifcommanddefined',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 11,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -198,6 +235,44 @@ $result_trees{'command_conditionals_user_defined'} = {
             },
             {
               'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifcommanddefined'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifcommanddefined'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 13,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 23,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                },
                 {
                   'counter' => 1,
                   'element' => {
@@ -279,6 +354,43 @@ $result_trees{'command_conditionals_user_defined'} = {
           'type' => 'paragraph'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'authindex'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifcommanddefined',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 18,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -293,6 +405,44 @@ $result_trees{'command_conditionals_user_defined'} = {
             },
             {
               'source_marks' => [
+                {
+                  'counter' => 2,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifcommanddefined'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifcommanddefined'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 20,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 22,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                },
                 {
                   'counter' => 2,
                   'element' => {
@@ -374,6 +524,43 @@ $result_trees{'command_conditionals_user_defined'} = {
           'type' => 'paragraph'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'infoencl'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifcommanddefined',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 25,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -388,6 +575,44 @@ $result_trees{'command_conditionals_user_defined'} = {
             },
             {
               'source_marks' => [
+                {
+                  'counter' => 3,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifcommanddefined'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifcommanddefined'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 27,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 21,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                },
                 {
                   'counter' => 3,
                   'element' => {
@@ -469,6 +694,43 @@ $result_trees{'command_conditionals_user_defined'} = {
           'type' => 'paragraph'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 4,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'strongalias'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifcommanddefined',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 32,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -483,6 +745,44 @@ $result_trees{'command_conditionals_user_defined'} = {
             },
             {
               'source_marks' => [
+                {
+                  'counter' => 4,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifcommanddefined'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifcommanddefined'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 34,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 18,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                },
                 {
                   'counter' => 4,
                   'element' => {
diff --git a/tp/t/results/conditionals/comment_on_ifset_line.pl 
b/tp/t/results/conditionals/comment_on_ifset_line.pl
index e247715ec0..3b1f698df8 100644
--- a/tp/t/results/conditionals/comment_on_ifset_line.pl
+++ b/tp/t/results/conditionals/comment_on_ifset_line.pl
@@ -33,6 +33,55 @@ $result_trees{'comment_on_ifset_line'} = {
           }
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'x'
+                      }
+                    ],
+                    'info' => {
+                      'comment_at_end' => {
+                        'args' => [
+                          {
+                            'text' => '
+',
+                            'type' => 'misc_arg'
+                          }
+                        ],
+                        'cmdname' => 'c',
+                        'extra' => {
+                          'misc_args' => [
+                            '
+'
+                          ]
+                        }
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifset',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 3,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -40,26 +89,510 @@ $result_trees{'comment_on_ifset_line'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifset'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifset'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 5,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 3,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                },
+                {
+                  'counter' => 2,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'x'
+                          }
+                        ],
+                        'info' => {
+                          'comment_at_end' => {
+                            'args' => [
+                              {
+                                'text' => ' comm
+',
+                                'type' => 'misc_arg'
+                              }
+                            ],
+                            'cmdname' => 'c',
+                            'extra' => {
+                              'misc_args' => [
+                                ' comm
+'
+                              ]
+                            }
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'ifset',
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 6,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 3,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
+                }
+              ],
               'text' => 'Y1
 '
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 2,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifset'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifset'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 8,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 3,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                },
+                {
+                  'counter' => 3,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'x'
+                          }
+                        ],
+                        'info' => {
+                          'comment_at_end' => {
+                            'args' => [
+                              {
+                                'text' => '@ggg
+',
+                                'type' => 'misc_arg'
+                              }
+                            ],
+                            'cmdname' => 'c',
+                            'extra' => {
+                              'misc_args' => [
+                                '@ggg
+'
+                              ]
+                            }
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'ifset',
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 9,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 3,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
+                }
+              ],
               'text' => 'Y2
 '
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 3,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifset'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifset'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 11,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 3,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                },
+                {
+                  'counter' => 4,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'x'
+                          }
+                        ],
+                        'info' => {
+                          'comment_at_end' => {
+                            'args' => [
+                              {
+                                'text' => '
+',
+                                'type' => 'misc_arg'
+                              }
+                            ],
+                            'cmdname' => 'c',
+                            'extra' => {
+                              'misc_args' => [
+                                '
+'
+                              ]
+                            }
+                          },
+                          'spaces_after_argument' => {
+                            'text' => ' '
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'ifset',
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 12,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 3,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
+                }
+              ],
               'text' => 'Y3
 '
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 4,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifset'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifset'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 14,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 3,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                },
+                {
+                  'counter' => 5,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'x'
+                          }
+                        ],
+                        'info' => {
+                          'comment_at_end' => {
+                            'args' => [
+                              {
+                                'text' => ' comm
+',
+                                'type' => 'misc_arg'
+                              }
+                            ],
+                            'cmdname' => 'c',
+                            'extra' => {
+                              'misc_args' => [
+                                ' comm
+'
+                              ]
+                            }
+                          },
+                          'spaces_after_argument' => {
+                            'text' => ' '
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'ifset',
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 15,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 3,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
+                }
+              ],
               'text' => 'Y4
 '
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 5,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifset'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifset'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 17,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 3,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                },
+                {
+                  'counter' => 6,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'x'
+                          }
+                        ],
+                        'info' => {
+                          'comment_at_end' => {
+                            'args' => [
+                              {
+                                'text' => '@ggg
+',
+                                'type' => 'misc_arg'
+                              }
+                            ],
+                            'cmdname' => 'c',
+                            'extra' => {
+                              'misc_args' => [
+                                '@ggg
+'
+                              ]
+                            }
+                          },
+                          'spaces_after_argument' => {
+                            'text' => ' '
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'ifset',
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 18,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 3,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
+                }
+              ],
               'text' => 'Y5
 '
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 6,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifset'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifset'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 20,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 3,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'Y6
 '
             }
diff --git a/tp/t/results/conditionals/cond.pl 
b/tp/t/results/conditionals/cond.pl
index 6d1f01191a..ebcb79d1f2 100644
--- a/tp/t/results/conditionals/cond.pl
+++ b/tp/t/results/conditionals/cond.pl
@@ -174,6 +174,33 @@ $result_trees{'cond'} = {
               'type' => 'empty_line'
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'ifnothtml',
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 13,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 1,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
+                }
+              ],
               'text' => '
 ',
               'type' => 'empty_line'
@@ -184,6 +211,46 @@ $result_trees{'cond'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnothtml'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnothtml'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 15,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 24,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifnothtml text.
 '
             }
@@ -336,6 +403,33 @@ $result_trees{'cond'} = {
           'type' => 'empty_line'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnotinfo',
+                'source_info' => {
+                  'file_name' => 'cond.texi',
+                  'line_nr' => 25,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -343,6 +437,46 @@ $result_trees{'cond'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 2,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnotinfo'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnotinfo'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 27,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 24,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifnotinfo text.
 '
             }
@@ -486,6 +620,33 @@ $result_trees{'cond'} = {
           'type' => 'empty_line'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => 'cond.texi',
+                  'line_nr' => 38,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -493,6 +654,46 @@ $result_trees{'cond'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 3,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnottex'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnottex'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 40,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 23,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifnottex text.
 '
             }
diff --git a/tp/t/results/conditionals/cond_ifhtml_ifinfo.pl 
b/tp/t/results/conditionals/cond_ifhtml_ifinfo.pl
index f976a911b6..4ab7fcccaa 100644
--- a/tp/t/results/conditionals/cond_ifhtml_ifinfo.pl
+++ b/tp/t/results/conditionals/cond_ifhtml_ifinfo.pl
@@ -110,6 +110,33 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
               }
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'ifhtml',
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 9,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 1,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
+                }
+              ],
               'text' => '
 ',
               'type' => 'empty_line'
@@ -120,6 +147,46 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifhtml'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifhtml'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 11,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 21,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifhtml text.
 '
             }
@@ -272,6 +339,33 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
           'type' => 'empty_line'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifinfo',
+                'source_info' => {
+                  'file_name' => 'cond.texi',
+                  'line_nr' => 21,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -279,6 +373,46 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 2,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifinfo'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifinfo'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 23,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 21,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifinfo text.
 '
             }
@@ -492,6 +626,33 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
           'type' => 'empty_line'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => 'cond.texi',
+                  'line_nr' => 38,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -499,6 +660,46 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 3,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnottex'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnottex'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 40,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 23,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifnottex text.
 '
             }
diff --git a/tp/t/results/conditionals/cond_ifhtml_ifinfo_iftex.pl 
b/tp/t/results/conditionals/cond_ifhtml_ifinfo_iftex.pl
index d525b9b456..edc4079c4c 100644
--- a/tp/t/results/conditionals/cond_ifhtml_ifinfo_iftex.pl
+++ b/tp/t/results/conditionals/cond_ifhtml_ifinfo_iftex.pl
@@ -110,6 +110,33 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
               }
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'ifhtml',
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 9,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 1,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
+                }
+              ],
               'text' => '
 ',
               'type' => 'empty_line'
@@ -120,6 +147,46 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifhtml'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifhtml'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 11,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 21,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifhtml text.
 '
             }
@@ -272,6 +339,33 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
           'type' => 'empty_line'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifinfo',
+                'source_info' => {
+                  'file_name' => 'cond.texi',
+                  'line_nr' => 21,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -279,6 +373,46 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 2,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifinfo'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifinfo'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 23,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 21,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifinfo text.
 '
             }
@@ -428,6 +562,33 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
           }
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'iftex',
+                'source_info' => {
+                  'file_name' => 'cond.texi',
+                  'line_nr' => 34,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -435,6 +596,46 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 3,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'iftex'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'iftex'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 36,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 20,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is iftex text.
 '
             }
diff --git a/tp/t/results/conditionals/cond_info.pl 
b/tp/t/results/conditionals/cond_info.pl
index 3dee42b557..5b8906fe93 100644
--- a/tp/t/results/conditionals/cond_info.pl
+++ b/tp/t/results/conditionals/cond_info.pl
@@ -174,6 +174,33 @@ $result_trees{'cond_info'} = {
               'type' => 'empty_line'
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'ifnothtml',
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 13,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 1,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
+                }
+              ],
               'text' => '
 ',
               'type' => 'empty_line'
@@ -184,6 +211,46 @@ $result_trees{'cond_info'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnothtml'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnothtml'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 15,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 24,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifnothtml text.
 '
             }
@@ -266,6 +333,33 @@ $result_trees{'cond_info'} = {
           'type' => 'empty_line'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifinfo',
+                'source_info' => {
+                  'file_name' => 'cond.texi',
+                  'line_nr' => 21,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -273,6 +367,46 @@ $result_trees{'cond_info'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 2,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifinfo'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifinfo'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 23,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 21,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifinfo text.
 '
             }
@@ -486,6 +620,33 @@ $result_trees{'cond_info'} = {
           'type' => 'empty_line'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => 'cond.texi',
+                  'line_nr' => 38,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -493,6 +654,46 @@ $result_trees{'cond_info'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 3,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnottex'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnottex'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 40,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 23,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifnottex text.
 '
             }
diff --git a/tp/t/results/conditionals/cond_info_ifhtml_ifinfo_iftex.pl 
b/tp/t/results/conditionals/cond_info_ifhtml_ifinfo_iftex.pl
index 81c42001ac..aa04dc820b 100644
--- a/tp/t/results/conditionals/cond_info_ifhtml_ifinfo_iftex.pl
+++ b/tp/t/results/conditionals/cond_info_ifhtml_ifinfo_iftex.pl
@@ -110,6 +110,33 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
               }
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'ifhtml',
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 9,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 1,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
+                }
+              ],
               'text' => '
 ',
               'type' => 'empty_line'
@@ -120,6 +147,46 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifhtml'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifhtml'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 11,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 21,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifhtml text.
 '
             }
@@ -272,6 +339,33 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
           'type' => 'empty_line'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifinfo',
+                'source_info' => {
+                  'file_name' => 'cond.texi',
+                  'line_nr' => 21,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -279,6 +373,46 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 2,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifinfo'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifinfo'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 23,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 21,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifinfo text.
 '
             }
@@ -428,6 +562,33 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
           }
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'iftex',
+                'source_info' => {
+                  'file_name' => 'cond.texi',
+                  'line_nr' => 34,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -435,6 +596,46 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 3,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'iftex'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'iftex'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 36,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 20,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is iftex text.
 '
             }
diff --git 
a/tp/t/results/conditionals/cond_info_no-ifhtml_no-ifinfo_no-iftex.pl 
b/tp/t/results/conditionals/cond_info_no-ifhtml_no-ifinfo_no-iftex.pl
index 7c42b545c4..2565aa93b4 100644
--- a/tp/t/results/conditionals/cond_info_no-ifhtml_no-ifinfo_no-iftex.pl
+++ b/tp/t/results/conditionals/cond_info_no-ifhtml_no-ifinfo_no-iftex.pl
@@ -174,6 +174,33 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
               'type' => 'empty_line'
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'ifnothtml',
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 13,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 1,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
+                }
+              ],
               'text' => '
 ',
               'type' => 'empty_line'
@@ -184,6 +211,46 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnothtml'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnothtml'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 15,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 24,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifnothtml text.
 '
             }
@@ -336,6 +403,33 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
           'type' => 'empty_line'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnotinfo',
+                'source_info' => {
+                  'file_name' => 'cond.texi',
+                  'line_nr' => 25,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -343,6 +437,46 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 2,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnotinfo'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnotinfo'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 27,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 24,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifnotinfo text.
 '
             }
@@ -486,6 +620,33 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
           'type' => 'empty_line'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => 'cond.texi',
+                  'line_nr' => 38,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -493,6 +654,46 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 3,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnottex'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnottex'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 40,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 23,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifnottex text.
 '
             }
diff --git a/tp/t/results/conditionals/cond_no-ifhtml_no-ifinfo_no-iftex.pl 
b/tp/t/results/conditionals/cond_no-ifhtml_no-ifinfo_no-iftex.pl
index 57a05549fb..0f6b18eb93 100644
--- a/tp/t/results/conditionals/cond_no-ifhtml_no-ifinfo_no-iftex.pl
+++ b/tp/t/results/conditionals/cond_no-ifhtml_no-ifinfo_no-iftex.pl
@@ -174,6 +174,33 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
               'type' => 'empty_line'
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'ifnothtml',
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 13,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 1,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
+                }
+              ],
               'text' => '
 ',
               'type' => 'empty_line'
@@ -184,6 +211,46 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnothtml'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnothtml'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 15,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 24,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifnothtml text.
 '
             }
@@ -336,6 +403,33 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
           'type' => 'empty_line'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnotinfo',
+                'source_info' => {
+                  'file_name' => 'cond.texi',
+                  'line_nr' => 25,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -343,6 +437,46 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 2,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnotinfo'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnotinfo'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 27,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 24,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifnotinfo text.
 '
             }
@@ -486,6 +620,33 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
           'type' => 'empty_line'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => 'cond.texi',
+                  'line_nr' => 38,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -493,6 +654,46 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 3,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnottex'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnottex'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 40,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 23,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifnottex text.
 '
             }
diff --git a/tp/t/results/conditionals/cond_xml.pl 
b/tp/t/results/conditionals/cond_xml.pl
index 8634e89407..79c3cf1097 100644
--- a/tp/t/results/conditionals/cond_xml.pl
+++ b/tp/t/results/conditionals/cond_xml.pl
@@ -174,6 +174,33 @@ $result_trees{'cond_xml'} = {
               'type' => 'empty_line'
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'ifnothtml',
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 13,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 1,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
+                }
+              ],
               'text' => '
 ',
               'type' => 'empty_line'
@@ -184,6 +211,46 @@ $result_trees{'cond_xml'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnothtml'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnothtml'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 15,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 24,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifnothtml text.
 '
             }
@@ -336,6 +403,33 @@ $result_trees{'cond_xml'} = {
           'type' => 'empty_line'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnotinfo',
+                'source_info' => {
+                  'file_name' => 'cond.texi',
+                  'line_nr' => 25,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -343,6 +437,46 @@ $result_trees{'cond_xml'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 2,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnotinfo'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnotinfo'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 27,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 24,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifnotinfo text.
 '
             }
@@ -486,6 +620,33 @@ $result_trees{'cond_xml'} = {
           'type' => 'empty_line'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => 'cond.texi',
+                  'line_nr' => 38,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -493,6 +654,46 @@ $result_trees{'cond_xml'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 3,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnottex'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnottex'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'cond.texi',
+                      'line_nr' => 40,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 23,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifnottex text.
 '
             }
diff --git a/tp/t/results/conditionals/defcondx_Dbar.pl 
b/tp/t/results/conditionals/defcondx_Dbar.pl
index 14977bfadb..6a39312f96 100644
--- a/tp/t/results/conditionals/defcondx_Dbar.pl
+++ b/tp/t/results/conditionals/defcondx_Dbar.pl
@@ -154,6 +154,43 @@ $result_trees{'defcondx_Dbar'} = {
             {
               'contents' => [
                 {
+                  'source_marks' => [
+                    {
+                      'counter' => 1,
+                      'element' => {
+                        'args' => [
+                          {
+                            'contents' => [
+                              {
+                                'text' => 'bar'
+                              }
+                            ],
+                            'info' => {
+                              'spaces_after_argument' => {
+                                'text' => '
+'
+                              }
+                            },
+                            'type' => 'block_line_arg'
+                          }
+                        ],
+                        'cmdname' => 'ifset',
+                        'info' => {
+                          'spaces_before_argument' => {
+                            'text' => ' '
+                          }
+                        },
+                        'source_info' => {
+                          'file_name' => 'defxcond.texi',
+                          'line_nr' => 12,
+                          'macro' => ''
+                        }
+                      },
+                      'position' => 1,
+                      'sourcemark_type' => 'expanded_conditional_command',
+                      'status' => 'start'
+                    }
+                  ],
                   'text' => '
 ',
                   'type' => 'empty_line'
@@ -199,6 +236,45 @@ $result_trees{'defcondx_Dbar'} = {
                 'line_nr' => 13,
                 'macro' => ''
               },
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifset'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifset'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'defxcond.texi',
+                      'line_nr' => 14,
+                      'macro' => ''
+                    }
+                  },
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'type' => 'def_line'
             },
             {
diff --git a/tp/t/results/conditionals/empty_ifset_in_ifset_set.pl 
b/tp/t/results/conditionals/empty_ifset_in_ifset_set.pl
index 78c61b00f1..efdd192432 100644
--- a/tp/t/results/conditionals/empty_ifset_in_ifset_set.pl
+++ b/tp/t/results/conditionals/empty_ifset_in_ifset_set.pl
@@ -38,6 +38,43 @@ $result_trees{'empty_ifset_in_ifset_set'} = {
           }
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'notset'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifset',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 4,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -98,7 +135,46 @@ $result_trees{'empty_ifset_in_ifset_set'} = {
             'file_name' => '',
             'line_nr' => 5,
             'macro' => ''
-          }
+          },
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'ifset'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'end',
+                'extra' => {
+                  'text_arg' => 'ifset'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 8,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'end'
+            }
+          ]
         }
       ],
       'type' => 'before_node_section'
diff --git a/tp/t/results/conditionals/empty_set_in_ifset.pl 
b/tp/t/results/conditionals/empty_set_in_ifset.pl
index cd59cfc3a8..ad8229c0c7 100644
--- a/tp/t/results/conditionals/empty_set_in_ifset.pl
+++ b/tp/t/results/conditionals/empty_set_in_ifset.pl
@@ -33,6 +33,43 @@ $result_trees{'empty_set_in_ifset'} = {
           }
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'a'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifset',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 3,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -61,6 +98,38 @@ $result_trees{'empty_set_in_ifset'} = {
                   'position' => 13,
                   'sourcemark_type' => 'value_expansion',
                   'status' => 'end'
+                },
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifset'
+                          }
+                        ],
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifset'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 5,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 16,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
                 }
               ],
               'text' => 'a is set to:||.
diff --git a/tp/t/results/conditionals/end_ifset_in_format.pl 
b/tp/t/results/conditionals/end_ifset_in_format.pl
index 1e5ef405ee..30f08d14bd 100644
--- a/tp/t/results/conditionals/end_ifset_in_format.pl
+++ b/tp/t/results/conditionals/end_ifset_in_format.pl
@@ -38,6 +38,43 @@ $result_trees{'end_ifset_in_format'} = {
           }
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'notset'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifset',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 4,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -103,6 +140,46 @@ $result_trees{'end_ifset_in_format'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifset'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifset'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 9,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 5,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'text
 '
             }
@@ -110,6 +187,43 @@ $result_trees{'end_ifset_in_format'} = {
           'type' => 'paragraph'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'notset'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifset',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 11,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -170,9 +284,85 @@ $result_trees{'end_ifset_in_format'} = {
             'file_name' => '',
             'line_nr' => 12,
             'macro' => ''
-          }
+          },
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'ifset'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'end',
+                'extra' => {
+                  'text_arg' => 'ifset'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 15,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'end'
+            }
+          ]
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'notset'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifset',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 17,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -208,6 +398,46 @@ $result_trees{'end_ifset_in_format'} = {
               }
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 3,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifset'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifset'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 21,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 1,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => '
 '
             }
diff --git a/tp/t/results/conditionals/ifclear_in_ifset_set.pl 
b/tp/t/results/conditionals/ifclear_in_ifset_set.pl
index e0f8c6f3b2..4e5f22dcec 100644
--- a/tp/t/results/conditionals/ifclear_in_ifset_set.pl
+++ b/tp/t/results/conditionals/ifclear_in_ifset_set.pl
@@ -38,6 +38,93 @@ $result_trees{'ifclear_in_ifset_set'} = {
           }
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'a'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifset',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 4,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            },
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'ok'
+                      }
+                    ],
+                    'info' => {
+                      'comment_at_end' => {
+                        'args' => [
+                          {
+                            'text' => ' - ok, ignored
+',
+                            'type' => 'misc_arg'
+                          }
+                        ],
+                        'cmdname' => 'c',
+                        'extra' => {
+                          'misc_args' => [
+                            ' - ok, ignored
+'
+                          ]
+                        }
+                      },
+                      'spaces_after_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifclear',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 5,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
diff --git a/tp/t/results/conditionals/ifnot_format_conditional.pl 
b/tp/t/results/conditionals/ifnot_format_conditional.pl
index 18c66e1ca2..d85e5e7161 100644
--- a/tp/t/results/conditionals/ifnot_format_conditional.pl
+++ b/tp/t/results/conditionals/ifnot_format_conditional.pl
@@ -9,9 +9,78 @@ $result_trees{'ifnot_format_conditional'} = {
   'contents' => [
     {
       'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 1,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
+          'text' => ''
+        },
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnottex'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnottex'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 3,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 8,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'not tex
 '
             }
diff --git a/tp/t/results/conditionals/ifset_in_command.pl 
b/tp/t/results/conditionals/ifset_in_command.pl
index afeca22e89..a9dc978c96 100644
--- a/tp/t/results/conditionals/ifset_in_command.pl
+++ b/tp/t/results/conditionals/ifset_in_command.pl
@@ -94,12 +94,87 @@ $result_trees{'ifset_in_command'} = {
                           },
                           'position' => 1,
                           'sourcemark_type' => 'ignored_conditional_block'
+                        },
+                        {
+                          'counter' => 1,
+                          'element' => {
+                            'args' => [
+                              {
+                                'contents' => [
+                                  {
+                                    'text' => 'x'
+                                  }
+                                ],
+                                'info' => {
+                                  'spaces_after_argument' => {
+                                    'text' => '
+'
+                                  }
+                                },
+                                'type' => 'block_line_arg'
+                              }
+                            ],
+                            'cmdname' => 'ifclear',
+                            'info' => {
+                              'spaces_before_argument' => {
+                                'text' => ' '
+                              }
+                            },
+                            'source_info' => {
+                              'file_name' => '',
+                              'line_nr' => 6,
+                              'macro' => ''
+                            }
+                          },
+                          'position' => 1,
+                          'sourcemark_type' => 'expanded_conditional_command',
+                          'status' => 'start'
                         }
                       ],
                       'text' => '
 '
                     },
                     {
+                      'source_marks' => [
+                        {
+                          'counter' => 1,
+                          'element' => {
+                            'args' => [
+                              {
+                                'contents' => [
+                                  {
+                                    'text' => 'ifclear'
+                                  }
+                                ],
+                                'info' => {
+                                  'spaces_after_argument' => {
+                                    'text' => '
+'
+                                  }
+                                },
+                                'type' => 'line_arg'
+                              }
+                            ],
+                            'cmdname' => 'end',
+                            'extra' => {
+                              'text_arg' => 'ifclear'
+                            },
+                            'info' => {
+                              'spaces_before_argument' => {
+                                'text' => ' '
+                              }
+                            },
+                            'source_info' => {
+                              'file_name' => '',
+                              'line_nr' => 8,
+                              'macro' => ''
+                            }
+                          },
+                          'position' => 7,
+                          'sourcemark_type' => 'expanded_conditional_command',
+                          'status' => 'end'
+                        }
+                      ],
                       'text' => 'xclear
 '
                     }
diff --git a/tp/t/results/conditionals/info_ifinfo_ifnotplaintext.pl 
b/tp/t/results/conditionals/info_ifinfo_ifnotplaintext.pl
index 75e7b24a91..9c5523ec1a 100644
--- a/tp/t/results/conditionals/info_ifinfo_ifnotplaintext.pl
+++ b/tp/t/results/conditionals/info_ifinfo_ifnotplaintext.pl
@@ -9,9 +9,140 @@ $result_trees{'info_ifinfo_ifnotplaintext'} = {
   'contents' => [
     {
       'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifinfo',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 1,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            },
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnotplaintext',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 2,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
+          'text' => ''
+        },
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 2,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnotplaintext'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnotplaintext'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 4,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 42,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                },
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifinfo'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifinfo'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 5,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 42,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This will be in Info, but not plain text.
 '
             }
diff --git a/tp/t/results/conditionals/macro_in_ifset_set.pl 
b/tp/t/results/conditionals/macro_in_ifset_set.pl
index f4d8639968..7c676026de 100644
--- a/tp/t/results/conditionals/macro_in_ifset_set.pl
+++ b/tp/t/results/conditionals/macro_in_ifset_set.pl
@@ -100,6 +100,43 @@ $result_trees{'macro_in_ifset_set'} = {
           }
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'a'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifset',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 8,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -177,7 +214,46 @@ $result_trees{'macro_in_ifset_set'} = {
             'file_name' => '',
             'line_nr' => 10,
             'macro' => ''
-          }
+          },
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'ifset'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'end',
+                'extra' => {
+                  'text_arg' => 'ifset'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 13,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'end'
+            }
+          ]
         },
         {
           'source_marks' => [
diff --git a/tp/t/results/conditionals/many_conditionals.pl 
b/tp/t/results/conditionals/many_conditionals.pl
index 465e5dba5a..8ab9649c64 100644
--- a/tp/t/results/conditionals/many_conditionals.pl
+++ b/tp/t/results/conditionals/many_conditionals.pl
@@ -72,6 +72,33 @@ $result_trees{'many_conditionals'} = {
           }
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifhtml',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 5,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -79,6 +106,46 @@ $result_trees{'many_conditionals'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifhtml'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifhtml'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 7,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 21,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifhtml text.
 '
             }
@@ -161,6 +228,33 @@ $result_trees{'many_conditionals'} = {
           'type' => 'empty_line'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifinfo',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 14,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -168,6 +262,46 @@ $result_trees{'many_conditionals'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 2,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifinfo'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifinfo'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 16,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 21,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifinfo text.
 '
             }
@@ -381,6 +515,33 @@ $result_trees{'many_conditionals'} = {
           'type' => 'empty_line'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 31,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -388,6 +549,46 @@ $result_trees{'many_conditionals'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 3,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnottex'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnottex'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 33,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 23,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'This is ifnottex text.
 '
             }
diff --git a/tp/t/results/conditionals/nested_ifset_ifclear.pl 
b/tp/t/results/conditionals/nested_ifset_ifclear.pl
index 8bd1a882ae..e6b309a6fe 100644
--- a/tp/t/results/conditionals/nested_ifset_ifclear.pl
+++ b/tp/t/results/conditionals/nested_ifset_ifclear.pl
@@ -167,6 +167,74 @@ $result_trees{'nested_ifset_ifclear'} = {
               },
               'sourcemark_type' => 'macro_expansion',
               'status' => 'start'
+            },
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'somevar'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifset',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 15,
+                  'macro' => 'conditionals'
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            },
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'anothervar'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifset',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 15,
+                  'macro' => 'conditionals'
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
             }
           ]
         },
@@ -174,6 +242,44 @@ $result_trees{'nested_ifset_ifclear'} = {
           'contents' => [
             {
               'source_marks' => [
+                {
+                  'counter' => 2,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifset'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifset'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 15,
+                      'macro' => 'conditionals'
+                    }
+                  },
+                  'position' => 37,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                },
                 {
                   'counter' => 1,
                   'element' => {
@@ -246,6 +352,52 @@ $result_trees{'nested_ifset_ifclear'} = {
                   },
                   'position' => 37,
                   'sourcemark_type' => 'ignored_conditional_block'
+                },
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'source_marks' => [
+                              {
+                                'counter' => 1,
+                                'position' => 5,
+                                'sourcemark_type' => 'macro_expansion',
+                                'status' => 'end'
+                              }
+                            ],
+                            'text' => 'ifset'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifset'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 15,
+                      'macro' => 'conditionals'
+                    }
+                  },
+                  'position' => 37,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
                 }
               ],
               'text' => 'Both somevar and anothervar are set.
@@ -311,6 +463,40 @@ $result_trees{'nested_ifset_ifclear'} = {
               'sourcemark_type' => 'macro_expansion',
               'status' => 'start'
             },
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'somevar'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifset',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 19,
+                  'macro' => 'conditionals'
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            },
             {
               'counter' => 2,
               'element' => {
@@ -382,12 +568,132 @@ $result_trees{'nested_ifset_ifclear'} = {
                 }
               },
               'sourcemark_type' => 'ignored_conditional_block'
+            },
+            {
+              'counter' => 4,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'anothervar'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifclear',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 19,
+                  'macro' => 'conditionals'
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
             }
           ]
         },
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 4,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifclear'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifclear'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 19,
+                      'macro' => 'conditionals'
+                    }
+                  },
+                  'position' => 35,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                },
+                {
+                  'counter' => 3,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'source_marks' => [
+                              {
+                                'counter' => 2,
+                                'position' => 5,
+                                'sourcemark_type' => 'macro_expansion',
+                                'status' => 'end'
+                              }
+                            ],
+                            'text' => 'ifset'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifset'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 19,
+                      'macro' => 'conditionals'
+                    }
+                  },
+                  'position' => 35,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'Somevar is set, anothervar is not.
 '
             }
diff --git a/tp/t/results/conditionals/plaintext_ifinfo.pl 
b/tp/t/results/conditionals/plaintext_ifinfo.pl
index 93a289a82b..d07c6749e3 100644
--- a/tp/t/results/conditionals/plaintext_ifinfo.pl
+++ b/tp/t/results/conditionals/plaintext_ifinfo.pl
@@ -10,6 +10,33 @@ $result_trees{'plaintext_ifinfo'} = {
     {
       'contents' => [
         {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifinfo',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 2,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -17,6 +44,46 @@ $result_trees{'plaintext_ifinfo'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifinfo'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifinfo'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 4,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 51,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'this text will appear only in Info and plain text.
 '
             }
diff --git a/tp/t/results/conditionals/plaintext_ifinfo_ifnotplaintext.pl 
b/tp/t/results/conditionals/plaintext_ifinfo_ifnotplaintext.pl
index 0ed58b527f..dd8dc73f8f 100644
--- a/tp/t/results/conditionals/plaintext_ifinfo_ifnotplaintext.pl
+++ b/tp/t/results/conditionals/plaintext_ifinfo_ifnotplaintext.pl
@@ -19,6 +19,30 @@ $result_trees{'plaintext_ifinfo_ifnotplaintext'} = {
                     'info' => {
                       'spaces_after_argument' => {
                         'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifinfo',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 1,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            },
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
 '
                       }
                     },
@@ -72,6 +96,43 @@ $result_trees{'plaintext_ifinfo_ifnotplaintext'} = {
                 }
               },
               'sourcemark_type' => 'ignored_conditional_block'
+            },
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'ifinfo'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'end',
+                'extra' => {
+                  'text_arg' => 'ifinfo'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 5,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'end'
             }
           ],
           'text' => ''
diff --git a/tp/t/results/conditionals/superfluous_argument_to_end.pl 
b/tp/t/results/conditionals/superfluous_argument_to_end.pl
index 95fce3501d..51c408a5b6 100644
--- a/tp/t/results/conditionals/superfluous_argument_to_end.pl
+++ b/tp/t/results/conditionals/superfluous_argument_to_end.pl
@@ -9,9 +9,78 @@ $result_trees{'superfluous_argument_to_end'} = {
   'contents' => [
     {
       'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnothtml',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 1,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
+          'text' => ''
+        },
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnothtml superfluous'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnothtml superfluous'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 3,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 9,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'not html
 '
             }
diff --git a/tp/t/results/conditionals/text_on_conditional_line_expanded.pl 
b/tp/t/results/conditionals/text_on_conditional_line_expanded.pl
index c45cecaacb..53e4dfce16 100644
--- a/tp/t/results/conditionals/text_on_conditional_line_expanded.pl
+++ b/tp/t/results/conditionals/text_on_conditional_line_expanded.pl
@@ -9,9 +9,88 @@ $result_trees{'text_on_conditional_line_expanded'} = {
   'contents' => [
     {
       'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'text following ifnothtml,'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnothtml',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 1,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
+          'text' => ''
+        },
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnothtml'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnothtml'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 3,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 2,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => 'a
 '
             }
diff --git a/tp/t/results/formats_encodings/at_commands_in_refs.pl 
b/tp/t/results/formats_encodings/at_commands_in_refs.pl
index 33a94f8a98..0d00b1f9c9 100644
--- a/tp/t/results/formats_encodings/at_commands_in_refs.pl
+++ b/tp/t/results/formats_encodings/at_commands_in_refs.pl
@@ -8601,6 +8601,37 @@ $result_trees{'at_commands_in_refs'} = {
         }
       ],
       'cmdname' => 'node',
+      'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 83,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
+          'text' => ''
+        }
+      ],
       'extra' => {
         'node_content' => [
           {},
@@ -8723,6 +8754,48 @@ $result_trees{'at_commands_in_refs'} = {
       ],
       'cmdname' => 'chapter',
       'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'ifnottex'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'end',
+                'extra' => {
+                  'text_arg' => 'ifnottex'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 85,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'end'
+            }
+          ],
+          'text' => ''
+        },
         {
           'text' => '
 ',
@@ -9039,6 +9112,37 @@ $result_trees{'at_commands_in_refs'} = {
         }
       ],
       'cmdname' => 'node',
+      'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 91,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
+          'text' => ''
+        }
+      ],
       'extra' => {
         'node_content' => [
           {},
@@ -9161,6 +9265,48 @@ $result_trees{'at_commands_in_refs'} = {
       ],
       'cmdname' => 'chapter',
       'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'ifnottex'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'end',
+                'extra' => {
+                  'text_arg' => 'ifnottex'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 93,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'end'
+            }
+          ],
+          'text' => ''
+        },
         {
           'text' => '
 ',
@@ -9216,6 +9362,37 @@ $result_trees{'at_commands_in_refs'} = {
         }
       ],
       'cmdname' => 'node',
+      'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 96,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
+          'text' => ''
+        }
+      ],
       'extra' => {
         'node_content' => [
           {}
@@ -9279,6 +9456,48 @@ $result_trees{'at_commands_in_refs'} = {
       ],
       'cmdname' => 'chapter',
       'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'ifnottex'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'end',
+                'extra' => {
+                  'text_arg' => 'ifnottex'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 98,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'end'
+            }
+          ],
+          'text' => ''
+        },
         {
           'text' => '
 ',
@@ -13358,6 +13577,33 @@ $result_trees{'at_commands_in_refs'} = {
           'type' => 'paragraph'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 4,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 153,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -13466,6 +13712,46 @@ $result_trees{'at_commands_in_refs'} = {
               }
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 4,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnottex'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnottex'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 155,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 1,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => '
 '
             }
@@ -13577,6 +13863,33 @@ $result_trees{'at_commands_in_refs'} = {
           'type' => 'paragraph'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 5,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 159,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -13747,6 +14060,46 @@ $result_trees{'at_commands_in_refs'} = {
               }
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 5,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnottex'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnottex'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 163,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 1,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => '
 '
             }
diff --git a/tp/t/results/formats_encodings/at_commands_in_refs_latin1.pl 
b/tp/t/results/formats_encodings/at_commands_in_refs_latin1.pl
index e82b5efbc9..959a167da9 100644
--- a/tp/t/results/formats_encodings/at_commands_in_refs_latin1.pl
+++ b/tp/t/results/formats_encodings/at_commands_in_refs_latin1.pl
@@ -8673,6 +8673,37 @@ $result_trees{'at_commands_in_refs_latin1'} = {
         }
       ],
       'cmdname' => 'node',
+      'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 86,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
+          'text' => ''
+        }
+      ],
       'extra' => {
         'node_content' => [
           {},
@@ -8795,6 +8826,48 @@ $result_trees{'at_commands_in_refs_latin1'} = {
       ],
       'cmdname' => 'chapter',
       'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'ifnottex'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'end',
+                'extra' => {
+                  'text_arg' => 'ifnottex'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 88,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'end'
+            }
+          ],
+          'text' => ''
+        },
         {
           'text' => '
 ',
@@ -9111,6 +9184,37 @@ $result_trees{'at_commands_in_refs_latin1'} = {
         }
       ],
       'cmdname' => 'node',
+      'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 94,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
+          'text' => ''
+        }
+      ],
       'extra' => {
         'node_content' => [
           {},
@@ -9233,6 +9337,48 @@ $result_trees{'at_commands_in_refs_latin1'} = {
       ],
       'cmdname' => 'chapter',
       'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'ifnottex'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'end',
+                'extra' => {
+                  'text_arg' => 'ifnottex'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 96,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'end'
+            }
+          ],
+          'text' => ''
+        },
         {
           'text' => '
 ',
@@ -9288,6 +9434,37 @@ $result_trees{'at_commands_in_refs_latin1'} = {
         }
       ],
       'cmdname' => 'node',
+      'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 99,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
+          'text' => ''
+        }
+      ],
       'extra' => {
         'node_content' => [
           {}
@@ -9351,6 +9528,48 @@ $result_trees{'at_commands_in_refs_latin1'} = {
       ],
       'cmdname' => 'chapter',
       'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'ifnottex'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'end',
+                'extra' => {
+                  'text_arg' => 'ifnottex'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 101,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'end'
+            }
+          ],
+          'text' => ''
+        },
         {
           'text' => '
 ',
@@ -13430,6 +13649,33 @@ $result_trees{'at_commands_in_refs_latin1'} = {
           'type' => 'paragraph'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 4,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 156,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -13538,6 +13784,46 @@ $result_trees{'at_commands_in_refs_latin1'} = {
               }
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 4,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnottex'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnottex'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 158,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 1,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => '
 '
             }
@@ -13649,6 +13935,33 @@ $result_trees{'at_commands_in_refs_latin1'} = {
           'type' => 'paragraph'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 5,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 162,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -13819,6 +14132,46 @@ $result_trees{'at_commands_in_refs_latin1'} = {
               }
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 5,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnottex'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnottex'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 166,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 1,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => '
 '
             }
diff --git a/tp/t/results/formats_encodings/at_commands_in_refs_utf8.pl 
b/tp/t/results/formats_encodings/at_commands_in_refs_utf8.pl
index 8c776c6aae..fcc795aebf 100644
--- a/tp/t/results/formats_encodings/at_commands_in_refs_utf8.pl
+++ b/tp/t/results/formats_encodings/at_commands_in_refs_utf8.pl
@@ -8673,6 +8673,37 @@ $result_trees{'at_commands_in_refs_utf8'} = {
         }
       ],
       'cmdname' => 'node',
+      'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 86,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
+          'text' => ''
+        }
+      ],
       'extra' => {
         'node_content' => [
           {},
@@ -8795,6 +8826,48 @@ $result_trees{'at_commands_in_refs_utf8'} = {
       ],
       'cmdname' => 'chapter',
       'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'ifnottex'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'end',
+                'extra' => {
+                  'text_arg' => 'ifnottex'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 88,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'end'
+            }
+          ],
+          'text' => ''
+        },
         {
           'text' => '
 ',
@@ -9111,6 +9184,37 @@ $result_trees{'at_commands_in_refs_utf8'} = {
         }
       ],
       'cmdname' => 'node',
+      'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 94,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
+          'text' => ''
+        }
+      ],
       'extra' => {
         'node_content' => [
           {},
@@ -9233,6 +9337,48 @@ $result_trees{'at_commands_in_refs_utf8'} = {
       ],
       'cmdname' => 'chapter',
       'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'ifnottex'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'end',
+                'extra' => {
+                  'text_arg' => 'ifnottex'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 96,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'end'
+            }
+          ],
+          'text' => ''
+        },
         {
           'text' => '
 ',
@@ -9288,6 +9434,37 @@ $result_trees{'at_commands_in_refs_utf8'} = {
         }
       ],
       'cmdname' => 'node',
+      'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 99,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
+          'text' => ''
+        }
+      ],
       'extra' => {
         'node_content' => [
           {}
@@ -9351,6 +9528,48 @@ $result_trees{'at_commands_in_refs_utf8'} = {
       ],
       'cmdname' => 'chapter',
       'contents' => [
+        {
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'ifnottex'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'end',
+                'extra' => {
+                  'text_arg' => 'ifnottex'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 101,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'end'
+            }
+          ],
+          'text' => ''
+        },
         {
           'text' => '
 ',
@@ -13430,6 +13649,33 @@ $result_trees{'at_commands_in_refs_utf8'} = {
           'type' => 'paragraph'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 4,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 156,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -13538,6 +13784,46 @@ $result_trees{'at_commands_in_refs_utf8'} = {
               }
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 4,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnottex'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnottex'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 158,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 1,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => '
 '
             }
@@ -13649,6 +13935,33 @@ $result_trees{'at_commands_in_refs_utf8'} = {
           'type' => 'paragraph'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 5,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 162,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -13819,6 +14132,46 @@ $result_trees{'at_commands_in_refs_utf8'} = {
               }
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 5,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnottex'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnottex'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 166,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 1,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => '
 '
             }
diff --git a/tp/t/results/formats_encodings/sample_utf8.pl 
b/tp/t/results/formats_encodings/sample_utf8.pl
index 45ce8ea454..0b423bb7d3 100644
--- a/tp/t/results/formats_encodings/sample_utf8.pl
+++ b/tp/t/results/formats_encodings/sample_utf8.pl
@@ -412,6 +412,33 @@ $result_trees{'sample_utf8'} = {
               }
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'ifnottex',
+                    'source_info' => {
+                      'file_name' => 'sample_utf8.texi',
+                      'line_nr' => 26,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 1,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
+                }
+              ],
               'text' => '
 ',
               'type' => 'empty_line'
@@ -502,7 +529,46 @@ $result_trees{'sample_utf8'} = {
             'file_name' => 'sample_utf8.texi',
             'line_nr' => 30,
             'macro' => ''
-          }
+          },
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'ifnottex'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'end',
+                'extra' => {
+                  'text_arg' => 'ifnottex'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => 'sample_utf8.texi',
+                  'line_nr' => 31,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'end'
+            }
+          ]
         },
         {
           'text' => '
diff --git a/tp/t/results/languages/multiple_lang_chapters.pl 
b/tp/t/results/languages/multiple_lang_chapters.pl
index 0cbe285512..8c22c9329f 100644
--- a/tp/t/results/languages/multiple_lang_chapters.pl
+++ b/tp/t/results/languages/multiple_lang_chapters.pl
@@ -137,6 +137,30 @@ $result_trees{'multiple_lang_chapters'} = {
                     }
                   },
                   'sourcemark_type' => 'ignored_conditional_block'
+                },
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'iflatex',
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 8,
+                      'macro' => ''
+                    }
+                  },
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
                 }
               ]
             },
@@ -170,7 +194,46 @@ $result_trees{'multiple_lang_chapters'} = {
                 'file_name' => '',
                 'line_nr' => 9,
                 'macro' => ''
-              }
+              },
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'iflatex'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'iflatex'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 10,
+                      'macro' => ''
+                    }
+                  },
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ]
             },
             {
               'text' => '
diff --git a/tp/t/results/languages/multiple_lang_chapters_latex.pl 
b/tp/t/results/languages/multiple_lang_chapters_latex.pl
index 54d372a594..c0c0c3c876 100644
--- a/tp/t/results/languages/multiple_lang_chapters_latex.pl
+++ b/tp/t/results/languages/multiple_lang_chapters_latex.pl
@@ -137,6 +137,30 @@ $result_trees{'multiple_lang_chapters_latex'} = {
                     }
                   },
                   'sourcemark_type' => 'ignored_conditional_block'
+                },
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'iflatex',
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 8,
+                      'macro' => ''
+                    }
+                  },
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
                 }
               ]
             },
@@ -170,7 +194,46 @@ $result_trees{'multiple_lang_chapters_latex'} = {
                 'file_name' => '',
                 'line_nr' => 9,
                 'macro' => ''
-              }
+              },
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'iflatex'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'iflatex'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 10,
+                      'macro' => ''
+                    }
+                  },
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ]
             },
             {
               'text' => '
diff --git a/tp/t/results/macro/bib_example.pl 
b/tp/t/results/macro/bib_example.pl
index c004454096..8edee4e546 100644
--- a/tp/t/results/macro/bib_example.pl
+++ b/tp/t/results/macro/bib_example.pl
@@ -4086,6 +4086,40 @@ $result_trees{'bib_example'} = {
                 ]
               },
               'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'mybibrefnode'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'ifset',
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'bib-example.texi',
+                      'line_nr' => 43,
+                      'macro' => 'mybibcite'
+                    }
+                  },
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
+                },
                 {
                   'counter' => 5,
                   'element' => {
@@ -4303,6 +4337,44 @@ $result_trees{'bib_example'} = {
                   'sourcemark_type' => 'macro_expansion',
                   'status' => 'end'
                 },
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifset'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifset'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'bib-example.texi',
+                      'line_nr' => 43,
+                      'macro' => 'mybibcite'
+                    }
+                  },
+                  'position' => 3,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                },
                 {
                   'counter' => 4,
                   'position' => 3,
@@ -4541,6 +4613,41 @@ $result_trees{'bib_example'} = {
                       },
                       'position' => 1,
                       'sourcemark_type' => 'ignored_conditional_block'
+                    },
+                    {
+                      'counter' => 2,
+                      'element' => {
+                        'args' => [
+                          {
+                            'contents' => [
+                              {
+                                'text' => 'mybiblist'
+                              }
+                            ],
+                            'info' => {
+                              'spaces_after_argument' => {
+                                'text' => '
+'
+                              }
+                            },
+                            'type' => 'block_line_arg'
+                          }
+                        ],
+                        'cmdname' => 'ifset',
+                        'info' => {
+                          'spaces_before_argument' => {
+                            'text' => ' '
+                          }
+                        },
+                        'source_info' => {
+                          'file_name' => 'bib-example.texi',
+                          'line_nr' => 51,
+                          'macro' => 'mybibitem'
+                        }
+                      },
+                      'position' => 1,
+                      'sourcemark_type' => 'expanded_conditional_command',
+                      'status' => 'start'
                     }
                   ],
                   'text' => '
@@ -4585,6 +4692,46 @@ $result_trees{'bib_example'} = {
                 {
                   'contents' => [
                     {
+                      'source_marks' => [
+                        {
+                          'counter' => 2,
+                          'element' => {
+                            'args' => [
+                              {
+                                'contents' => [
+                                  {
+                                    'text' => 'ifset'
+                                  }
+                                ],
+                                'info' => {
+                                  'spaces_after_argument' => {
+                                    'text' => '
+'
+                                  }
+                                },
+                                'type' => 'line_arg'
+                              }
+                            ],
+                            'cmdname' => 'end',
+                            'extra' => {
+                              'text_arg' => 'ifset'
+                            },
+                            'info' => {
+                              'spaces_before_argument' => {
+                                'text' => ' '
+                              }
+                            },
+                            'source_info' => {
+                              'file_name' => 'bib-example.texi',
+                              'line_nr' => 51,
+                              'macro' => 'mybibitem'
+                            }
+                          },
+                          'position' => 10,
+                          'sourcemark_type' => 'expanded_conditional_command',
+                          'status' => 'end'
+                        }
+                      ],
                       'text' => '[LaTeX2e]
 '
                     },
diff --git a/tp/t/results/macro/glossary.pl b/tp/t/results/macro/glossary.pl
index 7c65fb4b75..d120ccf6c9 100644
--- a/tp/t/results/macro/glossary.pl
+++ b/tp/t/results/macro/glossary.pl
@@ -586,6 +586,31 @@ $result_trees{'glossary'} = {
                   'position' => 4,
                   'sourcemark_type' => 'macro_expansion',
                   'status' => 'start'
+                },
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'ifhtml',
+                    'source_info' => {
+                      'file_name' => 'glossary.texi',
+                      'line_nr' => 42,
+                      'macro' => 'gentry'
+                    }
+                  },
+                  'position' => 4,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
                 }
               ],
               'text' => 'The '
@@ -626,6 +651,44 @@ $result_trees{'glossary'} = {
             },
             {
               'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifhtml'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifhtml'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'glossary.texi',
+                      'line_nr' => 42,
+                      'macro' => 'gentry'
+                    }
+                  },
+                  'position' => 1,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                },
                 {
                   'counter' => 1,
                   'element' => {
@@ -969,6 +1032,31 @@ $result_trees{'glossary'} = {
                   'position' => 29,
                   'sourcemark_type' => 'macro_expansion',
                   'status' => 'start'
+                },
+                {
+                  'counter' => 2,
+                  'element' => {
+                    'args' => [
+                      {
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'ifhtml',
+                    'source_info' => {
+                      'file_name' => 'glossary.texi',
+                      'line_nr' => 43,
+                      'macro' => 'gentry'
+                    }
+                  },
+                  'position' => 29,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
                 }
               ],
               'text' => ' is used in many cases while
@@ -1034,6 +1122,44 @@ $result_trees{'glossary'} = {
             },
             {
               'source_marks' => [
+                {
+                  'counter' => 2,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifhtml'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifhtml'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => 'glossary.texi',
+                      'line_nr' => 43,
+                      'macro' => 'gentry'
+                    }
+                  },
+                  'position' => 1,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                },
                 {
                   'counter' => 2,
                   'element' => {
diff --git a/tp/t/results/macro/ifclear_in_macro.pl 
b/tp/t/results/macro/ifclear_in_macro.pl
index 178298e679..fb8d3f6ebe 100644
--- a/tp/t/results/macro/ifclear_in_macro.pl
+++ b/tp/t/results/macro/ifclear_in_macro.pl
@@ -110,6 +110,41 @@ $result_trees{'ifclear_in_macro'} = {
               'position' => 1,
               'sourcemark_type' => 'macro_expansion',
               'status' => 'start'
+            },
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'notes'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => ' 
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifclear',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 9,
+                  'macro' => 'note'
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
             }
           ],
           'text' => '
@@ -126,6 +161,54 @@ $result_trees{'ifclear_in_macro'} = {
           'type' => 'paragraph'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'source_marks' => [
+                          {
+                            'counter' => 1,
+                            'position' => 7,
+                            'sourcemark_type' => 'macro_expansion',
+                            'status' => 'end'
+                          }
+                        ],
+                        'text' => 'ifclear'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'end',
+                'extra' => {
+                  'text_arg' => 'ifclear'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 9,
+                  'macro' => 'note'
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'end'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
diff --git a/tp/t/results/macro/ifset_in_macro_set.pl 
b/tp/t/results/macro/ifset_in_macro_set.pl
index 8977e120cc..36e0e4b70b 100644
--- a/tp/t/results/macro/ifset_in_macro_set.pl
+++ b/tp/t/results/macro/ifset_in_macro_set.pl
@@ -110,6 +110,41 @@ $result_trees{'ifset_in_macro_set'} = {
               'position' => 1,
               'sourcemark_type' => 'macro_expansion',
               'status' => 'start'
+            },
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'notes'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => ' 
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifset',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 9,
+                  'macro' => 'note'
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
             }
           ],
           'text' => '
@@ -126,6 +161,54 @@ $result_trees{'ifset_in_macro_set'} = {
           'type' => 'paragraph'
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'source_marks' => [
+                          {
+                            'counter' => 1,
+                            'position' => 5,
+                            'sourcemark_type' => 'macro_expansion',
+                            'status' => 'end'
+                          }
+                        ],
+                        'text' => 'ifset'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'end',
+                'extra' => {
+                  'text_arg' => 'ifset'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 9,
+                  'macro' => 'note'
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'end'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
diff --git a/tp/t/results/misc_commands/sp.pl b/tp/t/results/misc_commands/sp.pl
index 00189e5d75..ad2db9035a 100644
--- a/tp/t/results/misc_commands/sp.pl
+++ b/tp/t/results/misc_commands/sp.pl
@@ -135,6 +135,33 @@ $result_trees{'sp'} = {
         {
           'contents' => [
             {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'ifnottex',
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 6,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 50,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
+                }
+              ],
               'text' => 'Text line after the text line followed by the sp.
 '
             }
@@ -168,7 +195,46 @@ $result_trees{'sp'} = {
             'file_name' => '',
             'line_nr' => 7,
             'macro' => ''
-          }
+          },
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'ifnottex'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'end',
+                'extra' => {
+                  'text_arg' => 'ifnottex'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 8,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'end'
+            }
+          ]
         }
       ],
       'type' => 'before_node_section'
diff --git a/tp/t/results/moresectioning/raiselowersections.pl 
b/tp/t/results/moresectioning/raiselowersections.pl
index d9769ece37..cf8f0fcd10 100644
--- a/tp/t/results/moresectioning/raiselowersections.pl
+++ b/tp/t/results/moresectioning/raiselowersections.pl
@@ -341,6 +341,44 @@ $result_trees{'raiselowersections'} = {
           ],
           'cmdname' => 'menu',
           'contents' => [
+            {
+              'source_marks' => [
+                {
+                  'counter' => 1,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'include'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'block_line_arg'
+                      }
+                    ],
+                    'cmdname' => 'ifclear',
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 14,
+                      'macro' => ''
+                    }
+                  },
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'start'
+                }
+              ]
+            },
             {
               'contents' => [
                 {
@@ -364,6 +402,46 @@ $result_trees{'raiselowersections'} = {
                     {
                       'contents' => [
                         {
+                          'source_marks' => [
+                            {
+                              'counter' => 1,
+                              'element' => {
+                                'args' => [
+                                  {
+                                    'contents' => [
+                                      {
+                                        'text' => 'ifclear'
+                                      }
+                                    ],
+                                    'info' => {
+                                      'spaces_after_argument' => {
+                                        'text' => '
+'
+                                      }
+                                    },
+                                    'type' => 'line_arg'
+                                  }
+                                ],
+                                'cmdname' => 'end',
+                                'extra' => {
+                                  'text_arg' => 'ifclear'
+                                },
+                                'info' => {
+                                  'spaces_before_argument' => {
+                                    'text' => ' '
+                                  }
+                                },
+                                'source_info' => {
+                                  'file_name' => '',
+                                  'line_nr' => 16,
+                                  'macro' => ''
+                                }
+                              },
+                              'position' => 1,
+                              'sourcemark_type' => 
'expanded_conditional_command',
+                              'status' => 'end'
+                            }
+                          ],
                           'text' => '
 '
                         }
@@ -473,6 +551,41 @@ $result_trees{'raiselowersections'} = {
         },
         {
           'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'include'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifclear',
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 23,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            },
             {
               'counter' => 1,
               'element' => {
@@ -1291,6 +1404,44 @@ $result_trees{'raiselowersections'} = {
               'position' => 1,
               'sourcemark_type' => 'include',
               'status' => 'end'
+            },
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'ifclear'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'end',
+                'extra' => {
+                  'text_arg' => 'ifclear'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 25,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'end'
             }
           ],
           'text' => '
@@ -1478,7 +1629,7 @@ 
$result_trees{'raiselowersections'}{'contents'}[2]{'contents'}[0]{'contents'}[0]
 
$result_trees{'raiselowersections'}{'contents'}[2]{'contents'}[0]{'contents'}[1]{'extra'}{'menu_entry_node_label'}{'node_content'}[0]
 = 
$result_trees{'raiselowersections'}{'contents'}[2]{'contents'}[0]{'contents'}[1]{'contents'}[1]{'contents'}[0];
 $result_trees{'raiselowersections'}{'contents'}[3]{'extra'}{'node_content'}[0] 
= $result_trees{'raiselowersections'}{'contents'}[3]{'args'}[0]{'contents'}[0];
 
$result_trees{'raiselowersections'}{'contents'}[3]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = $result_trees{'raiselowersections'}{'contents'}[3]{'args'}[0]{'contents'}[0];
-$result_trees{'raiselowersections'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'extra'}{'menu_entry_node_label'}{'node_content'}[0]
 = 
$result_trees{'raiselowersections'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[0];
+$result_trees{'raiselowersections'}{'contents'}[4]{'contents'}[1]{'contents'}[1]{'extra'}{'menu_entry_node_label'}{'node_content'}[0]
 = 
$result_trees{'raiselowersections'}{'contents'}[4]{'contents'}[1]{'contents'}[1]{'contents'}[1]{'contents'}[0];
 $result_trees{'raiselowersections'}{'contents'}[5]{'extra'}{'node_content'}[0] 
= $result_trees{'raiselowersections'}{'contents'}[5]{'args'}[0]{'contents'}[0];
 
$result_trees{'raiselowersections'}{'contents'}[5]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = $result_trees{'raiselowersections'}{'contents'}[5]{'args'}[0]{'contents'}[0];
 
$result_trees{'raiselowersections'}{'contents'}[6]{'contents'}[1]{'contents'}[0]{'extra'}{'menu_entry_node_label'}{'node_content'}[0]
 = 
$result_trees{'raiselowersections'}{'contents'}[6]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[0];
diff --git a/tp/t/results/value/value_in_misc_commands.pl 
b/tp/t/results/value/value_in_misc_commands.pl
index fcd51faf48..1e6c81899c 100644
--- a/tp/t/results/value/value_in_misc_commands.pl
+++ b/tp/t/results/value/value_in_misc_commands.pl
@@ -274,6 +274,33 @@ $result_trees{'value_in_misc_commands'} = {
           }
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 13,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -332,6 +359,43 @@ $result_trees{'value_in_misc_commands'} = {
             'macro' => ''
           },
           'source_marks' => [
+            {
+              'counter' => 1,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'ifnottex'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'end',
+                'extra' => {
+                  'text_arg' => 'ifnottex'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 15,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'end'
+            },
             {
               'counter' => 4,
               'element' => {
@@ -553,6 +617,33 @@ $result_trees{'value_in_misc_commands'} = {
           }
         },
         {
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 23,
+                  'macro' => ''
+                }
+              },
+              'position' => 1,
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ],
           'text' => '
 ',
           'type' => 'empty_line'
@@ -614,7 +705,46 @@ $result_trees{'value_in_misc_commands'} = {
             'file_name' => '',
             'line_nr' => 24,
             'macro' => ''
-          }
+          },
+          'source_marks' => [
+            {
+              'counter' => 2,
+              'element' => {
+                'args' => [
+                  {
+                    'contents' => [
+                      {
+                        'text' => 'ifnottex'
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'line_arg'
+                  }
+                ],
+                'cmdname' => 'end',
+                'extra' => {
+                  'text_arg' => 'ifnottex'
+                },
+                'info' => {
+                  'spaces_before_argument' => {
+                    'text' => ' '
+                  }
+                },
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 25,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'end'
+            }
+          ]
         },
         {
           'text' => '
@@ -748,7 +878,33 @@ $result_trees{'value_in_misc_commands'} = {
               ' tex error: Use of \\ doesn\'t match its definition.
 '
             ]
-          }
+          },
+          'source_marks' => [
+            {
+              'counter' => 3,
+              'element' => {
+                'args' => [
+                  {
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
+'
+                      }
+                    },
+                    'type' => 'block_line_arg'
+                  }
+                ],
+                'cmdname' => 'ifnottex',
+                'source_info' => {
+                  'file_name' => '',
+                  'line_nr' => 33,
+                  'macro' => ''
+                }
+              },
+              'sourcemark_type' => 'expanded_conditional_command',
+              'status' => 'start'
+            }
+          ]
         },
         {
           'contents' => [
@@ -828,6 +984,46 @@ $result_trees{'value_in_misc_commands'} = {
               'type' => 'definfoenclose_command'
             },
             {
+              'source_marks' => [
+                {
+                  'counter' => 3,
+                  'element' => {
+                    'args' => [
+                      {
+                        'contents' => [
+                          {
+                            'text' => 'ifnottex'
+                          }
+                        ],
+                        'info' => {
+                          'spaces_after_argument' => {
+                            'text' => '
+'
+                          }
+                        },
+                        'type' => 'line_arg'
+                      }
+                    ],
+                    'cmdname' => 'end',
+                    'extra' => {
+                      'text_arg' => 'ifnottex'
+                    },
+                    'info' => {
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'source_info' => {
+                      'file_name' => '',
+                      'line_nr' => 37,
+                      'macro' => ''
+                    }
+                  },
+                  'position' => 1,
+                  'sourcemark_type' => 'expanded_conditional_command',
+                  'status' => 'end'
+                }
+              ],
               'text' => '
 '
             }



reply via email to

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