texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: remove remaining args from line commands and from


From: Patrice Dumas
Subject: branch master updated: remove remaining args from line commands and from Texinfo tree
Date: Tue, 24 Dec 2024 10:18:51 -0500

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

pertusus pushed a commit to branch master
in repository texinfo.

The following commit(s) were added to refs/heads/master by this push:
     new c3bfa00ea7 remove remaining args from line commands and from Texinfo 
tree
c3bfa00ea7 is described below

commit c3bfa00ea736a858783e9532ce7e55f579b20dd4
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sat Nov 23 18:20:26 2024 +0100

    remove remaining args from line commands and from Texinfo tree
    
    * tp/Texinfo/ParserNonXS.pm (_parse_float_type),
    tp/Texinfo/XS/main/floats.c (parse_float_type): let callers determine
    the element with the Texinfo code corresponding to the float
    identifier.  Update callers.
    
    * tp/Texinfo/Common.pm (informative_command_value)
    (index_content_element), tp/Texinfo/ParserNonXS.pm
    (_is_container_empty, _end_line_misc_line, _end_line_starting_block)
    (_handle_line_command, _handle_comma, _parse_line_command_args),
    tp/Texinfo/Structuring.pm (new_block_command),
    tp/Texinfo/Transformations.pm (_correct_level),
    tp/Texinfo/XS/main/manipulate_indices.c (index_content_element),
    tp/Texinfo/XS/main/utils.c (informative_command_value),
    tp/Texinfo/XS/parsetexi/close.c (is_container_empty),
    tp/Texinfo/XS/parsetexi/end_line.c (parse_line_command_args)
    (end_line_starting_block, end_line_misc_line),
    tp/Texinfo/XS/parsetexi/handle_commands.c (handle_line_command),
    tp/Texinfo/XS/parsetexi/separator.c (handle_comma),
    tp/Texinfo/XS/structuring_transfo/structuring.c (new_block_command),
    tp/Texinfo/XS/structuring_transfo/transformations.c (correct_level):
    use contents instead of args for non root line commands.
    
    * tp/Texinfo/ManipulateTree.pm
    (_relate_index_entries_to_table_items_in): avoid spurious
    autovivification.
    
    * tp/Texinfo/OutputUnits.pm (units_directions),
    tp/Texinfo/XS/main/output_unit.c, (units_directions): use contents to
    determine if a node has automatic directions.
    
    * tp/Texinfo/Common.pm (_collect_commands_in_tree)
    (_collect_commands_list_in_tree, debug_print_element, debug_hash),
    tp/Texinfo/ManipulateTree.pm (_copy_tree, _remove_element_copy_info)
    (modify_tree), tp/Texinfo/Translations.pm (_substitute),
    tp/Texinfo/XS/main/build_perl_info.c (element_to_perl_hash),
    tp/Texinfo/XS/main/debug.c (print_element_debug),
    tp/Texinfo/XS/main/manipulate_tree.c (copy_tree_internal)
    (remove_element_copy_info, modify_tree),
    tp/Texinfo/XS/main/translations.c (substitute),
    tp/Texinfo/XS/main/tree.c (destroy_element)
    (destroy_element_and_children), tp/Texinfo/XS/main/tree_types.h
    (CONTAINER), tp/Texinfo/XS/parsetexi/debug_parser.c
    (print_element_debug_parser), tp/t/test_utils.pl (@contents_keys):
    remove code going through args as there are no args anymore.  Remove
    add_to_element_args, insert_into_args, insert_list_slice_into_args,
    remove_from_args, pop_element_from_args, last_args_child and
    args_child_by_index from tree.c.
    
    * tp/Texinfo/Convert/DocBook.pm (_convert),
    tp/Texinfo/Convert/LaTeX.pm (_convert),
    tp/Texinfo/Convert/Plaintext.pm (_convert), tp/Texinfo/Convert/Text.pm
    (_convert), tp/Texinfo/XS/main/convert_to_text.c
    (convert_to_text_internal): return right after a line command is
    formatted.
    
    * tp/Texinfo/Convert/HTML.pm (_convert): add $data_command_name set
    to item_LINE for @item in @*table, as in C.
    
    * tp/Texinfo/Convert/Texinfo.pm (_convert_to_texinfo),
    tp/Texinfo/XS/main/convert_to_texinfo.c (convert_to_texinfo_internal):
    reorganize code, inlining _expand_cmd_args_to_texi in
    _convert_to_texinfo and updating for the change of args to contents
    for line commands.
    
    * tp/Texinfo/Convert/Converter.pm
    (normalized_sectioning_command_filename)
    (format_comment_or_return_end_line, table_item_content_tree)
    (comma_index_subentries_tree), tp/Texinfo/Convert/DocBook.pm
    (conversion_output_begin, _index_entry)
    (_convert_argument_and_end_line, _convert), tp/Texinfo/Convert/HTML.pm
    (_internal_command_tree, command_description)
    (_convert_quotation_command, _convert_item_command)
    (_convert_printindex_command, _convert_menu_entry_type)
    (_prepare_simpletitle, _prepare_converted_output_info, _convert),
    tp/Texinfo/Convert/IXIN.pm, tp/Texinfo/Convert/Info.pm (_info_header),
    tp/Texinfo/Convert/LaTeX.pm (_prepare_conversion, _title)
    (_include_file_name, _convert),
    tp/Texinfo/Convert/NodeNameNormalization.pm (_convert),
    tp/Texinfo/Convert/Plaintext.pm (_convert),
    tp/Texinfo/Convert/TexinfoMarkup.pm (_end_line_spaces, _texinfo_line)
    (_convert_argument_and_end_line, _convert), tp/Texinfo/Convert/Text.pm
    (_convert), tp/Texinfo/Convert/TextContent.pm (_convert),
    tp/Texinfo/DebugTree.pm (_print_tree), tp/Texinfo/Indices.pm
    (_idx_leading_text_or_command), tp/Texinfo/XS/convert/convert_html.c
    (html_prepare_simpletitle, html_prepare_converted_output_info)
    (html_convert_tree_append), tp/Texinfo/XS/convert/converter.c
    (normalized_sectioning_command_filename, table_item_content_tree)
    (comma_index_subentries_tree), tp/Texinfo/XS/convert/format_html.c
    (html_command_description, html_convert_quotation_command)
    (html_convert_item_command, html_convert_printindex_command)
    (html_convert_menu_entry_type), tp/Texinfo/XS/main/convert_to_text.c
    (convert_to_text_internal), tp/Texinfo/XS/main/manipulate_indices.c
    (idx_leading_text_or_command),
    tp/Texinfo/XS/main/node_name_normalization.c
    (convert_to_normalized_internal), tp/ext/epub3.pm (epub_finish),
    tp/init/documentation_examples.pm
    (my_test_documentation_convert_index_entry_command_type),
    tp/t/init/ignore_and_comments_output.init (convert_comment_command),
    tp/t/init/redefine_need.init (my_need_formatting): update for
    replacement of args by contents for line commands for conversion.
    
    * tp/t/01use.t ($manual_tree): update for replacement of args by
    contents.
---
 ChangeLog                                          |  108 ++
 doc/tp_api/api_includes/Texinfo-Common.texi        |    2 +-
 .../Texinfo-Convert-NodeNameNormalization.texi     |    4 +-
 doc/tp_api/api_includes/Texinfo-Parser.texi        |    4 +-
 tp/Texinfo/Common.pm                               |   28 +-
 tp/Texinfo/Convert/Converter.pm                    |   39 +-
 tp/Texinfo/Convert/DocBook.pm                      |   34 +-
 tp/Texinfo/Convert/HTML.pm                         |   72 +-
 tp/Texinfo/Convert/IXIN.pm                         |   34 +-
 tp/Texinfo/Convert/Info.pm                         |    5 +-
 tp/Texinfo/Convert/LaTeX.pm                        |   63 +-
 tp/Texinfo/Convert/NodeNameNormalization.pm        |   12 +-
 tp/Texinfo/Convert/Plaintext.pm                    |   52 +-
 tp/Texinfo/Convert/Texinfo.pm                      |  161 ++-
 tp/Texinfo/Convert/TexinfoMarkup.pm                |   82 +-
 tp/Texinfo/Convert/Text.pm                         |   57 +-
 tp/Texinfo/Convert/TextContent.pm                  |   13 +-
 tp/Texinfo/DebugTree.pm                            |    5 -
 tp/Texinfo/Indices.pm                              |    8 +-
 tp/Texinfo/ManipulateTree.pm                       |   22 +-
 tp/Texinfo/OutputUnits.pm                          |    3 +-
 tp/Texinfo/ParserNonXS.pm                          |   74 +-
 tp/Texinfo/Structuring.pm                          |    2 +-
 tp/Texinfo/Transformations.pm                      |    2 +-
 tp/Texinfo/Translations.pm                         |    4 -
 tp/Texinfo/XS/convert/convert_html.c               |   35 +-
 tp/Texinfo/XS/convert/converter.c                  |   15 +-
 tp/Texinfo/XS/convert/format_html.c                |   24 +-
 tp/Texinfo/XS/main/build_perl_info.c               |   28 +-
 tp/Texinfo/XS/main/convert_to_texinfo.c            |  258 ++---
 tp/Texinfo/XS/main/convert_to_text.c               |  119 +--
 tp/Texinfo/XS/main/debug.c                         |    2 -
 tp/Texinfo/XS/main/floats.c                        |   17 +-
 tp/Texinfo/XS/main/floats.h                        |    2 +-
 tp/Texinfo/XS/main/manipulate_indices.c            |    9 +-
 tp/Texinfo/XS/main/manipulate_tree.c               |   29 -
 tp/Texinfo/XS/main/node_name_normalization.c       |    6 +-
 tp/Texinfo/XS/main/output_unit.c                   |    3 +-
 tp/Texinfo/XS/main/translations.c                  |    2 -
 tp/Texinfo/XS/main/tree.c                          |   65 +-
 tp/Texinfo/XS/main/tree.h                          |   10 -
 tp/Texinfo/XS/main/tree_types.h                    |    1 -
 tp/Texinfo/XS/main/utils.c                         |   16 +-
 tp/Texinfo/XS/parsetexi/close.c                    |    5 +-
 tp/Texinfo/XS/parsetexi/debug_parser.c             |    2 -
 tp/Texinfo/XS/parsetexi/end_line.c                 |   30 +-
 tp/Texinfo/XS/parsetexi/handle_commands.c          |   17 +-
 tp/Texinfo/XS/parsetexi/parser.c                   |    2 +-
 tp/Texinfo/XS/parsetexi/separator.c                |    7 +-
 tp/Texinfo/XS/structuring_transfo/structuring.c    |    2 +-
 .../XS/structuring_transfo/transformations.c       |    2 +-
 tp/ext/epub3.pm                                    |    4 +-
 tp/init/documentation_examples.pm                  |    2 +-
 tp/t/01use.t                                       |   26 +-
 tp/t/init/ignore_and_comments_output.init          |    4 +-
 tp/t/init/redefine_need.init                       |    5 +-
 tp/t/results/alias/alias_macro_target_removed.pl   |   12 +-
 tp/t/results/alias/alias_non_existing_command.pl   |    4 +-
 tp/t/results/alias/alias_of_added_index.pl         |   16 +-
 .../alias_of_added_index_before_added_index.pl     |   16 +-
 tp/t/results/alias/alias_of_definfoenclose.pl      |    8 +-
 ...lias_of_definfoenclose_before_definfoenclose.pl |    8 +-
 tp/t/results/alias/alias_of_macro.pl               |    8 +-
 tp/t/results/alias/alias_of_macro_before_macro.pl  |    8 +-
 tp/t/results/alias/alias_table_command.pl          |   12 +-
 tp/t/results/alias/alias_zero.pl                   |    4 +-
 tp/t/results/alias/bad_line.pl                     |    8 +-
 tp/t/results/alias/block_command_alias.pl          |    8 +-
 tp/t/results/alias/recursive_alias.pl              |   12 +-
 tp/t/results/alias/simple.pl                       |   14 +-
 tp/t/results/alias/texinfo_command_alias.pl        |   12 +-
 .../alias/texinfo_command_alias_indirect.pl        |   12 +-
 .../alias/texinfo_command_alias_indirect_before.pl |   12 +-
 tp/t/results/columnfractions/empty.pl              |    8 +-
 tp/t/results/columnfractions/empty_comment.pl      |   14 +-
 tp/t/results/columnfractions/good.pl               |    8 +-
 tp/t/results/columnfractions/good_comment.pl       |   14 +-
 tp/t/results/columnfractions/good_space_comment.pl |   14 +-
 tp/t/results/columnfractions/invalid.pl            |    8 +-
 tp/t/results/columnfractions/not_fraction.pl       |    8 +-
 tp/t/results/columnfractions/out_of_multitable.pl  |    4 +-
 .../something_before_columnfractions.pl            |    8 +-
 tp/t/results/columnfractions/wrong_command.pl      |    8 +-
 .../additional_space_in_end_conditional.pl         |    4 +-
 ...additional_space_in_end_conditional_expanded.pl |    4 +-
 tp/t/results/conditionals/bad_ifclear_argument.pl  |    4 +-
 tp/t/results/conditionals/bad_ifset_argument.pl    |    4 +-
 tp/t/results/conditionals/command_conditionals.pl  |   28 +-
 .../command_conditionals_user_defined.pl           |   48 +-
 tp/t/results/conditionals/commands_in_ifset.pl     |    8 +-
 tp/t/results/conditionals/comment_on_ifset_line.pl |   64 +-
 tp/t/results/conditionals/cond.pl                  |   44 +-
 tp/t/results/conditionals/cond_ifhtml_ifinfo.pl    |   44 +-
 .../conditionals/cond_ifhtml_ifinfo_iftex.pl       |   44 +-
 tp/t/results/conditionals/cond_info.pl             |   44 +-
 .../conditionals/cond_info_ifhtml_ifinfo_iftex.pl  |   44 +-
 .../cond_info_no-ifhtml_no-ifinfo_no-iftex.pl      |   44 +-
 .../cond_no-ifhtml_no-ifinfo_no-iftex.pl           |   44 +-
 tp/t/results/conditionals/cond_xml.pl              |   44 +-
 .../conditionals/consecutive_conditionals.pl       |   20 +-
 tp/t/results/conditionals/defcondx_Dbar.pl         |   32 +-
 tp/t/results/conditionals/defcondx_Ubar.pl         |   32 +-
 tp/t/results/conditionals/empty_ifclear.pl         |    4 +-
 tp/t/results/conditionals/empty_ifset.pl           |    4 +-
 .../conditionals/empty_ifset_in_ifset_set.pl       |   12 +-
 tp/t/results/conditionals/empty_set_in_ifclear.pl  |    8 +-
 tp/t/results/conditionals/empty_set_in_ifset.pl    |    8 +-
 .../end_conditional_not_at_line_begining.pl        |    4 +-
 tp/t/results/conditionals/end_ifset_in_format.pl   |   24 +-
 tp/t/results/conditionals/ifclear_in_ifset.pl      |   10 +-
 tp/t/results/conditionals/ifclear_in_ifset_set.pl  |   20 +-
 .../conditionals/ifnot_format_conditional.pl       |    4 +-
 tp/t/results/conditionals/ifnotinfo_exception.pl   |    4 +-
 tp/t/results/conditionals/ifset_in_command.pl      |    8 +-
 tp/t/results/conditionals/ifset_nonalpha.pl        |    4 +-
 .../conditionals/ignore_spaces_and_comments.pl     |   38 +-
 tp/t/results/conditionals/ignored_in_ifset.pl      |   12 +-
 .../conditionals/info_ifinfo_ifnotplaintext.pl     |    8 +-
 tp/t/results/conditionals/info_ifplaintext.pl      |    4 +-
 tp/t/results/conditionals/macro_in_ifset.pl        |    8 +-
 tp/t/results/conditionals/macro_in_ifset_set.pl    |   20 +-
 tp/t/results/conditionals/many_conditionals.pl     |   32 +-
 tp/t/results/conditionals/nested_ifset_ifclear.pl  |   68 +-
 .../nested_ifset_prepended_to_command_name.pl      |    4 +-
 .../conditionals/nested_ignore_with_comments.pl    |    4 +-
 tp/t/results/conditionals/not_set.pl               |    4 +-
 tp/t/results/conditionals/plaintext_ifinfo.pl      |    4 +-
 .../plaintext_ifinfo_ifnotplaintext.pl             |    8 +-
 .../conditionals/superfluous_argument_to_end.pl    |    4 +-
 .../conditionals/text_on_conditional_line.pl       |    4 +-
 .../text_on_conditional_line_expanded.pl           |    4 +-
 .../conditionals/user_defined_txiinternalvalue.pl  |    4 +-
 tp/t/results/conditionals/value_on_ifset.pl        |   16 +-
 .../results/converters_tests/at_commands_in_raw.pl |   28 +-
 tp/t/results/converters_tests/combined_fonts.pl    |    8 +-
 .../commands_in_settitle_with_title.pl             |    4 +-
 tp/t/results/converters_tests/complex_nestings.pl  |   28 +-
 .../converters_tests/contents_at_document_begin.pl |   14 +-
 .../contents_at_document_begin_inline.pl           |   14 +-
 .../contents_at_document_begin_separate_element.pl |   14 +-
 .../conversion_with_undef_customization.pl         |   20 +-
 .../converters_tests/definition_commands.pl        |   72 +-
 .../email_table_command_as_argument.pl             |    8 +-
 .../converters_tests/enumerate_above_ten.pl        |    4 +-
 tp/t/results/converters_tests/form_feeds.pl        |   28 +-
 .../converters_tests/frenchspacing_and_code.pl     |   32 +-
 tp/t/results/converters_tests/image_formatting.pl  |    4 +-
 .../index_entry_in_preformatted.pl                 |   22 +-
 .../indices_in_begin_tables_lists.pl               |  324 +++---
 ...ces_in_begin_tables_lists_entries_after_item.pl |  324 +++---
 .../results/converters_tests/inlineifsetifclear.pl |    4 +-
 .../converters_tests/inlineifsetifclearspaces.pl   |    4 +-
 tp/t/results/converters_tests/line_breaks.pl       |   32 +-
 tp/t/results/converters_tests/link.pl              |    8 +-
 .../converters_tests/minimal_empty_with_bye.pl     |    6 +-
 .../converters_tests/multitable_prototypes.pl      |    4 +-
 tp/t/results/converters_tests/non_empty_part.pl    |    4 +-
 .../non_empty_part_no_top_node_output.pl           |    4 +-
 .../converters_tests/normal_font_in_monospace.pl   |    4 +-
 .../printindex_merged_indices_code_style.pl        |   48 +-
 .../results/converters_tests/raw_block_commands.pl |   20 +-
 .../raw_block_commands_expand_tex.pl               |   20 +-
 tp/t/results/converters_tests/ref_in_sectioning.pl |    8 +-
 .../references_to_top_no_top_output.pl             |   36 +-
 .../converters_tests/sections_and_printindex.pl    |   12 +-
 .../converters_tests/setfilename_no_extension.pl   |    4 +-
 .../converters_tests/simplest_no_node_section.pl   |   10 +-
 .../converters_tests/simplest_test_prefix.pl       |    6 +-
 .../some_at_commands_in_ref_nodes.pl               |    4 +-
 .../sp_empty_lines_1_no_arg_zero.pl                |   48 +-
 tp/t/results/converters_tests/sp_in_example.pl     |   24 +-
 .../converters_tests/spaces_in_empty_node_names.pl |    4 +-
 .../converters_tests/spaces_in_node_names.pl       |    4 +-
 .../table_in_display_in_example.pl                 |   16 +-
 .../table_in_example_in_display.pl                 |   16 +-
 .../converters_tests/test_deftypefnnewline.pl      |   68 +-
 tp/t/results/converters_tests/test_sp.pl           |   20 +-
 .../converters_tests/things_before_setfilename.pl  |   32 +-
 .../things_before_setfilename_no_element.pl        |   32 +-
 .../various_itemize_command_as_argument.pl         |   28 +-
 .../various_vtable_command_as_argument.pl          |   92 +-
 tp/t/results/coverage/accent_no_closed_comment.pl  |    6 +-
 tp/t/results/coverage/block_commands.pl            |   12 +-
 tp/t/results/coverage/bye_on_end_command_line.pl   |   10 +-
 tp/t/results/coverage/cartouche.pl                 |    8 +-
 tp/t/results/coverage/cartouche_in_example.pl      |    8 +-
 tp/t/results/coverage/cartouche_in_quotation.pl    |    8 +-
 .../coverage/cartouche_title_and_content.pl        |    4 +-
 tp/t/results/coverage/center.pl                    |    4 +-
 tp/t/results/coverage/command_in_end.pl            |   28 +-
 .../command_in_end_expanded_raw_command_after.pl   |    4 +-
 ...mand_in_end_expanded_raw_command_empty_after.pl |    4 +-
 .../command_in_end_expanded_raw_in_command.pl      |    4 +-
 ..._in_end_expanded_raw_one_char_before_command.pl |    4 +-
 ..._in_end_expanded_raw_one_char_not_in_command.pl |    4 +-
 ..._in_end_expanded_raw_two_char_before_command.pl |    4 +-
 ..._in_end_expanded_raw_two_char_not_in_command.pl |    4 +-
 .../command_in_end_ignored_raw_command_after.pl    |    4 +-
 tp/t/results/coverage/commands.pl                  |    8 +-
 tp/t/results/coverage/commands_in_math.pl          |   16 +-
 tp/t/results/coverage/comment_on_cartouche_line.pl |   20 +-
 tp/t/results/coverage/comment_on_group_line.pl     |   10 +-
 tp/t/results/coverage/def.pl                       |   24 +-
 tp/t/results/coverage/delcomment.pl                |   18 +-
 .../coverage/delcomment_followed_by_cpp_line.pl    |   18 +-
 tp/t/results/coverage/delcomment_on_comment.pl     |   12 +-
 tp/t/results/coverage/displaymath.pl               |   22 +-
 .../end_bad_end_argument_and_superfluous_arg.pl    |    4 +-
 tp/t/results/coverage/exdent_and_commands.pl       |   24 +-
 tp/t/results/coverage/exdent_and_formats.pl        |  112 +--
 tp/t/results/coverage/flushleft_flushright.pl      |    8 +-
 .../coverage/flushleft_flushright_in_quotation.pl  |   12 +-
 tp/t/results/coverage/flushright_example_nested.pl |   16 +-
 .../coverage/formats_only_title_comments.pl        |   60 +-
 tp/t/results/coverage/formats_only_titles.pl       |   24 +-
 tp/t/results/coverage/formats_titles.pl            |   32 +-
 .../coverage/group_beginning_and_end_on_line.pl    |    4 +-
 tp/t/results/coverage/indentedblock.pl             |    4 +-
 tp/t/results/coverage/insertcopying.pl             |   12 +-
 tp/t/results/coverage/item_container.pl            |   12 +-
 tp/t/results/coverage/multitable.pl                |   22 +-
 tp/t/results/coverage/nested_block_commands.pl     |   96 +-
 tp/t/results/coverage/preformatted.pl              |   16 +-
 .../coverage/punctuation_in_line_commands.pl       |   48 +-
 tp/t/results/coverage/quotation_author.pl          |   12 +-
 tp/t/results/coverage/raggedright.pl               |    4 +-
 tp/t/results/coverage/setfilename_in_paragraph.pl  |    4 +-
 tp/t/results/coverage/symbol_after_block.pl        |   72 +-
 tp/t/results/coverage/symbol_after_command.pl      |   32 +-
 tp/t/results/coverage/table.pl                     |   64 +-
 tp/t/results/coverage/table_command_comment.pl     |   14 +-
 tp/t/results/coverage/titlefont_in_center.pl       |    4 +-
 tp/t/results/coverage/verbatiminclude.pl           |    4 +-
 .../coverage_braces/brace_opened_no_command.pl     |    6 +-
 tp/t/results/coverage_braces/caption_not_closed.pl |   10 +-
 .../coverage_braces/contain_plain_text_nestings.pl |   20 +-
 .../coverage_braces/definfoenclose_bad_argument.pl |    4 +-
 .../coverage_braces/definfoenclose_no_braces.pl    |    4 +-
 .../definfoenclose_texinfo_commands.pl             |   20 +-
 .../format_on_first_footnote_line.pl               |    8 +-
 .../results/coverage_braces/heading_in_footnote.pl |    8 +-
 tp/t/results/coverage_braces/kbd.pl                |    8 +-
 tp/t/results/coverage_braces/seeentry_no_braces.pl |    8 +-
 tp/t/results/coverage_braces/test_image.pl         |   24 +-
 .../coverage_braces/two_footnotes_in_nodes.pl      |    4 +-
 .../two_footnotes_in_nodes_separate.pl             |    8 +-
 .../two_footnotes_in_nodes_separate_no_header.pl   |    8 +-
 tp/t/results/def/adjacent_defline.pl               |    4 +-
 tp/t/results/def/all_commands.pl                   |  108 +-
 tp/t/results/def/all_commands_delimiters.pl        |  188 ++--
 .../def/all_commands_delimiters_printindex.pl      |  212 ++--
 tp/t/results/def/all_commands_printindex.pl        |  132 +--
 tp/t/results/def/all_empty_def.pl                  |   36 +-
 tp/t/results/def/ampchar.pl                        |    4 +-
 tp/t/results/def/bracketed_arg_no_space.pl         |    4 +-
 tp/t/results/def/code_in_def.pl                    |    4 +-
 tp/t/results/def/comment_index_before_defline.pl   |   20 +-
 tp/t/results/def/def_defx_mismatch.pl              |    4 +-
 tp/t/results/def/def_groupings_args.pl             |   12 +-
 tp/t/results/def/defblock_no_defline.pl            |    4 +-
 tp/t/results/def/defline_no_params.pl              |    4 +-
 tp/t/results/def/deftypeline.pl                    |    4 +-
 tp/t/results/def/defx_after_comment.pl             |   10 +-
 tp/t/results/def/defx_after_comment_in_example.pl  |   14 +-
 tp/t/results/def/defx_after_empty_line.pl          |    4 +-
 .../def/defx_after_empty_line_in_example.pl        |   20 +-
 tp/t/results/def/defx_after_paragraph_end.pl       |    4 +-
 .../def/defx_after_preformatted_with_text.pl       |    8 +-
 tp/t/results/def/defx_after_text.pl                |    4 +-
 tp/t/results/def/defx_in_example.pl                |    8 +-
 tp/t/results/def/double_command.pl                 |    8 +-
 tp/t/results/def/empty_def_arguments.pl            |    4 +-
 tp/t/results/def/empty_def_command.pl              |    8 +-
 tp/t/results/def/empty_deftype.pl                  |   16 +-
 tp/t/results/def/empty_deftypeop_name.pl           |    4 +-
 tp/t/results/def/empty_main_def_arguments.pl       |    4 +-
 tp/t/results/def/end_of_lines_protected.pl         |    4 +-
 .../def/end_of_lines_protected_in_footnote.pl      |    4 +-
 .../def/end_of_lines_protected_non_ascii.pl        |    4 +-
 tp/t/results/def/inter_item_commands_in_def.pl     |   18 +-
 .../def/inter_item_commands_in_def_in_example.pl   |   22 +-
 tp/t/results/def/leading_space_in_def_arg.pl       |    4 +-
 tp/t/results/def/multiple_defline.pl               |    4 +-
 tp/t/results/def/no_category_or_no_name.pl         |   12 +-
 tp/t/results/def/omit_def_space.pl                 |    8 +-
 tp/t/results/def/protected_brace.pl                |    4 +-
 tp/t/results/def/ref_in_def.pl                     |    4 +-
 tp/t/results/def/space_in_def_for_index.pl         |    8 +-
 tp/t/results/def/text_block_before_defline.pl      |   12 +-
 tp/t/results/def/wrong_braces_simple.pl            |   20 +-
 tp/t/results/def/wrong_braces_with_end_of_lines.pl |    8 +-
 ...pty_quotation_with_arg_followed_by_quotation.pl |    8 +-
 .../docbook_tests/multiple_documentlanguage.pl     |   16 +-
 .../docbook_tests/special_docbook_unnumbered.pl    |    4 +-
 .../setfilename_on_top_and_after_node_epub.pl      |    8 +-
 tp/t/results/float/anchor_in_caption.pl            |    8 +-
 tp/t/results/float/cindex_in_caption.pl            |   16 +-
 .../results/float/comment_space_comand_in_float.pl |   20 +-
 tp/t/results/float/complex_float.pl                |   88 +-
 tp/t/results/float/empty_caption.pl                |   12 +-
 tp/t/results/float/empty_label_no_space.pl         |    4 +-
 tp/t/results/float/empty_label_no_space_comment.pl |   10 +-
 tp/t/results/float/empty_label_with_space.pl       |    4 +-
 .../float/empty_label_with_space_comment.pl        |   10 +-
 tp/t/results/float/empty_listoffloats.pl           |    4 +-
 .../float/empty_listoffloats_with_floats.pl        |   20 +-
 tp/t/results/float/float_copying.pl                |   52 +-
 tp/t/results/float/float_in_block_commands.pl      |   24 +-
 tp/t/results/float/float_type_with_tieaccent.pl    |    8 +-
 tp/t/results/float/float_with_at_commands.pl       |    8 +-
 tp/t/results/float/footnote_in_caption.pl          |    8 +-
 .../results/float/footnote_in_caption_and_error.pl |    8 +-
 tp/t/results/float/listoffloats_with_commands.pl   |    4 +-
 .../results/float/multiple_spaces_in_float_type.pl |    8 +-
 .../float/numbering_captions_listoffloats.pl       |  114 +--
 tp/t/results/float/ref_to_float.pl                 |    8 +-
 tp/t/results/float/simple.pl                       |    4 +-
 .../float/special_characters_in_float_type.pl      |    8 +-
 tp/t/results/formats_encodings/accent.pl           |   12 +-
 .../formats_encodings/accent_enable_encoding.pl    |   12 +-
 tp/t/results/formats_encodings/accentenc.pl        |   16 +-
 .../formats_encodings/accentenc_enable_encoding.pl |   16 +-
 .../formats_encodings/at_commands_in_refs.pl       |   30 +-
 .../at_commands_in_refs_latin1.pl                  |   38 +-
 .../formats_encodings/at_commands_in_refs_utf8.pl  |   38 +-
 .../char_latin1_latin1_in_refs.pl                  |   42 +-
 .../char_latin2_latin2_in_refs.pl                  |   28 +-
 .../char_us_ascii_latin1_in_refs.pl                |   42 +-
 .../formats_encodings/char_utf8_latin1_in_refs.pl  |   42 +-
 .../documentencoding_utf8_and_insertions.pl        |    8 +-
 .../formats_encodings/japanese_shift_jis.pl        |   30 +-
 .../manual_simple_latin1_with_error.pl             |    4 +-
 .../multiple_include_encodings.pl                  |  100 +-
 .../no_documentencoding_and_insertions.pl          |    4 +-
 tp/t/results/formats_encodings/sample_utf8.pl      |  104 +-
 tp/t/results/formats_encodings/weird_accents.pl    |    4 +-
 .../weird_accents_disable_encoding.pl              |    4 +-
 tp/t/results/heading/heading_in_copying.pl         |   20 +-
 tp/t/results/heading/heading_in_example.pl         |    8 +-
 tp/t/results/heading/heading_in_quotation.pl       |    8 +-
 tp/t/results/html_tests/U_in_index.pl              |   16 +-
 tp/t/results/html_tests/anchor_on_vtable_item.pl   |   20 +-
 tp/t/results/html_tests/automatic_menus.pl         |    8 +-
 .../character_number_leading_toc_stoc.pl           |    8 +-
 tp/t/results/html_tests/check_htmlxref.pl          |    4 +-
 .../html_tests/check_htmlxref_ignore_ref_top_up.pl |    4 +-
 tp/t/results/html_tests/check_htmlxref_menu.pl     |    4 +-
 .../html_tests/check_htmlxref_no_use_nodes.pl      |    4 +-
 tp/t/results/html_tests/commands_in_abbr.pl        |    4 +-
 tp/t/results/html_tests/commands_in_alt.pl         |    4 +-
 tp/t/results/html_tests/contents_at_end.pl         |   14 +-
 tp/t/results/html_tests/contents_at_end_inline.pl  |   14 +-
 .../html_tests/contents_at_end_separate_element.pl |   14 +-
 .../html_tests/contents_in_middle_chapter.pl       |   18 +-
 .../contents_in_middle_chapter_inline.pl           |   18 +-
 .../contents_in_middle_chapter_separate_element.pl |   18 +-
 .../html_tests/contents_in_middle_section.pl       |   18 +-
 .../contents_in_middle_section_inline.pl           |   18 +-
 .../contents_in_middle_section_separate_element.pl |   18 +-
 .../html_tests/contents_with_only_top_node.pl      |    4 +-
 .../deftypefnnewline_for_copying_after.pl          |   24 +-
 .../deftypefnnewline_for_copying_before.pl         |   16 +-
 tp/t/results/html_tests/documentdescription.pl     |    4 +-
 tp/t/results/html_tests/double_contents.pl         |   26 +-
 .../html_tests/double_contents_after_title.pl      |   26 +-
 .../double_contents_after_title_show_title.pl      |   26 +-
 ...double_contents_after_title_show_title_nodes.pl |   26 +-
 tp/t/results/html_tests/double_contents_book.pl    |   26 +-
 tp/t/results/html_tests/double_contents_chapter.pl |   26 +-
 tp/t/results/html_tests/double_contents_inline.pl  |   26 +-
 .../html_tests/double_contents_inline_chapter.pl   |   26 +-
 .../html_tests/double_contents_inline_nodes.pl     |   26 +-
 .../html_tests/double_contents_inline_section.pl   |   26 +-
 tp/t/results/html_tests/double_contents_nodes.pl   |   26 +-
 tp/t/results/html_tests/double_contents_section.pl |   26 +-
 .../html_tests/double_contents_separate_element.pl |   26 +-
 .../double_contents_separate_element_chapter.pl    |   26 +-
 .../double_contents_separate_element_nodes.pl      |   26 +-
 .../double_contents_separate_element_section.pl    |   26 +-
 .../empty_lines_at_beginning_no_setfilename.pl     |   12 +-
 ...lines_at_beginning_no_setfilename_no_element.pl |   10 +-
 ..._name_case_insensitive_conflict_redirections.pl |   12 +-
 tp/t/results/html_tests/float_copying.pl           |   78 +-
 ...otnotestyle_separate_html_text_no_monolithic.pl |    4 +-
 .../html_tests/footnotestyle_separate_late.pl      |    4 +-
 tp/t/results/html_tests/fractions_rounding.pl      |    8 +-
 .../html_tests/headings_after_lone_nodes.pl        |   74 +-
 tp/t/results/html_tests/html_in_copying.pl         |    8 +-
 .../results/html_tests/index_and_node_same_name.pl |    8 +-
 tp/t/results/html_tests/index_below.pl             |    8 +-
 tp/t/results/html_tests/inline_in_node.pl          |    4 +-
 tp/t/results/html_tests/itemize_arguments.pl       |  152 +--
 .../itemize_arguments_enable_encoding.pl           |  152 +--
 tp/t/results/html_tests/itemize_tieaccent.pl       |   24 +-
 tp/t/results/html_tests/letter_command_in_index.pl |   16 +-
 tp/t/results/html_tests/mathjax_with_texinfo.pl    |    4 +-
 .../mathjax_with_texinfo_enable_encoding.pl        |    4 +-
 .../html_tests/mathjax_with_texinfo_html_file.pl   |    4 +-
 .../html_tests/mathjax_with_texinfo_html_text.pl   |    4 +-
 .../mathjax_with_texinfo_no_convert_to_latex.pl    |    4 +-
 tp/t/results/html_tests/menu.pl                    |   48 +-
 .../html_tests/menu_in_documentdescription.pl      |    8 +-
 tp/t/results/html_tests/menu_in_example.pl         |   16 +-
 tp/t/results/html_tests/no_content.pl              |   10 +-
 tp/t/results/html_tests/no_content_do_contents.pl  |   10 +-
 .../html_tests/no_content_do_contents_inline.pl    |   10 +-
 .../no_content_do_contents_separate_element.pl     |   10 +-
 tp/t/results/html_tests/no_content_inline.pl       |   10 +-
 .../html_tests/no_content_separate_element.pl      |   10 +-
 tp/t/results/html_tests/node_footnote_end.pl       |   20 +-
 tp/t/results/html_tests/node_footnote_separated.pl |   20 +-
 tp/t/results/html_tests/node_footnote_use_node.pl  |   20 +-
 .../html_tests/node_footnote_use_node_separate.pl  |   20 +-
 .../html_tests/nodedescription_description.pl      |   16 +-
 .../nodedescription_description_no_use_nodes.pl    |   16 +-
 tp/t/results/html_tests/raw_html.pl                |    4 +-
 tp/t/results/html_tests/redirection_same_labels.pl |   30 +-
 tp/t/results/html_tests/ref_in_preformatted.pl     |    8 +-
 .../html_tests/sectioning_check_menu_structure.pl  |   26 +-
 tp/t/results/html_tests/shortcontents_no_top.pl    |    4 +-
 tp/t/results/html_tests/shorttitlepage.pl          |    4 +-
 .../html_tests/simplest_test_date_in_header.pl     |    6 +-
 .../html_tests/test_accents_sc_default_latin1.pl   |    4 +-
 .../html_tests/test_accents_sc_default_usascii.pl  |    4 +-
 .../test_accents_sc_enable_encoding_latin1.pl      |    4 +-
 ...st_accents_sc_enable_encoding_to_utf8_latin1.pl |    4 +-
 ...t_accents_sc_enable_encoding_to_utf8_usascii.pl |    4 +-
 .../test_accents_sc_enable_encoding_usascii.pl     |    4 +-
 .../html_tests/test_accents_sc_to_utf8_latin1.pl   |    4 +-
 .../test_separated_contents_shortcontents.pl       |    8 +-
 .../html_tests/test_xrefautomaticsectiontitle.pl   |   12 +-
 .../test_xrefautomaticsectiontitle_off_first.pl    |   12 +-
 .../tex_expanded_in_caption_multiple_time.pl       |   12 +-
 tp/t/results/html_tests/tex_expanded_in_copying.pl |    8 +-
 .../text_before_top_and_contents_after_title.pl    |    4 +-
 ...t_before_top_and_summarycontents_after_title.pl |    4 +-
 tp/t/results/html_tests/titles.pl                  |    4 +-
 tp/t/results/html_tests/top_node_top_contents.pl   |    4 +-
 tp/t/results/html_tests/top_node_up_explicit.pl    |    4 +-
 .../html_tests/top_node_up_explicit_no_nodes.pl    |    4 +-
 tp/t/results/html_tests/top_node_up_implicit.pl    |    4 +-
 .../html_tests/top_node_up_implicit_no_nodes.pl    |    4 +-
 .../html_tests/transliterated_names_conflicts.pl   |   10 +-
 .../html_tests/uref_accented_letter_ascii.pl       |    4 +-
 .../html_tests/uref_accented_letter_latin1.pl      |    4 +-
 tp/t/results/html_tests/utf8_default.pl            |    4 +-
 tp/t/results/html_tests/utf8_enable_encoding.pl    |    4 +-
 .../html_tests/utf8_enable_encoding_no_use_iso.pl  |    4 +-
 .../utf8_enable_encoding_use_numeric_entity.pl     |    4 +-
 tp/t/results/html_tests/utf8_use_numeric_entity.pl |    4 +-
 .../verbatim_in_multitable_in_example.pl           |   20 +-
 tp/t/results/html_tests/xml_protected_in_verb.pl   |    8 +-
 tp/t/results/htmlxref/htmlxref.pl                  |   82 +-
 tp/t/results/htmlxref/htmlxref_nodes.pl            |   82 +-
 tp/t/results/htmlxref/htmlxref_only_mono.pl        |   82 +-
 tp/t/results/htmlxref/htmlxref_only_mono_nodes.pl  |   82 +-
 tp/t/results/htmlxref/htmlxref_only_split.pl       |   82 +-
 tp/t/results/htmlxref/htmlxref_only_split_nodes.pl |   82 +-
 tp/t/results/include/cpp_line_before_first_node.pl |    6 +-
 tp/t/results/include/cpp_line_latin1.pl            |   10 +-
 tp/t/results/include/cpp_lines.pl                  |   30 +-
 tp/t/results/include/double_include.pl             |    8 +-
 tp/t/results/include/include_at_end_line.pl        |    4 +-
 tp/t/results/include/include_comment.pl            |   10 +-
 .../include/include_in_removed_before_item.pl      |   20 +-
 .../include_setfilename_on_setfilename_line.pl     |   12 +-
 tp/t/results/include/include_space.pl              |    4 +-
 tp/t/results/include/include_space_comment.pl      |   10 +-
 tp/t/results/include/include_with_setfilename.pl   |   12 +-
 .../include_with_setfilename_in_preformatted.pl    |   12 +-
 .../macro_and_commands_in_early_commands.pl        |   36 +-
 .../results/include/macro_definition_in_include.pl |    8 +-
 tp/t/results/include/macro_in_early_commands.pl    |   40 +-
 tp/t/results/include/no_eol_in_included_file.pl    |    4 +-
 tp/t/results/include/simple.pl                     |    4 +-
 tp/t/results/include/simple_no_eol.pl              |    4 +-
 tp/t/results/include/test_two_include.pl           |   36 +-
 tp/t/results/include/value_expansion_in_include.pl |   48 +-
 .../include/verbatiminclude_and_encoding.pl        |    8 +-
 .../include/verbatiminclude_and_encoding_latin1.pl |    8 +-
 tp/t/results/indices/complex_recursive_synindex.pl |   88 +-
 tp/t/results/indices/def_existing_index.pl         |    4 +-
 tp/t/results/indices/def_syn_indices.pl            |  100 +-
 ...default_cp_index_and_one_letter_syncodeindex.pl |  Bin 10349 -> 10365 bytes
 tp/t/results/indices/double_index_entry.pl         |   20 +-
 tp/t/results/indices/double_seeentry_seealso.pl    |   36 +-
 tp/t/results/indices/double_syncodeindex.pl        |   24 +-
 tp/t/results/indices/empty_added_index_entry.pl    |    8 +-
 tp/t/results/indices/empty_cindex_entry.pl         |    4 +-
 tp/t/results/indices/empty_index_entry.pl          |    8 +-
 tp/t/results/indices/empty_string_index_entry.pl   |   20 +-
 tp/t/results/indices/encoding_index_ascii.pl       |  240 ++---
 .../encoding_index_ascii_enable_encoding.pl        |  240 ++---
 tp/t/results/indices/encoding_index_latin1.pl      |  234 ++---
 .../encoding_index_latin1_enable_encoding.pl       |  234 ++---
 tp/t/results/indices/encoding_index_utf8.pl        |  234 ++---
 .../indices/encoding_index_utf8_enable_encoding.pl |  234 ++---
 .../indices/encoding_index_utf8_no_use_unicode.pl  |  234 ++---
 tp/t/results/indices/explicit_sort_key.pl          |   24 +-
 tp/t/results/indices/ftable_vtable.pl              |   44 +-
 .../indices/ignored_sort_char_empty_entries.pl     |   24 +-
 tp/t/results/indices/image_lines_count.pl          |  Bin 5768 -> 5776 bytes
 tp/t/results/indices/image_text_lines_count.pl     |  Bin 6171 -> 6179 bytes
 tp/t/results/indices/index_and_node_same_name.pl   |    8 +-
 tp/t/results/indices/index_entries_before_nodes.pl |  Bin 11739 -> 11755 bytes
 tp/t/results/indices/index_entries_locations.pl    |   20 +-
 .../indices/index_entry_before_first_node.pl       |  Bin 6254 -> 6262 bytes
 tp/t/results/indices/index_entry_before_node.pl    |   12 +-
 tp/t/results/indices/index_entry_in_footnote.pl    |  Bin 7144 -> 7152 bytes
 .../index_entry_in_footnote_different_node_end.pl  |   16 +-
 .../indices/index_entry_in_footnote_sections.pl    |    8 +-
 .../index_entry_in_footnote_sections_separate.pl   |    8 +-
 .../indices/index_entry_in_footnote_separate.pl    |   20 +-
 tp/t/results/indices/index_no_node.pl              |   94 +-
 tp/t/results/indices/index_no_node_no_top.pl       |   90 +-
 .../indices/index_no_node_no_top_no_node.pl        |   90 +-
 tp/t/results/indices/index_nodes.pl                |   90 +-
 .../indices/index_nodes_no_split_no_use_nodes.pl   |   90 +-
 tp/t/results/indices/index_special_region.pl       |  100 +-
 .../index_special_region_no_insertcopying.pl       |  104 +-
 ...egion_no_insertcopying_no_titlepage_no_nodes.pl |  104 +-
 ...l_region_no_insertcopying_titlepage_no_nodes.pl |  104 +-
 ...copying_titlepage_no_nodes_footnotes_default.pl |  104 +-
 .../index_special_region_no_titlepage_no_nodes.pl  |  100 +-
 .../index_special_region_titlepage_no_nodes.pl     |  100 +-
 ..._region_titlepage_no_nodes_footnotes_default.pl |  100 +-
 tp/t/results/indices/index_split.pl                |  134 +--
 .../indices/index_split_split_chapter_no_nodes.pl  |  134 +--
 tp/t/results/indices/index_table.pl                |  594 +++++------
 .../results/indices/index_table_chapter_no_node.pl |  594 +++++------
 .../multiple_index_text_sortas_seeentry_seealso.pl |   22 +-
 tp/t/results/indices/nodes_before_top.pl           |  116 +--
 .../nodes_before_top_and_sections_chapter.pl       |  126 +--
 ...odes_before_top_and_sections_chapter_no_node.pl |  126 +--
 ...des_before_top_and_sections_unsplit_no_nodes.pl |  126 +--
 .../indices/nodes_before_top_split_chapter.pl      |  116 +--
 .../nodes_before_top_split_chapter_no_nodes.pl     |  116 +--
 tp/t/results/indices/print_merged_index.pl         |    8 +-
 tp/t/results/indices/printindex_before_document.pl |    4 +-
 .../indices/printindex_between_node_section.pl     |   28 +-
 .../indices/printindex_between_part_chapter.pl     |   28 +-
 .../indices/printindex_index_entry_in_copying.pl   |   44 +-
 ...rintindex_index_entry_in_copying_in_footnote.pl |   24 +-
 ...ndex_index_entry_in_copying_no_insertcopying.pl |   36 +-
 .../indices/printindex_with_space_before.pl        |  Bin 7215 -> 7223 bytes
 tp/t/results/indices/recursive_synindex.pl         |   16 +-
 .../indices/same_index_entry_merged_indices.pl     |   16 +-
 tp/t/results/indices/same_only_seealso_seeentry.pl |   40 +-
 tp/t/results/indices/same_seealso_seeentry.pl      |   44 +-
 tp/t/results/indices/seealso_duplicate.pl          |   32 +-
 tp/t/results/indices/seeentry.pl                   |   32 +-
 tp/t/results/indices/sorted_subentries.pl          |  176 ++--
 tp/t/results/indices/split_chapter_index.pl        |   74 +-
 tp/t/results/indices/subentries.pl                 |   88 +-
 tp/t/results/indices/subentries_and_comments.pl    |   32 +-
 tp/t/results/indices/subentry_and_sortas.pl        |   24 +-
 tp/t/results/indices/subentry_and_sortas_spaces.pl |   44 +-
 tp/t/results/indices/syncode_index_print_both.pl   |   20 +-
 tp/t/results/indices/syncodeindex_to_plain.pl      |   24 +-
 tp/t/results/indices/transparent_sort_chars.pl     |   20 +-
 tp/t/results/indices/unknown_printindex.pl         |    4 +-
 tp/t/results/indices/unknown_synindex.pl           |    4 +-
 .../indices/unknown_then_known_index_entry.pl      |    8 +-
 tp/t/results/indices/w_lines_count.pl              |  Bin 9620 -> 9628 bytes
 tp/t/results/indices/wrong_synindex.pl             |    8 +-
 tp/t/results/info_tests/anchor_in_command.pl       |    6 +-
 tp/t/results/info_tests/before_node_and_section.pl |   16 +-
 tp/t/results/info_tests/center_flush.pl            |   12 +-
 .../info_tests/chinese_mixed_with_en_EUC_CN.pl     |   14 +-
 tp/t/results/info_tests/colon_in_index_entry.pl    |   24 +-
 .../info_tests/colons_in_index_entries_and_node.pl |   36 +-
 .../colons_in_index_entries_and_node_no_quoting.pl |   36 +-
 tp/t/results/info_tests/def_in_copying.pl          |   20 +-
 tp/t/results/info_tests/direntry_dircategory.pl    |   38 +-
 .../direntry_dircategory_and_commands.pl           |   16 +-
 tp/t/results/info_tests/empty_caption.pl           |    8 +-
 tp/t/results/info_tests/encoding_us_ascii.pl       |    4 +-
 .../end_of_line_command_in_node_lines.pl           |   16 +-
 tp/t/results/info_tests/error_in_footnote.pl       |   12 +-
 tp/t/results/info_tests/float_long_captions.pl     |   12 +-
 tp/t/results/info_tests/float_without_type.pl      |    8 +-
 tp/t/results/info_tests/image_text_encoded.pl      |    4 +-
 tp/t/results/info_tests/index_entry_at_end_node.pl |   12 +-
 .../info_tests/invalid_node_name_no_warning.pl     |    4 +-
 .../info_tests/invalid_node_name_warning.pl        |    4 +-
 tp/t/results/info_tests/known_encoding.pl          |    4 +-
 .../info_tests/multiline_image_and_align.pl        |   40 +-
 .../multitable_anchor_and_index_entry.pl           |   30 +-
 .../info_tests/nested_footnotes_separate.pl        |    4 +-
 .../info_tests/nested_multitable_anchor_index.pl   |   20 +-
 tp/t/results/info_tests/novalidate_empty_refs.pl   |    4 +-
 .../info_tests/one_node_counted_elements.pl        |   16 +-
 tp/t/results/info_tests/only_documentencoding.pl   |    4 +-
 .../info_tests/paragraphindent_and_preamble.pl     |   14 +-
 .../info_tests/paragraphindent_asis_first.pl       |    4 +-
 .../paragraphindent_in_preamble_and_in_document.pl |   18 +-
 .../info_tests/paragraphindent_none_first.pl       |    4 +-
 .../info_tests/paragraphindent_not_in_preamble.pl  |   14 +-
 tp/t/results/info_tests/quote_node_names_info.pl   |    4 +-
 tp/t/results/info_tests/recursive_down_menu.pl     |    4 +-
 tp/t/results/info_tests/space_at_menu_end.pl       |    4 +-
 tp/t/results/info_tests/space_in_menu.pl           |    4 +-
 tp/t/results/info_tests/space_in_setfilename.pl    |    4 +-
 tp/t/results/info_tests/split_no_copying.pl        |   14 +-
 tp/t/results/info_tests/split_nocopying.pl         |   10 +-
 tp/t/results/info_tests/split_nocopying_split.pl   |   10 +-
 .../info_tests/split_test_before_first_node.pl     |    8 +-
 .../split_test_before_first_node_no_empty_line.pl  |    8 +-
 tp/t/results/info_tests/test_index.pl              |   90 +-
 tp/t/results/info_tests/text_before_node.pl        |    4 +-
 tp/t/results/info_tests/top_node_normalization.pl  |    4 +-
 .../info_tests/two_paragraphindent_in_preamble.pl  |   18 +-
 ..._paragraphindent_in_preamble_and_in_document.pl |   22 +-
 tp/t/results/info_tests/unknown_encoding.pl        |    4 +-
 tp/t/results/info_tests/xref_quote_long_item.pl    |    8 +-
 ...tton_replacement_and_direction_customization.pl |    4 +-
 ..._replacement_direction_strings_customization.pl |    4 +-
 ...utton_replacement_for_special_unit_direction.pl |    4 +-
 .../init_files_tests/customize_special_element.pl  |   12 +-
 .../init_files_tests/customize_translations.pl     |   12 +-
 .../init_files_tests/documentation_examples.pl     |   52 +-
 .../documentation_examples_texi2html.pl            |   52 +-
 ...acro_defined_txiinternalvalue_in_translation.pl |    8 +-
 .../init_files_tests/modified_translation.pl       |    8 +-
 tp/t/results/init_files_tests/redefined_need.pl    |    4 +-
 .../ref_for_special_unit_direction.pl              |    4 +-
 .../init_files_tests/sc_formatting_with_css.pl     |    8 +-
 .../special_unit_direction_customization.pl        |    4 +-
 ...est_format_single_footnote_in_inline_content.pl |   18 +-
 .../translation_in_parser_in_translation.pl        |    8 +-
 tp/t/results/invalid_nestings/bad_style_nesting.pl |    4 +-
 tp/t/results/invalid_nestings/bad_tab_nesting.pl   |    4 +-
 .../results/invalid_nestings/block_not_matching.pl |    8 +-
 .../invalid_nestings/cartouche_in_style_command.pl |    4 +-
 tp/t/results/invalid_nestings/center.pl            |  102 +-
 .../invalid_nestings/def_in_style_command.pl       |    4 +-
 .../def_not_closed_in_menu_description.pl          |    4 +-
 .../invalid_nestings/enumerate_in_style_command.pl |    4 +-
 .../invalid_nestings/example_in_style_command.pl   |    4 +-
 .../invalid_nestings/float_in_style_command.pl     |    4 +-
 .../flushright_in_style_command.pl                 |    4 +-
 .../formats_not_closed_in_example.pl               |    8 +-
 .../invalid_nestings/heading_commands_in_center.pl |    4 +-
 .../heading_commands_in_documentlanguage.pl        |    4 +-
 .../heading_separator_in_accent_command.pl         |    4 +-
 tp/t/results/invalid_nestings/ignore_in_xref.pl    |    4 +-
 tp/t/results/invalid_nestings/in_errormsg.pl       |    8 +-
 tp/t/results/invalid_nestings/in_table.pl          |   70 +-
 tp/t/results/invalid_nestings/item_in_ref.pl       |   12 +-
 .../item_tab_outside_of_table_lists.pl             |    4 +-
 .../itemx_in_itemize_enumerate_in_table.pl         |   28 +-
 .../invalid_nestings/menu_in_style_command.pl      |    4 +-
 .../multitable_in_style_command.pl                 |    4 +-
 .../invalid_nestings/multitable_item_in_index.pl   |    8 +-
 .../invalid_nestings/node_in_copying_not_closed.pl |    4 +-
 .../invalid_nestings/node_on_index_entry_line.pl   |    4 +-
 .../invalid_nestings/on_block_command_line.pl      |   12 +-
 tp/t/results/invalid_nestings/on_def_line.pl       |   12 +-
 .../invalid_nestings/on_index_entry_line.pl        |    8 +-
 tp/t/results/invalid_nestings/on_itemize_line.pl   |   12 +-
 tp/t/results/invalid_nestings/on_node_line.pl      |    4 +-
 tp/t/results/invalid_nestings/on_section_line.pl   |    4 +-
 .../results/invalid_nestings/on_subheading_line.pl |    8 +-
 tp/t/results/invalid_nestings/quotation_in_ref.pl  |    4 +-
 .../invalid_nestings/quotation_in_style_command.pl |    4 +-
 tp/t/results/invalid_nestings/raw_block_on_line.pl |    4 +-
 tp/t/results/invalid_nestings/recursive_copying.pl |    8 +-
 .../section_in_nested_block_commands.pl            |    4 +-
 tp/t/results/invalid_nestings/section_in_table.pl  |    4 +-
 .../section_on_index_entry_line.pl                 |    4 +-
 .../style_not_closed_in_block_command.pl           |    4 +-
 .../style_not_closed_in_table_line.pl              |   12 +-
 .../style_not_closed_no_newline_root_commands.pl   |   10 +-
 .../style_not_closed_root_commands.pl              |   10 +-
 tp/t/results/invalid_nestings/tab_in_index.pl      |    8 +-
 tp/t/results/invalid_nestings/table_in_code.pl     |    8 +-
 .../table_not_closed_in_menu_comment.pl            |    8 +-
 .../table_not_closed_in_menu_description.pl        |    8 +-
 .../results/invalid_nestings/table_on_item_line.pl |   14 +-
 .../thischapter_in_footnote_in_evenfooting.pl      |    4 +-
 .../thischapter_in_math_in_evenfooting.pl          |    4 +-
 .../unclosed_verb_end_of_line_on_misc_line.pl      |    4 +-
 .../invalid_nestings/unclosed_verb_on_misc_line.pl |    4 +-
 tp/t/results/invalid_nestings/verbatim_in_ref.pl   |    4 +-
 tp/t/results/itemize/accent_argument.pl            |   12 +-
 tp/t/results/itemize/asis_as_itemize_argument.pl   |    4 +-
 tp/t/results/itemize/bad_enumerate_arguments.pl    |   20 +-
 .../itemize/comment_first_on_enumerate_line.pl     |   10 +-
 .../itemize/comment_first_on_itemize_line.pl       |   10 +-
 tp/t/results/itemize/empty_accent_argument.pl      |   22 +-
 tp/t/results/itemize/enumerate_and_empty_lines.pl  |   24 +-
 tp/t/results/itemize/enumerate_argument.pl         |   28 +-
 tp/t/results/itemize/enumerate_argument_item.pl    |   28 +-
 tp/t/results/itemize/enumerate_in_example.pl       |    8 +-
 tp/t/results/itemize/enumerate_letters.pl          |    4 +-
 tp/t/results/itemize/enumerate_more_letters.pl     |    4 +-
 .../results/itemize/headitem_itemx_in_enumerate.pl |    8 +-
 tp/t/results/itemize/headitem_itemx_in_itemize.pl  |    8 +-
 .../itemize/inter_item_commands_in_enumerate.pl    |   64 +-
 .../itemize/inter_item_commands_in_itemize.pl      |   40 +-
 tp/t/results/itemize/itemize_and_empty_lines.pl    |   56 +-
 tp/t/results/itemize/itemize_in_example.pl         |   24 +-
 .../itemize/itemize_line_commands_with_brace.pl    |    8 +-
 tp/t/results/itemize/itemize_long_item.pl          |   20 +-
 tp/t/results/itemize/table_in_itemize.pl           |   16 +-
 tp/t/results/itemize/w_argument.pl                 |    4 +-
 tp/t/results/languages/appendix_translated.pl      |    8 +-
 tp/t/results/languages/command_translated.pl       |    4 +-
 tp/t/results/languages/documentlanguage.pl         |  126 +--
 .../documentlanguage_generated_master_menu.pl      |   16 +-
 tp/t/results/languages/documentlanguage_option.pl  |  126 +--
 tp/t/results/languages/documentlanguage_unknown.pl |  126 +--
 .../results/languages/multiple_documentlanguage.pl |   40 +-
 tp/t/results/languages/multiple_in_preamble.pl     |   28 +-
 .../languages/multiple_in_preamble_before_node.pl  |   24 +-
 tp/t/results/languages/multiple_lang_chapters.pl   |   56 +-
 .../languages/multiple_lang_chapters_latex.pl      |   56 +-
 .../languages/multiple_lang_chapters_texi2html.pl  |   52 +-
 tp/t/results/languages/simple_documentlanguage.pl  |    8 +-
 tp/t/results/languages/unknown_language.pl         |    8 +-
 tp/t/results/languages/unknown_region.pl           |    8 +-
 tp/t/results/latex_tests/anchor_in_copying.pl      |    4 +-
 .../anchor_in_copying_insertcopying_chap.pl        |    8 +-
 .../anchor_in_copying_insertcopying_titlepage.pl   |   22 +-
 ...chor_in_copying_insertcopying_titlepage_chap.pl |   26 +-
 .../anchor_links_xref_xrefautomaticsectiontitle.pl |    8 +-
 tp/t/results/latex_tests/brace_in_index.pl         |   20 +-
 .../latex_tests/custom_heading_with_include.pl     |   78 +-
 .../custom_heading_with_include_in_command.pl      |   78 +-
 tp/t/results/latex_tests/custom_headings.pl        |   46 +-
 .../latex_tests/custom_headings_and_comments.pl    |   26 +-
 tp/t/results/latex_tests/enumerate_arguments.pl    |   24 +-
 .../latex_tests/error_in_sectioning_command.pl     |    4 +-
 tp/t/results/latex_tests/example_in_cartouche.pl   |   12 +-
 tp/t/results/latex_tests/float_and_refs.pl         |   24 +-
 tp/t/results/latex_tests/fonttextsize.pl           |   16 +-
 tp/t/results/latex_tests/indices.pl                |   72 +-
 .../latex_tests/indices_disable_encoding.pl        |   72 +-
 .../informative_commands_in_top_node.pl            |   12 +-
 tp/t/results/latex_tests/nested_enumerate.pl       |   16 +-
 tp/t/results/latex_tests/nested_itemize.pl         |   16 +-
 .../no_titlepage_and_setchapternewpage_odd.pl      |    4 +-
 .../no_titlepage_and_setchapternewpage_on.pl       |    4 +-
 tp/t/results/latex_tests/pagesizes.pl              |   16 +-
 tp/t/results/latex_tests/pagetype.pl               |   16 +-
 .../setchapternewpage_on_odd_titlepage.pl          |   12 +-
 ...chapternewpage_on_odd_titlepage_set_headings.pl |   16 +-
 tp/t/results/latex_tests/settitle_and_headings.pl  |   20 +-
 tp/t/results/latex_tests/shorttitlepage.pl         |    4 +-
 .../three_setchapternewpage_on_odd_off.pl          |   12 +-
 tp/t/results/latex_tests/titlepage_and_headings.pl |    4 +-
 .../titlepage_and_setchapternewpage_odd.pl         |    8 +-
 .../titlepage_and_setchapternewpage_on.pl          |    8 +-
 tp/t/results/latex_tests/titlepage_classical.pl    |   56 +-
 tp/t/results/latex_tests/titlepage_in_top_node.pl  |    8 +-
 tp/t/results/latex_tests/titlepage_long_title.pl   |    8 +-
 tp/t/results/latex_tests/titlepage_no_author.pl    |    8 +-
 tp/t/results/latex_tests/titlepage_no_title.pl     |    8 +-
 .../titlepage_with_commands_classical.pl           |   60 +-
 .../latex_tests/two_setchapternewpage_odd_on.pl    |    8 +-
 .../latex_tests/two_setchapternewpage_on_odd.pl    |    8 +-
 tp/t/results/latex_tests/vbar_in_index.pl          |    8 +-
 .../results/latex_tests/verbatim_in_smallformat.pl |    8 +-
 tp/t/results/layout/navigation.pl                  |   22 +-
 tp/t/results/layout/navigation_chapter.pl          |   22 +-
 .../results/layout/navigation_chapter_no_header.pl |   22 +-
 .../navigation_chapter_no_header_vertical.pl       |   22 +-
 tp/t/results/layout/navigation_chapter_vertical.pl |   22 +-
 tp/t/results/layout/navigation_no_header.pl        |   22 +-
 .../layout/navigation_no_header_vertical.pl        |   22 +-
 tp/t/results/layout/navigation_node.pl             |   22 +-
 tp/t/results/layout/navigation_node_no_header.pl   |   22 +-
 .../layout/navigation_node_no_header_vertical.pl   |   22 +-
 tp/t/results/layout/navigation_node_vertical.pl    |   22 +-
 tp/t/results/layout/navigation_section.pl          |   22 +-
 .../results/layout/navigation_section_no_header.pl |   22 +-
 .../navigation_section_no_header_vertical.pl       |   22 +-
 tp/t/results/layout/navigation_section_vertical.pl |   22 +-
 .../layout/navigation_test_misc_file_collision.pl  |   22 +-
 .../layout/navigation_test_undef_top_buttons.pl    |   22 +-
 .../layout/navigation_test_zero_top_buttons.pl     |   22 +-
 tp/t/results/layout/navigation_vertical.pl         |   22 +-
 tp/t/results/layout/no_monolithic.pl               |   26 +-
 tp/t/results/layout/no_monolithic_only_toc_out.pl  |   26 +-
 tp/t/results/linemacro/api_doc_with_linemacro.pl   |   28 +-
 .../linemacro/arobase_brace_in_linemacro_call.pl   |    4 +-
 .../linemacro/begin_conditional_in_linemacro.pl    |   12 +-
 .../linemacro/block_begin_end_in_linemacro_call.pl |   28 +-
 tp/t/results/linemacro/blockitem_no_item.pl        |    8 +-
 tp/t/results/linemacro/brace_command_not_closed.pl |    4 +-
 tp/t/results/linemacro/braces_after_text.pl        |    8 +-
 .../linemacro/call_macro_in_linemacro_body.pl      |   16 +-
 .../linemacro/call_macro_in_linemacro_call.pl      |   20 +-
 .../linemacro/comment_at_end_of_linemacro_call.pl  |   10 +-
 .../results/linemacro/comment_in_linemacro_call.pl |   10 +-
 .../comment_in_one_argument_linemacro_call.pl      |   10 +-
 .../comment_on_linemacro_call_macro_expansion.pl   |   14 +-
 .../comment_on_linemacro_call_out_of_braces.pl     |   22 +-
 tp/t/results/linemacro/empty_last_argument.pl      |   24 +-
 .../linemacro/end_conditional_in_linemacro.pl      |   12 +-
 .../results/linemacro/last_argument_with_braces.pl |    8 +-
 tp/t/results/linemacro/missing_formal_arg.pl       |    4 +-
 tp/t/results/linemacro/nested_linemacro_calls.pl   |   16 +-
 .../linemacro/newline_and_continuation_in_brace.pl |    8 +-
 tp/t/results/linemacro/no_arguments.pl             |    4 +-
 tp/t/results/linemacro/paragraph_no_paragraph.pl   |    4 +-
 tp/t/results/linemacro/protected_spaces_on_line.pl |   16 +-
 .../protection_of_end_of_line_by_command.pl        |    4 +-
 .../linemacro/recursive_linemacro_in_body.pl       |    4 +-
 .../linemacro/recursive_linemacro_in_call.pl       |    4 +-
 .../linemacro/simple_nested_linemacro_calls.pl     |   16 +-
 .../linemacro/spaces_after_command_in_call.pl      |    8 +-
 ...paces_after_macro_linemacro_commands_in_call.pl |   20 +-
 .../spaces_after_unknown_command_in_call.pl        |    8 +-
 tp/t/results/linemacro/spaces_in_args.pl           |    8 +-
 tp/t/results/linemacro/spaces_in_call.pl           |    8 +-
 tp/t/results/linemacro/text_arguments.pl           |    4 +-
 tp/t/results/linemacro/verb_in_linemacro_call.pl   |    8 +-
 tp/t/results/linemacro/verb_not_closed.pl          |    4 +-
 .../verb_with_arobase_in_linemacro_call.pl         |    4 +-
 .../linemacro/verb_with_brace_in_linemacro_call.pl |    4 +-
 tp/t/results/macro/arg_body_expansion_order.pl     |   16 +-
 tp/t/results/macro/arg_not_closed.pl               |    4 +-
 tp/t/results/macro/arobase_brace_in_macro_call.pl  |    4 +-
 tp/t/results/macro/backslash_in_arg.pl             |   24 +-
 tp/t/results/macro/bad_argument.pl                 |   16 +-
 tp/t/results/macro/bad_formal_arg.pl               |   12 +-
 .../macro/bad_macro_name_with_underscore.pl        |    4 +-
 tp/t/results/macro/bib_example.pl                  | 1030 ++++++++++----------
 tp/t/results/macro/bye_in_macro.pl                 |   10 +-
 ...losing_brace_in_macro_call_in_ignored_inline.pl |    4 +-
 tp/t/results/macro/complete_macro_for_end.pl       |    8 +-
 tp/t/results/macro/complex_argument.pl             |   46 +-
 tp/t/results/macro/cpp_directives_after_macros.pl  |    8 +-
 tp/t/results/macro/cpp_directives_in_macro.pl      |    4 +-
 .../macro/cpp_directives_line_value_macro.pl       |   16 +-
 .../macro/definfoenclose_replaced_by_macro.pl      |    8 +-
 tp/t/results/macro/double_macro_definition.pl      |    8 +-
 tp/t/results/macro/double_recursive_macro_call.pl  |    8 +-
 tp/t/results/macro/empty_end.pl                    |    4 +-
 tp/t/results/macro/empty_macro_argument.pl         |    8 +-
 tp/t/results/macro/empty_macro_in_text_no_arg.pl   |    8 +-
 tp/t/results/macro/empty_macro_no_arg.pl           |    4 +-
 tp/t/results/macro/expand_two_same.pl              |    4 +-
 tp/t/results/macro/expansion_order.pl              |    8 +-
 tp/t/results/macro/form_feeds.pl                   |    8 +-
 tp/t/results/macro/glossary.pl                     |   68 +-
 tp/t/results/macro/ifclear_in_macro.pl             |    8 +-
 tp/t/results/macro/ifset_and_end_isef_in_macro.pl  |    8 +-
 tp/t/results/macro/ifset_in_macro.pl               |    8 +-
 tp/t/results/macro/ifset_in_macro_set.pl           |    8 +-
 tp/t/results/macro/ignored_macro_definition.pl     |    4 +-
 tp/t/results/macro/implicit_quoting_one_arg.pl     |    4 +-
 tp/t/results/macro/implicit_quoting_recursion.pl   |    4 +-
 tp/t/results/macro/include_after_empty_line_arg.pl |    8 +-
 tp/t/results/macro/leading_spaces_no_ignore.pl     |    4 +-
 tp/t/results/macro/line_after_recursive_call.pl    |    4 +-
 .../macro/line_end_accent_command_macro_call.pl    |   16 +-
 tp/t/results/macro/macro_after_paragraph.pl        |    4 +-
 .../macro/macro_alias_definfoenclose_defindex.pl   |   68 +-
 .../macro_before_specific_line_command_args.pl     |    8 +-
 tp/t/results/macro/macro_call_empty_middle_arg.pl  |    4 +-
 tp/t/results/macro/macro_call_empty_two_arg.pl     |    4 +-
 .../macro/macro_call_in_ignored_inlinefmtifelse.pl |    4 +-
 .../macro/macro_call_in_inlinefmtifelse_format.pl  |    4 +-
 tp/t/results/macro/macro_call_in_node_manual.pl    |   28 +-
 .../macro/macro_end_call_in_ignored_inlinefmt.pl   |    4 +-
 .../macro_end_call_in_ignored_inlinefmtifelse.pl   |    4 +-
 ...cro_end_call_in_ignored_inlinefmtifelse_else.pl |    4 +-
 .../macro/macro_end_call_in_ignored_inlineraw.pl   |    4 +-
 .../results/macro/macro_end_call_in_ignored_raw.pl |    8 +-
 tp/t/results/macro/macro_expands_to_empty.pl       |    4 +-
 tp/t/results/macro/macro_expansion.pl              |   28 +-
 .../macro_expansion_end_in_conditional_end.pl      |   12 +-
 .../macro_expansion_end_in_conditional_line.pl     |   12 +-
 ...macro_expansion_end_in_ignored_ifset_content.pl |    8 +-
 ..._expansion_end_in_ignored_nested_conditional.pl |    8 +-
 ..._end_in_ignored_nested_different_conditional.pl |    8 +-
 .../macro_expansion_in_multitable_prototype.pl     |   12 +-
 .../macro/macro_for_dot_in_menu_not_separator.pl   |    8 +-
 tp/t/results/macro/macro_for_end.pl                |    8 +-
 .../macro/macro_for_ignored_line_command.pl        |   10 +-
 tp/t/results/macro/macro_for_verb.pl               |    4 +-
 ...macro_imbricated_with_beginning_command_name.pl |    4 +-
 tp/t/results/macro/macro_in_accent.pl              |    8 +-
 tp/t/results/macro/macro_in_brace_command.pl       |   12 +-
 tp/t/results/macro/macro_in_def_delimiters.pl      |    4 +-
 tp/t/results/macro/macro_in_empty_menu_comment.pl  |    8 +-
 .../macro_in_empty_multitable_empty_before_item.pl |   12 +-
 .../macro_in_empty_table_empty_before_item.pl      |    8 +-
 tp/t/results/macro/macro_in_empty_text.pl          |    8 +-
 tp/t/results/macro/macro_in_end_argument.pl        |    8 +-
 tp/t/results/macro/macro_in_ifset.pl               |    8 +-
 tp/t/results/macro/macro_in_ifset_end_in_arg.pl    |    8 +-
 tp/t/results/macro/macro_in_index_commands.pl      |   68 +-
 .../macro/macro_in_invalid_documentencoding.pl     |    8 +-
 tp/t/results/macro/macro_in_macro_arg.pl           |   12 +-
 tp/t/results/macro/macro_in_macro_arg_simpler.pl   |    8 +-
 tp/t/results/macro/macro_in_menu.pl                |   28 +-
 .../macro_in_menu_comment_closed_by_detailmenu.pl  |   12 +-
 .../macro/macro_in_menu_comment_like_entry.pl      |   14 +-
 tp/t/results/macro/macro_in_menu_description.pl    |    8 +-
 tp/t/results/macro/macro_in_misc_commands.pl       |  342 +++----
 .../macro/macro_in_multitable_empty_before_item.pl |   12 +-
 .../macro/macro_in_table_empty_before_item.pl      |   12 +-
 .../macro_inlineifcond_end_in_empty_ignored.pl     |    4 +-
 .../macro/macro_inlineifcond_end_in_empty_set.pl   |    4 +-
 tp/t/results/macro/macro_name_with_digit.pl        |    8 +-
 tp/t/results/macro/macro_name_with_hyphen.pl       |    4 +-
 tp/t/results/macro/macro_name_zero.pl              |    4 +-
 tp/t/results/macro/macro_no_arg_bad_expansion.pl   |    4 +-
 tp/t/results/macro/macro_no_arg_expansion.pl       |    4 +-
 tp/t/results/macro/macro_one_arg_end_of_file.pl    |    4 +-
 .../macro/macro_replaced_by_definfoenclose.pl      |    8 +-
 .../macro_with_error_at_end_line_after_macro.pl    |    8 +-
 tp/t/results/macro/macro_zero.pl                   |    4 +-
 tp/t/results/macro/nested_macro_call.pl            |    8 +-
 tp/t/results/macro/no_macrobody.pl                 |    4 +-
 tp/t/results/macro/non_ascii_in_macro_name.pl      |    4 +-
 tp/t/results/macro/paragraph_and_macro.pl          |   12 +-
 tp/t/results/macro/protect_comma_macro_line.pl     |    4 +-
 tp/t/results/macro/protect_in_body.pl              |    4 +-
 tp/t/results/macro/protect_in_body_line_arg.pl     |    4 +-
 tp/t/results/macro/protect_in_body_one_arg.pl      |    4 +-
 tp/t/results/macro/recursive_call_in_argument.pl   |    4 +-
 tp/t/results/macro/recursive_call_in_macro.pl      |    4 +-
 tp/t/results/macro/recursive_call_in_rmacro.pl     |    4 +-
 tp/t/results/macro/redefine_texinfo_macro.pl       |    4 +-
 tp/t/results/macro/simple_imbricated_macro.pl      |    8 +-
 .../macro/simple_imbricated_macro_rmacro.pl        |    8 +-
 tp/t/results/macro/space_macro_after_end.pl        |    8 +-
 .../macro/space_macro_after_end_verbatim.pl        |    8 +-
 tp/t/results/macro/text_before_after.pl            |    4 +-
 tp/t/results/macro/too_much_args.pl                |    4 +-
 tp/t/results/macro/two_macros_on_a_line.pl         |    8 +-
 .../results/macro/unknown_macro_on_line_command.pl |    4 +-
 .../macro/unpaired_backslash_in_macro_body.pl      |    4 +-
 .../macro/verb_with_arobase_in_macro_call.pl       |    4 +-
 .../results/macro/verb_with_brace_in_macro_call.pl |    4 +-
 tp/t/results/macro/zero_argument.pl                |    8 +-
 tp/t/results/macro/zero_argument_comment.pl        |    8 +-
 tp/t/results/menu/bad_beginning.pl                 |    4 +-
 .../menu/block_commands_in_menu_description.pl     |   24 +-
 .../menu/commands_in_nodedescriptionblock.pl       |   34 +-
 tp/t/results/menu/comment_on_menu_line.pl          |   10 +-
 tp/t/results/menu/dash_in_menu.pl                  |    4 +-
 tp/t/results/menu/detailmenu.pl                    |    8 +-
 tp/t/results/menu/detailmenu_in_description.pl     |    8 +-
 tp/t/results/menu/detailmenu_on_subnodes.pl        |   20 +-
 tp/t/results/menu/detailmenu_unknown_node.pl       |    8 +-
 .../menu/direntry_dircategory_after_first_node.pl  |    8 +-
 tp/t/results/menu/empty_leading_menu_comment.pl    |    4 +-
 tp/t/results/menu/empty_menu_description.pl        |    4 +-
 tp/t/results/menu/empty_menu_entry_name.pl         |    4 +-
 tp/t/results/menu/entry_after_detailmenu.pl        |   12 +-
 tp/t/results/menu/example_in_menu_comment.pl       |    8 +-
 tp/t/results/menu/example_in_menu_description.pl   |    8 +-
 tp/t/results/menu/formats_in_menu.pl               |   24 +-
 tp/t/results/menu/inlineraw_in_menu_description.pl |    4 +-
 tp/t/results/menu/invalid_info_menu_entry.pl       |    4 +-
 .../results/menu/leading_space_before_menu_star.pl |    4 +-
 tp/t/results/menu/menu_entry_name.pl               |    4 +-
 tp/t/results/menu/menu_entry_name_comment.pl       |   34 +-
 tp/t/results/menu/menu_entry_no_entry.pl           |   22 +-
 tp/t/results/menu/menu_entry_no_entry_location.pl  |    4 +-
 tp/t/results/menu/menu_entry_node.pl               |    4 +-
 tp/t/results/menu/menu_entry_node_comments.pl      |   28 +-
 tp/t/results/menu/menu_in_deffn.pl                 |    8 +-
 tp/t/results/menu/menu_in_example.pl               |   16 +-
 tp/t/results/menu/menu_node_unterminated.pl        |    4 +-
 tp/t/results/menu/menu_pointing_to_anchor.pl       |    4 +-
 tp/t/results/menu/menu_title_before_entries.pl     |    4 +-
 .../results/menu/missing_detailmenu_on_subnodes.pl |   12 +-
 tp/t/results/menu/multiple_menus.pl                |    8 +-
 tp/t/results/menu/no_colon_in_menu.pl              |    4 +-
 tp/t/results/menu/nodedescription_descriptions.pl  |   32 +-
 .../menu/nodedescriptionblock_descriptions.pl      |   40 +-
 tp/t/results/menu/reference_to_external_manual.pl  |    4 +-
 tp/t/results/menu/sc_in_menu.pl                    |   16 +-
 tp/t/results/menu/simple.pl                        |    4 +-
 tp/t/results/menu/simple_no_menu.pl                |    4 +-
 .../menu/space_and_commands_in_menu_node.pl        |    4 +-
 tp/t/results/menu/submenu_in_example.pl            |   32 +-
 tp/t/results/menu/verb_in_menu_description.pl      |    4 +-
 tp/t/results/misc_commands/also_not_line.pl        |   42 +-
 .../author_outside_titlepage_quotation.pl          |    4 +-
 tp/t/results/misc_commands/bad_documentlanguage.pl |   16 +-
 tp/t/results/misc_commands/bye.pl                  |    6 +-
 tp/t/results/misc_commands/clickstyle.pl           |    8 +-
 .../misc_commands/clickstyle_and_comments.pl       |   20 +-
 .../misc_commands/clickstyle_no_end_of_line.pl     |    4 +-
 .../codequoteundirected_codequotebacktick.pl       |   96 +-
 .../misc_commands/command_in_heading_footing.pl    |    4 +-
 .../misc_commands/command_line_in_paragraph.pl     |    4 +-
 .../command_not_closed_in_documentencoding.pl      |    4 +-
 .../command_not_closed_on_center_line.pl           |    4 +-
 .../misc_commands/comment_space_command_on_line.pl |  110 +--
 tp/t/results/misc_commands/comment_without_line.pl |    6 +-
 tp/t/results/misc_commands/comments_in_text.pl     |   30 +-
 tp/t/results/misc_commands/contents.pl             |   24 +-
 .../misc_commands/defindex_too_much_args.pl        |    4 +-
 tp/t/results/misc_commands/definfoenclose.pl       |   12 +-
 .../misc_commands/definfoenclose_nestings.pl       |    8 +-
 .../misc_commands/definfoenclose_with_empty_arg.pl |    4 +-
 .../results/misc_commands/documentencoding_utf8.pl |    4 +-
 .../results/misc_commands/documentencoding_zero.pl |    4 +-
 tp/t/results/misc_commands/double_exdent.pl        |   16 +-
 tp/t/results/misc_commands/empty_center.pl         |    4 +-
 .../results/misc_commands/empty_center_with_arg.pl |    4 +-
 .../misc_commands/empty_documentencoding.pl        |    4 +-
 tp/t/results/misc_commands/exdent_no_line.pl       |    4 +-
 tp/t/results/misc_commands/footnote_in_center.pl   |   18 +-
 .../misc_commands/heading_command_in_commands.pl   |   20 +-
 .../incorrect_allowcodebreaks_argument.pl          |    4 +-
 tp/t/results/misc_commands/indent_in_quotation.pl  |    4 +-
 .../indent_with_text_after_without_space.pl        |    4 +-
 tp/t/results/misc_commands/index_entries.pl        |   12 +-
 tp/t/results/misc_commands/invalid_clickstyle.pl   |    8 +-
 .../misc_commands/invalid_documentencoding.pl      |   42 +-
 .../results/misc_commands/invalid_kbdinputstyle.pl |    4 +-
 tp/t/results/misc_commands/kbdinputstyle.pl        |   28 +-
 .../misc_commands/kbdinputstyle_in_table.pl        |  124 +--
 tp/t/results/misc_commands/many_lines.pl           |  176 ++--
 .../no_empty_line_between_headings.pl              |    4 +-
 tp/t/results/misc_commands/nodedescription.pl      |   12 +-
 .../misc_commands/noindent_after_smallexample.pl   |    4 +-
 tp/t/results/misc_commands/ref_in_center.pl        |   10 +-
 tp/t/results/misc_commands/setfilename.pl          |   28 +-
 tp/t/results/misc_commands/simple.pl               |    4 +-
 tp/t/results/misc_commands/sp.pl                   |   20 +-
 .../misc_commands/synindex_too_much_args.pl        |    4 +-
 tp/t/results/misc_commands/test_allowcodebreaks.pl |   32 +-
 .../misc_commands/text_before_and_after_bye.pl     |    6 +-
 .../misc_commands/text_before_line_command.pl      |   16 +-
 tp/t/results/misc_commands/vskip.pl                |    6 +-
 tp/t/results/moresectioning/anchor_in_footnote.pl  |    4 +-
 .../moresectioning/anchor_in_footnote_separate.pl  |    8 +-
 .../anchor_in_footnote_separate_split_node.pl      |    8 +-
 .../anchor_in_footnote_split_node.pl               |    4 +-
 .../moresectioning/character_and_spaces_in_refs.pl |   22 +-
 .../character_and_spaces_in_refs_out.pl            |   22 +-
 tp/t/results/moresectioning/complex.pl             |   26 +-
 .../moresectioning/complex_split_at_node.pl        |   26 +-
 tp/t/results/moresectioning/contents.pl            |    4 +-
 .../moresectioning/contents_and_shortcontents.pl   |    8 +-
 .../contents_at_begin_chapter_without_node.pl      |    4 +-
 .../moresectioning/contents_at_end_document.pl     |    4 +-
 .../contents_at_end_document_after_node.pl         |    8 +-
 .../results/moresectioning/contents_in_document.pl |    4 +-
 tp/t/results/moresectioning/empty_top_node_up.pl   |    4 +-
 .../equivalent_nodes_defined_linked.pl             |   12 +-
 .../results/moresectioning/internal_top_node_up.pl |    4 +-
 .../moresectioning/lowered_subsubsection.pl        |   42 +-
 tp/t/results/moresectioning/loweredheading.pl      |   16 +-
 .../moresectioning/more_sections_than_nodes.pl     |    8 +-
 .../more_sections_than_nodes_texi2html.pl          |    8 +-
 tp/t/results/moresectioning/no_element.pl          |   20 +-
 .../moresectioning/nodes_before_after_top_xref.pl  |   12 +-
 .../non_automatic_internal_top_node_up.pl          |    4 +-
 .../non_automatic_top_node_up_and_url.pl           |    4 +-
 .../non_automatic_top_node_up_url.pl               |    4 +-
 .../moresectioning/only_special_spaces_node.pl     |   24 +-
 .../moresectioning/placed_things_before_element.pl |   12 +-
 .../placed_things_before_element_no_use_node.pl    |   12 +-
 .../moresectioning/placed_things_before_node.pl    |   12 +-
 tp/t/results/moresectioning/raiselowersections.pl  |   82 +-
 tp/t/results/moresectioning/rec_nodes.pl           |   20 +-
 .../moresectioning/section_in_unnumbered_info.pl   |   56 +-
 .../section_in_unnumbered_plaintext.pl             |   56 +-
 tp/t/results/moresectioning/shortcontents.pl       |    4 +-
 .../moresectioning/special_spaces_in_nodes.pl      |   10 +-
 tp/t/results/moresectioning/top_node_up_url.pl     |    4 +-
 tp/t/results/moresectioning/topic_guide.pl         |   38 +-
 tp/t/results/multitable/empty_headitem.pl          |    8 +-
 tp/t/results/multitable/empty_item_tab.pl          |   16 +-
 .../multitable/empty_multitable_with_cells.pl      |    4 +-
 tp/t/results/multitable/fullwidth_in_prototype.pl  |    4 +-
 .../inter_item_commands_in_multitable.pl           |   46 +-
 .../multitable/multitable_begin_with_tab.pl        |    8 +-
 ...ultitable_bracketed_no_inter_space_prototype.pl |    4 +-
 ...titable_bracketed_prototype_empty_not_closed.pl |    4 +-
 ...bracketed_prototype_empty_not_closed_comment.pl |   10 +-
 ..._bracketed_prototype_empty_spaces_not_closed.pl |    4 +-
 ...ed_prototype_empty_spaces_not_closed_comment.pl |   10 +-
 .../multitable_bracketed_prototype_not_closed.pl   |    4 +-
 ...table_bracketed_prototype_not_closed_comment.pl |   10 +-
 ...bracketed_prototype_not_closed_space_comment.pl |   10 +-
 .../multitable_empty_bracketed_prototype.pl        |    4 +-
 tp/t/results/multitable/multitable_figure_space.pl |    4 +-
 tp/t/results/multitable/multitable_in_example.pl   |    8 +-
 .../multitable_one_column_too_much_cells.pl        |    4 +-
 .../multitable_two_columns_too_much_cells.pl       |    8 +-
 .../multitable/multitable_with_empty_item_tab.pl   |    8 +-
 .../results/multitable/not_letters_in_prototype.pl |    4 +-
 tp/t/results/multitable/paragraph_in_cells.pl      |    4 +-
 .../results/multitable/prototype_brace_no_brace.pl |    4 +-
 .../multitable/prototype_brace_no_brace_comment.pl |   10 +-
 tp/t/results/multitable/prototype_no_brace.pl      |    4 +-
 tp/t/results/multitable/ref_in_multitable.pl       |   12 +-
 tp/t/results/multitable/w_in_multitable.pl         |    4 +-
 tp/t/results/paragraph/close_paragraph_command.pl  |    4 +-
 tp/t/results/paragraph/commands_in_flushright.pl   |   60 +-
 tp/t/results/paragraph/comment_between_text.pl     |    6 +-
 tp/t/results/paragraph/comment_in_quotation.pl     |   20 +-
 .../indent_before_macro_definition_and_other.pl    |   30 +-
 tp/t/results/paragraph/paragraph_command.pl        |    4 +-
 .../paragraph/paragraph_count_and_example.pl       |    4 +-
 tp/t/results/paragraph/paragraph_indent_asis.pl    |    8 +-
 tp/t/results/paragraph/text_comment.pl             |    6 +-
 tp/t/results/paragraph/text_space_comment.pl       |    6 +-
 .../plaintext_tests/U_with_utf8_enable_encoding.pl |    4 +-
 .../accents_in_var_enable_encoding.pl              |    4 +-
 tp/t/results/plaintext_tests/all_spaces.pl         |    4 +-
 .../at_commands_glued_in_example.pl                |   12 +-
 .../at_commands_glued_in_paragraph.pl              |    8 +-
 .../cartouche_and_paragraph_indentation.pl         |    8 +-
 .../characters_and_commands_in_var.pl              |    6 +-
 .../plaintext_tests/chinese_mixed_with_en.pl       |   14 +-
 tp/t/results/plaintext_tests/east_asian_in_w.pl    |    4 +-
 .../plaintext_tests/empty_line_in_example_end.pl   |    4 +-
 .../plaintext_tests/empty_multitable_in_itemize.pl |    8 +-
 tp/t/results/plaintext_tests/expanded_tex.pl       |    4 +-
 .../flushright_not_closed_and_format.pl            |    4 +-
 tp/t/results/plaintext_tests/html_expanded.pl      |    4 +-
 .../insert_copying_and_paragraph.pl                |    8 +-
 .../plaintext_tests/isolated_html_expanded.pl      |    4 +-
 .../itemize_in_headitem_in_example.pl              |   20 +-
 tp/t/results/plaintext_tests/japanese_utf8.pl      |   30 +-
 .../plaintext_tests/line_passed_and_formats.pl     |  116 +--
 .../plaintext_tests/long_uref_after_item.pl        |    4 +-
 .../plaintext_tests/multiline_image_and_align.pl   |   20 +-
 tp/t/results/plaintext_tests/multitable.pl         |   20 +-
 .../multitable_in_example_extraneous_item_tab.pl   |    8 +-
 .../multitable_in_example_extraneous_tab.pl        |    8 +-
 .../plaintext_tests/nested_code_commands.pl        |    8 +-
 .../plaintext_tests/nested_indentedblock.pl        |   16 +-
 tp/t/results/plaintext_tests/nested_multitable.pl  |    8 +-
 .../plaintext_tests/no_empty_line_after_section.pl |   16 +-
 .../no_punctuation_commands_frenchspacing.pl       |    4 +-
 tp/t/results/plaintext_tests/non_break_spaces.pl   |    4 +-
 tp/t/results/plaintext_tests/paragraphindent.pl    |   12 +-
 .../plaintext_tests/protect_spaces_on_line.pl      |    8 +-
 .../punctuation_and_code_style_commands_utf8.pl    |    4 +-
 .../punctuation_and_footnotes_frenchspacing.pl     |    4 +-
 .../punctuation_and_upper_case_commands_utf8.pl    |    4 +-
 .../punctuation_commands_frenchspacing.pl          |    4 +-
 .../plaintext_tests/punctuation_frenchspacing.pl   |    4 +-
 .../punctuation_sc_accents_ascii_glyph_latin1.pl   |    4 +-
 .../punctuation_sc_accents_ascii_glyph_usascii.pl  |    4 +-
 .../punctuation_sc_accents_default_latin1.pl       |    4 +-
 .../punctuation_sc_accents_default_usascii.pl      |    4 +-
 ...nctuation_sc_accents_disable_encoding_latin1.pl |    4 +-
 ...ctuation_sc_accents_disable_encoding_usascii.pl |    4 +-
 ...uation_sc_accents_to_utf8_ascii_glyph_latin1.pl |    4 +-
 ...ation_sc_accents_to_utf8_ascii_glyph_usascii.pl |    4 +-
 .../punctuation_sc_accents_to_utf8_latin1.pl       |    4 +-
 .../punctuation_sc_accents_to_utf8_usascii.pl      |    4 +-
 tp/t/results/plaintext_tests/quote_node_names.pl   |    4 +-
 .../sc_with_utf8_enable_encoding.pl                |    4 +-
 .../plaintext_tests/settitle_and_empty_top.pl      |    4 +-
 .../sp_with_text_before_in_example.pl              |    8 +-
 .../plaintext_tests/star_at_command_formatting.pl  |   12 +-
 .../plaintext_tests/tab_in_table_in_example.pl     |   12 +-
 .../results/plaintext_tests/tab_item_in_example.pl |    4 +-
 tp/t/results/preformatted/caption_in_example.pl    |    8 +-
 .../comment_example_and_blank_lines.pl             |   28 +-
 tp/t/results/preformatted/comments_in_example.pl   |   36 +-
 tp/t/results/preformatted/def_in_example.pl        |    8 +-
 tp/t/results/preformatted/empty_line.pl            |    4 +-
 .../preformatted/empty_line_style_command.pl       |    4 +-
 .../preformatted/example_at_commands_arguments.pl  |    4 +-
 tp/t/results/preformatted/example_class.pl         |    4 +-
 .../preformatted/example_empty_arguments.pl        |   12 +-
 .../example_invalid_at_commands_arguments.pl       |    8 +-
 tp/t/results/preformatted/example_multi_class.pl   |    4 +-
 .../preformatted/insertcopying_in_example.pl       |    8 +-
 .../preformatted/nested_example_and_comment.pl     |   60 +-
 tp/t/results/preformatted/nested_formats.pl        |   16 +-
 tp/t/results/preformatted/page_in_example.pl       |   10 +-
 tp/t/results/preformatted/quote_dash_in_display.pl |    4 +-
 tp/t/results/preformatted/quote_dash_in_example.pl |    4 +-
 .../preformatted/text_on_display_command_line.pl   |   20 +-
 .../preformatted/text_on_example_command_line.pl   |   20 +-
 tp/t/results/preformatted/titlefont_in_example.pl  |    4 +-
 .../results/quotation/comment_on_quotation_line.pl |   10 +-
 tp/t/results/quotation/empty_quotation.pl          |   16 +-
 .../quotation/footnote_in_quotation_with_arg.pl    |    4 +-
 .../quotation/only_comment_on_quotation_line.pl    |   10 +-
 tp/t/results/quotation/quotation_and_author.pl     |   24 +-
 .../quotation/quotation_author_in_example.pl       |   12 +-
 .../quotation_beginning_and_end_on_line.pl         |    4 +-
 .../space_at_commands_end_quotation_line.pl        |    8 +-
 tp/t/results/quotation/standard_quotations.pl      |   24 +-
 tp/t/results/raw/beginning_and_end_on_line.pl      |   12 +-
 tp/t/results/raw/braces_in_tex.pl                  |   12 +-
 tp/t/results/raw/comments_on_raw_block_line.pl     |   32 +-
 tp/t/results/raw/displaymath.pl                    |    8 +-
 ...pty_line_in_command_in_expanded_not_expanded.pl |    8 +-
 tp/t/results/raw/inline_in_example.pl              |    4 +-
 tp/t/results/raw/lone_braces_in_html.pl            |    8 +-
 tp/t/results/raw/misc_raw.pl                       |   12 +-
 tp/t/results/raw/misc_raw_comments.pl              |   30 +-
 tp/t/results/raw/nested_macros.pl                  |    4 +-
 tp/t/results/raw/raw_commands_and_end_of_lines.pl  |   72 +-
 tp/t/results/raw/raw_expanded_in_style.pl          |    4 +-
 tp/t/results/raw/raw_in_example.pl                 |   20 +-
 tp/t/results/raw/raw_in_para.pl                    |   12 +-
 tp/t/results/raw/raw_in_style.pl                   |    4 +-
 .../raw/second_level_lone_braces_in_html.pl        |    8 +-
 ...econd_level_lone_braces_in_html_not_expanded.pl |    8 +-
 tp/t/results/raw/space_before_end.pl               |   12 +-
 tp/t/results/raw/spurious_arg_on_line.pl           |   12 +-
 tp/t/results/raw/verbatim_and_verbatiminclude.pl   |   60 +-
 tp/t/results/raw/verbatim_in_brace_command.pl      |    4 +-
 tp/t/results/regions/anchor_in_copying.pl          |   12 +-
 .../regions/anchor_in_copying_in_footnote.pl       |   12 +-
 tp/t/results/regions/anchor_in_titlepage.pl        |    4 +-
 .../regions/anchor_in_titlepage_titlepage.pl       |    4 +-
 tp/t/results/regions/double_copying.pl             |    8 +-
 tp/t/results/regions/format_in_titlepage.pl        |    8 +-
 .../regions/format_in_titlepage_titlepage.pl       |    8 +-
 tp/t/results/regions/ref_in_copying.pl             |   12 +-
 .../regions/ref_in_copying_insert_in_chapter.pl    |   12 +-
 tp/t/results/regions/today_in_copying.pl           |    8 +-
 .../sectioning/chapter_before_and_after_part.pl    |    4 +-
 tp/t/results/sectioning/chapter_between_nodes.pl   |    8 +-
 .../sectioning/chapter_between_nodes_texi2html.pl  |    8 +-
 .../chapter_between_nodes_with_appendix.pl         |    4 +-
 .../chapter_between_nodes_with_appendix_nomenu.pl  |    4 +-
 .../chapter_node_before_and_after_part.pl          |    8 +-
 tp/t/results/sectioning/contents_and_parts.pl      |   12 +-
 tp/t/results/sectioning/contents_in_html_text.pl   |    8 +-
 .../sectioning/contents_with_only_top_node.pl      |    4 +-
 .../results/sectioning/double_node_anchor_float.pl |   12 +-
 tp/t/results/sectioning/double_part.pl             |    4 +-
 tp/t/results/sectioning/double_top_in_menu.pl      |    4 +-
 .../sectioning/empty_nodes_with_commands.pl        |    6 +-
 tp/t/results/sectioning/empty_ref_arg.pl           |   24 +-
 tp/t/results/sectioning/equivalent_labels.pl       |    8 +-
 tp/t/results/sectioning/equivalent_nodes.pl        |    4 +-
 .../sectioning/equivalent_nodes_novalidate.pl      |    8 +-
 .../results/sectioning/explicit_node_directions.pl |    4 +-
 tp/t/results/sectioning/external_node_in_menu.pl   |    4 +-
 .../in_menu_only_special_ascii_spaces_node.pl      |    4 +-
 .../in_menu_only_special_ascii_spaces_node_menu.pl |    4 +-
 .../sectioning/in_menu_only_special_spaces_node.pl |   34 +-
 .../in_menu_only_special_spaces_node_menu.pl       |   34 +-
 tp/t/results/sectioning/lone_Top_node.pl           |    4 +-
 tp/t/results/sectioning/lone_contents.pl           |    4 +-
 tp/t/results/sectioning/loop_nodes.pl              |   12 +-
 tp/t/results/sectioning/menutextorder.pl           |   12 +-
 tp/t/results/sectioning/next_in_menu_is_below.pl   |   12 +-
 tp/t/results/sectioning/next_no_prev_to_node.pl    |    4 +-
 .../results/sectioning/no_argument_and_contents.pl |    4 +-
 tp/t/results/sectioning/node_line_arguments.pl     |   12 +-
 tp/t/results/sectioning/node_nested_parentheses.pl |    4 +-
 .../sectioning/node_part_chapter_after_chapter.pl  |    8 +-
 .../sectioning/node_part_chapter_after_top.pl      |    4 +-
 tp/t/results/sectioning/node_referenced_in_ref.pl  |    4 +-
 tp/t/results/sectioning/node_up_external_node.pl   |    4 +-
 tp/t/results/sectioning/nodename_parentheses.pl    |    4 +-
 ...fter_top_before_chapter_no_use_nodes_chapter.pl |    4 +-
 .../nodes_after_top_before_chapter_nodes.pl        |    4 +-
 .../nodes_after_top_before_chapter_not_split.pl    |    4 +-
 ...ore_chapter_not_split_no_use_node_directions.pl |    4 +-
 .../nodes_after_top_before_chapter_sections.pl     |    4 +-
 .../nodes_after_top_before_chapter_texi2html.pl    |    4 +-
 ...p_before_chapter_texi2html_use_nodes_chapter.pl |    4 +-
 .../nodes_after_top_before_section_nodes.pl        |    4 +-
 .../nodes_after_top_before_section_sections.pl     |    4 +-
 ...s_after_top_before_section_texi2html_chapter.pl |    4 +-
 ...after_top_before_section_texi2html_use_nodes.pl |    4 +-
 ...p_before_section_texi2html_use_nodes_chapter.pl |    4 +-
 tp/t/results/sectioning/nodes_before_top.pl        |    8 +-
 .../nodes_no_node_top_explicit_directions.pl       |    4 +-
 tp/t/results/sectioning/novalidate.pl              |    8 +-
 tp/t/results/sectioning/part_chapter_after_top.pl  |    4 +-
 tp/t/results/sectioning/part_node_after_top.pl     |    4 +-
 tp/t/results/sectioning/part_node_before_top.pl    |    4 +-
 .../sectioning/part_node_chapter_after_top.pl      |    4 +-
 .../sectioning/part_node_chapter_appendix.pl       |    4 +-
 .../sectioning/part_node_chapter_node_appendix.pl  |    4 +-
 .../sectioning/part_node_node_part_appendix.pl     |    4 +-
 tp/t/results/sectioning/part_node_part_appendix.pl |    4 +-
 .../sectioning/part_node_part_node_appendix.pl     |    4 +-
 .../sectioning/protected_node_parentheses.pl       |    4 +-
 .../reference_to_only_special_spaces_node.pl       |    6 +-
 tp/t/results/sectioning/section_before_part.pl     |    4 +-
 tp/t/results/sectioning/section_before_top.pl      |    4 +-
 .../results/sectioning/section_below_unnumbered.pl |   18 +-
 .../sectioning/section_chapter_before_top_nodes.pl |    8 +-
 tp/t/results/sectioning/semi_auto.pl               |    8 +-
 .../setfilename_on_top_and_after_node.pl           |    8 +-
 tp/t/results/sectioning/space_in_node.pl           |    4 +-
 .../sectioning/split_for_format_not_split.pl       |    6 +-
 .../sectioning/top_node_no_menu_direction.pl       |    4 +-
 .../transliterated_split_equivalent_nodes.pl       |    4 +-
 tp/t/results/sectioning/two_nodes_at_the_end.pl    |    4 +-
 .../sectioning/two_nodes_at_the_end_nodes.pl       |    4 +-
 .../sectioning/two_nodes_at_the_end_texi2html.pl   |    4 +-
 .../sectioning/two_nodes_between_chapters.pl       |    4 +-
 .../sectioning/two_nodes_between_chapters_nodes.pl |    4 +-
 .../two_nodes_between_chapters_texi2html.pl        |    4 +-
 .../unknown_node_direction_novalidate.pl           |    4 +-
 tp/t/results/sectioning/unknown_node_in_menu.pl    |    4 +-
 .../sectioning/unknown_node_in_menu_novalidate.pl  |    8 +-
 ...dex_entries_relate_to_item_no_transformation.pl |   42 +-
 .../index_entries_relate_to_item_transformation.pl |   42 +-
 .../insert_nodes_for_sectioning_commands.pl        |    6 +-
 tp/t/results/transformations/master_menu_fr.pl     |   16 +-
 .../transformations/protect_colon_source_mark.pl   |    4 +-
 .../transformations/protect_comma_source_mark.pl   |    8 +-
 ...st_parenthesis_after_parenthesis_source_mark.pl |    4 +-
 .../protect_first_parenthesis_source_mark.pl       |    4 +-
 ...otect_hashchar_at_line_beginning_source_mark.pl |   16 +-
 ...ct_node_after_label_source_mark_in_protected.pl |    8 +-
 ...generate_master_menu_no_need_for_master_menu.pl |    4 +-
 .../regenerate_master_menu_with_menu_comment.pl    |    8 +-
 .../value/begin_like_comment_on_set_line.pl        |    4 +-
 tp/t/results/value/clear_no_end_of_line.pl         |    4 +-
 .../closing_brace_in_value_in_ignored_inline.pl    |    4 +-
 tp/t/results/value/comment_on_clear_line.pl        |   24 +-
 tp/t/results/value/comment_on_set_line.pl          |   16 +-
 tp/t/results/value/empty_set.pl                    |    4 +-
 tp/t/results/value/empty_value_in_line.pl          |    4 +-
 tp/t/results/value/ignored_value_definition.pl     |    4 +-
 tp/t/results/value/not_only_characters.pl          |    4 +-
 tp/t/results/value/recursive_expansion_in_set.pl   |    4 +-
 tp/t/results/value/set_flag_command_equivalent.pl  |    8 +-
 tp/t/results/value/set_form_feed.pl                |   12 +-
 tp/t/results/value/set_in_item_missing_line.pl     |   32 +-
 tp/t/results/value/set_no_end_of_line.pl           |    4 +-
 tp/t/results/value/set_on_item_line.pl             |   56 +-
 tp/t/results/value/simple.pl                       |    4 +-
 tp/t/results/value/spaces_before_value.pl          |    4 +-
 tp/t/results/value/value_after_accent.pl           |    4 +-
 tp/t/results/value/value_after_brace_command.pl    |    8 +-
 tp/t/results/value/value_in_index_commands.pl      |   68 +-
 .../value/value_in_invalid_documentencoding.pl     |    8 +-
 tp/t/results/value/value_in_misc_commands.pl       |  366 +++----
 tp/t/results/value/value_in_node.pl                |   16 +-
 tp/t/results/value/value_node_directions.pl        |    4 +-
 tp/t/results/value/value_zero.pl                   |    4 +-
 .../value_and_macro/comma_value_in_macro_arg.pl    |    8 +-
 tp/t/results/value_and_macro/macro_in_value.pl     |    8 +-
 .../results/value_and_macro/value_in_macro_body.pl |    8 +-
 .../value_and_macro/value_in_macro_formal_arg.pl   |    8 +-
 tp/t/results/verb/comments.pl                      |   12 +-
 tp/t/results/xml_tests/commands_and_spaces.pl      |   64 +-
 tp/t/results/xml_tests/comments_end_lines.pl       |  108 +-
 .../xml_tests/comments_on_block_command_lines.pl   |  208 ++--
 .../xml_tests/comments_on_misc_command_line.pl     |   66 +-
 tp/t/results/xml_tests/image_inline_or_not.pl      |   24 +-
 tp/t/results/xml_tests/lone_bye.pl                 |    6 +-
 tp/t/results/xml_tests/macro_and_args.pl           |    8 +-
 tp/t/results/xml_tests/raw.pl                      |    8 +-
 tp/t/results/xml_tests/raw_and_comments.pl         |   32 +-
 tp/t/results/xml_tests/spaces_info_lost.pl         |    8 +-
 tp/t/results/xml_tests/top_node_and_bye.pl         |    6 +-
 tp/t/results/xtable/accent_on_table_line.pl        |   70 +-
 tp/t/results/xtable/block_commands_in_table.pl     |   86 +-
 .../xtable/comment_and_itemx_before_item.pl        |   14 +-
 .../results/xtable/definfoenclose_on_table_line.pl |   16 +-
 tp/t/results/xtable/empty_item_itemx.pl            |   24 +-
 tp/t/results/xtable/empty_table.pl                 |    4 +-
 tp/t/results/xtable/headitem_in_table.pl           |    8 +-
 .../xtable/index_command_before_end_table.pl       |   16 +-
 .../results/xtable/inter_item_commands_in_table.pl |  218 ++---
 .../inter_item_commands_in_table_in_example.pl     |   40 +-
 .../xtable/invalid_command_and_brace_in_table.pl   |    4 +-
 tp/t/results/xtable/item_index_transformation.pl   |  108 +-
 tp/t/results/xtable/itemx_before_item.pl           |    8 +-
 tp/t/results/xtable/long_item.pl                   |   12 +-
 .../xtable/no_arg_brace_command_on_table_line.pl   |    8 +-
 tp/t/results/xtable/no_argument_for_table.pl       |    8 +-
 tp/t/results/xtable/table_nested.pl                |  116 +--
 tp/t/results/xtable/text_between_item_itemx.pl     |   12 +-
 tp/t/results/xtable/title_and_itemx_before_item.pl |    8 +-
 tp/t/test_utils.pl                                 |    2 +-
 1379 files changed, 14976 insertions(+), 15125 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 98db6341b3..96d4426215 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,111 @@
+2024-11-23  Patrice Dumas  <pertusus@free.fr>
+
+       remove remaining args from line commands and from Texinfo tree
+
+       * tp/Texinfo/ParserNonXS.pm (_parse_float_type),
+       tp/Texinfo/XS/main/floats.c (parse_float_type): let callers determine
+       the element with the Texinfo code corresponding to the float
+       identifier.  Update callers.
+
+       * tp/Texinfo/Common.pm (informative_command_value)
+       (index_content_element), tp/Texinfo/ParserNonXS.pm
+       (_is_container_empty, _end_line_misc_line, _end_line_starting_block)
+       (_handle_line_command, _handle_comma, _parse_line_command_args),
+       tp/Texinfo/Structuring.pm (new_block_command),
+       tp/Texinfo/Transformations.pm (_correct_level),
+       tp/Texinfo/XS/main/manipulate_indices.c (index_content_element),
+       tp/Texinfo/XS/main/utils.c (informative_command_value),
+       tp/Texinfo/XS/parsetexi/close.c (is_container_empty),
+       tp/Texinfo/XS/parsetexi/end_line.c (parse_line_command_args)
+       (end_line_starting_block, end_line_misc_line),
+       tp/Texinfo/XS/parsetexi/handle_commands.c (handle_line_command),
+       tp/Texinfo/XS/parsetexi/separator.c (handle_comma),
+       tp/Texinfo/XS/structuring_transfo/structuring.c (new_block_command),
+       tp/Texinfo/XS/structuring_transfo/transformations.c (correct_level):
+       use contents instead of args for non root line commands.
+
+       * tp/Texinfo/ManipulateTree.pm
+       (_relate_index_entries_to_table_items_in): avoid spurious
+       autovivification.
+
+       * tp/Texinfo/OutputUnits.pm (units_directions),
+       tp/Texinfo/XS/main/output_unit.c, (units_directions): use contents to
+       determine if a node has automatic directions.
+
+       * tp/Texinfo/Common.pm (_collect_commands_in_tree)
+       (_collect_commands_list_in_tree, debug_print_element, debug_hash),
+       tp/Texinfo/ManipulateTree.pm (_copy_tree, _remove_element_copy_info)
+       (modify_tree), tp/Texinfo/Translations.pm (_substitute),
+       tp/Texinfo/XS/main/build_perl_info.c (element_to_perl_hash),
+       tp/Texinfo/XS/main/debug.c (print_element_debug),
+       tp/Texinfo/XS/main/manipulate_tree.c (copy_tree_internal)
+       (remove_element_copy_info, modify_tree),
+       tp/Texinfo/XS/main/translations.c (substitute),
+       tp/Texinfo/XS/main/tree.c (destroy_element)
+       (destroy_element_and_children), tp/Texinfo/XS/main/tree_types.h
+       (CONTAINER), tp/Texinfo/XS/parsetexi/debug_parser.c
+       (print_element_debug_parser), tp/t/test_utils.pl (@contents_keys):
+       remove code going through args as there are no args anymore.  Remove
+       add_to_element_args, insert_into_args, insert_list_slice_into_args,
+       remove_from_args, pop_element_from_args, last_args_child and
+       args_child_by_index from tree.c.
+
+       * tp/Texinfo/Convert/DocBook.pm (_convert),
+       tp/Texinfo/Convert/LaTeX.pm (_convert),
+       tp/Texinfo/Convert/Plaintext.pm (_convert), tp/Texinfo/Convert/Text.pm
+       (_convert), tp/Texinfo/XS/main/convert_to_text.c
+       (convert_to_text_internal): return right after a line command is
+       formatted.
+
+       * tp/Texinfo/Convert/HTML.pm (_convert): add $data_command_name set
+       to item_LINE for @item in @*table, as in C.
+
+       * tp/Texinfo/Convert/Texinfo.pm (_convert_to_texinfo),
+       tp/Texinfo/XS/main/convert_to_texinfo.c (convert_to_texinfo_internal):
+       reorganize code, inlining _expand_cmd_args_to_texi in
+       _convert_to_texinfo and updating for the change of args to contents
+       for line commands.
+
+       * tp/Texinfo/Convert/Converter.pm
+       (normalized_sectioning_command_filename)
+       (format_comment_or_return_end_line, table_item_content_tree)
+       (comma_index_subentries_tree), tp/Texinfo/Convert/DocBook.pm
+       (conversion_output_begin, _index_entry)
+       (_convert_argument_and_end_line, _convert), tp/Texinfo/Convert/HTML.pm
+       (_internal_command_tree, command_description)
+       (_convert_quotation_command, _convert_item_command)
+       (_convert_printindex_command, _convert_menu_entry_type)
+       (_prepare_simpletitle, _prepare_converted_output_info, _convert),
+       tp/Texinfo/Convert/IXIN.pm, tp/Texinfo/Convert/Info.pm (_info_header),
+       tp/Texinfo/Convert/LaTeX.pm (_prepare_conversion, _title)
+       (_include_file_name, _convert),
+       tp/Texinfo/Convert/NodeNameNormalization.pm (_convert),
+       tp/Texinfo/Convert/Plaintext.pm (_convert),
+       tp/Texinfo/Convert/TexinfoMarkup.pm (_end_line_spaces, _texinfo_line)
+       (_convert_argument_and_end_line, _convert), tp/Texinfo/Convert/Text.pm
+       (_convert), tp/Texinfo/Convert/TextContent.pm (_convert),
+       tp/Texinfo/DebugTree.pm (_print_tree), tp/Texinfo/Indices.pm
+       (_idx_leading_text_or_command), tp/Texinfo/XS/convert/convert_html.c
+       (html_prepare_simpletitle, html_prepare_converted_output_info)
+       (html_convert_tree_append), tp/Texinfo/XS/convert/converter.c
+       (normalized_sectioning_command_filename, table_item_content_tree)
+       (comma_index_subentries_tree), tp/Texinfo/XS/convert/format_html.c
+       (html_command_description, html_convert_quotation_command)
+       (html_convert_item_command, html_convert_printindex_command)
+       (html_convert_menu_entry_type), tp/Texinfo/XS/main/convert_to_text.c
+       (convert_to_text_internal), tp/Texinfo/XS/main/manipulate_indices.c
+       (idx_leading_text_or_command),
+       tp/Texinfo/XS/main/node_name_normalization.c
+       (convert_to_normalized_internal), tp/ext/epub3.pm (epub_finish),
+       tp/init/documentation_examples.pm
+       (my_test_documentation_convert_index_entry_command_type),
+       tp/t/init/ignore_and_comments_output.init (convert_comment_command),
+       tp/t/init/redefine_need.init (my_need_formatting): update for
+       replacement of args by contents for line commands for conversion.
+
+       * tp/t/01use.t ($manual_tree): update for replacement of args by
+       contents.
+
 2024-11-14  Patrice Dumas  <pertusus@free.fr>
 
        root line commands in 'argument' container in contents
diff --git a/doc/tp_api/api_includes/Texinfo-Common.texi 
b/doc/tp_api/api_includes/Texinfo-Common.texi
index 9d82a04139..b7b479a029 100644
--- a/doc/tp_api/api_includes/Texinfo-Common.texi
+++ b/doc/tp_api/api_includes/Texinfo-Common.texi
@@ -389,7 +389,7 @@ that it corresponds to @code{OUTPUT_ENCODING_NAME}.
 Split the @emph{$element} contents at @code{@@|} in at max three parts.
 Return an element containing the split parts in contents, or @code{undef} if
 the @emph{$element} has no useful content.  The input @emph{$element}
-is supposed to be @code{$element->@{'args'@}->[0]}
+is supposed to be @code{$element->@{'contents'@}->[0]}
 of @code{%Texinfo::Commands::heading_spec_commands} commands such as 
@code{@@everyheading}.
 
 @item $status = valid_customization_option($name)
diff --git a/doc/tp_api/api_includes/Texinfo-Convert-NodeNameNormalization.texi 
b/doc/tp_api/api_includes/Texinfo-Convert-NodeNameNormalization.texi
index 5f94ef1c88..05f6dc58ec 100644
--- a/doc/tp_api/api_includes/Texinfo-Convert-NodeNameNormalization.texi
+++ b/doc/tp_api/api_includes/Texinfo-Convert-NodeNameNormalization.texi
@@ -13,10 +13,10 @@ Texinfo::Convert::NodeNameNormalization - Normalize and 
transliterate Texinfo tr
   use Texinfo::Convert::NodeNameNormalization qw(convert_to_identifier
                                         normalize_transliterate_texinfo);
 
-  my $normalized = convert_to_identifier($node_element->{'args'}->[0]);
+  my $normalized = convert_to_identifier($node_element->{'contents'}->[0]);
 
   my $file_name
-    = normalize_transliterate_texinfo($section_element->{'args'}->[0]);
+    = normalize_transliterate_texinfo($section_element->{'contents'}->[0]);
 @end verbatim
 
 @node Texinfo@asis{::}Convert@asis{::}NodeNameNormalization NOTES
diff --git a/doc/tp_api/api_includes/Texinfo-Parser.texi 
b/doc/tp_api/api_includes/Texinfo-Parser.texi
index 257c7b7da2..03d63946c5 100644
--- a/doc/tp_api/api_includes/Texinfo-Parser.texi
+++ b/doc/tp_api/api_includes/Texinfo-Parser.texi
@@ -574,8 +574,8 @@ leads to
 
 @verbatim
  {'cmdname' => 'code',
-  'args' => [{'type' => 'brace_container',
-              'contents' => [{'text' => 'in code'}]}]}
+  'contents' => [{'type' => 'brace_container',
+                  'contents' => [{'text' => 'in code'}]}]}
 @end verbatim
 
 @item bracketed_arg
diff --git a/tp/Texinfo/Common.pm b/tp/Texinfo/Common.pm
index 1ce806e721..f957fa26a0 100644
--- a/tp/Texinfo/Common.pm
+++ b/tp/Texinfo/Common.pm
@@ -774,7 +774,8 @@ sub relocate_source_marks($$$$)
 # $LABEL_CONTENTS_CONTAINER->{'contents'} is the Texinfo for the specification
 # of a node.  It is relevant in any situation when a label is expected,
 # @node, menu entry, float, anchor...  For the @node command, for instance,
-# $LABEL_CONTENTS_CONTAINER is typically $node->{'args'}->[0].
+# $LABEL_CONTENTS_CONTAINER is typically
+# $node->{'contents'}->[0]->{'contents'}->[0].
 #
 # Returned object is a hash with two fields:
 #
@@ -1121,8 +1122,8 @@ sub informative_command_value($)
   if ($Texinfo::Commands::line_commands{$cmdname} eq 'lineraw') {
     if (not $Texinfo::Commands::commands_args_number{$cmdname}) {
       return 1;
-    } elsif ($element->{'args'}) {
-      return join(' ', map {$_->{'text'}} @{$element->{'args'}});
+    } elsif ($element->{'contents'}) {
+      return join(' ', map {$_->{'text'}} @{$element->{'contents'}});
     }
   } elsif ($element->{'extra'}
            and exists($element->{'extra'}->{'text_arg'})) {
@@ -1131,12 +1132,10 @@ sub informative_command_value($)
            and exists($element->{'extra'}->{'misc_args'}->[0])) {
     return $element->{'extra'}->{'misc_args'}->[0];
   } elsif ($Texinfo::Commands::line_commands{$cmdname} eq 'line'
-           and $element->{'args'} and scalar(@{$element->{'args'}})
-           and $element->{'args'}->[0]
-           and $element->{'args'}->[0]->{'contents'}
-           and scalar(@{$element->{'args'}->[0]->{'contents'}})
-           and exists($element->{'args'}->[0]->{'contents'}->[0]->{'text'})) {
-    return $element->{'args'}->[0]->{'contents'}->[0]->{'text'};
+           and $element->{'contents'}->[0]->{'contents'}
+           and scalar(@{$element->{'contents'}->[0]->{'contents'}})
+           and 
exists($element->{'contents'}->[0]->{'contents'}->[0]->{'text'})) {
+    return $element->{'contents'}->[0]->{'contents'}->[0]->{'text'};
   }
   return undef;
 }
@@ -1545,7 +1544,7 @@ sub index_content_element($;$)
       return $element->{'extra'}->{'def_index_element'};
     }
   } else {
-    return $element->{'args'}->[0];
+    return $element->{'contents'}->[0];
   }
 }
 
@@ -1676,7 +1675,7 @@ sub _collect_commands_in_tree($$)
       and defined($commands_hash->{$current->{'cmdname'}})) {
     push @{$commands_hash->{$current->{'cmdname'}}}, $current;
   }
-  foreach my $key ('args', 'contents') {
+  foreach my $key ('contents') {
     if ($current->{$key}) {
       foreach my $child (@{$current->{$key}}) {
         _collect_commands_in_tree($child, $commands_hash);
@@ -1710,7 +1709,7 @@ sub _collect_commands_list_in_tree($$$)
       and defined($commands_hash->{$current->{'cmdname'}})) {
     push @{$collected_commands_list}, $current;
   }
-  foreach my $key ('args', 'contents') {
+  foreach my $key ('contents') {
     if ($current->{$key}) {
       foreach my $child (@{$current->{$key}}) {
         _collect_commands_list_in_tree($child, $commands_hash,
@@ -1824,7 +1823,6 @@ sub debug_print_element($;$)
     if (defined($current->{'cmdname'})) {
       $cmd = '@' . debug_command_name($current->{'cmdname'});
     }
-    $args = "[A".scalar(@{$current->{'args'}}).']' if $current->{'args'};
     $contents = "[C".scalar(@{$current->{'contents'}}).']'
        if $current->{'contents'};
   }
@@ -1936,7 +1934,7 @@ sub debug_hash
 # for debugging
 use Data::Dumper;
 
-my @kept_keys = ('contents', 'cmdname', 'type', 'text', 'args',
+my @kept_keys = ('contents', 'cmdname', 'type', 'text',
   'extra', 'info', 'spaces_before_argument',
   'spaces_after_argument', 'comment_at_end', 'index_entry'
 );
@@ -2310,7 +2308,7 @@ X<C<split_custom_heading_command_contents>>
 Split the I<$element> contents at C<@|> in at max three parts.
 Return an element containing the split parts in contents, or C<undef> if
 the I<$element> has no useful content.  The input I<$element>
-is supposed to be C<< $element->{'args'}->[0] >>
+is supposed to be C<< $element->{'contents'}->[0] >>
 of C<%Texinfo::Commands::heading_spec_commands> commands such as 
C<@everyheading>.
 
 =item $status = valid_customization_option($name)
diff --git a/tp/Texinfo/Convert/Converter.pm b/tp/Texinfo/Convert/Converter.pm
index 9180007bfd..152e863032 100644
--- a/tp/Texinfo/Convert/Converter.pm
+++ b/tp/Texinfo/Convert/Converter.pm
@@ -662,7 +662,7 @@ sub normalized_sectioning_command_filename($$)
   if ($Texinfo::Commands::root_commands{$command->{'cmdname'}}) {
     $label_element = $command->{'contents'}->[0]->{'contents'}->[0];
   } else {
-    $label_element = $command->{'args'}->[0];
+    $label_element = $command->{'contents'}->[0];
   }
   my $normalized_name
     = Texinfo::Convert::NodeNameNormalization::normalize_transliterate_texinfo(
@@ -1340,23 +1340,23 @@ sub format_comment_or_return_end_line($$)
 
   my $end_line;
 
-  my $arguments_list;
-  if ($element->{'args'}) {
-    $arguments_list = $element->{'args'};
-  } elsif ($element->{'contents'} and scalar(@{$element->{'contents'}})
-           and $element->{'contents'}->[0]->{'type'}
-           and $element->{'contents'}->[0]->{'type'} eq 'argument') {
-    $arguments_list = $element->{'contents'}->[0]->{'contents'};
+  my $line_arg;
+  if ($element->{'contents'}
+      and $element->{'contents'}->[0]->{'type'}
+      and $element->{'contents'}->[0]->{'type'} eq 'argument') {
+    $line_arg = $element->{'contents'}->[0]->{'contents'}->[-1];
+  } elsif ($element->{'contents'}) {
+    $line_arg = $element->{'contents'}->[-1];
   }
 
-  my $comment = $arguments_list->[-1]->{'info'}->{'comment_at_end'}
-    if $arguments_list and $arguments_list->[-1]->{'info'};
+  my $comment = $line_arg->{'info'}->{'comment_at_end'}
+    if ($line_arg and $line_arg->{'info'});
 
   if ($comment) {
     $end_line = $self->convert_tree($comment);
-  } elsif ($arguments_list and $arguments_list->[-1]->{'info'}
-      and $arguments_list->[-1]->{'info'}->{'spaces_after_argument'}) {
-    my $text = $arguments_list->[-1]
+  } elsif ($line_arg and $line_arg->{'info'}
+      and $line_arg->{'info'}->{'spaces_after_argument'}) {
+    my $text = $line_arg
                    ->{'info'}->{'spaces_after_argument'}->{'text'};
     if (chomp($text)) {
       $end_line = "\n";
@@ -1514,8 +1514,7 @@ sub table_item_content_tree($$)
   my $element = shift;
 
   my $table_command = $element->{'parent'}->{'parent'}->{'parent'};
-  if ($element->{'args'}
-      and $table_command->{'extra'}
+  if ($table_command->{'extra'}
       and $table_command->{'extra'}->{'command_as_argument'}) {
     my $command_as_argument
       = $table_command->{'extra'}->{'command_as_argument'};
@@ -1546,21 +1545,21 @@ sub table_item_content_tree($$)
       $arg = {'type' => 'brace_command_context',
               'parent' => $command,};
       if ($Texinfo::Commands::math_commands{$builtin_cmdname}) {
-        $arg->{'contents'} = [$element->{'args'}->[0]];
+        $arg->{'contents'} = [$element->{'contents'}->[0]];
       } else {
         my $paragraph = {'type' => 'paragraph',
-                         'contents' => [$element->{'args'}->[0]],
+                         'contents' => [$element->{'contents'}->[0]],
                          'parent' => $arg};
         $arg->{'contents'} = [$paragraph];
       }
     } elsif ($Texinfo::Commands::brace_commands{$builtin_cmdname}
                                                    eq 'arguments') {
       $arg = {'type' => 'brace_arg',
-              'contents' => [$element->{'args'}->[0]],
+              'contents' => [$element->{'contents'}->[0]],
               'parent' => $command,};
     } else {
       $arg = {'type' => 'brace_container',
-              'contents' => [$element->{'args'}->[0]],
+              'contents' => [$element->{'contents'}->[0]],
               'parent' => $command,};
     }
     $command->{'contents'} = [$arg];
@@ -1615,7 +1614,7 @@ sub comma_index_subentries_tree {
   my @contents;
   while ($current_entry->{'extra'} and 
$current_entry->{'extra'}->{'subentry'}) {
     $current_entry = $current_entry->{'extra'}->{'subentry'};
-    push @contents, {'text' => $separator}, $current_entry->{'args'}->[0];
+    push @contents, {'text' => $separator}, $current_entry->{'contents'}->[0];
   }
   if (scalar(@contents)) {
     return {'contents' => \@contents};
diff --git a/tp/Texinfo/Convert/DocBook.pm b/tp/Texinfo/Convert/DocBook.pm
index 2b39d35a95..97614d9e5c 100644
--- a/tp/Texinfo/Convert/DocBook.pm
+++ b/tp/Texinfo/Convert/DocBook.pm
@@ -413,8 +413,7 @@ sub conversion_output_begin($;$$)
     foreach my $title_cmdname ('title', 'shorttitlepage') {
       if ($global_commands->{$title_cmdname}) {
         my $command = $global_commands->{$title_cmdname};
-        next if (!$command->{'args'}
-                 or !$command->{'args'}->[0]->{'contents'});
+        next if (!$command->{'contents'}->[0]->{'contents'});
         $fulltitle_command = $command;
         last;
       }
@@ -485,8 +484,7 @@ sub conversion_output_begin($;$$)
   if ($global_commands and $global_commands->{'settitle'}) {
     my $command = $global_commands->{'settitle'};
     $settitle_command = $command
-      unless (!$command->{'args'}
-              or !$command->{'args'}->[0]->{'contents'});
+      unless (!$command->{'contents'}->[0]->{'contents'});
   }
 
   my $titleabbrev_command;
@@ -648,7 +646,7 @@ sub _index_entry($$)
     while ($tmp->{'extra'}->{'subentry'}) {
       $result .= "<$level>";
       $tmp = $tmp->{'extra'}->{'subentry'};
-      $result .= _convert($self, $tmp->{'args'}->[0]);
+      $result .= _convert($self, $tmp->{'contents'}->[0]);
       $result .= "</$level>";
       $level = "tertiary";
     }
@@ -702,10 +700,11 @@ sub _convert_argument_and_end_line($$)
   my $element = shift;
 
   my $line_arg;
-  if ($element->{'args'}) {
-    $line_arg = $element->{'args'}->[-1];
-  } else {
+  if ($element->{'contents'}->[0]->{'type'}
+      and $element->{'contents'}->[0]->{'type'} eq 'argument') {
     $line_arg = $element->{'contents'}->[0]->{'contents'}->[-1];
+  } else {
+    $line_arg = $element->{'contents'}->[-1];
   }
   my $converted = $self->convert_tree($line_arg);
   my $end_line = $self->format_comment_or_return_end_line($element);
@@ -893,10 +892,9 @@ sub _convert($$;$)
 
         $result .= "<term>" if ($cmdname eq 'itemx');
         $result .= _index_entry($self, $element);
-        if ($element->{'args'}
-            and $element->{'args'}->[0]->{'contents'}) {
+        if ($element->{'contents'}->[0]->{'contents'}) {
           my $table_item_tree = $self->table_item_content_tree($element);
-          $table_item_tree = $element->{'args'}->[0]
+          $table_item_tree = $element->{'contents'}->[0]
             if (!defined($table_item_tree));
 
           $result .= _convert($self, $table_item_tree);
@@ -904,6 +902,7 @@ sub _convert($$;$)
         chomp ($result);
         $result .= "\n";
         $result .= "</term>";
+        return $result;
       } else {
         unless (($cmdname eq 'item'
                  or $cmdname eq 'headitem'
@@ -919,9 +918,7 @@ sub _convert($$;$)
     } elsif ($element->{'type'}
              and $element->{'type'} eq 'index_entry_command') {
       my $end_line;
-      if ($element->{'extra'} and $element->{'extra'}->{'index_entry'}
-          # this condition is probably always true as extra index_entry is set
-          and $element->{'args'}) {
+      if ($element->{'extra'} and $element->{'extra'}->{'index_entry'}) {
         $end_line = $self->format_comment_or_return_end_line($element);
         if ($self->{'document_context'}->[-1]->{'in_preformatted'}) {
           chomp($end_line);
@@ -1054,9 +1051,9 @@ sub _convert($$;$)
           }
         }
       } elsif ($cmdname eq 'c' or $cmdname eq 'comment') {
-        return $self->xml_comment($element->{'args'}->[0]->{'text'})
+        return $self->xml_comment($element->{'contents'}->[0]->{'text'})
       } elsif ($Texinfo::Commands::sectioning_heading_commands{$cmdname}) {
-        if ($element->{'args'}) {
+        if (!$Texinfo::Commands::root_commands{$cmdname}) {
           my ($arg, $end_line)
             = _convert_argument_and_end_line($self, $element);
           $result .=
@@ -1102,6 +1099,7 @@ sub _convert($$;$)
           = Texinfo::Convert::Utils::expand_verbatiminclude($self, $element);
         if (defined($verbatim_include_verbatim)) {
           $result .= _convert($self, $verbatim_include_verbatim);
+          return $result;
         } else {
           return '';
         }
@@ -1698,9 +1696,9 @@ sub _convert($$;$)
         if ($element->{'extra'}) {
           if ($element->{'extra'}->{'authors'}) {
             foreach my $author (@{$element->{'extra'}->{'authors'}}) {
-              if ($author->{'args'} and $author->{'args'}->[0]->{'contents'}) {
+              if ($author->{'contents'}->[0]->{'contents'}) {
                 $appended .= '<attribution>'.
-                       _convert($self, $author->{'args'}->[0])
+                       _convert($self, $author->{'contents'}->[0])
                            ."</attribution>\n";
               }
             }
diff --git a/tp/Texinfo/Convert/HTML.pm b/tp/Texinfo/Convert/HTML.pm
index 78ee71d1c8..6921dde510 100644
--- a/tp/Texinfo/Convert/HTML.pm
+++ b/tp/Texinfo/Convert/HTML.pm
@@ -1295,7 +1295,7 @@ sub _internal_command_tree($$$)
         if ($root_commands{$command->{'cmdname'}}) {
           $line_arg = $command->{'contents'}->[0]->{'contents'}->[0];
         } else {
-          $line_arg = $command->{'args'}->[0];
+          $line_arg = $command->{'contents'}->[0];
         }
         if ($line_arg->{'contents'}) {
           my $section_number;
@@ -1575,7 +1575,7 @@ sub command_description($$;$)
 
     my $description_element;
     if ($node_description->{'cmdname'} eq 'nodedescription') {
-      $description_element = $node_description->{'args'}->[0];
+      $description_element = $node_description->{'contents'}->[0];
     } else {
       $description_element = {'contents' => $node_description->{'contents'}};
     }
@@ -5456,11 +5456,10 @@ sub _convert_quotation_command($$$$$)
     # TODO there is no easy way to mark with a class the @author
     # @-command.  Add a span or a div (@center is in a div)?
     foreach my $author (@{$command->{'extra'}->{'authors'}}) {
-      if ($author->{'args'}->[0]
-          and $author->{'args'}->[0]->{'contents'}) {
+      if ($author->{'contents'}->[0]->{'contents'}) {
         # TRANSLATORS: quotation author
         my $centered_author = $self->cdt("\@center --- \@emph{{author}}",
-           {'author' => $author->{'args'}->[0]});
+           {'author' => $author->{'contents'}->[0]});
         $centered_author->{'parent'} = $command;
         $result .= $self->convert_tree($centered_author,
                                             'convert quotation author');
@@ -5682,8 +5681,7 @@ sub _convert_item_command($$$$$)
     }
   } elsif ($command->{'parent'}->{'type'}
            and $command->{'parent'}->{'type'} eq 'table_term') {
-    if ($command->{'args'} and scalar(@{$command->{'args'}})
-        and $command->{'args'}->[0]->{'contents'}) {
+    if ($command->{'contents'}->[0]->{'contents'}) {
 
       my $result = ($cmdname eq 'item') ? '' : '<dt>';
 
@@ -5710,7 +5708,7 @@ sub _convert_item_command($$$$$)
         }
       }
       my $table_item_tree = $self->table_item_content_tree($command);
-      $table_item_tree = $command->{'args'}->[0]
+      $table_item_tree = $command->{'contents'}->[0]
         if (!defined($table_item_tree));
       my $converted_item = $self->convert_tree($table_item_tree,
                                           'convert table_item_tree');
@@ -6232,9 +6230,8 @@ sub _convert_printindex_command($$$$)
              and $subentry_level <= $subentries_max_level) {
         $subentry = $subentry->{'extra'}->{'subentry'};
         my $subentry_tree;
-        if ($subentry->{'args'} and $subentry->{'args'}->[0]
-            and $subentry->{'args'}->[0]->{'contents'}) {
-          $subentry_tree = {'contents' => [$subentry->{'args'}->[0]]};
+        if ($subentry->{'contents'}->[0]->{'contents'}) {
+          $subentry_tree = {'contents' => [$subentry->{'contents'}->[0]]};
           $subentry_tree->{'type'} = '_code' if ($in_code);
         }
         if ($subentry_level >= $subentries_max_level) {
@@ -7422,7 +7419,7 @@ sub _convert_menu_entry_type($$$)
     if ($formatted_nodedescription_nr) {
       my $description_element;
       if ($node_description->{'cmdname'} eq 'nodedescription') {
-        $description_element = $node_description->{'args'}->[0];
+        $description_element = $node_description->{'contents'}->[0];
       } else {
         $description_element = {'contents' => $node_description->{'contents'}};
       }
@@ -7484,7 +7481,7 @@ sub _convert_menu_entry_type($$$)
   if ($formatted_nodedescription_nr) {
     my $description_element;
     if ($node_description->{'cmdname'} eq 'nodedescription') {
-      $description_element = $node_description->{'args'}->[0];
+      $description_element = $node_description->{'contents'}->[0];
     } else {
       $description_element = {'contents' => $node_description->{'contents'}};
     }
@@ -12232,11 +12229,9 @@ sub _prepare_simpletitle($)
       foreach my $simpletitle_command ('settitle', 'shorttitlepage') {
         if ($global_commands->{$simpletitle_command}) {
           my $command = $global_commands->{$simpletitle_command};
-          next if (!$command->{'args'} or !$command->{'args'}->[0]
-                    or !$command->{'args'}->[0]->{'contents'}
-                    or !scalar(@{$command->{'args'}->[0]->{'contents'}}));
+          next if (!$command->{'contents'}->[0]->{'contents'});
           $self->{'converter_info'}->{'simpletitle_tree'}
-             = $command->{'args'}->[0];
+             = $command->{'contents'}->[0];
           $self->{'converter_info'}->{'simpletitle_command_name'}
              = $simpletitle_command;
           last;
@@ -12607,13 +12602,11 @@ sub _prepare_converted_output_info($$$$)
   my $fulltitle_tree;
   if ($global_commands) {
     foreach my $fulltitle_command ('settitle', 'title',
-                                   'shorttitlepage', 'top') {
+                                   'shorttitlepage') {
       if ($global_commands->{$fulltitle_command}) {
         my $command = $global_commands->{$fulltitle_command};
-        next if (!$command->{'args'} or !$command->{'args'}->[0]
-                 or !$command->{'args'}->[0]->{'contents'}
-                 or !scalar(@{$command->{'args'}->[0]->{'contents'}}));
-        $fulltitle_tree = $command->{'args'}->[0];
+        next if (!$command->{'contents'}->[0]->{'contents'});
+        $fulltitle_tree = $command->{'contents'}->[0];
         last;
       }
     }
@@ -13556,6 +13549,16 @@ sub _convert($$;$)
             or ($element->{'type'}
                 and $element->{'type'} eq 'index_entry_command'))) {
     my $command_name = $element->{'cmdname'};
+
+    my $data_command_name;
+    if ($command_name eq 'item'
+        and $element->{'parent'}->{'type'}
+        and $element->{'parent'}->{'type'} eq 'table_term') {
+      $data_command_name = 'item_LINE';
+    } else {
+      $data_command_name = $command_name;
+    }
+
     if ($root_commands{$command_name}) {
       $self->{'current_root_command'} = $element;
     }
@@ -13568,7 +13571,11 @@ sub _convert($$;$)
                                                  $command_name, $element);
       }
       my $content_formatted = '';
-      if ($element->{'contents'} and !$brace_commands{$command_name}) {
+      if ($element->{'contents'}
+          and ($root_commands{$command_name}
+               or $block_commands{$command_name}
+               or $command_name eq 'tab' or $command_name eq 'headitem'
+               or $data_command_name eq 'item')) {
         if ($convert_to_latex) {
           # displaymath
           $content_formatted
@@ -13576,11 +13583,11 @@ sub _convert($$;$)
                                     {'contents' => $element->{'contents'}},
                                          $self->{'options_latex_math'});
         } else {
-          my $content_idx = 0;
-          foreach my $content (@{$element->{'contents'}}) {
+          my $contents_nr = scalar(@{$element->{'contents'}});
+          for (my $idx = 0; $idx < $contents_nr; $idx++) {
             $content_formatted
-                .= _convert($self, $content, "$command_type c[$content_idx]");
-            $content_idx++;
+                .= _convert($self, $element->{'contents'}->[$idx],
+                            "$command_type c[$idx]");
           }
         }
       }
@@ -13596,15 +13603,12 @@ sub _convert($$;$)
           or $command_name eq 'float'
           or $command_name eq 'cartouche') {
         my $arguments_list;
-        if ($brace_commands{$command_name}) {
-          $arguments_list = $element->{'contents'};
-        } elsif ($element->{'contents'}
-                 and scalar(@{$element->{'contents'}})
-                 and $element->{'contents'}->[0]->{'type'}
-                 and $element->{'contents'}->[0]->{'type'} eq 'argument') {
+        if ($element->{'contents'}
+            and $element->{'contents'}->[0]->{'type'}
+            and $element->{'contents'}->[0]->{'type'} eq 'argument') {
           $arguments_list = $element->{'contents'}->[0]->{'contents'};
         } else {
-          $arguments_list = $element->{'args'};
+          $arguments_list = $element->{'contents'};
         }
         if ($arguments_list) {
           $args_formatted = [];
diff --git a/tp/Texinfo/Convert/IXIN.pm b/tp/Texinfo/Convert/IXIN.pm
index 71684d09ee..768b5c3764 100644
--- a/tp/Texinfo/Convert/IXIN.pm
+++ b/tp/Texinfo/Convert/IXIN.pm
@@ -622,8 +622,10 @@ sub output_ixin($$)
         $sectioning_tree .= $self->ixin_open_element('sectionentry',
                  \@attributes);
         $sectioning_tree .= $self->ixin_open_element('sectiontitle');
-        if ($section->{'args'} and $section->{'args'}->[0]) {
-          $sectioning_tree .= $self->convert_tree($section->{'args'}->[0]);
+        if ($section->{'contents'}->[0]->{'contents'}->[0]) {
+          $sectioning_tree
+            .= $self->convert_tree(
+                 $section->{'contents'}->[0]->{'contents'}->[0]);
         }
         $sectioning_tree .= $self->ixin_close_element('sectiontitle');
         # top is special and never considered to contain anything.  So
@@ -803,7 +805,7 @@ sub output_ixin($$)
       my $float_type = $listoffloats_element->{'extra'}->{'float_type'};
       if ($float_type ne '') {
         $floats_information{$float_type}->{'type'}
-          = $self->convert_tree($listoffloats_element->{'args'}->[0]);
+          = $self->convert_tree($listoffloats_element->{'contents'}->[0]);
       }
       push @{$floats_information{$float_type}->{'node_id'}}, 
$associated_node_id;
     }
@@ -836,11 +838,12 @@ sub output_ixin($$)
         } else {
           $float_text .= $self->ixin_none_element('floatlabel');
         }
-        if ($float->{'args'} and scalar(@{$float->{'args'}}) >= 2
-            and $float->{'args'}->[1]->{'contents'}) {
+        my $argument = $float->{'contents'}->[0];
+        if ($argument->{'contents'} and scalar(@{$argument->{'contents'}}) >= 2
+            and $argument->{'contents'}->[1]->{'contents'}) {
           $float_text .= $self->ixin_open_element('floatname');
           $float_text .= $self->convert_tree({'contents'
-                                 => $float->{'args'}->[1]->{'contents'}});
+                          => $argument->{'contents'}->[1]->{'contents'}});
           $float_text .= $self->ixin_close_element('floatname');
         } else {
           $float_text .= $self->ixin_none_element('floatname');
@@ -864,8 +867,9 @@ sub output_ixin($$)
       if (!defined($floats_information{$type}->{'type'})) {
         my $float_element = $floats->{$type}->[0];
         if ($float_element->{'extra'}->{'float_type'} ne '') {
+          my $argument = $float_element->{'contents'}->[0]:
           $floats_information{$type}->{'type'}
-            = $self->convert_tree($float_element->{'args'}->[0]);
+            = $self->convert_tree($argument->{'contents'}->[0]);
         }
       }
     }
@@ -912,15 +916,15 @@ sub output_ixin($$)
       my @extension;
       my $basefile;
       my $extension;
-      if (defined($command->{'args'}->[0])
-          and $command->{'args'}->[0]->{'contents'}
-          and @{$command->{'args'}->[0]->{'contents'}}) {
+      if (defined($command->{'contents'}->[0])
+          and $command->{'contents'}->[0]->{'contents'}
+          and @{$command->{'contents'}->[0]->{'contents'}}) {
         Texinfo::Convert::Text::set_options_code(
                                  $self->{'convert_text_options'});
         Texinfo::Convert::Text::set_options_encoding_if_not_ascii($self,
                                   $self->{'convert_text_options'});
         $basefile = Texinfo::Convert::Text::convert_to_text(
-                                          $command->{'args'}->[0],
+                                          $command->{'contents'}->[0],
                                     $self->{'convert_text_options'});
         Texinfo::Convert::Text::reset_options_code(
                                  $self->{'convert_text_options'});
@@ -929,15 +933,15 @@ sub output_ixin($$)
       } else {
         next;
       }
-      if (defined($command->{'args'}->[4])
-          and $command->{'args'}->[4]->{'contents'}
-          and @{$command->{'args'}->[4]->{'contents'}}) {
+      if (defined($command->{'contents'}->[4])
+          and $command->{'contents'}->[4]->{'contents'}
+          and @{$command->{'contents'}->[4]->{'contents'}}) {
         Texinfo::Convert::Text::set_options_code(
                                  $self->{'convert_text_options'});
         Texinfo::Convert::Text::set_options_encoding_if_not_ascii($self,
                                   $self->{'convert_text_options'});
         $extension = Texinfo::Convert::Text::convert_to_text(
-                                        $command->{'args'}->[4],
+                                        $command->{'contents'}->[4],
                                     $self->{'convert_text_options'});
         Texinfo::Convert::Text::reset_options_code(
                                  $self->{'convert_text_options'});
diff --git a/tp/Texinfo/Convert/Info.pm b/tp/Texinfo/Convert/Info.pm
index 90279539b7..bf1bdce038 100644
--- a/tp/Texinfo/Convert/Info.pm
+++ b/tp/Texinfo/Convert/Info.pm
@@ -484,10 +484,9 @@ sub _info_header($$$)
     $self->{'ignored_commands'}->{'direntry'} = 0;
     foreach my $command (@{$global_commands->{'dircategory_direntry'}}) {
       if ($command->{'cmdname'} eq 'dircategory') {
-        if ($command->{'args'} and @{$command->{'args'}}
-            and defined($command->{'args'}->[0]->{'contents'})) {
+        if ($command->{'contents'}->[0]->{'contents'}) {
           my ($converted, undef) = $self->convert_line_new_context(
-             {'contents' => $command->{'args'}->[0]->{'contents'}});
+             {'contents' => $command->{'contents'}->[0]->{'contents'}});
           $self->_stream_output("INFO-DIR-SECTION " . $converted . "\n");
         }
       } elsif ($command->{'cmdname'} eq 'direntry') {
diff --git a/tp/Texinfo/Convert/LaTeX.pm b/tp/Texinfo/Convert/LaTeX.pm
index 2669f353a1..e55afb6ec9 100644
--- a/tp/Texinfo/Convert/LaTeX.pm
+++ b/tp/Texinfo/Convert/LaTeX.pm
@@ -1003,10 +1003,9 @@ sub _prepare_conversion($;$)
 
   if ($global_commands and $global_commands->{'settitle'}) {
     my $settitle_root = $global_commands->{'settitle'};
-    if ($settitle_root->{'args'}->[0]
-        and $settitle_root->{'args'}->[0]->{'contents'}) {
+    if ($settitle_root->{'contents'}->[0]->{'contents'}) {
       $self->{'settitle_tree'} =
-         {'contents' => $settitle_root->{'args'}->[0]->{'contents'}};
+         {'contents' => $settitle_root->{'contents'}->[0]->{'contents'}};
     }
   }
   $self->_prepare_floats();
@@ -2323,10 +2322,10 @@ sub _title($$)
   my $self = shift;
   my $element = shift;
 
-  if ($element->{'args'} and $element->{'args'}->[0]->{'contents'}) {
+  if ($element->{'contents'}->[0]->{'contents'}) {
     # in Texinfo TeX seems a bit smaller, but LARGE seems too small
     my $result = "{\\huge \\bfseries ";
-    $result .= _convert($self, $element->{'args'}->[0]);
+    $result .= _convert($self, $element->{'contents'}->[0]);
     $result .= '}';
     return $result;
   }
@@ -2616,10 +2615,10 @@ sub _include_file_name($$)
   my $self = shift;
   my $source_mark = shift;
   my $file_name;
-  if ($source_mark->{'element'} and $source_mark->{'element'}->{'args'}
-      and scalar (@{$source_mark->{'element'}->{'args'}})) {
+  if ($source_mark->{'element'} and $source_mark->{'element'}->{'contents'}
+      and scalar (@{$source_mark->{'element'}->{'contents'}})) {
     _push_new_context($self, 'include');
-    $file_name = $self->_convert($source_mark->{'element'}->{'args'}->[0]);
+    $file_name = $self->_convert($source_mark->{'element'}->{'contents'}->[0]);
     _pop_context($self);
     $file_name = undef if ($file_name !~ /\S/);
   }
@@ -3952,6 +3951,7 @@ sub _convert($$)
           $result .= "\\begin{$latex_float_environment}\n";
         }
       }
+     # after block commands
     } elsif ($cmdname eq 'node' or $sectioning_heading_commands{$cmdname}) {
       my $node_element;
       if ($cmdname eq 'node') {
@@ -3985,7 +3985,7 @@ sub _convert($$)
           if ($root_commands{$element->{'cmdname'}}) {
             $line_arg = $element->{'contents'}->[0]->{'contents'}->[0];
           } else {
-            $line_arg = $element->{'args'}->[0];
+            $line_arg = $element->{'contents'}->[0];
           }
           if ($line_arg->{'contents'}) {
             # It is useful to know that this is a heading formatting as
@@ -4022,13 +4022,13 @@ sub _convert($$)
           $result .= "\\label{$node_label}%\n";
         }
       }
+      return $result unless ($root_commands{$element->{'cmdname'}});
     } elsif (($cmdname eq 'item' or $cmdname eq 'itemx')
-            and $element->{'args'} and $element->{'args'}->[0]
-            and $element->{'args'}->[0]->{'type'}
-            and $element->{'args'}->[0]->{'type'} eq 'line_arg') {
+             and $element->{'contents'}->[0]->{'type'}
+             and $element->{'contents'}->[0]->{'type'} eq 'line_arg') {
       # item in @*table
       my $last_item = 0;
-      if ($element->{'args'}->[0]->{'contents'}) {
+      if ($element->{'contents'}->[0]->{'contents'}) {
         my $code_style = 0;
         my $table_command = $element->{'parent'}->{'parent'}->{'parent'};
         if ($table_command->{'extra'}
@@ -4042,7 +4042,7 @@ sub _convert($$)
         if ($code_style) {
           push @{$self->{'formatting_context'}->[-1]->{'code'}}, 1;
         }
-        my $converted_arg = _convert($self, $element->{'args'}->[0]);
+        my $converted_arg = _convert($self, $element->{'contents'}->[0]);
         if ($code_style) {
           pop @{$self->{'formatting_context'}->[-1]->{'code'}};
         }
@@ -4064,6 +4064,7 @@ sub _convert($$)
         $result .= "\n";
       }
       $result .= $index_entry;
+      return $result;
     } elsif ($cmdname eq 'item' and $element->{'parent'}->{'cmdname'}
              and $block_commands{$element->{'parent'}->{'cmdname'}}
              and $block_commands{$element->{'parent'}->{'cmdname'}}
@@ -4075,22 +4076,22 @@ sub _convert($$)
       # nothing to do here.  The condition ensures that the commands are not
       # considered as unknown commands in the else below.
     } elsif ($cmdname eq 'center') {
-      if ($element->{'args'}->[0]->{'contents'}) {
+      if ($element->{'contents'}->[0]->{'contents'}) {
         $result .= "\\begin{center}\n";
         $result .= $self->_convert (
-                       {'contents' => $element->{'args'}->[0]->{'contents'}});
+                  {'contents' => $element->{'contents'}->[0]->{'contents'}});
         $result .= "\n\\end{center}\n";
       }
       return $result;
     } elsif ($cmdname eq 'exdent') {
-      if ($element->{'args'}->[0]->{'contents'}) {
+      if ($element->{'contents'}->[0]->{'contents'}) {
         # FIXME \leavevmode{} is added to avoid
         # ! LaTeX Error: There's no line here to end.
         # but it is not clearly correct
         $result .= "\\leavevmode{}\\\\\n";
         $result .= "\\hbox{\\kern -\\leftmargin}%\n";
         $result .= $self->_convert(
-                   {'contents' => $element->{'args'}->[0]->{'contents'}})."\n";
+            {'contents' => $element->{'contents'}->[0]->{'contents'}})."\n";
         $result .= "\\\\\n";
       }
       return $result;
@@ -4201,21 +4202,23 @@ sub _convert($$)
       # $self->{'titlepage_formatting'}->{'in_front_cover'}
       $self->{'titlepage_formatting'}->{'title'} = 1
          if ($self->{'titlepage_formatting'});
+      return $result;
     } elsif ($cmdname eq 'subtitle') {
-      if ($element->{'args'}->[0]->{'contents'}) {
+      if ($element->{'contents'}->[0]->{'contents'}) {
         my $subtitle_text = _convert($self,
-               {'contents' => $element->{'args'}->[0]->{'contents'}});
+               {'contents' => $element->{'contents'}->[0]->{'contents'}});
         # too much vertical spacing with flushright environment
         #$result .= "\\begin{flushright}\n";
         #$result .= $subtitle_text."\n";
         #$result .= "\\end{flushright}\n";
         $result .= "\\rightline{$subtitle_text}\n";
       }
+      return $result;
     } elsif ($cmdname eq 'author') {
       if (not $self->{'formatting_context'}->[-1]->{'in_quotation'}) {
-        if ($element->{'args'}->[0]->{'contents'}) {
+        if ($element->{'contents'}->[0]->{'contents'}) {
           my $author_name = _convert($self,
-                       {'contents' => $element->{'args'}->[0]->{'contents'}});
+              {'contents' => $element->{'contents'}->[0]->{'contents'}});
           if ($self->{'titlepage_formatting'}
               and $self->{'titlepage_formatting'}->{'in_front_cover'}) {
             if (not $self->{'titlepage_formatting'}->{'author'}) {
@@ -4232,13 +4235,13 @@ sub _convert($$)
             $result .= "{\\bfseries $author_name}%\n";
           }
         }
-        return $result;
       }
+      return $result;
     } elsif ($cmdname eq 'vskip') {
-      if ($element->{'args'}) {
+      if ($element->{'contents'}) {
         # no need for space in front and end of line they are in the
         # argument
-        $result .= "\\vskip$element->{'args'}->[0]->{'text'}";
+        $result .= "\\vskip$element->{'contents'}->[0]->{'text'}";
       }
       return $result;
     } elsif ($cmdname eq 'contents') {
@@ -4266,11 +4269,10 @@ sub _convert($$)
       }
       return $result;
     } elsif ($heading_spec_commands{$cmdname}) {
-      if ($element->{'args'} and $element->{'args'}->[0]
-          and $element->{'args'}->[0]->{'contents'}) {
+      if ($element->{'contents'}->[0]->{'contents'}) {
         my $custom_headings_specification
          = Texinfo::Common::split_custom_heading_command_contents(
-                                             $element->{'args'}->[0]);
+                                             $element->{'contents'}->[0]);
         $result .= _set_custom_headings($self, $cmdname,
                                         $custom_headings_specification);
       }
@@ -4314,6 +4316,7 @@ sub _convert($$)
 
     if ($element->{'type'} eq 'index_entry_command') {
       $result .= _index_entry($self, $element);
+      return $result;
     }
     if ($element->{'type'} eq 'def_line') {
       $result .= _convert_def_line($self, $element);
@@ -4502,11 +4505,11 @@ sub _convert($$)
         # does not take into account the preformatted environment.
         # Probably best.
         foreach my $author (@{$element->{'extra'}->{'authors'}}) {
-          if ($author->{'args'}->[0]->{'contents'}) {
+          if ($author->{'contents'}->[0]->{'contents'}) {
             $result .= _convert($self,
                  # TRANSLATORS: quotation author
                  $self->cdt('@center --- @emph{{author}}',
-                    {'author' => $author->{'args'}->[0]}));
+                    {'author' => $author->{'contents'}->[0]}));
           }
         }
       }
diff --git a/tp/Texinfo/Convert/NodeNameNormalization.pm 
b/tp/Texinfo/Convert/NodeNameNormalization.pm
index fe2f397c6f..3bd9a1289a 100644
--- a/tp/Texinfo/Convert/NodeNameNormalization.pm
+++ b/tp/Texinfo/Convert/NodeNameNormalization.pm
@@ -277,10 +277,10 @@ sub _convert($)
           or ($element->{'cmdname'}
              and ($ignored_brace_commands{$element->{'cmdname'}}
              # here ignore the line commands
-                 or ($element->{'args'} and $element->{'args'}->[0]
-                     and $element->{'args'}->[0]->{'type'}
-                     and ($element->{'args'}->[0]->{'type'} eq 'line_arg'
-                         or $element->{'args'}->[0]->{'type'} eq 'rawline_arg')
+                 or ($element->{'contents'} and $element->{'contents'}->[0]
+                     and $element->{'contents'}->[0]->{'type'}
+                     and ($element->{'contents'}->[0]->{'type'} eq 'line_arg'
+                         or $element->{'contents'}->[0]->{'type'} eq 
'rawline_arg')
                  or ($element->{'contents'}
                      and $element->{'contents'}->[0]->{'contents'}
              and $element->{'contents'}->[0]->{'contents'}->[0]->{'type'}
@@ -355,10 +355,10 @@ Texinfo::Convert::NodeNameNormalization - Normalize and 
transliterate Texinfo tr
   use Texinfo::Convert::NodeNameNormalization qw(convert_to_identifier
                                         normalize_transliterate_texinfo);
 
-  my $normalized = convert_to_identifier($node_element->{'args'}->[0]);
+  my $normalized = convert_to_identifier($node_element->{'contents'}->[0]);
 
   my $file_name
-    = normalize_transliterate_texinfo($section_element->{'args'}->[0]);
+    = normalize_transliterate_texinfo($section_element->{'contents'}->[0]);
 
 =head1 NOTES
 
diff --git a/tp/Texinfo/Convert/Plaintext.pm b/tp/Texinfo/Convert/Plaintext.pm
index d1387ec537..229497ba98 100644
--- a/tp/Texinfo/Convert/Plaintext.pm
+++ b/tp/Texinfo/Convert/Plaintext.pm
@@ -2877,6 +2877,10 @@ sub _convert($$)
     $self->{'index_entries_line_location'}->{$element} = $location;
   }
 
+  if ($element->{'type'} and $element->{'type'} eq 'index_entry_command') {
+    return;
+  }
+
   my $cell;
   my $preformatted;
   if ($cmdname) {
@@ -3535,7 +3539,7 @@ sub _convert($$)
       if ($root_commands{$cmdname}) {
         $line_arg = $element->{'contents'}->[0]->{'contents'}->[0];
       } else {
-        $line_arg = $element->{'args'}->[0];
+        $line_arg = $element->{'contents'}->[0];
       }
       if ($cmdname ne 'part' and $line_arg->{'contents'}) {
         $heading_element = $line_arg;
@@ -3545,10 +3549,9 @@ sub _convert($$)
           $global_commands = 
$self->{'document'}->global_commands_information();
         }
         if ($global_commands and $global_commands->{'settitle'}
-            and $global_commands->{'settitle'}->{'args'}
-            and $global_commands->{'settitle'}->{'args'}->[0]->{'contents'}) {
+            and 
$global_commands->{'settitle'}->{'contents'}->[0]->{'contents'}) {
           $heading_element
-            = $global_commands->{'settitle'}->{'args'}->[0];
+            = $global_commands->{'settitle'}->{'contents'}->[0];
         }
       }
 
@@ -3568,13 +3571,14 @@ sub _convert($$)
         }
       }
       $self->{'format_context'}->[-1]->{'paragraph_count'} = 0;
+      return unless ($root_commands{$cmdname});
     } elsif (($cmdname eq 'item' or $cmdname eq 'itemx')
-             and $element->{'args'}
-             and $element->{'args'}->[0]->{'type'}
-             and $element->{'args'}->[0]->{'type'} eq 'line_arg') {
-      if ($element->{'args'}->[0]->{'contents'}) {
+             and $element->{'contents'}
+             and $element->{'contents'}->[0]->{'type'}
+             and $element->{'contents'}->[0]->{'type'} eq 'line_arg') {
+      if ($element->{'contents'}->[0]->{'contents'}) {
         my $table_item_tree = $self->table_item_content_tree($element);
-        $table_item_tree = $element->{'args'}->[0]
+        $table_item_tree = $element->{'contents'}->[0]
           if (!defined($table_item_tree));
         my $frenchspacing_element = {'type' => 'frenchspacing',
                                      'contents' => [$table_item_tree]};
@@ -3584,6 +3588,7 @@ sub _convert($$)
                    * $indent_length});
         _ensure_end_of_line($self);
       }
+      return;
     } elsif ($cmdname eq 'item' and $element->{'parent'}->{'cmdname'}
              and $block_commands{$element->{'parent'}->{'cmdname'}}
              and $block_commands{$element->{'parent'}->{'cmdname'}} eq 
'item_container') {
@@ -3642,11 +3647,10 @@ sub _convert($$)
       #my ($counts, $new_locations);
       push @{$self->{'count_context'}}, {'lines' => 0, 'bytes' => 0,
                                                    'locations' => []};
-      if ($element->{'args'}->[0]
-          and $element->{'args'}->[0]->{'contents'}) {
+      if ($element->{'contents'}->[0]->{'contents'}) {
         $self->convert_line (
              {'type' => 'frenchspacing',
-              'contents' => [$element->{'args'}->[0]]},
+              'contents' => [$element->{'contents'}->[0]]},
              {'indent_length' => 0});
       }
       _ensure_end_of_line($self);
@@ -3662,8 +3666,7 @@ sub _convert($$)
       $self->{'format_context'}->[-1]->{'paragraph_count'}++;
       return $result;
     } elsif ($cmdname eq 'exdent') {
-      if ($element->{'args'}
-          and $element->{'args'}->[0]->{'contents'}) {
+      if ($element->{'contents'}->[0]->{'contents'}) {
         if ($default_preformatted_context_commands{$self->{'context'}->[-1]}) {
           my $formatter = $self->new_formatter('unfilled',
             {'indent_length' =>
@@ -3671,13 +3674,13 @@ sub _convert($$)
                   * $indent_length});
           $formatter->{'font_type_stack'}->[-1]->{'monospace'} = 1;
           push @{$self->{'formatters'}}, $formatter;
-          _convert($self, $element->{'args'}->[0]);
+          _convert($self, $element->{'contents'}->[0]);
           _stream_output($self,
             Texinfo::Convert::Paragraph::end($formatter->{'container'}),
             $formatter->{'container'});
           pop @{$self->{'formatters'}};
         } else {
-          $self->convert_line($element->{'args'}->[0],
+          $self->convert_line($element->{'contents'}->[0],
              {'indent_length' =>
                  ($self->{'format_context'}->[-1]->{'indent_level'} -1)
                    * $indent_length});
@@ -4099,7 +4102,7 @@ sub _convert($$)
               $description_para = $self->new_formatter('paragraph',
                   { 'indent_length' => $description_indent_length });
               push @{$self->{'formatters'}}, $description_para;
-              $formatted_elt = $description_element->{'args'}->[0];
+              $formatted_elt = $description_element->{'contents'}->[0];
             } else {
               push @{$self->{'format_context'}},
                { 'cmdname' => $description_element->{'cmdname'},
@@ -4383,26 +4386,23 @@ sub _convert($$)
     } elsif (($cmdname eq 'quotation' or $cmdname eq 'smallquotation')
              and $element->{'extra'} and $element->{'extra'}->{'authors'}) {
       foreach my $author (@{$element->{'extra'}->{'authors'}}) {
-        if ($author->{'args'}->[0]
-            and $author->{'args'}->[0]->{'contents'}) {
+        if ($author->{'contents'}->[0]->{'contents'}) {
           _convert($self,
             # TRANSLATORS: quotation author
             $self->cdt("\@center --- \@emph{{author}}",
-               {'author' => $author->{'args'}->[0]}));
+               {'author' => $author->{'contents'}->[0]}));
         }
       }
     } elsif ($cmdname eq 'multitable') {
       $self->{'document_context'}->[-1]->{'in_multitable'}--;
     } elsif ($root_commands{$cmdname}
              and $sectioning_heading_commands{$cmdname}
-             and $cmdname ne 'part') {
+             and $cmdname ne 'part'
+             and $self->{'current_node'}) {
       # add menu if missing
       my $node = $self->{'current_node'};
-      my $automatic_directions = 1;
-      if ($node and $node->{'args'} and scalar(@{$node->{'args'}}) > 1) {
-        $automatic_directions = 0;
-      }
-      if ($node and $automatic_directions and !$self->{'seenmenus'}->{$node}) {
+      my $automatic_directions = 
(scalar(@{$node->{'contents'}->[0]->{'contents'}}) <= 1);
+      if ($automatic_directions and !$self->{'seenmenus'}->{$node}) {
         my $identifiers_target;
         if ($self->{'document'}) {
           $identifiers_target = $self->{'document'}->labels_information();
diff --git a/tp/Texinfo/Convert/Texinfo.pm b/tp/Texinfo/Convert/Texinfo.pm
index 5518589e33..f51c3439f0 100644
--- a/tp/Texinfo/Convert/Texinfo.pm
+++ b/tp/Texinfo/Convert/Texinfo.pm
@@ -71,6 +71,7 @@ sub import {
 }
 
 my %brace_commands           = %Texinfo::Commands::brace_commands;
+my %root_commands            = %Texinfo::Commands::root_commands;
 my %block_commands           = %Texinfo::Commands::block_commands;
 my %def_commands             = %Texinfo::Commands::def_commands;
 
@@ -203,12 +204,83 @@ sub _convert_to_texinfo($)
     $result .= $element->{'text'};
   } else {
     if ($element->{'cmdname'}) {
-      $result .= _expand_cmd_args_to_texi($element);
-      if ($element->{'cmdname'}
-          and (exists($brace_commands{$element->{'cmdname'}})
-               or ($element->{'type'}
-                   and $element->{'type'} eq 'definfoenclose_command'))) {
+      my $cmdname;
+      if (! defined($element->{'cmdname'})) {
+        $cmdname = '';
+      } else {
+        $cmdname = $element->{'cmdname'};
+        $result .= '@'.$cmdname;
+
+        # this is done here otherwise for some constructs, there are
+        # no arguments and the space is not output.
+        if ($element->{'info'}
+            and $element->{'info'}->{'spaces_after_cmd_before_arg'}) {
+            $result
+             .= $element->{'info'}->{'spaces_after_cmd_before_arg'}->{'text'};
+        }
+      }
+      # arg_line set for line_commands with type special and @macro
+      if ($element->{'info'} and defined($element->{'info'}->{'arg_line'})) {
+        $result .= $element->{'info'}->{'spaces_before_argument'}->{'text'}
+          if $element->{'info'} and 
$element->{'info'}->{'spaces_before_argument'};
+        $result .= $element->{'info'}->{'arg_line'};
+        if (!$block_commands{$cmdname}) {
+          return $result;
+        }
+      } elsif ($element->{'contents'}
+               and (exists($brace_commands{$cmdname})
+                    or ($element->{'type'}
+                        and $element->{'type'} eq 'definfoenclose_command'))) {
+        my $braces = 1;
+        $braces = 0 if ($element->{'contents'}->[0]->{'type'} eq 
'following_arg');
+        $result .= '{' if ($braces);
+        if ($cmdname eq 'verb') {
+          $result .= $element->{'info'}->{'delimiter'};
+        }
+        $result .= $element->{'info'}->{'spaces_before_argument'}->{'text'}
+          if ($element->{'info'} and 
$element->{'info'}->{'spaces_before_argument'});
+        my $arg_nr = 0;
+        foreach my $arg (@{$element->{'contents'}}) {
+          next if ($arg->{'info'} and $arg->{'info'}->{'inserted'});
+          $result .= ',' if ($arg_nr);
+          $arg_nr++;
+          $result .= _convert_to_texinfo($arg);
+        }
+        if ($cmdname eq 'verb') {
+          $result .= $element->{'info'}->{'delimiter'};
+        }
+        $result .= '}' if ($braces);
+        return $result;
+      } elsif ($element->{'contents'}
+               and ($element->{'contents'}->[0]->{'type'}
+                    and $element->{'contents'}->[0]->{'type'} eq 'argument')) {
+        $result .= $element->{'info'}->{'spaces_before_argument'}->{'text'}
+          if $element->{'info'} and 
$element->{'info'}->{'spaces_before_argument'};
+        my $arg_nr = 0;
+        my $argument = $element->{'contents'}->[0];
+        foreach my $arg (@{$argument->{'contents'}}) {
+          next if ($arg->{'info'} and $arg->{'info'}->{'inserted'});
+          $result .= ',' if ($arg_nr);
+          $arg_nr++;
+          $result .= _convert_to_texinfo($arg);
+        }
+        # line commands that are not root commands
+      } elsif ($element->{'contents'}
+           and $element->{'contents'}->[0]->{'type'}
+           and $element->{'contents'}->[0]->{'type'} eq 'line_arg') {
+        $result .= $element->{'info'}->{'spaces_before_argument'}->{'text'}
+           if ($element->{'info'} and 
$element->{'info'}->{'spaces_before_argument'});
+        my $arg_nr = 0;
+        foreach my $arg (@{$element->{'contents'}}) {
+          next if ($arg->{'info'} and $arg->{'info'}->{'inserted'});
+          $result .= ',' if ($arg_nr);
+          $arg_nr++;
+          $result .= _convert_to_texinfo($arg);
+        }
         return $result;
+      } else {
+        $result .= $element->{'info'}->{'spaces_before_argument'}->{'text'}
+          if $element->{'info'} and 
$element->{'info'}->{'spaces_before_argument'};
       }
     } else {
       if ($element->{'type'}
@@ -239,85 +311,6 @@ sub _convert_to_texinfo($)
   return $result;
 }
 
-# expand a command argument as texinfo.
-sub _expand_cmd_args_to_texi($) {
-  my $cmd = shift;
-
-  my $cmdname = $cmd->{'cmdname'};
-  $cmdname = '' if (! defined($cmd->{'cmdname'}));
-  my $result = '';
-
-  if ($cmdname) {
-    $result = '@'.$cmdname;
-
-    # this is done here otherwise for some constructs, there are
-    # no arguments and the space is not output.
-    if ($cmd->{'info'}
-        and $cmd->{'info'}->{'spaces_after_cmd_before_arg'}) {
-      $result .= $cmd->{'info'}->{'spaces_after_cmd_before_arg'}->{'text'};
-    }
-  }
-  # arg_line set for line_commands with type special and @macro
-  if ($cmd->{'info'} and defined($cmd->{'info'}->{'arg_line'})) {
-    $result .= $cmd->{'info'}->{'spaces_before_argument'}->{'text'}
-      if $cmd->{'info'} and $cmd->{'info'}->{'spaces_before_argument'};
-    $result .= $cmd->{'info'}->{'arg_line'};
-  } elsif ($cmd->{'args'}) {
-    $result .= $cmd->{'info'}->{'spaces_before_argument'}->{'text'}
-       if ($cmd->{'info'} and $cmd->{'info'}->{'spaces_before_argument'});
-    my $arg_nr = 0;
-    foreach my $arg (@{$cmd->{'args'}}) {
-      next if ($arg->{'info'} and $arg->{'info'}->{'inserted'});
-      $result .= ',' if ($arg_nr);
-      $arg_nr++;
-      $result .= _convert_to_texinfo($arg);
-    }
-   # TODO consider moving the braces command code to _convert_to_texinfo.
-   # Would require changing conditions on calling _expand_cmd_args_to_texi
-   # and adding commas for contents in _convert_to_texinfo
-  } elsif ($cmd->{'contents'}
-           and (exists($brace_commands{$cmdname})
-                or ($cmd->{'type'}
-                    and $cmd->{'type'} eq 'definfoenclose_command'))) {
-    my $braces = 1;
-    $braces = 0 if ($cmd->{'contents'}->[0]->{'type'} eq 'following_arg');
-    $result .= '{' if ($braces);
-    if ($cmdname eq 'verb') {
-      $result .= $cmd->{'info'}->{'delimiter'};
-    }
-    $result .= $cmd->{'info'}->{'spaces_before_argument'}->{'text'}
-      if ($cmd->{'info'} and $cmd->{'info'}->{'spaces_before_argument'});
-    my $arg_nr = 0;
-    foreach my $arg (@{$cmd->{'contents'}}) {
-      next if ($arg->{'info'} and $arg->{'info'}->{'inserted'});
-      $result .= ',' if ($arg_nr);
-      $arg_nr++;
-      $result .= _convert_to_texinfo($arg);
-    }
-    if ($cmdname eq 'verb') {
-      $result .= $cmd->{'info'}->{'delimiter'};
-    }
-    $result .= '}' if ($braces);
-  } elsif ($cmd->{'contents'}
-           and ($cmd->{'contents'}->[0]->{'type'}
-                and $cmd->{'contents'}->[0]->{'type'} eq 'argument')) {
-    $result .= $cmd->{'info'}->{'spaces_before_argument'}->{'text'}
-      if $cmd->{'info'} and $cmd->{'info'}->{'spaces_before_argument'};
-    my $arg_nr = 0;
-    my $argument = $cmd->{'contents'}->[0];
-    foreach my $arg (@{$argument->{'contents'}}) {
-      next if ($arg->{'info'} and $arg->{'info'}->{'inserted'});
-      $result .= ',' if ($arg_nr);
-      $arg_nr++;
-      $result .= _convert_to_texinfo($arg);
-    }
-  } else {
-    $result .= $cmd->{'info'}->{'spaces_before_argument'}->{'text'}
-      if $cmd->{'info'} and $cmd->{'info'}->{'spaces_before_argument'};
-  }
-  return $result;
-}
-
 1;
 __END__
 
diff --git a/tp/Texinfo/Convert/TexinfoMarkup.pm 
b/tp/Texinfo/Convert/TexinfoMarkup.pm
index 706ce5cd07..d83b1ac30c 100644
--- a/tp/Texinfo/Convert/TexinfoMarkup.pm
+++ b/tp/Texinfo/Convert/TexinfoMarkup.pm
@@ -465,15 +465,10 @@ sub _end_line_spaces
 
   my $end_spaces = '';
   my $arguments_list;
-  if ($element->{'args'}) {
-    $arguments_list = $element->{'args'};
-  } elsif ($element->{'contents'} and scalar(@{$element->{'contents'}})
-           and $element->{'contents'}->[0]->{'type'}
-           and $element->{'contents'}->[0]->{'type'} eq 'argument') {
+  if ($element->{'contents'}->[0]->{'type'}
+      and $element->{'contents'}->[0]->{'type'} eq 'argument') {
     $arguments_list = $element->{'contents'}->[0]->{'contents'};
-  } elsif (($element->{'cmdname'}
-           and $Texinfo::Commands::def_commands{$element->{'cmdname'}})
-           or ($element->{'type'} and $element->{'type'} eq 'def_line')) {
+  } else {
     $arguments_list = $element->{'contents'};
   }
   if ($arguments_list->[-1]
@@ -535,12 +530,12 @@ sub _texinfo_line($$)
   my $self = shift;
   my $element = shift;
 
-  if ($element->{'args'}) {
-    my $line = 
Texinfo::Convert::Texinfo::convert_to_texinfo($element->{'args'}->[-1]);
-    chomp($line);
-    if ($line ne '') {
-      return ['line', $line];
-    }
+  my $line
+   = Texinfo::Convert::Texinfo::convert_to_texinfo(
+                                         $element->{'contents'}->[-1]);
+  chomp($line);
+  if ($line ne '') {
+    return ['line', $line];
   }
   return ();
 }
@@ -573,14 +568,14 @@ sub _convert_argument_and_end_line($$)
   my $self = shift;
   my $element = shift;
 
-  my $arguments_list;
-  if ($element->{'args'}) {
-    $arguments_list = $element->{'args'};
-  } elsif ($element->{'contents'} and scalar(@{$element->{'contents'}})
-           and $element->{'contents'}->[0]->{'contents'}) {
-    $arguments_list = $element->{'contents'}->[0]->{'contents'};
+  my $line_arg;
+  if ($element->{'contents'}->[0]->{'type'}
+      and $element->{'contents'}->[0]->{'type'} eq 'argument') {
+    $line_arg = $element->{'contents'}->[0]->{'contents'}->[-1];
+  } else {
+    $line_arg = $element->{'contents'}->[-1];
   }
-  my $converted = $self->convert_tree($arguments_list->[-1]);
+  my $converted = $self->convert_tree($line_arg);
   my $end_space = _end_line_spaces($self, $element);
   my $end_line = $self->format_comment_or_return_end_line($element);
   return ($converted, $end_space, $end_line);
@@ -1017,19 +1012,20 @@ sub _convert($$;$)
       } elsif ($type eq 'lineraw') {
         if ($cmdname eq 'c' or $cmdname eq 'comment') {
           return $self->txi_markup_comment(
-                         " $cmdname".$element->{'args'}->[0]->{'text'})
+                         " $cmdname".$element->{'contents'}->[0]->{'text'})
         } elsif ($cmdname eq 'clear' or $cmdname eq 'set') {
           my $attribute = [];
-          if ($element->{'args'} and $element->{'args'}->[0]
-              and defined($element->{'args'}->[0]->{'text'})) {
-            push @$attribute, ['name', $element->{'args'}->[0]->{'text'}];
+          if ($element->{'contents'} and $element->{'contents'}->[0]
+              and defined($element->{'contents'}->[0]->{'text'})) {
+            push @$attribute, ['name', $element->{'contents'}->[0]->{'text'}];
           }
           my $value = '';
-          if ($cmdname eq 'set' and $element->{'args'}
-              and $element->{'args'}->[1]
-              and defined($element->{'args'}->[1]->{'text'})) {
+          if ($cmdname eq 'set' and $element->{'contents'}
+              and $element->{'contents'}->[1]
+              and defined($element->{'contents'}->[1]->{'text'})) {
             $value
-              = 
$self->txi_markup_protect_text($element->{'args'}->[1]->{'text'});
+              = $self->txi_markup_protect_text(
+                                $element->{'contents'}->[1]->{'text'});
           }
           push @$attribute, $self->_arg_line($element);
           return $self->txi_markup_open_element($cmdname, $attribute)
@@ -1037,39 +1033,41 @@ sub _convert($$;$)
         } elsif ($cmdname eq 'clickstyle') {
           my $attribute = [$self->_arg_line($element)];
           my $value = '';
-          if ($element->{'args'} and $element->{'args'}->[0]
-              and defined($element->{'args'}->[0]->{'text'})) {
-            my $click_command = $element->{'args'}->[0]->{'text'};
+          if ($element->{'contents'} and $element->{'contents'}->[0]
+              and defined($element->{'contents'}->[0]->{'text'})) {
+            my $click_command = $element->{'contents'}->[0]->{'text'};
             $click_command =~ s/^\@//;
             unshift @$attribute, ['command', $click_command];
             $value
-              = 
$self->txi_markup_protect_text($element->{'args'}->[0]->{'text'});
+              = $self->txi_markup_protect_text(
+                                     $element->{'contents'}->[0]->{'text'});
           };
           return $self->txi_markup_open_element($cmdname, $attribute)
                          
.$value.$self->txi_markup_close_element($cmdname)."\n";
         } elsif ($cmdname eq 'unmacro') {
           my $attribute = [$self->_arg_line($element)];
-          if ($element->{'args'} and $element->{'args'}->[0]
-              and defined($element->{'args'}->[0]->{'text'})) {
-            unshift @$attribute, ['name', $element->{'args'}->[0]->{'text'}];
+          if ($element->{'contents'} and $element->{'contents'}->[0]
+              and defined($element->{'contents'}->[0]->{'text'})) {
+            unshift @$attribute, ['name', 
$element->{'contents'}->[0]->{'text'}];
           }
           return $self->txi_markup_open_element($cmdname, $attribute)
                     .$self->txi_markup_close_element($cmdname)."\n";
         } elsif ($Texinfo::Commands::commands_args_number{$cmdname}) {
           my $value = '';
-          if ($element->{'args'} and $element->{'args'}->[0]
-              and defined($element->{'args'}->[0]->{'text'})) {
+          if ($element->{'contents'} and $element->{'contents'}->[0]
+              and defined($element->{'contents'}->[0]->{'text'})) {
             $value
-             = 
$self->txi_markup_protect_text($element->{'args'}->[0]->{'text'});
+             = $self->txi_markup_protect_text(
+                                  $element->{'contents'}->[0]->{'text'});
           }
           chomp ($value);
           return $self->txi_markup_open_element($cmdname).$value
                     .$self->txi_markup_close_element($cmdname)."\n";
         } else {
           my $attribute = [];
-          if ($element->{'args'} and $element->{'args'}->[0]
-              and defined($element->{'args'}->[0]->{'text'})) {
-            my $line = $element->{'args'}->[0]->{'text'};
+          if ($element->{'contents'} and $element->{'contents'}->[0]
+              and defined($element->{'contents'}->[0]->{'text'})) {
+            my $line = $element->{'contents'}->[0]->{'text'};
             chomp($line);
             $attribute = [['line', $line]]
                if ($line ne '');
diff --git a/tp/Texinfo/Convert/Text.pm b/tp/Texinfo/Convert/Text.pm
index 21029a0fb9..5ca3b12c7b 100644
--- a/tp/Texinfo/Convert/Text.pm
+++ b/tp/Texinfo/Convert/Text.pm
@@ -114,6 +114,7 @@ my %accent_commands = %Texinfo::Commands::accent_commands;
 my %nobrace_symbol_text = %Texinfo::Common::nobrace_symbol_text;
 my %formatted_line_commands = %Texinfo::Commands::formatted_line_commands;
 my %def_commands = %Texinfo::Commands::def_commands;
+my %line_commands = %Texinfo::Commands::line_commands;
 # 'page' is a formatted_line_commands and therefore is replaced by an empty
 # line.
 
@@ -554,12 +555,13 @@ sub _convert($$)
                                   or !defined($element->{'extra'}
                                                          
->{'expand_index'})))))
              # here ignore most of the line commands
-                 or ($element->{'args'}
-                     and $element->{'args'}->[0]->{'type'}
-                     and ($element->{'args'}->[0]->{'type'} eq 'line_arg'
-                         or $element->{'args'}->[0]->{'type'} eq 'rawline_arg')
+                 or ($element->{'type'}
+                     and $element->{'type'} eq 'index_entry_command')
+                 or ($line_commands{$data_cmdname}
                      and !$formatted_line_commands{$data_cmdname}
-                     and !$converted_formattable_line_commands{$cmdname})))));
+                     and !$def_commands{$data_cmdname}
+                     and ($data_cmdname ne 'sp'
+                          and $data_cmdname ne 'verbatiminclude'))))));
 
   my $result = '';
   if (defined($cmdname)) {
@@ -687,56 +689,44 @@ sub _convert($$)
              or $cmdname eq 'smallquotation'
              or $cmdname eq 'float'
              or $cmdname eq 'cartouche') {
-      # TODO the first condition is never true, the second can be
-      # simplified
-      if ($element->{'args'}) {
-        foreach my $arg (@{$element->{'args'}}) {
-          my $converted_arg = _convert($options, $arg);
-          if ($converted_arg =~ /\S/) {
-            $result .= $converted_arg.", ";
-          }
+      my $argument = $element->{'contents'}->[0];
+      foreach my $arg (@{$argument->{'contents'}}) {
+        my $converted_arg = _convert($options, $arg);
+        if ($converted_arg =~ /\S/) {
+          $result .= $converted_arg.", ";
         }
-        $result =~ s/, $//;
-        chomp ($result);
-        $result .= "\n" if ($result =~ /\S/);
-      } elsif ($element->{'contents'} and scalar(@{$element->{'contents'}})
-               and $element->{'contents'}->[0]->{'contents'}) {
-        my $argument = $element->{'contents'}->[0];
-        foreach my $arg (@{$argument->{'contents'}}) {
-          my $converted_arg = _convert($options, $arg);
-          if ($converted_arg =~ /\S/) {
-            $result .= $converted_arg.", ";
-          }
-        }
-        $result =~ s/, $//;
-        chomp ($result);
-        $result .= "\n" if ($result =~ /\S/);
       }
+      $result =~ s/, $//;
+      chomp ($result);
+      $result .= "\n" if ($result =~ /\S/);
     } elsif ($Texinfo::Commands::sectioning_heading_commands{$cmdname}) {
       my $line_arg;
       if ($Texinfo::Commands::root_commands{$cmdname}) {
         $line_arg = $element->{'contents'}->[0]->{'contents'}->[0];
       } else {
-        $line_arg = $element->{'args'}->[0];
+        $line_arg = $element->{'contents'}->[0];
       }
       my $heading_text = _convert($options, $line_arg);
       $result = _text_heading($element, $heading_text, $options->{'converter'},
                                $options->{'NUMBER_SECTIONS'});
-    } elsif ($formatted_line_commands{$data_cmdname} and $element->{'args'}) {
+      unless ($Texinfo::Commands::root_commands{$cmdname}) {
+        return $result;
+      }
+    } elsif ($formatted_line_commands{$data_cmdname}) {
       if ($cmdname ne 'node') {
         if ($cmdname eq 'page') {
           $result = '';
         } else {
-          $result = _convert($options, $element->{'args'}->[0]);
+          $result = _convert($options, $element->{'contents'}->[0]);
         }
         # we always want an end of line even if is was eaten by a command
         chomp($result);
         $result .= "\n";
+        return $result;
       }
-    } elsif ($converted_formattable_line_commands{$cmdname}) {
+    } elsif ($converted_formattable_line_commands{$data_cmdname}) {
       if ($def_commands{$cmdname}) {
         $result = _convert_def_line($options, $element);
-        return $result;
       } elsif ($cmdname eq 'sp') {
         if ($element->{'extra'} and $element->{'extra'}->{'misc_args'}
             and $element->{'extra'}->{'misc_args'}->[0]) {
@@ -761,6 +751,7 @@ sub _convert($$)
           $result .= _convert($options, $verbatim_include_verbatim);
         }
       }
+      return $result;
     } elsif ($cmdname eq 'item'
             and $element->{'parent'}->{'cmdname'}
             and $element->{'parent'}->{'cmdname'} eq 'enumerate') {
diff --git a/tp/Texinfo/Convert/TextContent.pm 
b/tp/Texinfo/Convert/TextContent.pm
index 0f0278f39f..539e532659 100644
--- a/tp/Texinfo/Convert/TextContent.pm
+++ b/tp/Texinfo/Convert/TextContent.pm
@@ -147,10 +147,10 @@ sub _convert($$)
                           or 
!$self->{'expanded_formats'}->{$element->{'extra'}->{'format'}}))
                  or ($element->{'cmdname'} eq 'menu' and 
$self->get_conf('FORMAT_MENU') eq 'nomenu')
              # here ignore most of the line commands
-                 or ($element->{'args'} and $element->{'args'}->[0]
-                     and $element->{'args'}->[0]->{'type'}
-                     and ($element->{'args'}->[0]->{'type'} eq 'line_arg'
-                          or $element->{'args'}->[0]->{'type'} eq 
'rawline_arg')
+                 or ($element->{'contents'} and $element->{'contents'}->[0]
+                     and $element->{'contents'}->[0]->{'type'}
+                     and ($element->{'contents'}->[0]->{'type'} eq 'line_arg'
+                          or $element->{'contents'}->[0]->{'type'} eq 
'rawline_arg')
                      and 
!$self->{'formatted_line_commands'}->{$data_cmdname})))));
   if (defined($element->{'text'})) {
     return $element->{'text'};
@@ -176,11 +176,6 @@ sub _convert($$)
     }
   }
   my $result = '';
-  if ($element->{'args'}) {
-    foreach my $arg (@{$element->{'args'}}) {
-      $result .= _convert($self, $arg);
-    }
-  }
   if ($element->{'contents'}) {
     my $contents_nr = scalar(@{$element->{'contents'}});
 
diff --git a/tp/Texinfo/DebugTree.pm b/tp/Texinfo/DebugTree.pm
index 8db4501e0a..5d7165f1c5 100644
--- a/tp/Texinfo/DebugTree.pm
+++ b/tp/Texinfo/DebugTree.pm
@@ -124,11 +124,6 @@ sub _print_tree($;$$)
     $result .= _print_tree($element->{'info'}->{'comment_at_end'},
                            $level +2);
   }
-  if ($element->{'args'}) {
-    foreach my $arg (@{$element->{'args'}}) {
-      $result .= _print_tree($arg, $level +1, 1);
-    }
-  }
   if ($element->{'contents'}) {
     foreach my $content (@{$element->{'contents'}}) {
       $result .= _print_tree($content, $level+1);
diff --git a/tp/Texinfo/Indices.pm b/tp/Texinfo/Indices.pm
index eb3d97c190..af4ed829a2 100644
--- a/tp/Texinfo/Indices.pm
+++ b/tp/Texinfo/Indices.pm
@@ -550,16 +550,14 @@ sub _idx_leading_text_or_command($$)
           } else {
             if (defined($content->{'extra'})
                 and defined($content->{'extra'}->{'expand_index'})) {
-              return _idx_leading_text_or_command($content->{'args'}
+              return _idx_leading_text_or_command($content->{'contents'}
                              ->[$content->{'extra'}->{'expand_index'}],
                                                   $ignore_chars);
             }
           }
         } elsif ($Texinfo::Commands::formatted_line_commands{$cmdname}
-                 and $cmdname ne 'page'
-                 and $content->{'args'}
-                 and scalar(@{$content->{'args'}})) {
-          return _idx_leading_text_or_command($content->{'args'}->[0],
+                 and $cmdname ne 'page') {
+          return _idx_leading_text_or_command($content->{'contents'}->[0],
                                               $ignore_chars);
         }
       }
diff --git a/tp/Texinfo/ManipulateTree.pm b/tp/Texinfo/ManipulateTree.pm
index 86f038a44a..d027f98823 100644
--- a/tp/Texinfo/ManipulateTree.pm
+++ b/tp/Texinfo/ManipulateTree.pm
@@ -153,7 +153,7 @@ sub _copy_tree($)
 
   #print STDERR "CTNEW $current ".debug_print_element($current)." $new\n";
 
-  foreach my $key ('args', 'contents') {
+  foreach my $key ('contents') {
     if ($current->{$key}) {
       if (ref($current->{$key}) ne 'ARRAY') {
         my $command_or_type = '';
@@ -207,7 +207,6 @@ sub _copy_tree($)
           if (not defined($value->{'cmdname'}) and not 
defined($value->{'type'})
               and not defined($value->{'text'}) and not 
defined($value->{'extra'})
               and not defined($value->{'contents'})
-              and not defined($value->{'args'})
               and scalar(keys(%$value))) {
             print STDERR "HASH NOT ELEMENT $info_type 
[$command_or_type]{$key}\n";
           }
@@ -248,7 +247,7 @@ sub _remove_element_copy_info($;$)
   #print STDERR (' ' x $level)
   #   .Texinfo::Common::debug_print_element($current).": $current\n";
 
-  foreach my $key ('args', 'contents') {
+  foreach my $key ('contents') {
     if ($current->{$key}) {
       my $index = 0;
       foreach my $child (@{$current->{$key}}) {
@@ -285,7 +284,6 @@ sub _remove_element_copy_info($;$)
           if (not defined($value->{'cmdname'}) and not 
defined($value->{'type'})
               and not defined($value->{'text'}) and not 
defined($value->{'extra'})
               and not defined($value->{'contents'})
-              and not defined($value->{'args'})
               and scalar(keys(%$value))) {
             print STDERR "HASH NOT ELEMENT $info_type 
[$command_or_type]{$key}\n";
           }
@@ -354,20 +352,6 @@ sub modify_tree($$;$)
     return undef;
   }
 
-  if ($tree->{'args'}) {
-    my $args_nr = scalar(@{$tree->{'args'}});
-    for (my $i = 0; $i < $args_nr; $i++) {
-      my $new_args = &$operation('arg', $tree->{'args'}->[$i], $argument);
-      if ($new_args) {
-        # replace by new content
-        splice(@{$tree->{'args'}}, $i, 1, @$new_args);
-        $i += scalar(@$new_args) -1;
-        $args_nr += scalar(@$new_args) -1;
-      } else {
-        modify_tree($tree->{'args'}->[$i], $operation, $argument);
-      }
-    }
-  }
   if ($tree->{'contents'}) {
     my $contents_nr = scalar(@{$tree->{'contents'}});
     for (my $i = 0; $i < $contents_nr; $i++) {
@@ -686,7 +670,7 @@ sub _relate_index_entries_to_table_items_in($$)
   return unless $table->{'contents'};
 
   foreach my $table_entry (@{$table->{'contents'}}) {
-    next unless $table_entry->{'contents'}
+    next unless $table_entry->{'contents'} and $table_entry->{'type'}
       and $table_entry->{'type'} eq 'table_entry';
 
     my $term = $table_entry->{'contents'}->[0];
diff --git a/tp/Texinfo/OutputUnits.pm b/tp/Texinfo/OutputUnits.pm
index 8eefc1ad8d..f685611e67 100644
--- a/tp/Texinfo/OutputUnits.pm
+++ b/tp/Texinfo/OutputUnits.pm
@@ -384,8 +384,9 @@ sub units_directions($$;$)
       }
       # Now do NodeForward which is something like the following node.
       my $associated_section;
+      my $argument = $node->{'contents'}->[0];
       my $automatic_directions
-        = (not ($node->{'args'} and scalar(@{$node->{'args'}}) > 1));
+        = (scalar(@{$argument->{'contents'}}) <= 1);
       if ($automatic_directions and $node->{'extra'}
           and $node->{'extra'}->{'associated_section'}) {
         $associated_section = $node->{'extra'}->{'associated_section'};
diff --git a/tp/Texinfo/ParserNonXS.pm b/tp/Texinfo/ParserNonXS.pm
index d0631f296f..0b44101637 100644
--- a/tp/Texinfo/ParserNonXS.pm
+++ b/tp/Texinfo/ParserNonXS.pm
@@ -1663,7 +1663,6 @@ sub _is_container_empty($)
 {
   my $current = shift;
   if (not $current->{'contents'}
-      and not $current->{'args'}
       and (not defined($current->{'text'}) or $current->{'text'} eq '')
       and not $current->{'info'}) {
     return 1;
@@ -3590,26 +3589,15 @@ sub _enter_index_entry($$$$)
   $element->{'extra'}->{'index_entry'} = [$index_name, $number];
 }
 
-sub _parse_float_type($)
+sub _parse_float_type($$)
 {
   my $current = shift;
-
-  my $arguments_list;
-  if ($current->{'args'}) {
-    # listoffloats
-    $arguments_list = $current->{'args'};
-  } elsif ($current->{'contents'} and scalar(@{$current->{'contents'}})
-           and $current->{'contents'}->[0]->{'contents'}) {
-    # float
-    $arguments_list = $current->{'contents'}->[0]->{'contents'};
-  }
+  my $element = shift;
 
   my $normalized = '';
-  if ($arguments_list and scalar(@{$arguments_list})) {
-    $normalized
+  $normalized
        = Texinfo::Convert::NodeNameNormalization::convert_to_normalized(
-                                                       $arguments_list->[0]);
-  }
+                                                                  $element);
   $current->{'extra'} = {} if (!$current->{'extra'});
   $current->{'extra'}->{'float_type'} = $normalized;
   return $normalized;
@@ -3680,11 +3668,7 @@ sub _end_line_misc_line($$$)
     $line_arg = $command_element->{'contents'}->[0]->{'contents'}->[0];
   } else {
     $command_element = $current->{'parent'};
-    if ($def_commands{$command_element->{'cmdname'}}) {
-      $line_arg = $command_element->{'contents'}->[0];
-    } else {
-      $line_arg = $command_element->{'args'}->[0];
-    }
+    $line_arg = $command_element->{'contents'}->[0];
   }
   my $command = $command_element->{'cmdname'};
   my $data_cmdname = $command;
@@ -3726,7 +3710,7 @@ sub _end_line_misc_line($$$)
     }
   } elsif ($arg_spec eq 'text') {
     my ($text, $superfluous_arg)
-      = _text_contents_to_plain_text($current->{'args'}->[0]);
+      = _text_contents_to_plain_text($current->{'contents'}->[0]);
 
     if ($text eq '') {
       if (not $superfluous_arg) {
@@ -3880,7 +3864,8 @@ sub _end_line_misc_line($$$)
     }
     if ($superfluous_arg) {
       my $texi_line
-        = 
Texinfo::Convert::Texinfo::convert_to_texinfo($current->{'args'}->[0]);
+        = Texinfo::Convert::Texinfo::convert_to_texinfo(
+                                           $current->{'contents'}->[0]);
       $texi_line =~ s/^\s*//;
       $texi_line =~ s/\s*$//;
 
@@ -3934,7 +3919,7 @@ sub _end_line_misc_line($$$)
     }
     $self->{'current_node'} = $current;
   } elsif ($command eq 'listoffloats') {
-    _parse_float_type($current);
+    _parse_float_type($current, $current->{'contents'}->[0]);
   } else {
     if ($self->{'index_entry_commands'}->{$current->{'cmdname'}}) {
       $current->{'type'} = 'index_entry_command';
@@ -3963,7 +3948,7 @@ sub _end_line_misc_line($$$)
       # text after the brace command.
       if (_is_index_element($self, $current)) {
         _set_non_ignored_space_in_index_before_command(
-                                          $current->{'args'}->[0]);
+                                          $current->{'contents'}->[0]);
       }
     }
   }
@@ -4294,7 +4279,7 @@ sub _end_line_starting_block($$$)
                                            $current, $source_info);
     }
 
-    my $float_type = _parse_float_type($current);
+    my $float_type = _parse_float_type($current, $argument->{'contents'}->[0]);
     push @{$document->{'listoffloats_list'}->{$float_type}}, $current;
 
     if (defined($self->{'current_section'})) {
@@ -4990,7 +4975,7 @@ sub _register_command_as_argument($$)
 
   my $command_element = $cmd_as_arg->{'parent'}->{'parent'}->{'parent'};
 
-  print STDERR "FOR PARENT \@$command_element->{'parent'}->{'cmdname'} ".
+  print STDERR "FOR PARENT \@$command_element->{'cmdname'} ".
          "command_as_argument $cmd_as_arg->{'cmdname'}\n"
               if ($self->{'conf'}->{'DEBUG'});
   $command_element->{'extra'} = {}
@@ -5834,7 +5819,7 @@ sub _handle_line_command($$$$$$)
                             'parent' => $command_e,
                             'info' => {'spaces_after_argument'
                                    => {'text' => "\n",}}};
-      $command_e->{'args'} = [$misc_line_args];
+      $command_e->{'contents'} = [$misc_line_args];
       $misc_line_args->{'contents'} = [
         { 'text' => $arg,
           'parent' => $misc_line_args, },
@@ -5844,9 +5829,9 @@ sub _handle_line_command($$$$$$)
       if (!$ignored) {
         push @{$current->{'contents'}}, $command_e;
         if (scalar(@$args)) {
-          $command_e->{'args'} = [];
+          $command_e->{'contents'} = [];
           foreach my $arg (@$args) {
-            push @{$command_e->{'args'}},
+            push @{$command_e->{'contents'}},
               { 'type' => 'rawline_arg', 'text' => $arg,
                 'parent' => $current->{'contents'}->[-1] };
           }
@@ -5996,17 +5981,14 @@ sub _handle_line_command($$$$$$)
       }
     }
     $current = $current->{'contents'}->[-1];
-    if ($def_commands{$data_cmdname}) {
-      $current->{'contents'} = [{ 'type' => 'line_arg',
-                                  'parent' => $current }];
-    } elsif ($root_commands{$data_cmdname}) {
+    if ($root_commands{$data_cmdname}) {
       my $argument = {'type' => 'argument', 'parent' => $current};
       $current->{'contents'} = [$argument];
       $argument->{'contents'} = [{ 'type' => 'line_arg',
                                   'parent' => $argument }];
-    } else {
-      $current->{'args'} = [{ 'type' => 'line_arg',
-                              'parent' => $current }];
+    } else {# def or line command
+      $current->{'contents'} = [{ 'type' => 'line_arg',
+                                  'parent' => $current }];
     }
     if ($self->{'basic_inline_commands'}
         and $self->{'basic_inline_commands'}->{$data_cmdname}) {
@@ -6069,7 +6051,7 @@ sub _handle_line_command($$$$$$)
       $current = $current->{'contents'}->[0]->{'contents'}->[-1];
       $self->_push_context('ct_line', $command);
     } else {
-      $current = $current->{'args'}->[-1];
+      $current = $current->{'contents'}->[-1];
       $self->_push_context('ct_line', $command);
     }
     $line = _start_empty_line_after_command($self, $line, $current, 
$command_e);
@@ -6896,12 +6878,8 @@ sub _handle_comma($$$$)
   }
   my $new_arg = {'type' => $type, 'parent' => $argument,
                  'contents' => []};
-  if ($brace_commands{$command_element->{'cmdname'}}
-      or $argument ne $command_element) {
-    push @{$argument->{'contents'}}, $new_arg;
-  } else {
-    push @{$argument->{'args'}}, $new_arg;
-  }
+  push @{$argument->{'contents'}}, $new_arg;
+
   # internal_spaces_before_argument is a transient internal type,
   # which should end up in info spaces_before_argument.
   my $space_before = {'type' => 'internal_spaces_before_argument',
@@ -7346,7 +7324,7 @@ sub _process_remaining_on_line($$$$)
   # commands.
 
   # This condition can only happen immediately after the command opening,
-  # otherwise the current element is in the 'args' and not right in the
+  # otherwise the current element is in the 'contents' and not right in the
   # command container.
   if ($current->{'cmdname'}
         and defined($self->{'brace_commands'}->{$current->{'cmdname'}})
@@ -8007,7 +7985,7 @@ sub _parse_line_command_args($$$)
   if ($root_commands{$command}) {
     $line_arg = $line_command->{'contents'}->[0]->{'contents'}->[0];
   } else {
-    $line_arg = $line_command->{'args'}->[0];
+    $line_arg = $line_command->{'contents'}->[0];
   }
 
   # Not in XS parser.  Could be added if deemded interesting, but
@@ -8865,8 +8843,8 @@ For example
 leads to
 
  {'cmdname' => 'code',
-  'args' => [{'type' => 'brace_container',
-              'contents' => [{'text' => 'in code'}]}]}
+  'contents' => [{'type' => 'brace_container',
+                  'contents' => [{'text' => 'in code'}]}]}
 
 =item bracketed_arg
 
diff --git a/tp/Texinfo/Structuring.pm b/tp/Texinfo/Structuring.pm
index 07c2f7562c..8f09c083ff 100644
--- a/tp/Texinfo/Structuring.pm
+++ b/tp/Texinfo/Structuring.pm
@@ -1300,7 +1300,7 @@ sub new_block_command($$)
                   'contents' => [],
                   'info' => {'spaces_after_argument' =>
                                         {'text' => "\n"}}};
-  $end->{'args'} = [$end_args];
+  $end->{'contents'} = [$end_args];
 
   my $command_name_text = {'text' => $command_name,
                            'parent' => $end_args};
diff --git a/tp/Texinfo/Transformations.pm b/tp/Texinfo/Transformations.pm
index 596f75e0dc..83e6be33d9 100644
--- a/tp/Texinfo/Transformations.pm
+++ b/tp/Texinfo/Transformations.pm
@@ -113,7 +113,7 @@ sub _correct_level($$;$)
       push @{$parent->{'contents'}}, $element;
       my $rawline_arg = {'type' => 'rawline_arg', 'text' => "\n",
                          'parent' => $element};
-      push @{$element->{'args'}}, $rawline_arg;
+      push @{$element->{'contents'}}, $rawline_arg;
       $remaining_level--;
     }
   }
diff --git a/tp/Texinfo/Translations.pm b/tp/Texinfo/Translations.pm
index d986c104d6..a4e29f5129 100644
--- a/tp/Texinfo/Translations.pm
+++ b/tp/Texinfo/Translations.pm
@@ -386,10 +386,6 @@ sub _substitute($$) {
     _substitute_element_array($tree->{'contents'}, $replaced_substrings);
   }
 
-  if ($tree->{'args'}) {
-    _substitute_element_array($tree->{'args'}, $replaced_substrings);
-  }
-
   return $tree;
 }
 
diff --git a/tp/Texinfo/XS/convert/convert_html.c 
b/tp/Texinfo/XS/convert/convert_html.c
index f0eb74da99..3510e06044 100644
--- a/tp/Texinfo/XS/convert/convert_html.c
+++ b/tp/Texinfo/XS/convert/convert_html.c
@@ -771,10 +771,9 @@ html_prepare_simpletitle (CONVERTER *self)
       enum command_id cmd = simpletitle_cmds[i];
       const ELEMENT *command
         = get_cmd_global_uniq_command (&self->document->global_commands, cmd);
-      if (command && command->e.c->args.number > 0
-          && command->e.c->args.list[0]->e.c->contents.number > 0)
+      if (command  && command->e.c->contents.list[0]->e.c->contents.number > 0)
         {
-          self->simpletitle_tree = command->e.c->args.list[0];
+          self->simpletitle_tree = command->e.c->contents.list[0];
           self->simpletitle_cmd = cmd;
           break;
         }
@@ -894,10 +893,9 @@ html_prepare_converted_output_info (CONVERTER *self, const 
char *output_file,
       enum command_id cmd = fulltitle_cmds[i];
       const ELEMENT *command
         = get_cmd_global_uniq_command (&self->document->global_commands, cmd);
-      if (command && command->e.c->args.number > 0
-          && command->e.c->args.list[0]->e.c->contents.number > 0)
+      if (command && command->e.c->contents.list[0]->e.c->contents.number > 0)
         {
-          fulltitle_tree = command->e.c->args.list[0];
+          fulltitle_tree = command->e.c->contents.list[0];
           break;
         }
     }
@@ -1290,7 +1288,10 @@ html_convert_tree_append (CONVERTER *self, const ELEMENT 
*element,
           text_append (&content_formatted, "");
 
           if (element->e.c->contents.number > 0
-              && !(builtin_command_data[data_cmd].flags & CF_brace))
+              && (builtin_command_data[data_cmd].flags & CF_root
+                  || builtin_command_data[data_cmd].flags & CF_block
+                  || data_cmd == CM_tab || data_cmd == CM_headitem
+                  || data_cmd == CM_item))
             {
 
               if (convert_to_latex)
@@ -1314,16 +1315,15 @@ html_convert_tree_append (CONVERTER *self, const 
ELEMENT *element,
                 }
               else
                 {
-                  size_t content_idx;
+                  size_t idx;
                   text_append (&content_formatted, "");
-                  for (content_idx = 0; content_idx < 
element->e.c->contents.number;
-                       content_idx++)
+                  for (idx = 0; idx < element->e.c->contents.number; idx++)
                     {
                       const ELEMENT *content
-                        = element->e.c->contents.list[content_idx];
+                        = element->e.c->contents.list[idx];
                       char *explanation;
                       xasprintf (&explanation, "%s c[%zu]", command_type.text,
-                                content_idx);
+                                idx);
                       html_convert_tree_append (self, content,
                                                 &content_formatted,
                                                 explanation);
@@ -1343,12 +1343,7 @@ html_convert_tree_append (CONVERTER *self, const ELEMENT 
*element,
             {
               const ELEMENT_LIST *arguments_list = 0;
 
-              if (builtin_command_data[data_cmd].flags & CF_brace)
-                {
-                  if (element->e.c->contents.number > 0)
-                    arguments_list = &element->e.c->contents;
-                }
-              else if (element->e.c->contents.number > 0
+              if (element->e.c->contents.number > 0
                        && element->e.c->contents.list[0]->type == ET_argument)
                 {
                   const ELEMENT *argument = element->e.c->contents.list[0];
@@ -1358,8 +1353,8 @@ html_convert_tree_append (CONVERTER *self, const ELEMENT 
*element,
                 }
               else
                 {
-                  if (element->e.c->args.number > 0)
-                    arguments_list = &element->e.c->args;
+                  if (element->e.c->contents.number > 0)
+                    arguments_list = &element->e.c->contents;
                 }
 
               if (arguments_list)
diff --git a/tp/Texinfo/XS/convert/converter.c 
b/tp/Texinfo/XS/convert/converter.c
index 512635788e..a84b026952 100644
--- a/tp/Texinfo/XS/convert/converter.c
+++ b/tp/Texinfo/XS/convert/converter.c
@@ -1068,7 +1068,7 @@ normalized_sectioning_command_filename (CONVERTER *self, 
const ELEMENT *command)
   if (builtin_command_data[command->e.c->cmd].flags & CF_root)
     label_element = command->e.c->contents.list[0]->e.c->contents.list[0];
   else
-    label_element = command->e.c->args.list[0];
+    label_element = command->e.c->contents.list[0];
 
   normalized_name
     = normalize_transliterate_texinfo_contents (label_element,
@@ -1337,7 +1337,7 @@ table_item_content_tree (CONVERTER *self, const ELEMENT 
*element)
   const ELEMENT *command_as_argument = lookup_extra_element (table_command,
                                                AI_key_command_as_argument);
 
-  if (element->e.c->args.number > 0 && command_as_argument)
+  if (command_as_argument)
     {
       TREE_ADDED_ELEMENTS *tree
         = new_tree_added_elements (tree_added_status_elements_added);
@@ -1383,24 +1383,25 @@ table_item_content_tree (CONVERTER *self, const ELEMENT 
*element)
           arg = new_element_added (tree, ET_brace_command_context);
           if (cmd == CM_math)
             {
-              add_to_contents_as_array (arg, element->e.c->args.list[0]);
+              add_to_contents_as_array (arg, element->e.c->contents.list[0]);
             }
           else
             {
               ELEMENT *paragraph = new_element_added (tree, ET_paragraph);
-              add_to_contents_as_array (paragraph, element->e.c->args.list[0]);
+              add_to_contents_as_array (paragraph,
+                                        element->e.c->contents.list[0]);
               add_to_element_contents (arg, paragraph);
             }
         }
       else if (builtin_command_data[data_cmd].data == BRACE_arguments)
         {
           arg = new_element_added (tree, ET_brace_arg);
-          add_to_contents_as_array (arg, element->e.c->args.list[0]);
+          add_to_contents_as_array (arg, element->e.c->contents.list[0]);
         }
       else
         {
           arg = new_element_added (tree, ET_brace_container);
-          add_to_contents_as_array (arg, element->e.c->args.list[0]);
+          add_to_contents_as_array (arg, element->e.c->contents.list[0]);
         }
       add_to_element_contents (command, arg);
       return tree;
@@ -1479,7 +1480,7 @@ comma_index_subentries_tree (const ELEMENT *current_entry,
           text_append (separator->e.text, subentry_separator);
           current_entry = subentry;
           add_to_element_list (result, separator);
-          add_to_element_list (result, current_entry->e.c->args.list[0]);
+          add_to_element_list (result, current_entry->e.c->contents.list[0]);
         }
       else
         break;
diff --git a/tp/Texinfo/XS/convert/format_html.c 
b/tp/Texinfo/XS/convert/format_html.c
index 17f71338a9..3aa1ad55c0 100644
--- a/tp/Texinfo/XS/convert/format_html.c
+++ b/tp/Texinfo/XS/convert/format_html.c
@@ -1449,7 +1449,7 @@ html_command_description (CONVERTER *self, const ELEMENT 
*command,
             }
 
           if (node_description->e.c->cmd == CM_nodedescription)
-            description_element = node_description->e.c->args.list[0];
+            description_element = node_description->e.c->contents.list[0];
           else
             {
               description_element = new_element (ET_NONE);
@@ -1810,7 +1810,7 @@ html_internal_command_tree (CONVERTER *self, const 
ELEMENT *command,
                 line_arg
                   = command->e.c->contents.list[0]->e.c->contents.list[0];
               else
-                line_arg = command->e.c->args.list[0];
+                line_arg = command->e.c->contents.list[0];
 
               if (line_arg->e.c->contents.number > 0)
                 {
@@ -8585,12 +8585,12 @@ html_convert_quotation_command (CONVERTER *self, const 
enum command_id cmd,
       for (i = 0; i < authors->number; i++)
         {
           const ELEMENT *author = authors->list[i];
-          if (author->e.c->args.number > 0
-              && author->e.c->args.list[0]->e.c->contents.number > 0)
+          if (author->e.c->contents.list[0]->e.c->contents.number > 0)
             {
               NAMED_STRING_ELEMENT_LIST *substrings
                                        = new_named_string_element_list ();
-              ELEMENT *author_arg_copy = copy_tree (author->e.c->args.list[0]);
+              ELEMENT *author_arg_copy
+                = copy_tree (author->e.c->contents.list[0]);
               add_element_to_named_string_element_list (substrings,
                                       "author", author_arg_copy);
 
@@ -9227,8 +9227,7 @@ html_convert_item_command (CONVERTER *self, const enum 
command_id cmd,
     }
   else if (element->parent && element->parent->type == ET_table_term)
     {
-      if (element->e.c->args.number > 0
-          && element->e.c->args.list[0]->e.c->contents.number > 0)
+      if (element->e.c->contents.list[0]->e.c->contents.number > 0)
         {
           ELEMENT *converted_e;
           TREE_ADDED_ELEMENTS *tree;
@@ -9285,7 +9284,7 @@ html_convert_item_command (CONVERTER *self, const enum 
command_id cmd,
               converted_e = tree->tree;
             }
           else
-            converted_e = element->e.c->args.list[0];
+            converted_e = element->e.c->contents.list[0];
 
           html_convert_tree_append (self, converted_e, result,
                                     "convert table_item_tree");
@@ -9931,8 +9930,7 @@ html_convert_printindex_command (CONVERTER *self, const 
enum command_id cmd,
 
               subentry = new_subentry;
 
-              if (subentry->e.c->args.number > 0
-                  && subentry->e.c->args.list[0]->e.c->contents.number > 0)
+              if (subentry->e.c->contents.list[0]->e.c->contents.number > 0)
                 {
                   if (in_code)
                     subentry_tree = new_element (ET__code);
@@ -9940,7 +9938,7 @@ html_convert_printindex_command (CONVERTER *self, const 
enum command_id cmd,
                     subentry_tree = new_element (ET_NONE);
 
                   add_to_contents_as_array (subentry_tree,
-                                            subentry->e.c->args.list[0]);
+                                            subentry->e.c->contents.list[0]);
                 }
 
               if (subentry_level >= SUBENTRIES_MAX_LEVEL)
@@ -11667,7 +11665,7 @@ html_convert_menu_entry_type (CONVERTER *self, const 
enum element_type type,
             }
 
           if (node_description->e.c->cmd == CM_nodedescription)
-            description_element = node_description->e.c->args.list[0];
+            description_element = node_description->e.c->contents.list[0];
           else
             {
               description_element = new_element (ET_NONE);
@@ -11816,7 +11814,7 @@ html_convert_menu_entry_type (CONVERTER *self, const 
enum element_type type,
             }
 
           if (node_description->e.c->cmd == CM_nodedescription)
-            description_element = node_description->e.c->args.list[0];
+            description_element = node_description->e.c->contents.list[0];
           else
             {
               description_element = new_element (ET_NONE);
diff --git a/tp/Texinfo/XS/main/build_perl_info.c 
b/tp/Texinfo/XS/main/build_perl_info.c
index 01c7a881a3..f9e58f46c0 100644
--- a/tp/Texinfo/XS/main/build_perl_info.c
+++ b/tp/Texinfo/XS/main/build_perl_info.c
@@ -177,7 +177,7 @@ void element_to_perl_hash (ELEMENT *e, int avoid_recursion);
    hash table, or create it if there is no parent element, indicating the
    element is not in the tree.
    Note that not having 'hv' set should be rare (actually never happen),
-   as the contents and args children are processed before the extra
+   as the contents children are processed before the extra
    information where build_perl_array is called.
  */
 static SV *
@@ -357,7 +357,7 @@ build_additional_info (HV *extra, const ASSOCIATED_INFO *a,
               /* For references to other parts of the tree, create the hash so
                  we can point to it. */
               /* Note that this does not happen much, as the contents
-                 and args are processed before the extra information.  It only
+                 are processed before the extra information.  It only
                  happens for root commands (sections, nodes) and associated
                  commands, and could also happen for subentry as it is not
                  a children of the associated index command */
@@ -376,7 +376,7 @@ build_additional_info (HV *extra, const ASSOCIATED_INFO *a,
               /*
                  Can be used for complex subtrees or special
                  out of tree elements, but must always be associated to only 
one
-                 element and must not refer to the tree through args or 
contents.
+                 element and must not refer to the tree through contents.
                */
                   /* f->hv should not already exist the first time the tree
                      is built, but can already exist if the tree is rebuilt
@@ -598,7 +598,6 @@ static U32 HSH_parent = 0;
 static U32 HSH_type = 0;
 static U32 HSH_cmdname = 0;
 static U32 HSH_contents = 0;
-static U32 HSH_args = 0;
 static U32 HSH_text = 0;
 static U32 HSH_extra = 0;
 static U32 HSH_info = 0;
@@ -697,7 +696,6 @@ element_to_perl_hash (ELEMENT *e, int avoid_recursion)
       PERL_HASH(HSH_type, "type", strlen ("type"));
       PERL_HASH(HSH_cmdname, "cmdname", strlen ("cmdname"));
       PERL_HASH(HSH_contents, "contents", strlen ("contents"));
-      PERL_HASH(HSH_args, "args", strlen ("args"));
       PERL_HASH(HSH_text, "text", strlen ("text"));
       PERL_HASH(HSH_extra, "extra", strlen ("extra"));
       PERL_HASH(HSH_info, "info", strlen ("info"));
@@ -861,26 +859,6 @@ element_to_perl_hash (ELEMENT *e, int avoid_recursion)
         }
     }
 
-  if (e->e.c->args.number > 0)
-    {
-      AV *av;
-      size_t i;
-
-      av = newAV ();
-      sv = newRV_noinc ((SV *) av);
-      av_unshift (av, e->e.c->args.number);
-
-      hv_store (e->hv, "args", strlen ("args"), sv, HSH_args);
-      for (i = 0; i < e->e.c->args.number; i++)
-        {
-          ELEMENT *child = e->e.c->args.list[i];
-          if (!child->hv || !avoid_recursion)
-            element_to_perl_hash (child, avoid_recursion);
-          sv = newRV_inc ((SV *) child->hv);
-          av_store (av, i, sv);
-        }
-    }
-
   store_additional_info (e, &e->e.c->extra_info, "extra",
                          avoid_recursion, &extra_hv);
 
diff --git a/tp/Texinfo/XS/main/convert_to_texinfo.c 
b/tp/Texinfo/XS/main/convert_to_texinfo.c
index e1efd3bf19..ad2a100b39 100644
--- a/tp/Texinfo/XS/main/convert_to_texinfo.c
+++ b/tp/Texinfo/XS/main/convert_to_texinfo.c
@@ -43,134 +43,6 @@ static void convert_to_texinfo_internal (const ELEMENT *e, 
TEXT *result);
 
 #define ADD(x) text_append (result, x)
 
-static void
-expand_cmd_args_to_texi (const ELEMENT *e, TEXT *result)
-{
-  enum command_id cmd = element_builtin_cmd (e);
-  ELEMENT *elt;
-  ELEMENT *spc_before_arg = 0;
-
-  if (cmd)
-    {
-      const char *cmdname = element_command_name (e);
-      ADD("@");  ADD(cmdname);
-    }
-
-  if (type_data[e->type].elt_info_number > eit_spaces_after_cmd_before_arg)
-    {
-      elt = e->elt_info[eit_spaces_after_cmd_before_arg];
-      if (elt)
-        ADD((char *)elt->e.text->text);
-    }
-
-  if (type_data[e->type].elt_info_number > eit_spaces_before_argument
-      && e->elt_info[eit_spaces_before_argument])
-    {
-      spc_before_arg = e->elt_info[eit_spaces_before_argument];
-    }
-
-  /* if there is no arg_line, the end of line is in rawline_arg in args
-     so the ET_lineraw_command args should be processed along with other
-     commands in that case */
-  if (e->type == ET_lineraw_command && e->e.c->string_info[sit_arg_line])
-    {
-      const char *arg_line = e->e.c->string_info[sit_arg_line];
-      if (spc_before_arg)
-        ADD((char *)spc_before_arg->e.text->text);
-
-      ADD(arg_line);
-    }
-  else if (e->e.c->args.number > 0)
-    {
-      size_t i, arg_nr;
-
-      if (spc_before_arg)
-        ADD((char *)spc_before_arg->e.text->text);
-
-      arg_nr = 0;
-      for (i = 0; i < e->e.c->args.number; i++)
-        {
-          ELEMENT *arg = e->e.c->args.list[i];
-          if (arg->flags & EF_inserted)
-            continue;
-
-          if (arg_nr)
-            ADD(",");
-          arg_nr++;
-          convert_to_texinfo_internal (arg, result);
-        }
-    }
-  else if (e->e.c->contents.number > 0
-           && (builtin_command_data[cmd].flags & CF_brace
-               || builtin_command_data[cmd].flags & CF_INFOENCLOSE))
-    {
-      size_t i, arg_nr;
-      int braces;
-
-      braces = !(e->e.c->contents.list[0]->type == ET_following_arg);
-      if (braces)
-        ADD("{");
-
-      if (cmd == CM_verb)
-        {
-          const char *delimiter = e->e.c->string_info[sit_delimiter];
-          ADD(delimiter);
-        }
-
-      if (spc_before_arg)
-        ADD((char *)spc_before_arg->e.text->text);
-
-      arg_nr = 0;
-      for (i = 0; i < e->e.c->contents.number; i++)
-        {
-          ELEMENT *arg = e->e.c->contents.list[i];
-          if (arg->flags & EF_inserted)
-            continue;
-
-          if (arg_nr)
-            ADD(",");
-          arg_nr++;
-          convert_to_texinfo_internal (arg, result);
-        }
-
-      if (cmd == CM_verb)
-        {
-          const char *delimiter = e->e.c->string_info[sit_delimiter];
-          ADD(delimiter);
-        }
-
-      if (braces)
-        ADD("}");
-    }
-  else if (e->e.c->contents.number > 0
-           && e->e.c->contents.list[0]->type == ET_argument)
-    {
-      size_t i, arg_nr;
-      ELEMENT *argument = e->e.c->contents.list[0];
-
-      if (spc_before_arg)
-        ADD((char *)spc_before_arg->e.text->text);
-
-      arg_nr = 0;
-      for (i = 0; i < argument->e.c->contents.number; i++)
-        {
-          ELEMENT *arg = argument->e.c->contents.list[i];
-          if (arg->flags & EF_inserted)
-            continue;
-
-          if (arg_nr)
-            ADD(",");
-          arg_nr++;
-          convert_to_texinfo_internal (arg, result);
-        }
-    }
-  else
-    {
-      if (spc_before_arg)
-        ADD((char *)spc_before_arg->e.text->text);
-    }
-}
-
 static void
 convert_to_texinfo_internal (const ELEMENT *e, TEXT *result)
 {
@@ -188,7 +60,135 @@ convert_to_texinfo_internal (const ELEMENT *e, TEXT 
*result)
       if (e->e.c->cmd)
         {
           enum command_id cmd = element_builtin_cmd (e);
-          expand_cmd_args_to_texi (e, result);
+          ELEMENT *elt;
+          ELEMENT *spc_before_arg = 0;
+
+          if (cmd)
+            {
+              const char *cmdname = element_command_name (e);
+              ADD("@");  ADD(cmdname);
+            }
+
+          if (type_data[e->type].elt_info_number > 
eit_spaces_after_cmd_before_arg)
+            {
+              elt = e->elt_info[eit_spaces_after_cmd_before_arg];
+              if (elt)
+                ADD((char *)elt->e.text->text);
+            }
+
+          if (type_data[e->type].elt_info_number > eit_spaces_before_argument
+              && e->elt_info[eit_spaces_before_argument])
+            {
+              spc_before_arg = e->elt_info[eit_spaces_before_argument];
+            }
+
+          /* if there is no arg_line, the end of line is in rawline_arg in args
+             so the ET_lineraw_command args should be processed along with 
other
+             commands in that case */
+          if (e->type == ET_lineraw_command && 
e->e.c->string_info[sit_arg_line])
+            {
+              const char *arg_line = e->e.c->string_info[sit_arg_line];
+              if (spc_before_arg)
+                ADD((char *)spc_before_arg->e.text->text);
+
+              ADD(arg_line);
+
+              if (!(builtin_command_data[cmd].flags & CF_block))
+                return;
+            }
+          else if (e->e.c->contents.number > 0
+                   && (builtin_command_data[cmd].flags & CF_brace
+                       || builtin_command_data[cmd].flags & CF_INFOENCLOSE))
+            {
+              size_t i, arg_nr;
+              int braces;
+
+              braces = !(e->e.c->contents.list[0]->type == ET_following_arg);
+              if (braces)
+                ADD("{");
+
+              if (cmd == CM_verb)
+                {
+                  const char *delimiter = e->e.c->string_info[sit_delimiter];
+                  ADD(delimiter);
+                }
+
+              if (spc_before_arg)
+                ADD((char *)spc_before_arg->e.text->text);
+
+              arg_nr = 0;
+              for (i = 0; i < e->e.c->contents.number; i++)
+                {
+                  ELEMENT *arg = e->e.c->contents.list[i];
+                  if (arg->flags & EF_inserted)
+                    continue;
+
+                  if (arg_nr)
+                    ADD(",");
+                  arg_nr++;
+                  convert_to_texinfo_internal (arg, result);
+                }
+
+              if (cmd == CM_verb)
+                {
+                  const char *delimiter = e->e.c->string_info[sit_delimiter];
+                  ADD(delimiter);
+                }
+
+              if (braces)
+                ADD("}");
+              return;
+            }
+          else if (e->e.c->contents.number > 0
+                   && e->e.c->contents.list[0]->type == ET_argument)
+            {
+              size_t i, arg_nr;
+              ELEMENT *argument = e->e.c->contents.list[0];
+
+              if (spc_before_arg)
+                ADD((char *)spc_before_arg->e.text->text);
+
+              arg_nr = 0;
+              for (i = 0; i < argument->e.c->contents.number; i++)
+                {
+                  ELEMENT *arg = argument->e.c->contents.list[i];
+                  if (arg->flags & EF_inserted)
+                    continue;
+
+                  if (arg_nr)
+                    ADD(",");
+                  arg_nr++;
+                  convert_to_texinfo_internal (arg, result);
+                }
+            }
+          /* line commands that are not root commands */
+          else if (e->e.c->contents.number > 0
+                   && e->e.c->contents.list[0]->type == ET_line_arg)
+            {
+              size_t i, arg_nr;
+
+              if (spc_before_arg)
+                ADD((char *)spc_before_arg->e.text->text);
+
+              arg_nr = 0;
+              for (i = 0; i < e->e.c->contents.number; i++)
+                {
+                  ELEMENT *arg = e->e.c->contents.list[i];
+                  if (arg->flags & EF_inserted)
+                    continue;
+
+                  if (arg_nr)
+                    ADD(",");
+                  arg_nr++;
+                  convert_to_texinfo_internal (arg, result);
+                }
+              return;
+            }
+          else
+            {
+              if (spc_before_arg)
+                ADD((char *)spc_before_arg->e.text->text);
+            }
           if (builtin_command_data[cmd].flags & CF_brace
               || builtin_command_data[cmd].flags & CF_INFOENCLOSE)
             return;
diff --git a/tp/Texinfo/XS/main/convert_to_text.c 
b/tp/Texinfo/XS/main/convert_to_text.c
index 152fce9a57..2f02c83d2e 100644
--- a/tp/Texinfo/XS/main/convert_to_text.c
+++ b/tp/Texinfo/XS/main/convert_to_text.c
@@ -613,8 +613,8 @@ convert_to_text_internal (const ELEMENT *element, 
TEXT_OPTIONS *text_options,
                   && !format_expanded_p (text_options->expanded_formats,
                                     builtin_command_name (data_cmd)))))
        /* here ignore most of the line commands */
-      || ((builtin_command_data[data_cmd].flags & CF_line
-           || element->type == ET_index_entry_command)
+      || element->type == ET_index_entry_command
+      || (builtin_command_data[data_cmd].flags & CF_line
           && !(builtin_command_data[data_cmd].other_flags
                                              & CF_formatted_line)
           && !(builtin_command_data[data_cmd].flags & CF_def)
@@ -866,88 +866,43 @@ convert_to_text_internal (const ELEMENT *element, 
TEXT_OPTIONS *text_options,
                || data_cmd == CM_float
                || data_cmd == CM_cartouche)
         {
-          if (element->e.c->args.number > 0)
+          size_t i;
+          TEXT args_line;
+          ELEMENT *argument = element->e.c->contents.list[0];
+
+          text_init (&args_line);
+          for (i = 0; i < argument->e.c->contents.number; i++)
             {
-              size_t i;
-              TEXT args_line;
-              text_init (&args_line);
-              for (i = 0; i < element->e.c->args.number; i++)
+              const ELEMENT *arg = argument->e.c->contents.list[i];
+              TEXT converted_arg;
+              text_init (&converted_arg);
+              convert_to_text_internal (arg, text_options, &converted_arg);
+              if (converted_arg.end > 0)
                 {
-                  const ELEMENT *arg = element->e.c->args.list[i];
-                  TEXT converted_arg;
-                  text_init (&converted_arg);
-                  convert_to_text_internal (arg, text_options, &converted_arg);
-                  if (converted_arg.end > 0)
+                  int spaces_nr
+                    = strspn (converted_arg.text, whitespace_chars);
+                  if (converted_arg.text[spaces_nr])
                     {
-                      int spaces_nr
-                        = strspn (converted_arg.text, whitespace_chars);
-                      if (converted_arg.text[spaces_nr])
-                        {
-                          if (args_line.end > 0 && i > 0)
-                            text_append (&args_line, ", ");
-                          text_append (&args_line, converted_arg.text);
-                        }
-                      free (converted_arg.text);
+                      if (args_line.end > 0 && i > 0)
+                        text_append (&args_line, ", ");
+                      text_append (&args_line, converted_arg.text);
                     }
-                }
-              /* remain 0, args_line.space 0 if all args are empty */
-              if (args_line.text)
-                {
-                  size_t spaces_nr;
-                  if (args_line.end > 0
-                      && args_line.text[args_line.end - 1] == '\n')
-                  args_line.text[--args_line.end] = '\0';
-
-                  spaces_nr = strspn (args_line.text, whitespace_chars);
-                  if (args_line.text[spaces_nr] != '\0')
-                    text_append (&args_line, "\n");
-                  ADD(args_line.text);
-                  free (args_line.text);
+                  free (converted_arg.text);
                 }
             }
-          else if (element->e.c->contents.number > 0
-                   /* FIXME useful? */
-                   && element->e.c->contents.list[0]->type == ET_argument
-                   && element->e.c->contents.list[0]->e.c->contents.number > 0)
+          /* remain 0, args_line.space 0 if all args are empty */
+          if (args_line.text)
             {
-              size_t i;
-              TEXT args_line;
-              ELEMENT *argument = element->e.c->contents.list[0];
-
-              text_init (&args_line);
-              for (i = 0; i < argument->e.c->contents.number; i++)
-                {
-                  const ELEMENT *arg = argument->e.c->contents.list[i];
-                  TEXT converted_arg;
-                  text_init (&converted_arg);
-                  convert_to_text_internal (arg, text_options, &converted_arg);
-                  if (converted_arg.end > 0)
-                    {
-                      int spaces_nr
-                        = strspn (converted_arg.text, whitespace_chars);
-                      if (converted_arg.text[spaces_nr])
-                        {
-                          if (args_line.end > 0 && i > 0)
-                            text_append (&args_line, ", ");
-                          text_append (&args_line, converted_arg.text);
-                        }
-                      free (converted_arg.text);
-                    }
-                }
-              /* remain 0, args_line.space 0 if all args are empty */
-              if (args_line.text)
-                {
-                  size_t spaces_nr;
-                  if (args_line.end > 0
-                      && args_line.text[args_line.end - 1] == '\n')
-                  args_line.text[--args_line.end] = '\0';
-
-                  spaces_nr = strspn (args_line.text, whitespace_chars);
-                  if (args_line.text[spaces_nr] != '\0')
-                    text_append (&args_line, "\n");
-                  ADD(args_line.text);
-                  free (args_line.text);
-                }
+              size_t spaces_nr;
+              if (args_line.end > 0
+                  && args_line.text[args_line.end - 1] == '\n')
+              args_line.text[--args_line.end] = '\0';
+
+              spaces_nr = strspn (args_line.text, whitespace_chars);
+              if (args_line.text[spaces_nr] != '\0')
+                text_append (&args_line, "\n");
+              ADD(args_line.text);
+              free (args_line.text);
             }
         }
       else if (builtin_command_data[data_cmd].flags & CF_sectioning_heading)
@@ -962,7 +917,7 @@ convert_to_text_internal (const ELEMENT *element, 
TEXT_OPTIONS *text_options,
           if (builtin_command_data[data_cmd].flags & CF_root)
             line_arg = element->e.c->contents.list[0]->e.c->contents.list[0];
           else
-            line_arg = element->e.c->args.list[0];
+            line_arg = element->e.c->contents.list[0];
 
           convert_to_text_internal (line_arg, text_options, &text);
           heading
@@ -972,7 +927,10 @@ convert_to_text_internal (const ELEMENT *element, 
TEXT_OPTIONS *text_options,
           ADD(heading);
           free (heading);
           free (text.text);
+          if (!(builtin_command_data[data_cmd].flags & CF_root))
+            return;
         }
+      /* TODO check if different from Perl and use similar code if not */
       else if (builtin_command_data[data_cmd].other_flags & CF_formatted_line)
         {
           if (data_cmd != CM_node)
@@ -981,12 +939,13 @@ convert_to_text_internal (const ELEMENT *element, 
TEXT_OPTIONS *text_options,
               text_init (&text);
               text_append (&text, "");
               if (data_cmd != CM_page)
-                convert_to_text_internal (element->e.c->args.list[0],
+                convert_to_text_internal (element->e.c->contents.list[0],
                                           text_options, &text);
               if (!(text.end > 0 && text.text[text.end - 1] == '\n'))
                 text_append (&text, "\n");
               ADD(text.text);
               free (text.text);
+              return;
             }
         }
       else if (builtin_command_data[data_cmd].flags & CF_line
@@ -1009,6 +968,7 @@ convert_to_text_internal (const ELEMENT *element, 
TEXT_OPTIONS *text_options,
                 for (i = 0; i < sp_nr; i++)
                   ADD("\n");
             }
+          return;
         }
       else if (data_cmd == CM_verbatiminclude)
         {
@@ -1040,6 +1000,7 @@ convert_to_text_internal (const ELEMENT *element, 
TEXT_OPTIONS *text_options,
                                         text_options, result);
               destroy_element_and_children (verbatim_include_verbatim);
             }
+          return;
         }
       else if (element->e.c->cmd == CM_item
                && element->parent->e.c->cmd == CM_enumerate)
diff --git a/tp/Texinfo/XS/main/debug.c b/tp/Texinfo/XS/main/debug.c
index 790ced3d14..89e996e134 100644
--- a/tp/Texinfo/XS/main/debug.c
+++ b/tp/Texinfo/XS/main/debug.c
@@ -105,8 +105,6 @@ print_element_debug (const ELEMENT *e, int print_parent)
     {
       if (e->e.c->cmd)
         text_printf (&text, "@%s", debug_element_command_name (e));
-      if (e->e.c->args.number)
-        text_printf (&text, "[A%d]", e->e.c->args.number);
       if (e->e.c->contents.number)
         text_printf (&text, "[C%d]", e->e.c->contents.number);
     }
diff --git a/tp/Texinfo/XS/main/floats.c b/tp/Texinfo/XS/main/floats.c
index dd1fd3d6d5..85f9b1e9f8 100644
--- a/tp/Texinfo/XS/main/floats.c
+++ b/tp/Texinfo/XS/main/floats.c
@@ -23,23 +23,10 @@
 #include "node_name_normalization.h"
 
 char *
-parse_float_type (ELEMENT *current)
+parse_float_type (ELEMENT *current, ELEMENT *element)
 {
   char *normalized;
-  if (current->e.c->args.number > 0)
-    /* listoffloats */
-    normalized = convert_to_normalized (current->e.c->args.list[0]);
-  else if (current->e.c->contents.number > 0
-           /* FIXME useful? */
-           && current->e.c->contents.list[0]->type == ET_argument
-           && current->e.c->contents.list[0]->e.c->contents.number > 0)
-    {
-      /* float */
-      normalized = convert_to_normalized (
-        current->e.c->contents.list[0]->e.c->contents.list[0]);
-    }
-  else
-    normalized = strdup ("");
+  normalized = convert_to_normalized (element);
   add_extra_string (current, AI_key_float_type, normalized);
   return normalized;
 }
diff --git a/tp/Texinfo/XS/main/floats.h b/tp/Texinfo/XS/main/floats.h
index dd72d13466..3e0dd2876d 100644
--- a/tp/Texinfo/XS/main/floats.h
+++ b/tp/Texinfo/XS/main/floats.h
@@ -19,7 +19,7 @@
 
 #include "tree_types.h"
 
-char *parse_float_type (ELEMENT *current);
+char *parse_float_type (ELEMENT *current, ELEMENT *element);
 void float_list_to_listoffloats_list (const FLOAT_RECORD_LIST *floats_list,
                                  LISTOFFLOATS_TYPE_LIST *result);
 void add_to_float_record_list (FLOAT_RECORD_LIST *float_records,
diff --git a/tp/Texinfo/XS/main/manipulate_indices.c 
b/tp/Texinfo/XS/main/manipulate_indices.c
index ce711ac680..df4bd10f4f 100644
--- a/tp/Texinfo/XS/main/manipulate_indices.c
+++ b/tp/Texinfo/XS/main/manipulate_indices.c
@@ -204,7 +204,7 @@ index_content_element (const ELEMENT *element, int 
prefer_reference_element)
    }
   else
    {
-     return element->e.c->args.list[0];
+     return element->e.c->contents.list[0];
    }
 }
 
@@ -1348,18 +1348,17 @@ idx_leading_text_or_command (ELEMENT *tree, const char 
*ignore_chars)
                                                &status);
                       if (expand_index > 0)
                         return idx_leading_text_or_command (
-                                         content->e.c->args.list[expand_index],
+                                   content->e.c->contents.list[expand_index],
                                                             ignore_chars);
 
                     }
                 }
               else if ((builtin_command_data[data_cmd].other_flags
                         & CF_formatted_line)
-                       && data_cmd != CM_page
-                       && content->e.c->args.number > 0)
+                       && data_cmd != CM_page)
                 {
                    return idx_leading_text_or_command (
-                                                   content->e.c->args.list[0],
+                                           content->e.c->contents.list[0],
                                                               ignore_chars);
                 }
             }
diff --git a/tp/Texinfo/XS/main/manipulate_tree.c 
b/tp/Texinfo/XS/main/manipulate_tree.c
index 4388cc960e..c8f165364e 100644
--- a/tp/Texinfo/XS/main/manipulate_tree.c
+++ b/tp/Texinfo/XS/main/manipulate_tree.c
@@ -210,11 +210,6 @@ copy_tree_internal (ELEMENT* current)
     }
 
   /* the parent of new is set in add_to_element* */
-  for (i = 0; i < current->e.c->args.number; i++)
-    {
-      ELEMENT *added = copy_tree_internal (current->e.c->args.list[i]);
-      add_to_element_args (new, added);
-    }
   for (i = 0; i < current->e.c->contents.number; i++)
     {
       ELEMENT *added = copy_tree_internal (current->e.c->contents.list[i]);
@@ -350,8 +345,6 @@ remove_element_copy_info (ELEMENT *current)
 
   if (! (type_data[current->type].flags & TF_text))
     {
-      for (i = 0; i < current->e.c->args.number; i++)
-        remove_element_copy_info (current->e.c->args.list[i]);
       for (i = 0; i < current->e.c->contents.number; i++)
         remove_element_copy_info (current->e.c->contents.list[i]);
 
@@ -835,28 +828,6 @@ modify_tree (ELEMENT *tree,
              ELEMENT_LIST *(*operation)(const char *type, ELEMENT *element, 
void* argument),
              void *argument)
 {
-  if (tree->e.c->args.number > 0)
-    {
-      size_t i;
-      for (i = 0; i < tree->e.c->args.number; i++)
-        {
-          ELEMENT_LIST *new_args;
-          ELEMENT *content = tree->e.c->args.list[i];
-          new_args = (*operation) ("arg", content, argument);
-          if (new_args)
-            {
-              /* *operation should take care of destroying removed element */
-              remove_from_args (tree, i);
-              insert_list_slice_into_args (tree, i,
-                                           new_args, 0,
-                                           new_args->number);
-              i += new_args->number -1;
-              destroy_list (new_args);
-            }
-          else if (! (type_data[content->type].flags & TF_text))
-            modify_tree (content, operation, argument);
-        }
-    }
   if (tree->e.c->contents.number > 0)
     {
       size_t i;
diff --git a/tp/Texinfo/XS/main/node_name_normalization.c 
b/tp/Texinfo/XS/main/node_name_normalization.c
index ede8515429..c87948e9cf 100644
--- a/tp/Texinfo/XS/main/node_name_normalization.c
+++ b/tp/Texinfo/XS/main/node_name_normalization.c
@@ -75,9 +75,9 @@ convert_to_normalized_internal (const ELEMENT *e, TEXT 
*result)
                || e->e.c->cmd == CM_seealso
                || e->e.c->cmd == CM_seeentry)
              /* here ignore the line commands */
-              || (e->e.c->args.number > 0
-                  && (e->e.c->args.list[0]->type == ET_line_arg
-                      || e->e.c->args.list[0]->type == ET_rawline_arg))
+              || (e->e.c->contents.number > 0
+                  && (e->e.c->contents.list[0]->type == ET_line_arg
+                      || e->e.c->contents.list[0]->type == ET_rawline_arg))
               || (e->e.c->contents.number > 0
                   && e->e.c->contents.list[0]->e.c->contents.number > 0
                   && e->e.c->contents.list[0]->e.c->contents.list[0]->type
diff --git a/tp/Texinfo/XS/main/output_unit.c b/tp/Texinfo/XS/main/output_unit.c
index d68a6bf64d..ef7a67ae1a 100644
--- a/tp/Texinfo/XS/main/output_unit.c
+++ b/tp/Texinfo/XS/main/output_unit.c
@@ -634,7 +634,8 @@ units_directions (const LABEL_LIST *identifiers_target,
             }
           else
             {
-              int automatic_directions = (node->e.c->args.number <= 1);
+              const ELEMENT *argument = node->e.c->contents.list[0];
+              int automatic_directions = (argument->e.c->contents.number <= 1);
               const ELEMENT *associated_section = lookup_extra_element (node,
                                                    AI_key_associated_section);
               const CONST_ELEMENT_LIST *section_childs = 0;
diff --git a/tp/Texinfo/XS/main/translations.c 
b/tp/Texinfo/XS/main/translations.c
index ce2e661b6a..3cbc81e774 100644
--- a/tp/Texinfo/XS/main/translations.c
+++ b/tp/Texinfo/XS/main/translations.c
@@ -476,8 +476,6 @@ substitute (ELEMENT *tree, NAMED_STRING_ELEMENT_LIST 
*replaced_substrings)
 {
   if (tree->e.c->contents.number > 0)
     substitute_element_array (&tree->e.c->contents, replaced_substrings);
-  if (tree->e.c->args.number > 0)
-    substitute_element_array (&tree->e.c->args, replaced_substrings);
 
   return tree;
 }
diff --git a/tp/Texinfo/XS/main/tree.c b/tp/Texinfo/XS/main/tree.c
index 7ad3e2371c..b65ac99ffe 100644
--- a/tp/Texinfo/XS/main/tree.c
+++ b/tp/Texinfo/XS/main/tree.c
@@ -247,9 +247,8 @@ destroy_element (ELEMENT *e)
     {
       int i;
       int string_info_nr = 0;
-  /* Note the pointers in these lists are not themselves freed. */
+  /* Note the pointers in the list are not themselves freed. */
       free (e->e.c->contents.list);
-      free (e->e.c->args.list);
 
       destroy_associated_info (&e->e.c->extra_info);
 
@@ -288,8 +287,6 @@ destroy_element_and_children (ELEMENT *e)
     {
       for (i = 0; i < e->e.c->contents.number; i++)
         destroy_element_and_children (e->e.c->contents.list[i]);
-      for (i = 0; i < e->e.c->args.number; i++)
-        destroy_element_and_children (e->e.c->args.list[i]);
     }
 
   destroy_element (e);
@@ -369,14 +366,6 @@ add_to_contents_as_array (ELEMENT *parent, ELEMENT *e)
   add_to_element_list (list, e);
 }
 
-void
-add_to_element_args (ELEMENT *parent, ELEMENT *e)
-{
-  ELEMENT_LIST *list = &parent->e.c->args;
-  add_to_element_list (list, e);
-  e->parent = parent;
-}
-
 /* Add the element E into the LIST at index WHERE. */
 void
 insert_into_element_list (ELEMENT_LIST *list, ELEMENT *e, size_t where)
@@ -401,15 +390,6 @@ insert_into_contents (ELEMENT *parent, ELEMENT *e, size_t 
where)
   e->parent = parent;
 }
 
-/* Add the element E into the arguments of PARENT at index WHERE. */
-void
-insert_into_args (ELEMENT *parent, ELEMENT *e, size_t where)
-{
-  ELEMENT_LIST *list = &parent->e.c->args;
-  insert_into_element_list (list, e, where);
-  e->parent = parent;
-}
-
 /* Insert elements to TO at position WHERE from FROM from START inclusive
    to END exclusive. */
 void
@@ -442,16 +422,6 @@ insert_slice_into_contents (ELEMENT *to, size_t where, 
const ELEMENT *from,
                                &from->e.c->contents, start, end);
 }
 
-/* Insert elements to the args of TO at position WHERE from FROM
-   from START inclusive to END exclusive. */
-void
-insert_list_slice_into_args (ELEMENT *to, size_t where,
-                             const ELEMENT_LIST *from,
-                             size_t start, size_t end)
-{
-  insert_list_slice_into_list (&to->e.c->args, where, from, start, end);
-}
-
 /* Insert elements to the contents of TO at position WHERE from FROM
    from START inclusive to END exclusive. */
 void
@@ -519,13 +489,6 @@ remove_from_contents (ELEMENT *parent, size_t where)
   return remove_from_element_list (list, where);
 }
 
-ELEMENT *
-remove_from_args (ELEMENT *parent, size_t where)
-{
-  ELEMENT_LIST *list = &parent->e.c->args;
-  return remove_from_element_list (list, where);
-}
-
 ELEMENT *
 remove_element_from_list (ELEMENT_LIST *list, const ELEMENT *e)
 {
@@ -572,14 +535,6 @@ remove_slice_from_contents (ELEMENT *parent, size_t start, 
size_t end)
 }
 
 
-ELEMENT *
-pop_element_from_args (ELEMENT *parent)
-{
-  ELEMENT_LIST *list = &parent->e.c->args;
-
-  return list->list[--list->number];
-}
-
 ELEMENT *
 pop_element_from_contents (ELEMENT *parent)
 {
@@ -591,15 +546,6 @@ pop_element_from_contents (ELEMENT *parent)
   return popped_element;
 }
 
-ELEMENT *
-last_args_child (const ELEMENT *current)
-{
-  if (current->e.c->args.number == 0)
-    return 0;
-
-  return current->e.c->args.list[current->e.c->args.number - 1];
-}
-
 ELEMENT *
 last_contents_child (const ELEMENT *current)
 {
@@ -618,15 +564,6 @@ contents_child_by_index (const ELEMENT *e, size_t index)
   return e->e.c->contents.list[index];
 }
 
-ELEMENT *
-args_child_by_index (const ELEMENT *e, size_t index)
-{
-  if (index >= e->e.c->args.number)
-    return 0;
-
-  return e->e.c->args.list[index];
-}
-
 int replace_element_in_list (ELEMENT_LIST *list, ELEMENT *removed,
                              ELEMENT *added)
 {
diff --git a/tp/Texinfo/XS/main/tree.h b/tp/Texinfo/XS/main/tree.h
index e879d98299..51786459d2 100644
--- a/tp/Texinfo/XS/main/tree.h
+++ b/tp/Texinfo/XS/main/tree.h
@@ -21,10 +21,8 @@ void add_to_const_element_list (CONST_ELEMENT_LIST *list, 
const ELEMENT *e);
 void add_to_element_list (ELEMENT_LIST *list, ELEMENT *e);
 void add_to_element_contents (ELEMENT *parent, ELEMENT *e);
 void add_to_contents_as_array (ELEMENT *parent, ELEMENT *e);
-void add_to_element_args (ELEMENT *parent, ELEMENT *e);
 void insert_into_element_list (ELEMENT_LIST *list, ELEMENT *e, size_t where);
 void insert_into_contents (ELEMENT *parent, ELEMENT *e, size_t where);
-void insert_into_args (ELEMENT *parent, ELEMENT *e, size_t where);
 ELEMENT *remove_element_from_list (ELEMENT_LIST *list, const ELEMENT *e);
 void add_element_if_not_in_list (ELEMENT_LIST *list, ELEMENT *e);
 void insert_list_slice_into_list (ELEMENT_LIST *to, size_t where,
@@ -35,22 +33,15 @@ void insert_slice_into_contents (ELEMENT *to, size_t idx, 
const ELEMENT *from,
 void insert_list_slice_into_contents (ELEMENT *to, size_t idx,
                                       const ELEMENT_LIST *from,
                                       size_t start, size_t end);
-void insert_list_slice_into_args (ELEMENT *to, size_t where,
-                                  const ELEMENT_LIST *from,
-                                  size_t start, size_t end);
 void list_set_empty_contents (ELEMENT_LIST *e_list, size_t n);
 ELEMENT *remove_from_element_list (ELEMENT_LIST *list, size_t where);
 const ELEMENT *remove_from_const_element_list (CONST_ELEMENT_LIST *list,
                                                size_t where);
 ELEMENT *remove_from_contents (ELEMENT *parent, size_t where);
-ELEMENT *remove_from_args (ELEMENT *parent, size_t where);
 void remove_slice_from_contents (ELEMENT *parent, size_t start, size_t end);
-ELEMENT *last_args_child (const ELEMENT *current);
 ELEMENT *last_contents_child (const ELEMENT *current);
-ELEMENT *pop_element_from_args (ELEMENT *parent);
 ELEMENT *pop_element_from_contents (ELEMENT *parent);
 ELEMENT *contents_child_by_index (const ELEMENT *e, size_t index);
-ELEMENT *args_child_by_index (const ELEMENT *e, size_t index);
 void destroy_list (ELEMENT_LIST *list);
 void destroy_const_element_list (CONST_ELEMENT_LIST *list);
 void destroy_element (ELEMENT *e);
@@ -65,7 +56,6 @@ void free_element_source_mark_list (ELEMENT *e);
 void destroy_element_empty_source_mark_list (ELEMENT *e);
 
 #define element_contents_number(e) ((e)->contents.number)
-#define element_args_number(e) ((e)->args.number)
 #define element_text(e) (text_base (&(e)->text))
 
 #endif
diff --git a/tp/Texinfo/XS/main/tree_types.h b/tp/Texinfo/XS/main/tree_types.h
index 2302ac3a7d..7f5da3491b 100644
--- a/tp/Texinfo/XS/main/tree_types.h
+++ b/tp/Texinfo/XS/main/tree_types.h
@@ -227,7 +227,6 @@ typedef struct SOURCE_MARK_LIST {
 struct OUTPUT_UNIT;
 
 typedef struct CONTAINER {
-    ELEMENT_LIST args;
     ELEMENT_LIST contents;
     SOURCE_INFO source_info;
 
diff --git a/tp/Texinfo/XS/main/utils.c b/tp/Texinfo/XS/main/utils.c
index 234f4e7fa6..8a4a49bc3a 100644
--- a/tp/Texinfo/XS/main/utils.c
+++ b/tp/Texinfo/XS/main/utils.c
@@ -1402,15 +1402,15 @@ informative_command_value (const ELEMENT *element)
          We handle this case with TEXT text, but do not free memory
          as should be, as this case should never happen.
        */
-      else if (element->e.c->args.number > 0)
+      else if (element->e.c->contents.number > 0)
         {
           TEXT text;
           size_t i;
           char *text_seen = 0;
-          for (i = 0; i < element->e.c->args.number; i++)
+          for (i = 0; i < element->e.c->contents.number; i++)
             {
               /* only text elements in lineraw args */
-              ELEMENT *arg = element->e.c->args.list[i];
+              ELEMENT *arg = element->e.c->contents.list[i];
               if (arg->e.text->end)
                 {
                   if (!text_seen)
@@ -1440,11 +1440,11 @@ informative_command_value (const ELEMENT *element)
     return misc_args->list[0];
   if (builtin_command_data[cmd].flags & CF_line
       && builtin_command_data[cmd].data == LINE_line
-      && element->e.c->args.number >= 1
-      && element->e.c->args.list[0]->e.c->contents.number >= 1
-      && element->e.c->args.list[0]->e.c->contents.list[0]->type == 
ET_normal_text
-      && element->e.c->args.list[0]->e.c->contents.list[0]->e.text->end > 0)
-    return element->e.c->args.list[0]->e.c->contents.list[0]->e.text->text;
+      && element->e.c->contents.number >= 1
+      && element->e.c->contents.list[0]->e.c->contents.number >= 1
+      && element->e.c->contents.list[0]->e.c->contents.list[0]->type == 
ET_normal_text
+      && element->e.c->contents.list[0]->e.c->contents.list[0]->e.text->end > 
0)
+    return element->e.c->contents.list[0]->e.c->contents.list[0]->e.text->text;
 
   return 0;
 }
diff --git a/tp/Texinfo/XS/parsetexi/close.c b/tp/Texinfo/XS/parsetexi/close.c
index d4c66e9633..386f7467d9 100644
--- a/tp/Texinfo/XS/parsetexi/close.c
+++ b/tp/Texinfo/XS/parsetexi/close.c
@@ -129,7 +129,7 @@ close_all_style_commands (ELEMENT *current,
 }
 
 static int
-is_container_empty (ELEMENT *current)
+is_container_empty (const ELEMENT *current)
 {
   /* all kind of text elements, including other_text (in some args) */
   if (type_data[current->type].flags & TF_text)
@@ -137,8 +137,7 @@ is_container_empty (ELEMENT *current)
       if (current->e.text->end == 0)
         return 1;
     }
-  else if (current->e.c->contents.number == 0
-           && current->e.c->args.number == 0)
+  else if (current->e.c->contents.number == 0)
     return 1;
 
   return 0;
diff --git a/tp/Texinfo/XS/parsetexi/debug_parser.c 
b/tp/Texinfo/XS/parsetexi/debug_parser.c
index 90fe30a8d1..9f937cc919 100644
--- a/tp/Texinfo/XS/parsetexi/debug_parser.c
+++ b/tp/Texinfo/XS/parsetexi/debug_parser.c
@@ -122,8 +122,6 @@ print_element_debug_parser (const ELEMENT *e, int 
print_parent)
     {
       if (e->e.c->cmd)
         text_printf (&text, "@%s", debug_parser_command_name (e->e.c->cmd));
-      if (e->e.c->args.number)
-        text_printf (&text, "[A%d]", e->e.c->args.number);
       if (e->e.c->contents.number)
         text_printf (&text, "[C%d]", e->e.c->contents.number);
     }
diff --git a/tp/Texinfo/XS/parsetexi/end_line.c 
b/tp/Texinfo/XS/parsetexi/end_line.c
index 50c2c78901..65548e9a05 100644
--- a/tp/Texinfo/XS/parsetexi/end_line.c
+++ b/tp/Texinfo/XS/parsetexi/end_line.c
@@ -121,7 +121,7 @@ parse_line_command_args (ELEMENT *line_command)
   if (command_data(cmd).flags & CF_root)
     line_arg = line_command->e.c->contents.list[0]->e.c->contents.list[0];
   else
-    line_arg = line_command->e.c->args.list[0];
+    line_arg = line_command->e.c->contents.list[0];
 
   if (line_arg->e.c->contents.number == 0)
    {
@@ -897,7 +897,7 @@ end_line_starting_block (ELEMENT *current)
 
   if (command == CM_float)
     {
-      char *float_type;
+      char *float_type = 0;
 
       current->e.c->source_info = current_source_info;
       if (argument->e.c->contents.number >= 2)
@@ -906,7 +906,7 @@ end_line_starting_block (ELEMENT *current)
             = contents_child_by_index (argument, 1);
           check_register_target_element_label (float_label_element, current);
         }
-      float_type = parse_float_type (current);
+      float_type = parse_float_type (current, argument->e.c->contents.list[0]);
 
       /* add to global 'floats' array */
       add_to_float_record_list (&parsed_document->floats, float_type, current);
@@ -1250,10 +1250,7 @@ end_line_misc_line (ELEMENT *current)
   else
     {
       command_element = current->parent;
-      if (command_data(command_element->e.c->cmd).flags & CF_def)
-        line_arg = command_element->e.c->contents.list[0];
-      else
-        line_arg = command_element->e.c->args.list[0];
+      line_arg = command_element->e.c->contents.list[0];
     }
 
   data_cmd = cmd = command_element->e.c->cmd;
@@ -1263,14 +1260,6 @@ end_line_misc_line (ELEMENT *current)
   if (cmd == CM_item)
     data_cmd = CM_item_LINE;
 
-  if (! line_arg)
-    {
-      if (command_data(data_cmd).flags & CF_def)
-        line_arg = command_element->e.c->contents.list[0];
-      else
-        line_arg = command_element->e.c->args.list[0];
-    }
-
   if (command_data(data_cmd).flags & CF_contain_basic_inline)
     (void) pop_command (&nesting_context.basic_inline_stack_on_line);
   isolate_last_space (current);
@@ -1299,9 +1288,8 @@ end_line_misc_line (ELEMENT *current)
       char *text = 0;
       int superfluous_arg = 0;
 
-      if (current->e.c->args.number > 0)
-        text = text_contents_to_plain_text (current->e.c->args.list[0],
-                                            &superfluous_arg);
+      text = text_contents_to_plain_text (current->e.c->contents.list[0],
+                                          &superfluous_arg);
 
       if (!text || !strcmp (text, ""))
         {
@@ -1584,7 +1572,7 @@ end_line_misc_line (ELEMENT *current)
           const char *p;
           char *p1;
           char *texi_line
-            = convert_to_texinfo (args_child_by_index (current, 0));
+            = convert_to_texinfo (contents_child_by_index (current, 0));
 
           p = texi_line;
 
@@ -1660,7 +1648,7 @@ end_line_misc_line (ELEMENT *current)
     }
   else if (current->e.c->cmd == CM_listoffloats)
     {
-      parse_float_type (current);
+      parse_float_type (current, current->e.c->contents.list[0]);
     }
   else
     {
@@ -1700,7 +1688,7 @@ end_line_misc_line (ELEMENT *current)
                 || current->e.c->cmd == CM_subentry))
             {
               set_non_ignored_space_in_index_before_command (
-                                                     
current->e.c->args.list[0]);
+                                     current->e.c->contents.list[0]);
             }
         }
     }
diff --git a/tp/Texinfo/XS/parsetexi/handle_commands.c 
b/tp/Texinfo/XS/parsetexi/handle_commands.c
index 812251caaf..f09bd1dc18 100644
--- a/tp/Texinfo/XS/parsetexi/handle_commands.c
+++ b/tp/Texinfo/XS/parsetexi/handle_commands.c
@@ -91,7 +91,7 @@ check_no_text (const ELEMENT *current)
               ELEMENT *g = f->e.c->contents.list[j];
               if ((g->type == ET_normal_text
                    && g->e.text->end > 0
-                   && g->e.text->text[strspn 
+                   && g->e.text->text[strspn
                                        (g->e.text->text, whitespace_chars)])
                   /* empty_line text is possible */
                   || (!(type_data[g->type].flags & TF_text)
@@ -667,7 +667,7 @@ handle_line_command (ELEMENT *current, const char 
**line_inout,
           command_e->e.c->source_info = current_source_info;
 
           line_args = new_element (ET_line_arg);
-          add_to_element_args (command_e, line_args);
+          add_to_element_contents (command_e, line_args);
           add_extra_misc_args (command_e, AI_key_misc_args, args_list);
           text_append (spaces_before->e.text, " ");
           command_e->elt_info[eit_spaces_before_argument] = spaces_before;
@@ -695,7 +695,7 @@ handle_line_command (ELEMENT *current, const char 
**line_inout,
             {
               args->list[i]->parent = command_e;
             }
-          insert_list_slice_into_args (command_e, 0, args, 0, args_nr);
+          insert_list_slice_into_contents (command_e, 0, args, 0, args_nr);
           args->number = 0;
         }
 
@@ -925,16 +925,15 @@ handle_line_command (ELEMENT *current, const char 
**line_inout,
       /* change 'current' to its last child.  This is command_e.  */
       current = last_contents_child (current);
       arg = new_element (ET_line_arg);
-      if (command_data(data_cmd).flags & CF_def)
-        add_to_element_contents (current, arg);
-      else if (command_data(data_cmd).flags & CF_root)
+
+      if (command_data(data_cmd).flags & CF_root)
         {
           ELEMENT *argument = new_element (ET_argument);
           add_to_element_contents (current, argument);
           add_to_element_contents (argument, arg);
         }
-      else
-        add_to_element_args (current, arg);
+      else /* def or line command */
+        add_to_element_contents (current, arg);
 
       if (command_data(data_cmd).flags & CF_contain_basic_inline)
         push_command (&nesting_context.basic_inline_stack_on_line, cmd);
@@ -992,7 +991,7 @@ handle_line_command (ELEMENT *current, const char 
**line_inout,
         }
       else
         {
-          current = last_args_child (current);
+          current = last_contents_child (current);
       /* add 'line' to context_stack.  This will be the
          case while we read the argument on this line. */
           push_context (ct_line, cmd);
diff --git a/tp/Texinfo/XS/parsetexi/parser.c b/tp/Texinfo/XS/parsetexi/parser.c
index b9165fe529..6ec18d20a6 100644
--- a/tp/Texinfo/XS/parsetexi/parser.c
+++ b/tp/Texinfo/XS/parsetexi/parser.c
@@ -2123,7 +2123,7 @@ process_remaining_on_line (ELEMENT **current_inout, const 
char **line_inout)
      or following character association with an @-command, for accent
      commands */
   /* This condition can only happen immediately after the command opening,
-     otherwise the current element is in the 'args' and not right in the
+     otherwise the current element is in the 'contents' and not right in the
      command container. */
   if (command_flags(current) & CF_brace && *line != '{')
     {
diff --git a/tp/Texinfo/XS/parsetexi/separator.c 
b/tp/Texinfo/XS/parsetexi/separator.c
index ee1908fc9b..4d03be1015 100644
--- a/tp/Texinfo/XS/parsetexi/separator.c
+++ b/tp/Texinfo/XS/parsetexi/separator.c
@@ -824,11 +824,8 @@ handle_comma (ELEMENT *current, const char **line_inout)
     }
 
   new_arg = new_element (type);
-  if (command_flags(command_element) & CF_brace
-      || command_element != argument)
-    add_to_element_contents (argument, new_arg);
-  else
-    add_to_element_args (argument, new_arg);
+  add_to_element_contents (argument, new_arg);
+
   spaces_before_e = new_text_element (ET_internal_spaces_before_argument);
   add_to_element_contents (new_arg, spaces_before_e);
   internal_space_holder = new_arg;
diff --git a/tp/Texinfo/XS/structuring_transfo/structuring.c 
b/tp/Texinfo/XS/structuring_transfo/structuring.c
index 21f9341af4..b57c242181 100644
--- a/tp/Texinfo/XS/structuring_transfo/structuring.c
+++ b/tp/Texinfo/XS/structuring_transfo/structuring.c
@@ -74,7 +74,7 @@ new_block_command (ELEMENT *element)
 
   text_append (end_spaces_after->e.text, "\n");
   end_args->elt_info[eit_spaces_after_argument] = end_spaces_after;
-  add_to_element_args (end, end_args);
+  add_to_element_contents (end, end_args);
 
   text_append (command_name_text->e.text, command_name);
   add_to_element_contents (end_args, command_name_text);
diff --git a/tp/Texinfo/XS/structuring_transfo/transformations.c 
b/tp/Texinfo/XS/structuring_transfo/transformations.c
index 9d4dbf37bc..e582e38c6d 100644
--- a/tp/Texinfo/XS/structuring_transfo/transformations.c
+++ b/tp/Texinfo/XS/structuring_transfo/transformations.c
@@ -188,7 +188,7 @@ correct_level (ELEMENT *section, ELEMENT *parent, int 
modifier)
 
           add_to_element_contents (parent, element);
           text_append (rawline_arg->e.text, "\n");
-          add_to_element_args (element, rawline_arg);
+          add_to_element_contents (element, rawline_arg);
           remaining_level--;
         }
     }
diff --git a/tp/ext/epub3.pm b/tp/ext/epub3.pm
index ead002aab5..4b83b900b9 100644
--- a/tp/ext/epub3.pm
+++ b/tp/ext/epub3.pm
@@ -855,9 +855,9 @@ EOT
       my $command = $element->{'cmdname'};
       if ($command eq 'author') {
         if ($element->{'extra'}->{'titlepage'}
-             and $element->{'args'}->[0]->{'contents'}) {
+             and $element->{'contents'}->[0]->{'contents'}) {
           my $author_str = _epub_convert_tree_to_text($self,
-                                      $element->{'args'}->[0]);
+                                      $element->{'contents'}->[0]);
           if ($author_str =~ /\S/) {
             push @authors, $author_str;
           }
diff --git a/tp/init/documentation_examples.pm 
b/tp/init/documentation_examples.pm
index 013a81d52c..29cf0ae950 100644
--- a/tp/init/documentation_examples.pm
+++ b/tp/init/documentation_examples.pm
@@ -365,7 +365,7 @@ sub 
my_test_documentation_convert_index_entry_command_type($$$$)
     my $formatted_entry = "<td><tr>$hyperlink</tr>"
          ."<tr>$entry_root_link</tr></td>\n";
 
-    my $label_element = $target_element->{'args'}->[0];
+    my $label_element = $target_element->{'contents'}->[0];
     Texinfo::Convert::Text::set_options_code(
                               $converter->{'convert_text_options'});
     Texinfo::Convert::Text::set_options_encoding_if_not_ascii($converter,
diff --git a/tp/t/01use.t b/tp/t/01use.t
index 5f19f1179c..239571d62a 100644
--- a/tp/t/01use.t
+++ b/tp/t/01use.t
@@ -14,10 +14,24 @@ ok(1, "modules loading"); # If we made it this far, we're 
ok.
 # Note that this tree is not necessarily updated when the tree elements
 # change, so it generally uses obsolete constructs.
 my $manual_tree = { 'cmdname' => 'multitable',
-  'args' => [
+  'extra' => { 'max_columns' => 3, },
+  'info' => {
+      'spaces_before_argument' => {
+      'text' => ' '
+    },
+  },
+  'contents' => [
+     {'type' => 'argument',
+      'contents' => [
         { 'type' => 'block_line_arg',
+          'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    }
+                  },
+
           'contents' => [
-             { 'text' => ' ' },
              { 'type' => 'bracketed_arg',
                'contents' => [
                                {'text' => 'aaaa'},
@@ -39,11 +53,10 @@ my $manual_tree = { 'cmdname' => 'multitable',
                                }
                             ]
              },
-             {'text' => " ccc\n"},
+             {'text' => " ccc"},
           ],
        } ],
-  'extra' => { 'max_columns' => 3, },
-  'contents' => [
+     },
            { 'type' => 'before_item',
              'contents' => [
                              { 'type' => 'paragraph',
@@ -52,6 +65,7 @@ my $manual_tree = { 'cmdname' => 'multitable',
                                                 { 'cmdname' => 'verb',
                                                   'contents' => [ {
                                                                'contents' => [
+                                                                    # {
                                                                   { 'text' => 
' in verb } ',
                                                                     'type' => 
'raw' }
                                                                 ],
@@ -91,7 +105,7 @@ my $manual_tree = { 'cmdname' => 'multitable',
              'extra' => {
                          'text_arg' => 'multitable',
                         },
-             'args' => [
+             'contents' => [
                 {
                   'type' => 'line_arg',
                   'contents' => [
diff --git a/tp/t/init/ignore_and_comments_output.init 
b/tp/t/init/ignore_and_comments_output.init
index 2a3e44642a..c96f6b3169 100644
--- a/tp/t/init/ignore_and_comments_output.init
+++ b/tp/t/init/ignore_and_comments_output.init
@@ -6,8 +6,8 @@ sub convert_comment_command($$$)
   my $cmdname = shift;
   my $command = shift;
 
-  if ($command->{'args'} and $command->{'args'}->[0]) {
-    return $self->xml_comment($command->{'args'}->[0]->{'text'});
+  if ($command->{'contents'} and $command->{'contents'}->[0]) {
+    return $self->xml_comment($command->{'contents'}->[0]->{'text'});
   } else {
     return '';
   }
diff --git a/tp/t/init/redefine_need.init b/tp/t/init/redefine_need.init
index 3297c116f3..86d8eb7155 100644
--- a/tp/t/init/redefine_need.init
+++ b/tp/t/init/redefine_need.init
@@ -26,8 +26,9 @@ sub my_need_formatting($$$)
                           $command->{'source_info'});
   }
   my $arg_text;
-  if ($command->{'args'} and $command->{'args'}->[0]) {
-    $arg_text = 
Texinfo::Convert::Text::convert_to_text($command->{'args'}->[0]);
+  if ($command->{'contents'} and $command->{'contents'}->[0]) {
+    $arg_text
+     = Texinfo::Convert::Text::convert_to_text($command->{'contents'}->[0]);
   } else {
     $arg_text = '';
   }
diff --git a/tp/t/results/alias/alias_macro_target_removed.pl 
b/tp/t/results/alias/alias_macro_target_removed.pl
index dcbad98d27..87db0d9e97 100644
--- a/tp/t/results/alias/alias_macro_target_removed.pl
+++ b/tp/t/results/alias/alias_macro_target_removed.pl
@@ -31,7 +31,8 @@ $result_trees{'alias_macro_target_removed'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -47,7 +48,6 @@ $result_trees{'alias_macro_target_removed'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'macro'
               },
@@ -75,7 +75,8 @@ $result_trees{'alias_macro_target_removed'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -91,7 +92,6 @@ $result_trees{'alias_macro_target_removed'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'new',
@@ -157,13 +157,13 @@ $result_trees{'alias_macro_target_removed'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'unmacro',
+          'contents' => [
             {
               'text' => 'mystrong',
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'unmacro',
           'info' => {
             'arg_line' => ' mystrong
 '
diff --git a/tp/t/results/alias/alias_non_existing_command.pl 
b/tp/t/results/alias/alias_non_existing_command.pl
index 448dd4ed88..03ae359e34 100644
--- a/tp/t/results/alias/alias_non_existing_command.pl
+++ b/tp/t/results/alias/alias_non_existing_command.pl
@@ -10,7 +10,8 @@ $result_trees{'alias_non_existing_command'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -26,7 +27,6 @@ $result_trees{'alias_non_existing_command'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'myalias',
diff --git a/tp/t/results/alias/alias_of_added_index.pl 
b/tp/t/results/alias/alias_of_added_index.pl
index cd8fbdb0e2..386d8340a3 100644
--- a/tp/t/results/alias/alias_of_added_index.pl
+++ b/tp/t/results/alias/alias_of_added_index.pl
@@ -10,7 +10,8 @@ $result_trees{'alias_of_added_index'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'defindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -26,7 +27,6 @@ $result_trees{'alias_of_added_index'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'defindex',
           'extra' => {
             'misc_args' => [
               'sli'
@@ -47,7 +47,8 @@ $result_trees{'alias_of_added_index'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -63,7 +64,6 @@ $result_trees{'alias_of_added_index'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'new',
@@ -151,7 +151,8 @@ $result_trees{'alias_of_added_index'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'sliindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -167,7 +168,6 @@ $result_trees{'alias_of_added_index'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'sliindex',
           'extra' => {
             'element_node' => {},
             'index_entry' => [
@@ -268,7 +268,8 @@ $result_trees{'alias_of_added_index'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -284,7 +285,6 @@ $result_trees{'alias_of_added_index'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'sli'
diff --git a/tp/t/results/alias/alias_of_added_index_before_added_index.pl 
b/tp/t/results/alias/alias_of_added_index_before_added_index.pl
index b924f74fb8..b257f43bde 100644
--- a/tp/t/results/alias/alias_of_added_index_before_added_index.pl
+++ b/tp/t/results/alias/alias_of_added_index_before_added_index.pl
@@ -10,7 +10,8 @@ $result_trees{'alias_of_added_index_before_added_index'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -26,7 +27,6 @@ $result_trees{'alias_of_added_index_before_added_index'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'new',
@@ -48,7 +48,8 @@ $result_trees{'alias_of_added_index_before_added_index'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'defindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -64,7 +65,6 @@ $result_trees{'alias_of_added_index_before_added_index'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'defindex',
           'extra' => {
             'misc_args' => [
               'sli'
@@ -151,7 +151,8 @@ $result_trees{'alias_of_added_index_before_added_index'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'sliindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -167,7 +168,6 @@ $result_trees{'alias_of_added_index_before_added_index'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'sliindex',
           'extra' => {
             'element_node' => {},
             'index_entry' => [
@@ -268,7 +268,8 @@ $result_trees{'alias_of_added_index_before_added_index'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -284,7 +285,6 @@ $result_trees{'alias_of_added_index_before_added_index'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'sli'
diff --git a/tp/t/results/alias/alias_of_definfoenclose.pl 
b/tp/t/results/alias/alias_of_definfoenclose.pl
index 66f6066181..7b8b87b446 100644
--- a/tp/t/results/alias/alias_of_definfoenclose.pl
+++ b/tp/t/results/alias/alias_of_definfoenclose.pl
@@ -10,7 +10,8 @@ $result_trees{'alias_of_definfoenclose'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'definfoenclose',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -26,7 +27,6 @@ $result_trees{'alias_of_definfoenclose'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'definfoenclose',
           'extra' => {
             'misc_args' => [
               'phoo',
@@ -49,7 +49,8 @@ $result_trees{'alias_of_definfoenclose'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -65,7 +66,6 @@ $result_trees{'alias_of_definfoenclose'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'new',
diff --git 
a/tp/t/results/alias/alias_of_definfoenclose_before_definfoenclose.pl 
b/tp/t/results/alias/alias_of_definfoenclose_before_definfoenclose.pl
index bcd67ddae4..0f3134e44d 100644
--- a/tp/t/results/alias/alias_of_definfoenclose_before_definfoenclose.pl
+++ b/tp/t/results/alias/alias_of_definfoenclose_before_definfoenclose.pl
@@ -10,7 +10,8 @@ 
$result_trees{'alias_of_definfoenclose_before_definfoenclose'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -26,7 +27,6 @@ 
$result_trees{'alias_of_definfoenclose_before_definfoenclose'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'new',
@@ -48,7 +48,8 @@ 
$result_trees{'alias_of_definfoenclose_before_definfoenclose'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'definfoenclose',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -64,7 +65,6 @@ 
$result_trees{'alias_of_definfoenclose_before_definfoenclose'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'definfoenclose',
           'extra' => {
             'misc_args' => [
               'phoo',
diff --git a/tp/t/results/alias/alias_of_macro.pl 
b/tp/t/results/alias/alias_of_macro.pl
index 415906ee79..9d2b2ad84a 100644
--- a/tp/t/results/alias/alias_of_macro.pl
+++ b/tp/t/results/alias/alias_of_macro.pl
@@ -31,7 +31,8 @@ $result_trees{'alias_of_macro'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -47,7 +48,6 @@ $result_trees{'alias_of_macro'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'macro'
               },
@@ -75,7 +75,8 @@ $result_trees{'alias_of_macro'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -91,7 +92,6 @@ $result_trees{'alias_of_macro'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'new',
diff --git a/tp/t/results/alias/alias_of_macro_before_macro.pl 
b/tp/t/results/alias/alias_of_macro_before_macro.pl
index ce2d368a09..95b5fc4589 100644
--- a/tp/t/results/alias/alias_of_macro_before_macro.pl
+++ b/tp/t/results/alias/alias_of_macro_before_macro.pl
@@ -10,7 +10,8 @@ $result_trees{'alias_of_macro_before_macro'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -26,7 +27,6 @@ $result_trees{'alias_of_macro_before_macro'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'new',
@@ -69,7 +69,8 @@ $result_trees{'alias_of_macro_before_macro'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -85,7 +86,6 @@ $result_trees{'alias_of_macro_before_macro'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'macro'
               },
diff --git a/tp/t/results/alias/alias_table_command.pl 
b/tp/t/results/alias/alias_table_command.pl
index ec12cafef4..f11ace9720 100644
--- a/tp/t/results/alias/alias_table_command.pl
+++ b/tp/t/results/alias/alias_table_command.pl
@@ -10,7 +10,8 @@ $result_trees{'alias_table_command'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -26,7 +27,6 @@ $result_trees{'alias_table_command'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'myalias',
@@ -80,7 +80,8 @@ $result_trees{'alias_table_command'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -96,7 +97,6 @@ $result_trees{'alias_table_command'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -113,7 +113,8 @@ $result_trees{'alias_table_command'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -129,7 +130,6 @@ $result_trees{'alias_table_command'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
diff --git a/tp/t/results/alias/alias_zero.pl b/tp/t/results/alias/alias_zero.pl
index 05f7c2097b..bac486bef5 100644
--- a/tp/t/results/alias/alias_zero.pl
+++ b/tp/t/results/alias/alias_zero.pl
@@ -10,7 +10,8 @@ $result_trees{'alias_zero'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -26,7 +27,6 @@ $result_trees{'alias_zero'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               '0',
diff --git a/tp/t/results/alias/bad_line.pl b/tp/t/results/alias/bad_line.pl
index 1e9cb78c25..b1107ccbb0 100644
--- a/tp/t/results/alias/bad_line.pl
+++ b/tp/t/results/alias/bad_line.pl
@@ -15,7 +15,8 @@ $result_trees{'bad_line'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -31,7 +32,6 @@ $result_trees{'bad_line'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'info' => {
             'spaces_before_argument' => {
               'text' => ' '
@@ -47,7 +47,8 @@ $result_trees{'bad_line'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -79,7 +80,6 @@ $result_trees{'bad_line'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'info' => {
             'spaces_before_argument' => {
               'text' => ' '
diff --git a/tp/t/results/alias/block_command_alias.pl 
b/tp/t/results/alias/block_command_alias.pl
index 624742eb9b..11a7f475ce 100644
--- a/tp/t/results/alias/block_command_alias.pl
+++ b/tp/t/results/alias/block_command_alias.pl
@@ -10,7 +10,8 @@ $result_trees{'block_command_alias'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -26,7 +27,6 @@ $result_trees{'block_command_alias'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'lang',
@@ -71,7 +71,8 @@ $result_trees{'block_command_alias'} = {
 '
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -87,7 +88,6 @@ $result_trees{'block_command_alias'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'lang'
                   },
diff --git a/tp/t/results/alias/recursive_alias.pl 
b/tp/t/results/alias/recursive_alias.pl
index 966b4f0fcd..57cda69f96 100644
--- a/tp/t/results/alias/recursive_alias.pl
+++ b/tp/t/results/alias/recursive_alias.pl
@@ -10,7 +10,8 @@ $result_trees{'recursive_alias'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -26,7 +27,6 @@ $result_trees{'recursive_alias'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'new',
@@ -48,7 +48,8 @@ $result_trees{'recursive_alias'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -64,7 +65,6 @@ $result_trees{'recursive_alias'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'other',
@@ -86,7 +86,8 @@ $result_trees{'recursive_alias'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -102,7 +103,6 @@ $result_trees{'recursive_alias'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'strong',
diff --git a/tp/t/results/alias/simple.pl b/tp/t/results/alias/simple.pl
index dc97083d6e..1119328843 100644
--- a/tp/t/results/alias/simple.pl
+++ b/tp/t/results/alias/simple.pl
@@ -10,7 +10,8 @@ $result_trees{'simple'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -26,7 +27,6 @@ $result_trees{'simple'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'myalias',
@@ -48,7 +48,8 @@ $result_trees{'simple'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -57,14 +58,14 @@ $result_trees{'simple'} = {
               ],
               'info' => {
                 'comment_at_end' => {
-                  'args' => [
+                  'cmdname' => 'c',
+                  'contents' => [
                     {
                       'text' => ' comment
 ',
                       'type' => 'rawline_arg'
                     }
-                  ],
-                  'cmdname' => 'c'
+                  ]
                 },
                 'spaces_after_argument' => {
                   'text' => ' '
@@ -73,7 +74,6 @@ $result_trees{'simple'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'o-theralias',
diff --git a/tp/t/results/alias/texinfo_command_alias.pl 
b/tp/t/results/alias/texinfo_command_alias.pl
index 5316930930..ea6c0d2422 100644
--- a/tp/t/results/alias/texinfo_command_alias.pl
+++ b/tp/t/results/alias/texinfo_command_alias.pl
@@ -31,7 +31,8 @@ $result_trees{'texinfo_command_alias'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -47,7 +48,6 @@ $result_trees{'texinfo_command_alias'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'macro'
               },
@@ -75,7 +75,8 @@ $result_trees{'texinfo_command_alias'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -91,7 +92,6 @@ $result_trees{'texinfo_command_alias'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'strong',
@@ -157,7 +157,8 @@ $result_trees{'texinfo_command_alias'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'definfoenclose',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -173,7 +174,6 @@ $result_trees{'texinfo_command_alias'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'definfoenclose',
           'extra' => {
             'misc_args' => [
               'mystrong',
diff --git a/tp/t/results/alias/texinfo_command_alias_indirect.pl 
b/tp/t/results/alias/texinfo_command_alias_indirect.pl
index f8dfeb2562..344bf4e8cf 100644
--- a/tp/t/results/alias/texinfo_command_alias_indirect.pl
+++ b/tp/t/results/alias/texinfo_command_alias_indirect.pl
@@ -31,7 +31,8 @@ $result_trees{'texinfo_command_alias_indirect'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -47,7 +48,6 @@ $result_trees{'texinfo_command_alias_indirect'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'macro'
               },
@@ -75,7 +75,8 @@ $result_trees{'texinfo_command_alias_indirect'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -91,7 +92,6 @@ $result_trees{'texinfo_command_alias_indirect'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'strong',
@@ -113,7 +113,8 @@ $result_trees{'texinfo_command_alias_indirect'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -129,7 +130,6 @@ $result_trees{'texinfo_command_alias_indirect'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'new',
diff --git a/tp/t/results/alias/texinfo_command_alias_indirect_before.pl 
b/tp/t/results/alias/texinfo_command_alias_indirect_before.pl
index 2444ad956c..5a6002f75c 100644
--- a/tp/t/results/alias/texinfo_command_alias_indirect_before.pl
+++ b/tp/t/results/alias/texinfo_command_alias_indirect_before.pl
@@ -31,7 +31,8 @@ $result_trees{'texinfo_command_alias_indirect_before'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -47,7 +48,6 @@ $result_trees{'texinfo_command_alias_indirect_before'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'macro'
               },
@@ -75,7 +75,8 @@ $result_trees{'texinfo_command_alias_indirect_before'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -91,7 +92,6 @@ $result_trees{'texinfo_command_alias_indirect_before'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'new',
@@ -113,7 +113,8 @@ $result_trees{'texinfo_command_alias_indirect_before'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -129,7 +130,6 @@ $result_trees{'texinfo_command_alias_indirect_before'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'strong',
diff --git a/tp/t/results/columnfractions/empty.pl 
b/tp/t/results/columnfractions/empty.pl
index 98491b3d1a..ca49768d49 100644
--- a/tp/t/results/columnfractions/empty.pl
+++ b/tp/t/results/columnfractions/empty.pl
@@ -17,7 +17,8 @@ $result_trees{'empty'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'columnfractions',
+                      'contents' => [
                         {
                           'info' => {
                             'spaces_after_argument' => {
@@ -28,7 +29,6 @@ $result_trees{'empty'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'columnfractions',
                       'source_info' => {
                         'line_nr' => 1
                       }
@@ -40,7 +40,8 @@ $result_trees{'empty'} = {
               'type' => 'argument'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -50,7 +51,6 @@ $result_trees{'empty'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'multitable'
               },
diff --git a/tp/t/results/columnfractions/empty_comment.pl 
b/tp/t/results/columnfractions/empty_comment.pl
index 2003f33f06..02e118dfc6 100644
--- a/tp/t/results/columnfractions/empty_comment.pl
+++ b/tp/t/results/columnfractions/empty_comment.pl
@@ -17,24 +17,24 @@ $result_trees{'empty_comment'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'columnfractions',
+                      'contents' => [
                         {
                           'info' => {
                             'comment_at_end' => {
-                              'args' => [
+                              'cmdname' => 'c',
+                              'contents' => [
                                 {
                                   'text' => '
 ',
                                   'type' => 'rawline_arg'
                                 }
-                              ],
-                              'cmdname' => 'c'
+                              ]
                             }
                           },
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'columnfractions',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -51,7 +51,8 @@ $result_trees{'empty_comment'} = {
               'type' => 'argument'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -61,7 +62,6 @@ $result_trees{'empty_comment'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'multitable'
               },
diff --git a/tp/t/results/columnfractions/good.pl 
b/tp/t/results/columnfractions/good.pl
index 82041347c2..8e542a3f27 100644
--- a/tp/t/results/columnfractions/good.pl
+++ b/tp/t/results/columnfractions/good.pl
@@ -17,7 +17,8 @@ $result_trees{'good'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'columnfractions',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -33,7 +34,6 @@ $result_trees{'good'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'columnfractions',
                       'extra' => {
                         'misc_args' => [
                           '0.4',
@@ -57,7 +57,8 @@ $result_trees{'good'} = {
               'type' => 'argument'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -67,7 +68,6 @@ $result_trees{'good'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'multitable'
               },
diff --git a/tp/t/results/columnfractions/good_comment.pl 
b/tp/t/results/columnfractions/good_comment.pl
index a61fa09d4c..3b04ace049 100644
--- a/tp/t/results/columnfractions/good_comment.pl
+++ b/tp/t/results/columnfractions/good_comment.pl
@@ -17,7 +17,8 @@ $result_trees{'good_comment'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'columnfractions',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -26,20 +27,19 @@ $result_trees{'good_comment'} = {
                           ],
                           'info' => {
                             'comment_at_end' => {
-                              'args' => [
+                              'cmdname' => 'c',
+                              'contents' => [
                                 {
                                   'text' => ' comment
 ',
                                   'type' => 'rawline_arg'
                                 }
-                              ],
-                              'cmdname' => 'c'
+                              ]
                             }
                           },
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'columnfractions',
                       'extra' => {
                         'misc_args' => [
                           '0.4',
@@ -63,7 +63,8 @@ $result_trees{'good_comment'} = {
               'type' => 'argument'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -73,7 +74,6 @@ $result_trees{'good_comment'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'multitable'
               },
diff --git a/tp/t/results/columnfractions/good_space_comment.pl 
b/tp/t/results/columnfractions/good_space_comment.pl
index 1e6bbfe181..cfe5f9b84c 100644
--- a/tp/t/results/columnfractions/good_space_comment.pl
+++ b/tp/t/results/columnfractions/good_space_comment.pl
@@ -17,7 +17,8 @@ $result_trees{'good_space_comment'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'columnfractions',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -26,14 +27,14 @@ $result_trees{'good_space_comment'} = {
                           ],
                           'info' => {
                             'comment_at_end' => {
-                              'args' => [
+                              'cmdname' => 'c',
+                              'contents' => [
                                 {
                                   'text' => ' space comment
 ',
                                   'type' => 'rawline_arg'
                                 }
-                              ],
-                              'cmdname' => 'c'
+                              ]
                             },
                             'spaces_after_argument' => {
                               'text' => '  '
@@ -42,7 +43,6 @@ $result_trees{'good_space_comment'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'columnfractions',
                       'extra' => {
                         'misc_args' => [
                           '0',
@@ -65,7 +65,8 @@ $result_trees{'good_space_comment'} = {
               'type' => 'argument'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -75,7 +76,6 @@ $result_trees{'good_space_comment'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'multitable'
               },
diff --git a/tp/t/results/columnfractions/invalid.pl 
b/tp/t/results/columnfractions/invalid.pl
index 90210398f5..4ebfe41005 100644
--- a/tp/t/results/columnfractions/invalid.pl
+++ b/tp/t/results/columnfractions/invalid.pl
@@ -17,7 +17,8 @@ $result_trees{'invalid'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'columnfractions',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -33,7 +34,6 @@ $result_trees{'invalid'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'columnfractions',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -50,7 +50,8 @@ $result_trees{'invalid'} = {
               'type' => 'argument'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -60,7 +61,6 @@ $result_trees{'invalid'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'multitable'
               },
diff --git a/tp/t/results/columnfractions/not_fraction.pl 
b/tp/t/results/columnfractions/not_fraction.pl
index 30846c658f..c995594388 100644
--- a/tp/t/results/columnfractions/not_fraction.pl
+++ b/tp/t/results/columnfractions/not_fraction.pl
@@ -17,7 +17,8 @@ $result_trees{'not_fraction'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'columnfractions',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -33,7 +34,6 @@ $result_trees{'not_fraction'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'columnfractions',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -50,7 +50,8 @@ $result_trees{'not_fraction'} = {
               'type' => 'argument'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -60,7 +61,6 @@ $result_trees{'not_fraction'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'multitable'
               },
diff --git a/tp/t/results/columnfractions/out_of_multitable.pl 
b/tp/t/results/columnfractions/out_of_multitable.pl
index 7264f0de89..39c20e10a4 100644
--- a/tp/t/results/columnfractions/out_of_multitable.pl
+++ b/tp/t/results/columnfractions/out_of_multitable.pl
@@ -10,7 +10,8 @@ $result_trees{'out_of_multitable'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'columnfractions',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -20,7 +21,6 @@ $result_trees{'out_of_multitable'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'columnfractions',
           'extra' => {
             'misc_args' => [
               '0.6',
diff --git a/tp/t/results/columnfractions/something_before_columnfractions.pl 
b/tp/t/results/columnfractions/something_before_columnfractions.pl
index 7c848319ba..81327af571 100644
--- a/tp/t/results/columnfractions/something_before_columnfractions.pl
+++ b/tp/t/results/columnfractions/something_before_columnfractions.pl
@@ -20,7 +20,8 @@ $result_trees{'something_before_columnfractions'} = {
                       'text' => 'aaa '
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'columnfractions',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -36,7 +37,6 @@ $result_trees{'something_before_columnfractions'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'columnfractions',
                       'extra' => {
                         'misc_args' => [
                           '0.3',
@@ -59,7 +59,8 @@ $result_trees{'something_before_columnfractions'} = {
               'type' => 'argument'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -69,7 +70,6 @@ $result_trees{'something_before_columnfractions'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'multitable'
               },
diff --git a/tp/t/results/columnfractions/wrong_command.pl 
b/tp/t/results/columnfractions/wrong_command.pl
index 21e446804d..f995d4ef9d 100644
--- a/tp/t/results/columnfractions/wrong_command.pl
+++ b/tp/t/results/columnfractions/wrong_command.pl
@@ -17,7 +17,8 @@ $result_trees{'wrong_command'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'columnfractions',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -46,7 +47,6 @@ $result_trees{'wrong_command'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'columnfractions',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -63,7 +63,8 @@ $result_trees{'wrong_command'} = {
               'type' => 'argument'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -73,7 +74,6 @@ $result_trees{'wrong_command'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'multitable'
               },
diff --git a/tp/t/results/conditionals/additional_space_in_end_conditional.pl 
b/tp/t/results/conditionals/additional_space_in_end_conditional.pl
index 9ac72415ee..2af2e4d70c 100644
--- a/tp/t/results/conditionals/additional_space_in_end_conditional.pl
+++ b/tp/t/results/conditionals/additional_space_in_end_conditional.pl
@@ -36,7 +36,8 @@ $result_trees{'additional_space_in_end_conditional'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -52,7 +53,6 @@ $result_trees{'additional_space_in_end_conditional'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnothtml'
                     },
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 95e10c058a..a6da3666d9 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
@@ -48,7 +48,8 @@ $result_trees{'additional_space_in_end_conditional_expanded'} 
= {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -64,7 +65,6 @@ $result_trees{'additional_space_in_end_conditional_expanded'} 
= {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnothtml'
                     },
diff --git a/tp/t/results/conditionals/bad_ifclear_argument.pl 
b/tp/t/results/conditionals/bad_ifclear_argument.pl
index e94609380c..bd2561cbb9 100644
--- a/tp/t/results/conditionals/bad_ifclear_argument.pl
+++ b/tp/t/results/conditionals/bad_ifclear_argument.pl
@@ -41,7 +41,8 @@ $result_trees{'bad_ifclear_argument'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -57,7 +58,6 @@ $result_trees{'bad_ifclear_argument'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifclear'
                     },
diff --git a/tp/t/results/conditionals/bad_ifset_argument.pl 
b/tp/t/results/conditionals/bad_ifset_argument.pl
index 03372391f2..23f9f56ecd 100644
--- a/tp/t/results/conditionals/bad_ifset_argument.pl
+++ b/tp/t/results/conditionals/bad_ifset_argument.pl
@@ -41,7 +41,8 @@ $result_trees{'bad_ifset_argument'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -57,7 +58,6 @@ $result_trees{'bad_ifset_argument'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
diff --git a/tp/t/results/conditionals/command_conditionals.pl 
b/tp/t/results/conditionals/command_conditionals.pl
index 935d6e4b72..2c725ec346 100644
--- a/tp/t/results/conditionals/command_conditionals.pl
+++ b/tp/t/results/conditionals/command_conditionals.pl
@@ -58,7 +58,8 @@ $result_trees{'command_conditionals'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -74,7 +75,6 @@ $result_trees{'command_conditionals'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
@@ -130,7 +130,8 @@ $result_trees{'command_conditionals'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -146,7 +147,6 @@ $result_trees{'command_conditionals'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifcommanddefined'
                     },
@@ -228,7 +228,8 @@ $result_trees{'command_conditionals'} = {
                 {
                   'counter' => 2,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -244,7 +245,6 @@ $result_trees{'command_conditionals'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifcommandnotdefined'
                     },
@@ -326,7 +326,8 @@ $result_trees{'command_conditionals'} = {
                 {
                   'counter' => 3,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -342,7 +343,6 @@ $result_trees{'command_conditionals'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifcommanddefined'
                     },
@@ -389,7 +389,8 @@ $result_trees{'command_conditionals'} = {
                         'type' => 'raw'
                       },
                       {
-                        'args' => [
+                        'cmdname' => 'end',
+                        'contents' => [
                           {
                             'contents' => [
                               {
@@ -405,7 +406,6 @@ $result_trees{'command_conditionals'} = {
                             'type' => 'line_arg'
                           }
                         ],
-                        'cmdname' => 'end',
                         'extra' => {
                           'text_arg' => 'ifcommandnotdefined'
                         },
@@ -470,7 +470,8 @@ $result_trees{'command_conditionals'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -486,7 +487,6 @@ $result_trees{'command_conditionals'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifcommanddefined'
                     },
@@ -568,7 +568,8 @@ $result_trees{'command_conditionals'} = {
                 {
                   'counter' => 4,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -584,7 +585,6 @@ $result_trees{'command_conditionals'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifcommandnotdefined'
                     },
diff --git a/tp/t/results/conditionals/command_conditionals_user_defined.pl 
b/tp/t/results/conditionals/command_conditionals_user_defined.pl
index 1783bd219d..1013ceb01b 100644
--- a/tp/t/results/conditionals/command_conditionals_user_defined.pl
+++ b/tp/t/results/conditionals/command_conditionals_user_defined.pl
@@ -27,7 +27,8 @@ $result_trees{'command_conditionals_user_defined'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -43,7 +44,6 @@ $result_trees{'command_conditionals_user_defined'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'macro'
               },
@@ -71,7 +71,8 @@ $result_trees{'command_conditionals_user_defined'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'defindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -87,7 +88,6 @@ $result_trees{'command_conditionals_user_defined'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'defindex',
           'extra' => {
             'misc_args' => [
               'auth'
@@ -108,7 +108,8 @@ $result_trees{'command_conditionals_user_defined'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'definfoenclose',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -124,7 +125,6 @@ $result_trees{'command_conditionals_user_defined'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'definfoenclose',
           'extra' => {
             'misc_args' => [
               'infoencl',
@@ -147,7 +147,8 @@ $result_trees{'command_conditionals_user_defined'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'alias',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -163,7 +164,6 @@ $result_trees{'command_conditionals_user_defined'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'alias',
           'extra' => {
             'misc_args' => [
               'strongalias',
@@ -234,7 +234,8 @@ $result_trees{'command_conditionals_user_defined'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -250,7 +251,6 @@ $result_trees{'command_conditionals_user_defined'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifcommanddefined'
                     },
@@ -297,7 +297,8 @@ $result_trees{'command_conditionals_user_defined'} = {
                         'type' => 'raw'
                       },
                       {
-                        'args' => [
+                        'cmdname' => 'end',
+                        'contents' => [
                           {
                             'contents' => [
                               {
@@ -313,7 +314,6 @@ $result_trees{'command_conditionals_user_defined'} = {
                             'type' => 'line_arg'
                           }
                         ],
-                        'cmdname' => 'end',
                         'extra' => {
                           'text_arg' => 'ifcommandnotdefined'
                         },
@@ -404,7 +404,8 @@ $result_trees{'command_conditionals_user_defined'} = {
                 {
                   'counter' => 2,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -420,7 +421,6 @@ $result_trees{'command_conditionals_user_defined'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifcommanddefined'
                     },
@@ -467,7 +467,8 @@ $result_trees{'command_conditionals_user_defined'} = {
                         'type' => 'raw'
                       },
                       {
-                        'args' => [
+                        'cmdname' => 'end',
+                        'contents' => [
                           {
                             'contents' => [
                               {
@@ -483,7 +484,6 @@ $result_trees{'command_conditionals_user_defined'} = {
                             'type' => 'line_arg'
                           }
                         ],
-                        'cmdname' => 'end',
                         'extra' => {
                           'text_arg' => 'ifcommandnotdefined'
                         },
@@ -574,7 +574,8 @@ $result_trees{'command_conditionals_user_defined'} = {
                 {
                   'counter' => 3,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -590,7 +591,6 @@ $result_trees{'command_conditionals_user_defined'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifcommanddefined'
                     },
@@ -637,7 +637,8 @@ $result_trees{'command_conditionals_user_defined'} = {
                         'type' => 'raw'
                       },
                       {
-                        'args' => [
+                        'cmdname' => 'end',
+                        'contents' => [
                           {
                             'contents' => [
                               {
@@ -653,7 +654,6 @@ $result_trees{'command_conditionals_user_defined'} = {
                             'type' => 'line_arg'
                           }
                         ],
-                        'cmdname' => 'end',
                         'extra' => {
                           'text_arg' => 'ifcommandnotdefined'
                         },
@@ -744,7 +744,8 @@ $result_trees{'command_conditionals_user_defined'} = {
                 {
                   'counter' => 4,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -760,7 +761,6 @@ $result_trees{'command_conditionals_user_defined'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifcommanddefined'
                     },
@@ -807,7 +807,8 @@ $result_trees{'command_conditionals_user_defined'} = {
                         'type' => 'raw'
                       },
                       {
-                        'args' => [
+                        'cmdname' => 'end',
+                        'contents' => [
                           {
                             'contents' => [
                               {
@@ -823,7 +824,6 @@ $result_trees{'command_conditionals_user_defined'} = {
                             'type' => 'line_arg'
                           }
                         ],
-                        'cmdname' => 'end',
                         'extra' => {
                           'text_arg' => 'ifcommandnotdefined'
                         },
diff --git a/tp/t/results/conditionals/commands_in_ifset.pl 
b/tp/t/results/conditionals/commands_in_ifset.pl
index f3769536ce..251641d99b 100644
--- a/tp/t/results/conditionals/commands_in_ifset.pl
+++ b/tp/t/results/conditionals/commands_in_ifset.pl
@@ -56,7 +56,8 @@ $result_trees{'commands_in_ifset'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -72,7 +73,6 @@ $result_trees{'commands_in_ifset'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
@@ -155,7 +155,8 @@ $result_trees{'commands_in_ifset'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -171,7 +172,6 @@ $result_trees{'commands_in_ifset'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
diff --git a/tp/t/results/conditionals/comment_on_ifset_line.pl 
b/tp/t/results/conditionals/comment_on_ifset_line.pl
index 41b2f58e0e..6cde48f26b 100644
--- a/tp/t/results/conditionals/comment_on_ifset_line.pl
+++ b/tp/t/results/conditionals/comment_on_ifset_line.pl
@@ -10,7 +10,8 @@ $result_trees{'comment_on_ifset_line'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'set',
+          'contents' => [
             {
               'text' => 'x',
               'type' => 'rawline_arg'
@@ -20,7 +21,6 @@ $result_trees{'comment_on_ifset_line'} = {
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'set',
           'info' => {
             'arg_line' => ' x
 '
@@ -43,14 +43,14 @@ $result_trees{'comment_on_ifset_line'} = {
                         ],
                         'info' => {
                           'comment_at_end' => {
-                            'args' => [
+                            'cmdname' => 'c',
+                            'contents' => [
                               {
                                 'text' => '
 ',
                                 'type' => 'rawline_arg'
                               }
-                            ],
-                            'cmdname' => 'c'
+                            ]
                           }
                         },
                         'type' => 'block_line_arg'
@@ -84,7 +84,8 @@ $result_trees{'comment_on_ifset_line'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -100,7 +101,6 @@ $result_trees{'comment_on_ifset_line'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
@@ -132,14 +132,14 @@ $result_trees{'comment_on_ifset_line'} = {
                             ],
                             'info' => {
                               'comment_at_end' => {
-                                'args' => [
+                                'cmdname' => 'c',
+                                'contents' => [
                                   {
                                     'text' => ' comm
 ',
                                     'type' => 'rawline_arg'
                                   }
-                                ],
-                                'cmdname' => 'c'
+                                ]
                               }
                             },
                             'type' => 'block_line_arg'
@@ -170,7 +170,8 @@ $result_trees{'comment_on_ifset_line'} = {
                 {
                   'counter' => 2,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -186,7 +187,6 @@ $result_trees{'comment_on_ifset_line'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
@@ -218,14 +218,14 @@ $result_trees{'comment_on_ifset_line'} = {
                             ],
                             'info' => {
                               'comment_at_end' => {
-                                'args' => [
+                                'cmdname' => 'c',
+                                'contents' => [
                                   {
                                     'text' => '@ggg
 ',
                                     'type' => 'rawline_arg'
                                   }
-                                ],
-                                'cmdname' => 'c'
+                                ]
                               }
                             },
                             'type' => 'block_line_arg'
@@ -256,7 +256,8 @@ $result_trees{'comment_on_ifset_line'} = {
                 {
                   'counter' => 3,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -272,7 +273,6 @@ $result_trees{'comment_on_ifset_line'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
@@ -304,14 +304,14 @@ $result_trees{'comment_on_ifset_line'} = {
                             ],
                             'info' => {
                               'comment_at_end' => {
-                                'args' => [
+                                'cmdname' => 'c',
+                                'contents' => [
                                   {
                                     'text' => '
 ',
                                     'type' => 'rawline_arg'
                                   }
-                                ],
-                                'cmdname' => 'c'
+                                ]
                               },
                               'spaces_after_argument' => {
                                 'text' => ' '
@@ -345,7 +345,8 @@ $result_trees{'comment_on_ifset_line'} = {
                 {
                   'counter' => 4,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -361,7 +362,6 @@ $result_trees{'comment_on_ifset_line'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
@@ -393,14 +393,14 @@ $result_trees{'comment_on_ifset_line'} = {
                             ],
                             'info' => {
                               'comment_at_end' => {
-                                'args' => [
+                                'cmdname' => 'c',
+                                'contents' => [
                                   {
                                     'text' => ' comm
 ',
                                     'type' => 'rawline_arg'
                                   }
-                                ],
-                                'cmdname' => 'c'
+                                ]
                               },
                               'spaces_after_argument' => {
                                 'text' => ' '
@@ -434,7 +434,8 @@ $result_trees{'comment_on_ifset_line'} = {
                 {
                   'counter' => 5,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -450,7 +451,6 @@ $result_trees{'comment_on_ifset_line'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
@@ -482,14 +482,14 @@ $result_trees{'comment_on_ifset_line'} = {
                             ],
                             'info' => {
                               'comment_at_end' => {
-                                'args' => [
+                                'cmdname' => 'c',
+                                'contents' => [
                                   {
                                     'text' => '@ggg
 ',
                                     'type' => 'rawline_arg'
                                   }
-                                ],
-                                'cmdname' => 'c'
+                                ]
                               },
                               'spaces_after_argument' => {
                                 'text' => ' '
@@ -523,7 +523,8 @@ $result_trees{'comment_on_ifset_line'} = {
                 {
                   'counter' => 6,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -539,7 +540,6 @@ $result_trees{'comment_on_ifset_line'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
diff --git a/tp/t/results/conditionals/cond.pl 
b/tp/t/results/conditionals/cond.pl
index d50124267f..aaae90ec69 100644
--- a/tp/t/results/conditionals/cond.pl
+++ b/tp/t/results/conditionals/cond.pl
@@ -27,14 +27,14 @@ $result_trees{'cond'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'c',
+              'contents' => [
                 {
                   'text' => ' test conditions
 ',
                   'type' => 'rawline_arg'
                 }
-              ],
-              'cmdname' => 'c'
+              ]
             },
             {
               'text' => '
@@ -69,7 +69,8 @@ $result_trees{'cond'} = {
                   'type' => 'elided_rawpreformatted'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -85,7 +86,6 @@ $result_trees{'cond'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'html'
                   },
@@ -132,7 +132,8 @@ $result_trees{'cond'} = {
                         'type' => 'raw'
                       },
                       {
-                        'args' => [
+                        'cmdname' => 'end',
+                        'contents' => [
                           {
                             'contents' => [
                               {
@@ -148,7 +149,6 @@ $result_trees{'cond'} = {
                             'type' => 'line_arg'
                           }
                         ],
-                        'cmdname' => 'end',
                         'extra' => {
                           'text_arg' => 'ifhtml'
                         },
@@ -222,7 +222,8 @@ $result_trees{'cond'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -238,7 +239,6 @@ $result_trees{'cond'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnothtml'
                     },
@@ -401,7 +401,8 @@ $result_trees{'cond'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -417,7 +418,6 @@ $result_trees{'cond'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifinfo'
                     },
@@ -488,7 +488,8 @@ $result_trees{'cond'} = {
                 {
                   'counter' => 2,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -504,7 +505,6 @@ $result_trees{'cond'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnotinfo'
                     },
@@ -567,7 +567,8 @@ $result_trees{'cond'} = {
               'type' => 'elided_rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -583,7 +584,6 @@ $result_trees{'cond'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'tex'
               },
@@ -630,7 +630,8 @@ $result_trees{'cond'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -646,7 +647,6 @@ $result_trees{'cond'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'iftex'
                     },
@@ -717,7 +717,8 @@ $result_trees{'cond'} = {
                 {
                   'counter' => 3,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -733,7 +734,6 @@ $result_trees{'cond'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnottex'
                     },
@@ -779,14 +779,14 @@ $result_trees{'cond'} = {
       }
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git a/tp/t/results/conditionals/cond_ifhtml_ifinfo.pl 
b/tp/t/results/conditionals/cond_ifhtml_ifinfo.pl
index 520e3a3821..ee4cbf53f1 100644
--- a/tp/t/results/conditionals/cond_ifhtml_ifinfo.pl
+++ b/tp/t/results/conditionals/cond_ifhtml_ifinfo.pl
@@ -27,14 +27,14 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'c',
+              'contents' => [
                 {
                   'text' => ' test conditions
 ',
                   'type' => 'rawline_arg'
                 }
-              ],
-              'cmdname' => 'c'
+              ]
             },
             {
               'text' => '
@@ -68,7 +68,8 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
                   'type' => 'rawpreformatted'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -84,7 +85,6 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'html'
                   },
@@ -150,7 +150,8 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -166,7 +167,6 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifhtml'
                     },
@@ -218,7 +218,8 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -234,7 +235,6 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnothtml'
                     },
@@ -416,7 +416,8 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
                 {
                   'counter' => 2,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -432,7 +433,6 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifinfo'
                     },
@@ -484,7 +484,8 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -500,7 +501,6 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnotinfo'
                     },
@@ -566,7 +566,8 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
               'type' => 'elided_rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -582,7 +583,6 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'tex'
               },
@@ -629,7 +629,8 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -645,7 +646,6 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'iftex'
                     },
@@ -716,7 +716,8 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
                 {
                   'counter' => 3,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -732,7 +733,6 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnottex'
                     },
@@ -778,14 +778,14 @@ $result_trees{'cond_ifhtml_ifinfo'} = {
       }
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git a/tp/t/results/conditionals/cond_ifhtml_ifinfo_iftex.pl 
b/tp/t/results/conditionals/cond_ifhtml_ifinfo_iftex.pl
index f1f4680c82..2d485ab391 100644
--- a/tp/t/results/conditionals/cond_ifhtml_ifinfo_iftex.pl
+++ b/tp/t/results/conditionals/cond_ifhtml_ifinfo_iftex.pl
@@ -27,14 +27,14 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'c',
+              'contents' => [
                 {
                   'text' => ' test conditions
 ',
                   'type' => 'rawline_arg'
                 }
-              ],
-              'cmdname' => 'c'
+              ]
             },
             {
               'text' => '
@@ -68,7 +68,8 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
                   'type' => 'rawpreformatted'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -84,7 +85,6 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'html'
                   },
@@ -150,7 +150,8 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -166,7 +167,6 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifhtml'
                     },
@@ -218,7 +218,8 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -234,7 +235,6 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnothtml'
                     },
@@ -416,7 +416,8 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
                 {
                   'counter' => 2,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -432,7 +433,6 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifinfo'
                     },
@@ -484,7 +484,8 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -500,7 +501,6 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnotinfo'
                     },
@@ -565,7 +565,8 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
               'type' => 'rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -581,7 +582,6 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'tex'
               },
@@ -644,7 +644,8 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
                 {
                   'counter' => 3,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -660,7 +661,6 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'iftex'
                     },
@@ -712,7 +712,8 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -728,7 +729,6 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnottex'
                     },
@@ -777,14 +777,14 @@ $result_trees{'cond_ifhtml_ifinfo_iftex'} = {
       }
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git a/tp/t/results/conditionals/cond_info.pl 
b/tp/t/results/conditionals/cond_info.pl
index 1075148dc5..5f54a9b2ab 100644
--- a/tp/t/results/conditionals/cond_info.pl
+++ b/tp/t/results/conditionals/cond_info.pl
@@ -27,14 +27,14 @@ $result_trees{'cond_info'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'c',
+              'contents' => [
                 {
                   'text' => ' test conditions
 ',
                   'type' => 'rawline_arg'
                 }
-              ],
-              'cmdname' => 'c'
+              ]
             },
             {
               'text' => '
@@ -69,7 +69,8 @@ $result_trees{'cond_info'} = {
                   'type' => 'elided_rawpreformatted'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -85,7 +86,6 @@ $result_trees{'cond_info'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'html'
                   },
@@ -132,7 +132,8 @@ $result_trees{'cond_info'} = {
                         'type' => 'raw'
                       },
                       {
-                        'args' => [
+                        'cmdname' => 'end',
+                        'contents' => [
                           {
                             'contents' => [
                               {
@@ -148,7 +149,6 @@ $result_trees{'cond_info'} = {
                             'type' => 'line_arg'
                           }
                         ],
-                        'cmdname' => 'end',
                         'extra' => {
                           'text_arg' => 'ifhtml'
                         },
@@ -222,7 +222,8 @@ $result_trees{'cond_info'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -238,7 +239,6 @@ $result_trees{'cond_info'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnothtml'
                     },
@@ -417,7 +417,8 @@ $result_trees{'cond_info'} = {
                 {
                   'counter' => 2,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -433,7 +434,6 @@ $result_trees{'cond_info'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifinfo'
                     },
@@ -485,7 +485,8 @@ $result_trees{'cond_info'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -501,7 +502,6 @@ $result_trees{'cond_info'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnotinfo'
                     },
@@ -567,7 +567,8 @@ $result_trees{'cond_info'} = {
               'type' => 'elided_rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -583,7 +584,6 @@ $result_trees{'cond_info'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'tex'
               },
@@ -630,7 +630,8 @@ $result_trees{'cond_info'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -646,7 +647,6 @@ $result_trees{'cond_info'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'iftex'
                     },
@@ -717,7 +717,8 @@ $result_trees{'cond_info'} = {
                 {
                   'counter' => 3,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -733,7 +734,6 @@ $result_trees{'cond_info'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnottex'
                     },
@@ -779,14 +779,14 @@ $result_trees{'cond_info'} = {
       }
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
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 e4952edf86..455ebf8063 100644
--- a/tp/t/results/conditionals/cond_info_ifhtml_ifinfo_iftex.pl
+++ b/tp/t/results/conditionals/cond_info_ifhtml_ifinfo_iftex.pl
@@ -27,14 +27,14 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'c',
+              'contents' => [
                 {
                   'text' => ' test conditions
 ',
                   'type' => 'rawline_arg'
                 }
-              ],
-              'cmdname' => 'c'
+              ]
             },
             {
               'text' => '
@@ -68,7 +68,8 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
                   'type' => 'rawpreformatted'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -84,7 +85,6 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'html'
                   },
@@ -150,7 +150,8 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -166,7 +167,6 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifhtml'
                     },
@@ -218,7 +218,8 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -234,7 +235,6 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnothtml'
                     },
@@ -416,7 +416,8 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
                 {
                   'counter' => 2,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -432,7 +433,6 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifinfo'
                     },
@@ -484,7 +484,8 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -500,7 +501,6 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnotinfo'
                     },
@@ -565,7 +565,8 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
               'type' => 'rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -581,7 +582,6 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'tex'
               },
@@ -644,7 +644,8 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
                 {
                   'counter' => 3,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -660,7 +661,6 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'iftex'
                     },
@@ -712,7 +712,8 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -728,7 +729,6 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnottex'
                     },
@@ -777,14 +777,14 @@ $result_trees{'cond_info_ifhtml_ifinfo_iftex'} = {
       }
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
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 cb62f2e18a..d582b13268 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
@@ -27,14 +27,14 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'c',
+              'contents' => [
                 {
                   'text' => ' test conditions
 ',
                   'type' => 'rawline_arg'
                 }
-              ],
-              'cmdname' => 'c'
+              ]
             },
             {
               'text' => '
@@ -69,7 +69,8 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
                   'type' => 'elided_rawpreformatted'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -85,7 +86,6 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'html'
                   },
@@ -132,7 +132,8 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
                         'type' => 'raw'
                       },
                       {
-                        'args' => [
+                        'cmdname' => 'end',
+                        'contents' => [
                           {
                             'contents' => [
                               {
@@ -148,7 +149,6 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
                             'type' => 'line_arg'
                           }
                         ],
-                        'cmdname' => 'end',
                         'extra' => {
                           'text_arg' => 'ifhtml'
                         },
@@ -222,7 +222,8 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -238,7 +239,6 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnothtml'
                     },
@@ -401,7 +401,8 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -417,7 +418,6 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifinfo'
                     },
@@ -488,7 +488,8 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
                 {
                   'counter' => 2,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -504,7 +505,6 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnotinfo'
                     },
@@ -567,7 +567,8 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
               'type' => 'elided_rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -583,7 +584,6 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'tex'
               },
@@ -630,7 +630,8 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -646,7 +647,6 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'iftex'
                     },
@@ -717,7 +717,8 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
                 {
                   'counter' => 3,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -733,7 +734,6 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnottex'
                     },
@@ -779,14 +779,14 @@ $result_trees{'cond_info_no-ifhtml_no-ifinfo_no-iftex'} = 
{
       }
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
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 dc35051df8..c9e8877c77 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
@@ -27,14 +27,14 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'c',
+              'contents' => [
                 {
                   'text' => ' test conditions
 ',
                   'type' => 'rawline_arg'
                 }
-              ],
-              'cmdname' => 'c'
+              ]
             },
             {
               'text' => '
@@ -69,7 +69,8 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
                   'type' => 'elided_rawpreformatted'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -85,7 +86,6 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'html'
                   },
@@ -132,7 +132,8 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
                         'type' => 'raw'
                       },
                       {
-                        'args' => [
+                        'cmdname' => 'end',
+                        'contents' => [
                           {
                             'contents' => [
                               {
@@ -148,7 +149,6 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
                             'type' => 'line_arg'
                           }
                         ],
-                        'cmdname' => 'end',
                         'extra' => {
                           'text_arg' => 'ifhtml'
                         },
@@ -222,7 +222,8 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -238,7 +239,6 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnothtml'
                     },
@@ -401,7 +401,8 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -417,7 +418,6 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifinfo'
                     },
@@ -488,7 +488,8 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
                 {
                   'counter' => 2,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -504,7 +505,6 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnotinfo'
                     },
@@ -567,7 +567,8 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
               'type' => 'elided_rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -583,7 +584,6 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'tex'
               },
@@ -630,7 +630,8 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -646,7 +647,6 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'iftex'
                     },
@@ -717,7 +717,8 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
                 {
                   'counter' => 3,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -733,7 +734,6 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnottex'
                     },
@@ -779,14 +779,14 @@ $result_trees{'cond_no-ifhtml_no-ifinfo_no-iftex'} = {
       }
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git a/tp/t/results/conditionals/cond_xml.pl 
b/tp/t/results/conditionals/cond_xml.pl
index 876bfa7ac1..7a1f2eb361 100644
--- a/tp/t/results/conditionals/cond_xml.pl
+++ b/tp/t/results/conditionals/cond_xml.pl
@@ -27,14 +27,14 @@ $result_trees{'cond_xml'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'c',
+              'contents' => [
                 {
                   'text' => ' test conditions
 ',
                   'type' => 'rawline_arg'
                 }
-              ],
-              'cmdname' => 'c'
+              ]
             },
             {
               'text' => '
@@ -69,7 +69,8 @@ $result_trees{'cond_xml'} = {
                   'type' => 'elided_rawpreformatted'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -85,7 +86,6 @@ $result_trees{'cond_xml'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'html'
                   },
@@ -132,7 +132,8 @@ $result_trees{'cond_xml'} = {
                         'type' => 'raw'
                       },
                       {
-                        'args' => [
+                        'cmdname' => 'end',
+                        'contents' => [
                           {
                             'contents' => [
                               {
@@ -148,7 +149,6 @@ $result_trees{'cond_xml'} = {
                             'type' => 'line_arg'
                           }
                         ],
-                        'cmdname' => 'end',
                         'extra' => {
                           'text_arg' => 'ifhtml'
                         },
@@ -222,7 +222,8 @@ $result_trees{'cond_xml'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -238,7 +239,6 @@ $result_trees{'cond_xml'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnothtml'
                     },
@@ -401,7 +401,8 @@ $result_trees{'cond_xml'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -417,7 +418,6 @@ $result_trees{'cond_xml'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifinfo'
                     },
@@ -488,7 +488,8 @@ $result_trees{'cond_xml'} = {
                 {
                   'counter' => 2,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -504,7 +505,6 @@ $result_trees{'cond_xml'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnotinfo'
                     },
@@ -567,7 +567,8 @@ $result_trees{'cond_xml'} = {
               'type' => 'elided_rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -583,7 +584,6 @@ $result_trees{'cond_xml'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'tex'
               },
@@ -630,7 +630,8 @@ $result_trees{'cond_xml'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -646,7 +647,6 @@ $result_trees{'cond_xml'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'iftex'
                     },
@@ -717,7 +717,8 @@ $result_trees{'cond_xml'} = {
                 {
                   'counter' => 3,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -733,7 +734,6 @@ $result_trees{'cond_xml'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnottex'
                     },
@@ -779,14 +779,14 @@ $result_trees{'cond_xml'} = {
       }
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git a/tp/t/results/conditionals/consecutive_conditionals.pl 
b/tp/t/results/conditionals/consecutive_conditionals.pl
index fdc5fdcb18..4acb7635ab 100644
--- a/tp/t/results/conditionals/consecutive_conditionals.pl
+++ b/tp/t/results/conditionals/consecutive_conditionals.pl
@@ -36,7 +36,8 @@ $result_trees{'consecutive_conditionals'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -52,7 +53,6 @@ $result_trees{'consecutive_conditionals'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifinfo'
                     },
@@ -97,7 +97,8 @@ $result_trees{'consecutive_conditionals'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -113,7 +114,6 @@ $result_trees{'consecutive_conditionals'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'iftex'
                     },
@@ -142,7 +142,8 @@ $result_trees{'consecutive_conditionals'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'set',
+          'contents' => [
             {
               'text' => 'b',
               'type' => 'rawline_arg'
@@ -152,7 +153,6 @@ $result_trees{'consecutive_conditionals'} = {
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'set',
           'info' => {
             'arg_line' => ' b
 '
@@ -190,7 +190,8 @@ $result_trees{'consecutive_conditionals'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -206,7 +207,6 @@ $result_trees{'consecutive_conditionals'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifclear'
                     },
@@ -262,7 +262,8 @@ $result_trees{'consecutive_conditionals'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -278,7 +279,6 @@ $result_trees{'consecutive_conditionals'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
diff --git a/tp/t/results/conditionals/defcondx_Dbar.pl 
b/tp/t/results/conditionals/defcondx_Dbar.pl
index adcb3e59a7..11ecd5d47b 100644
--- a/tp/t/results/conditionals/defcondx_Dbar.pl
+++ b/tp/t/results/conditionals/defcondx_Dbar.pl
@@ -27,14 +27,14 @@ $result_trees{'defcondx_Dbar'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'c',
+              'contents' => [
                 {
                   'text' => ' test def*x in a conditional
 ',
                   'type' => 'rawline_arg'
                 }
-              ],
-              'cmdname' => 'c'
+              ]
             },
             {
               'text' => '
@@ -42,24 +42,24 @@ $result_trees{'defcondx_Dbar'} = {
               'type' => 'empty_line'
             },
             {
-              'args' => [
+              'cmdname' => 'c',
+              'contents' => [
                 {
                   'text' => ' set this from the command line.
 ',
                   'type' => 'rawline_arg'
                 }
-              ],
-              'cmdname' => 'c'
+              ]
             },
             {
-              'args' => [
+              'cmdname' => 'c',
+              'contents' => [
                 {
                   'text' => ' set bar
 ',
                   'type' => 'rawline_arg'
                 }
-              ],
-              'cmdname' => 'c'
+              ]
             },
             {
               'text' => '
@@ -235,7 +235,8 @@ $result_trees{'defcondx_Dbar'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -251,7 +252,6 @@ $result_trees{'defcondx_Dbar'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
@@ -295,7 +295,8 @@ $result_trees{'defcondx_Dbar'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -311,7 +312,6 @@ $result_trees{'defcondx_Dbar'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -354,14 +354,14 @@ $result_trees{'defcondx_Dbar'} = {
       }
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git a/tp/t/results/conditionals/defcondx_Ubar.pl 
b/tp/t/results/conditionals/defcondx_Ubar.pl
index c0555a6a5f..380f04a7b7 100644
--- a/tp/t/results/conditionals/defcondx_Ubar.pl
+++ b/tp/t/results/conditionals/defcondx_Ubar.pl
@@ -27,14 +27,14 @@ $result_trees{'defcondx_Ubar'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'c',
+              'contents' => [
                 {
                   'text' => ' test def*x in a conditional
 ',
                   'type' => 'rawline_arg'
                 }
-              ],
-              'cmdname' => 'c'
+              ]
             },
             {
               'text' => '
@@ -42,24 +42,24 @@ $result_trees{'defcondx_Ubar'} = {
               'type' => 'empty_line'
             },
             {
-              'args' => [
+              'cmdname' => 'c',
+              'contents' => [
                 {
                   'text' => ' set this from the command line.
 ',
                   'type' => 'rawline_arg'
                 }
-              ],
-              'cmdname' => 'c'
+              ]
             },
             {
-              'args' => [
+              'cmdname' => 'c',
+              'contents' => [
                 {
                   'text' => ' set bar
 ',
                   'type' => 'rawline_arg'
                 }
-              ],
-              'cmdname' => 'c'
+              ]
             },
             {
               'text' => '
@@ -173,7 +173,8 @@ $result_trees{'defcondx_Ubar'} = {
                             'type' => 'raw'
                           },
                           {
-                            'args' => [
+                            'cmdname' => 'end',
+                            'contents' => [
                               {
                                 'contents' => [
                                   {
@@ -189,7 +190,6 @@ $result_trees{'defcondx_Ubar'} = {
                                 'type' => 'line_arg'
                               }
                             ],
-                            'cmdname' => 'end',
                             'extra' => {
                               'text_arg' => 'ifset'
                             },
@@ -245,7 +245,8 @@ $result_trees{'defcondx_Ubar'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -261,7 +262,6 @@ $result_trees{'defcondx_Ubar'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -304,14 +304,14 @@ $result_trees{'defcondx_Ubar'} = {
       }
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git a/tp/t/results/conditionals/empty_ifclear.pl 
b/tp/t/results/conditionals/empty_ifclear.pl
index 8780054e2e..cca684fc52 100644
--- a/tp/t/results/conditionals/empty_ifclear.pl
+++ b/tp/t/results/conditionals/empty_ifclear.pl
@@ -46,7 +46,8 @@ $result_trees{'empty_ifclear'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -62,7 +63,6 @@ $result_trees{'empty_ifclear'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifclear'
                     },
diff --git a/tp/t/results/conditionals/empty_ifset.pl 
b/tp/t/results/conditionals/empty_ifset.pl
index bc8853a16e..39c7426e41 100644
--- a/tp/t/results/conditionals/empty_ifset.pl
+++ b/tp/t/results/conditionals/empty_ifset.pl
@@ -46,7 +46,8 @@ $result_trees{'empty_ifset'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -62,7 +63,6 @@ $result_trees{'empty_ifset'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
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 adeda7bccb..c3645fb325 100644
--- a/tp/t/results/conditionals/empty_ifset_in_ifset_set.pl
+++ b/tp/t/results/conditionals/empty_ifset_in_ifset_set.pl
@@ -15,7 +15,8 @@ $result_trees{'empty_ifset_in_ifset_set'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'set',
+          'contents' => [
             {
               'text' => 'notset',
               'type' => 'rawline_arg'
@@ -25,7 +26,6 @@ $result_trees{'empty_ifset_in_ifset_set'} = {
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'set',
           'info' => {
             'arg_line' => ' notset
 '
@@ -99,7 +99,8 @@ $result_trees{'empty_ifset_in_ifset_set'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -115,7 +116,6 @@ $result_trees{'empty_ifset_in_ifset_set'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'verbatim'
               },
@@ -136,7 +136,8 @@ $result_trees{'empty_ifset_in_ifset_set'} = {
             {
               'counter' => 1,
               'element' => {
-                'args' => [
+                'cmdname' => 'end',
+                'contents' => [
                   {
                     'contents' => [
                       {
@@ -152,7 +153,6 @@ $result_trees{'empty_ifset_in_ifset_set'} = {
                     'type' => 'line_arg'
                   }
                 ],
-                'cmdname' => 'end',
                 'extra' => {
                   'text_arg' => 'ifset'
                 },
diff --git a/tp/t/results/conditionals/empty_set_in_ifclear.pl 
b/tp/t/results/conditionals/empty_set_in_ifclear.pl
index 4efbf3da08..b278a6d209 100644
--- a/tp/t/results/conditionals/empty_set_in_ifclear.pl
+++ b/tp/t/results/conditionals/empty_set_in_ifclear.pl
@@ -10,7 +10,8 @@ $result_trees{'empty_set_in_ifclear'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'set',
+          'contents' => [
             {
               'text' => 'a',
               'type' => 'rawline_arg'
@@ -20,7 +21,6 @@ $result_trees{'empty_set_in_ifclear'} = {
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'set',
           'info' => {
             'arg_line' => ' a
 '
@@ -58,7 +58,8 @@ $result_trees{'empty_set_in_ifclear'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -68,7 +69,6 @@ $result_trees{'empty_set_in_ifclear'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifclear'
                     },
diff --git a/tp/t/results/conditionals/empty_set_in_ifset.pl 
b/tp/t/results/conditionals/empty_set_in_ifset.pl
index b741c032ce..d42dd0df3c 100644
--- a/tp/t/results/conditionals/empty_set_in_ifset.pl
+++ b/tp/t/results/conditionals/empty_set_in_ifset.pl
@@ -10,7 +10,8 @@ $result_trees{'empty_set_in_ifset'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'set',
+          'contents' => [
             {
               'text' => 'a',
               'type' => 'rawline_arg'
@@ -20,7 +21,6 @@ $result_trees{'empty_set_in_ifset'} = {
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'set',
           'info' => {
             'arg_line' => ' a
 '
@@ -104,7 +104,8 @@ $result_trees{'empty_set_in_ifset'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -114,7 +115,6 @@ $result_trees{'empty_set_in_ifset'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
diff --git a/tp/t/results/conditionals/end_conditional_not_at_line_begining.pl 
b/tp/t/results/conditionals/end_conditional_not_at_line_begining.pl
index 4274f5eed7..24aec7ed53 100644
--- a/tp/t/results/conditionals/end_conditional_not_at_line_begining.pl
+++ b/tp/t/results/conditionals/end_conditional_not_at_line_begining.pl
@@ -40,7 +40,8 @@ $result_trees{'end_conditional_not_at_line_begining'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -56,7 +57,6 @@ $result_trees{'end_conditional_not_at_line_begining'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifhtml'
                     },
diff --git a/tp/t/results/conditionals/end_ifset_in_format.pl 
b/tp/t/results/conditionals/end_ifset_in_format.pl
index 3b6353f6d9..a697ebd715 100644
--- a/tp/t/results/conditionals/end_ifset_in_format.pl
+++ b/tp/t/results/conditionals/end_ifset_in_format.pl
@@ -15,7 +15,8 @@ $result_trees{'end_ifset_in_format'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'set',
+          'contents' => [
             {
               'text' => 'notset',
               'type' => 'rawline_arg'
@@ -25,7 +26,6 @@ $result_trees{'end_ifset_in_format'} = {
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'set',
           'info' => {
             'arg_line' => ' notset
 '
@@ -99,7 +99,8 @@ $result_trees{'end_ifset_in_format'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -115,7 +116,6 @@ $result_trees{'end_ifset_in_format'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'ignore'
               },
@@ -140,7 +140,8 @@ $result_trees{'end_ifset_in_format'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -156,7 +157,6 @@ $result_trees{'end_ifset_in_format'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
@@ -248,7 +248,8 @@ $result_trees{'end_ifset_in_format'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -264,7 +265,6 @@ $result_trees{'end_ifset_in_format'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'verbatim'
               },
@@ -285,7 +285,8 @@ $result_trees{'end_ifset_in_format'} = {
             {
               'counter' => 2,
               'element' => {
-                'args' => [
+                'cmdname' => 'end',
+                'contents' => [
                   {
                     'contents' => [
                       {
@@ -301,7 +302,6 @@ $result_trees{'end_ifset_in_format'} = {
                     'type' => 'line_arg'
                   }
                 ],
-                'cmdname' => 'end',
                 'extra' => {
                   'text_arg' => 'ifset'
                 },
@@ -397,7 +397,8 @@ $result_trees{'end_ifset_in_format'} = {
                 {
                   'counter' => 3,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -413,7 +414,6 @@ $result_trees{'end_ifset_in_format'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
diff --git a/tp/t/results/conditionals/ifclear_in_ifset.pl 
b/tp/t/results/conditionals/ifclear_in_ifset.pl
index f8db7db618..5ff126461d 100644
--- a/tp/t/results/conditionals/ifclear_in_ifset.pl
+++ b/tp/t/results/conditionals/ifclear_in_ifset.pl
@@ -46,7 +46,8 @@ $result_trees{'ifclear_in_ifset'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -62,7 +63,6 @@ $result_trees{'ifclear_in_ifset'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
@@ -94,14 +94,14 @@ $result_trees{'ifclear_in_ifset'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'c',
+          'contents' => [
             {
               'text' => ' WRONG - missing @end ifset.
 ',
               'type' => 'rawline_arg'
             }
-          ],
-          'cmdname' => 'c'
+          ]
         }
       ],
       'type' => 'before_node_section'
diff --git a/tp/t/results/conditionals/ifclear_in_ifset_set.pl 
b/tp/t/results/conditionals/ifclear_in_ifset_set.pl
index 30d9769e77..03703ffa5d 100644
--- a/tp/t/results/conditionals/ifclear_in_ifset_set.pl
+++ b/tp/t/results/conditionals/ifclear_in_ifset_set.pl
@@ -15,7 +15,8 @@ $result_trees{'ifclear_in_ifset_set'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'set',
+          'contents' => [
             {
               'text' => 'a',
               'type' => 'rawline_arg'
@@ -25,7 +26,6 @@ $result_trees{'ifclear_in_ifset_set'} = {
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'set',
           'info' => {
             'arg_line' => ' a
 '
@@ -86,14 +86,14 @@ $result_trees{'ifclear_in_ifset_set'} = {
                         ],
                         'info' => {
                           'comment_at_end' => {
-                            'args' => [
+                            'cmdname' => 'c',
+                            'contents' => [
                               {
                                 'text' => ' - ok, ignored
 ',
                                 'type' => 'rawline_arg'
                               }
-                            ],
-                            'cmdname' => 'c'
+                            ]
                           },
                           'spaces_after_argument' => {
                             'text' => ' '
@@ -124,7 +124,8 @@ $result_trees{'ifclear_in_ifset_set'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'end',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -140,7 +141,6 @@ $result_trees{'ifclear_in_ifset_set'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'end',
           'extra' => {
             'text_arg' => 'junky   - ok, ignored'
           },
@@ -154,14 +154,14 @@ $result_trees{'ifclear_in_ifset_set'} = {
           }
         },
         {
-          'args' => [
+          'cmdname' => 'c',
+          'contents' => [
             {
               'text' => ' WRONG - missing @end ifset.
 ',
               'type' => 'rawline_arg'
             }
-          ],
-          'cmdname' => 'c'
+          ]
         }
       ],
       'type' => 'before_node_section'
diff --git a/tp/t/results/conditionals/ifnot_format_conditional.pl 
b/tp/t/results/conditionals/ifnot_format_conditional.pl
index 7d640e2256..3531daf518 100644
--- a/tp/t/results/conditionals/ifnot_format_conditional.pl
+++ b/tp/t/results/conditionals/ifnot_format_conditional.pl
@@ -48,7 +48,8 @@ $result_trees{'ifnot_format_conditional'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -64,7 +65,6 @@ $result_trees{'ifnot_format_conditional'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnottex'
                     },
diff --git a/tp/t/results/conditionals/ifnotinfo_exception.pl 
b/tp/t/results/conditionals/ifnotinfo_exception.pl
index f9fa0c375c..257e6e4730 100644
--- a/tp/t/results/conditionals/ifnotinfo_exception.pl
+++ b/tp/t/results/conditionals/ifnotinfo_exception.pl
@@ -36,7 +36,8 @@ $result_trees{'ifnotinfo_exception'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -52,7 +53,6 @@ $result_trees{'ifnotinfo_exception'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnotinfo'
                     },
diff --git a/tp/t/results/conditionals/ifset_in_command.pl 
b/tp/t/results/conditionals/ifset_in_command.pl
index 0531a8b62e..66af176ee2 100644
--- a/tp/t/results/conditionals/ifset_in_command.pl
+++ b/tp/t/results/conditionals/ifset_in_command.pl
@@ -53,7 +53,8 @@ $result_trees{'ifset_in_command'} = {
                                 'type' => 'raw'
                               },
                               {
-                                'args' => [
+                                'cmdname' => 'end',
+                                'contents' => [
                                   {
                                     'contents' => [
                                       {
@@ -69,7 +70,6 @@ $result_trees{'ifset_in_command'} = {
                                     'type' => 'line_arg'
                                   }
                                 ],
-                                'cmdname' => 'end',
                                 'extra' => {
                                   'text_arg' => 'ifset'
                                 },
@@ -142,7 +142,8 @@ $result_trees{'ifset_in_command'} = {
                         {
                           'counter' => 1,
                           'element' => {
-                            'args' => [
+                            'cmdname' => 'end',
+                            'contents' => [
                               {
                                 'contents' => [
                                   {
@@ -158,7 +159,6 @@ $result_trees{'ifset_in_command'} = {
                                 'type' => 'line_arg'
                               }
                             ],
-                            'cmdname' => 'end',
                             'extra' => {
                               'text_arg' => 'ifclear'
                             },
diff --git a/tp/t/results/conditionals/ifset_nonalpha.pl 
b/tp/t/results/conditionals/ifset_nonalpha.pl
index d5533598e6..393691b887 100644
--- a/tp/t/results/conditionals/ifset_nonalpha.pl
+++ b/tp/t/results/conditionals/ifset_nonalpha.pl
@@ -36,7 +36,8 @@ $result_trees{'ifset_nonalpha'} = {
                     'type' => 'argument'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -52,7 +53,6 @@ $result_trees{'ifset_nonalpha'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
diff --git a/tp/t/results/conditionals/ignore_spaces_and_comments.pl 
b/tp/t/results/conditionals/ignore_spaces_and_comments.pl
index e763946da5..5882132eea 100644
--- a/tp/t/results/conditionals/ignore_spaces_and_comments.pl
+++ b/tp/t/results/conditionals/ignore_spaces_and_comments.pl
@@ -32,7 +32,8 @@ $result_trees{'ignore_spaces_and_comments'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -48,7 +49,6 @@ $result_trees{'ignore_spaces_and_comments'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'ignore'
               },
@@ -94,7 +94,8 @@ $result_trees{'ignore_spaces_and_comments'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -110,7 +111,6 @@ $result_trees{'ignore_spaces_and_comments'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'ignore'
               },
@@ -141,14 +141,14 @@ $result_trees{'ignore_spaces_and_comments'} = {
                 {
                   'info' => {
                     'comment_at_end' => {
-                      'args' => [
+                      'cmdname' => 'c',
+                      'contents' => [
                         {
                           'text' => ' no space comment
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'c'
+                      ]
                     }
                   },
                   'type' => 'block_line_arg'
@@ -162,7 +162,8 @@ $result_trees{'ignore_spaces_and_comments'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -178,7 +179,6 @@ $result_trees{'ignore_spaces_and_comments'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'ignore'
               },
@@ -209,14 +209,14 @@ $result_trees{'ignore_spaces_and_comments'} = {
                 {
                   'info' => {
                     'comment_at_end' => {
-                      'args' => [
+                      'cmdname' => 'comment',
+                      'contents' => [
                         {
                           'text' => ' space comment
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'comment'
+                      ]
                     }
                   },
                   'type' => 'block_line_arg'
@@ -230,7 +230,8 @@ $result_trees{'ignore_spaces_and_comments'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -246,7 +247,6 @@ $result_trees{'ignore_spaces_and_comments'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'ignore'
               },
@@ -282,14 +282,14 @@ $result_trees{'ignore_spaces_and_comments'} = {
                 {
                   'info' => {
                     'comment_at_end' => {
-                      'args' => [
+                      'cmdname' => 'c',
+                      'contents' => [
                         {
                           'text' => '
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'c'
+                      ]
                     }
                   },
                   'type' => 'block_line_arg'
@@ -303,7 +303,8 @@ $result_trees{'ignore_spaces_and_comments'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -319,7 +320,6 @@ $result_trees{'ignore_spaces_and_comments'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'ignore'
               },
diff --git a/tp/t/results/conditionals/ignored_in_ifset.pl 
b/tp/t/results/conditionals/ignored_in_ifset.pl
index 9f47df4dc2..2d79390c62 100644
--- a/tp/t/results/conditionals/ignored_in_ifset.pl
+++ b/tp/t/results/conditionals/ignored_in_ifset.pl
@@ -41,7 +41,8 @@ $result_trees{'ignored_in_ifset'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -57,7 +58,6 @@ $result_trees{'ignored_in_ifset'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
@@ -129,7 +129,8 @@ $result_trees{'ignored_in_ifset'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -145,7 +146,6 @@ $result_trees{'ignored_in_ifset'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
@@ -208,7 +208,8 @@ $result_trees{'ignored_in_ifset'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -224,7 +225,6 @@ $result_trees{'ignored_in_ifset'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
diff --git a/tp/t/results/conditionals/info_ifinfo_ifnotplaintext.pl 
b/tp/t/results/conditionals/info_ifinfo_ifnotplaintext.pl
index 82def40e3c..ebc367ea1e 100644
--- a/tp/t/results/conditionals/info_ifinfo_ifnotplaintext.pl
+++ b/tp/t/results/conditionals/info_ifinfo_ifnotplaintext.pl
@@ -75,7 +75,8 @@ $result_trees{'info_ifinfo_ifnotplaintext'} = {
                 {
                   'counter' => 2,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -91,7 +92,6 @@ $result_trees{'info_ifinfo_ifnotplaintext'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnotplaintext'
                     },
@@ -111,7 +111,8 @@ $result_trees{'info_ifinfo_ifnotplaintext'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -127,7 +128,6 @@ $result_trees{'info_ifinfo_ifnotplaintext'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifinfo'
                     },
diff --git a/tp/t/results/conditionals/info_ifplaintext.pl 
b/tp/t/results/conditionals/info_ifplaintext.pl
index 975c782f08..8852f930b0 100644
--- a/tp/t/results/conditionals/info_ifplaintext.pl
+++ b/tp/t/results/conditionals/info_ifplaintext.pl
@@ -36,7 +36,8 @@ $result_trees{'info_ifplaintext'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -52,7 +53,6 @@ $result_trees{'info_ifplaintext'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifplaintext'
                     },
diff --git a/tp/t/results/conditionals/macro_in_ifset.pl 
b/tp/t/results/conditionals/macro_in_ifset.pl
index e869514ad4..03a3731e68 100644
--- a/tp/t/results/conditionals/macro_in_ifset.pl
+++ b/tp/t/results/conditionals/macro_in_ifset.pl
@@ -32,7 +32,8 @@ $result_trees{'macro_in_ifset'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -48,7 +49,6 @@ $result_trees{'macro_in_ifset'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'macro'
               },
@@ -117,7 +117,8 @@ $result_trees{'macro_in_ifset'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -133,7 +134,6 @@ $result_trees{'macro_in_ifset'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
diff --git a/tp/t/results/conditionals/macro_in_ifset_set.pl 
b/tp/t/results/conditionals/macro_in_ifset_set.pl
index eab7a37e9c..c9775381be 100644
--- a/tp/t/results/conditionals/macro_in_ifset_set.pl
+++ b/tp/t/results/conditionals/macro_in_ifset_set.pl
@@ -15,7 +15,8 @@ $result_trees{'macro_in_ifset_set'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'set',
+          'contents' => [
             {
               'text' => 'a',
               'type' => 'rawline_arg'
@@ -25,7 +26,6 @@ $result_trees{'macro_in_ifset_set'} = {
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'set',
           'info' => {
             'arg_line' => ' a
 '
@@ -54,7 +54,8 @@ $result_trees{'macro_in_ifset_set'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -70,7 +71,6 @@ $result_trees{'macro_in_ifset_set'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'macro'
               },
@@ -138,13 +138,13 @@ $result_trees{'macro_in_ifset_set'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'unmacro',
+          'contents' => [
             {
               'text' => 'truc',
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'unmacro',
           'info' => {
             'arg_line' => ' truc
 '
@@ -168,7 +168,8 @@ $result_trees{'macro_in_ifset_set'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -184,7 +185,6 @@ $result_trees{'macro_in_ifset_set'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'macro'
               },
@@ -209,7 +209,8 @@ $result_trees{'macro_in_ifset_set'} = {
             {
               'counter' => 1,
               'element' => {
-                'args' => [
+                'cmdname' => 'end',
+                'contents' => [
                   {
                     'contents' => [
                       {
@@ -225,7 +226,6 @@ $result_trees{'macro_in_ifset_set'} = {
                     'type' => 'line_arg'
                   }
                 ],
-                'cmdname' => 'end',
                 'extra' => {
                   'text_arg' => 'ifset'
                 },
diff --git a/tp/t/results/conditionals/many_conditionals.pl 
b/tp/t/results/conditionals/many_conditionals.pl
index 4075303f3a..ee33ec2bc6 100644
--- a/tp/t/results/conditionals/many_conditionals.pl
+++ b/tp/t/results/conditionals/many_conditionals.pl
@@ -36,7 +36,8 @@ $result_trees{'many_conditionals'} = {
               'type' => 'rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -52,7 +53,6 @@ $result_trees{'many_conditionals'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'html'
               },
@@ -112,7 +112,8 @@ $result_trees{'many_conditionals'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -128,7 +129,6 @@ $result_trees{'many_conditionals'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifhtml'
                     },
@@ -179,7 +179,8 @@ $result_trees{'many_conditionals'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -195,7 +196,6 @@ $result_trees{'many_conditionals'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnothtml'
                     },
@@ -268,7 +268,8 @@ $result_trees{'many_conditionals'} = {
                 {
                   'counter' => 2,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -284,7 +285,6 @@ $result_trees{'many_conditionals'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifinfo'
                     },
@@ -335,7 +335,8 @@ $result_trees{'many_conditionals'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -351,7 +352,6 @@ $result_trees{'many_conditionals'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnotinfo'
                     },
@@ -415,7 +415,8 @@ $result_trees{'many_conditionals'} = {
               'type' => 'elided_rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -431,7 +432,6 @@ $result_trees{'many_conditionals'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'tex'
               },
@@ -476,7 +476,8 @@ $result_trees{'many_conditionals'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -492,7 +493,6 @@ $result_trees{'many_conditionals'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'iftex'
                     },
@@ -560,7 +560,8 @@ $result_trees{'many_conditionals'} = {
                 {
                   'counter' => 3,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -576,7 +577,6 @@ $result_trees{'many_conditionals'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnottex'
                     },
diff --git a/tp/t/results/conditionals/nested_ifset_ifclear.pl 
b/tp/t/results/conditionals/nested_ifset_ifclear.pl
index 70b503765a..cb1413c812 100644
--- a/tp/t/results/conditionals/nested_ifset_ifclear.pl
+++ b/tp/t/results/conditionals/nested_ifset_ifclear.pl
@@ -67,7 +67,8 @@ $result_trees{'nested_ifset_ifclear'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -83,7 +84,6 @@ $result_trees{'nested_ifset_ifclear'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'macro'
               },
@@ -111,7 +111,8 @@ $result_trees{'nested_ifset_ifclear'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'set',
+          'contents' => [
             {
               'text' => 'somevar',
               'type' => 'rawline_arg'
@@ -121,14 +122,14 @@ $result_trees{'nested_ifset_ifclear'} = {
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'set',
           'info' => {
             'arg_line' => ' somevar
 '
           }
         },
         {
-          'args' => [
+          'cmdname' => 'set',
+          'contents' => [
             {
               'text' => 'anothervar',
               'type' => 'rawline_arg'
@@ -138,7 +139,6 @@ $result_trees{'nested_ifset_ifclear'} = {
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'set',
           'info' => {
             'arg_line' => ' anothervar
 '
@@ -245,7 +245,8 @@ $result_trees{'nested_ifset_ifclear'} = {
                 {
                   'counter' => 2,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -261,7 +262,6 @@ $result_trees{'nested_ifset_ifclear'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
@@ -309,7 +309,8 @@ $result_trees{'nested_ifset_ifclear'} = {
                         'type' => 'raw'
                       },
                       {
-                        'args' => [
+                        'cmdname' => 'end',
+                        'contents' => [
                           {
                             'contents' => [
                               {
@@ -325,7 +326,6 @@ $result_trees{'nested_ifset_ifclear'} = {
                             'type' => 'line_arg'
                           }
                         ],
-                        'cmdname' => 'end',
                         'extra' => {
                           'text_arg' => 'ifclear'
                         },
@@ -356,7 +356,8 @@ $result_trees{'nested_ifset_ifclear'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -380,7 +381,6 @@ $result_trees{'nested_ifset_ifclear'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
@@ -411,7 +411,8 @@ $result_trees{'nested_ifset_ifclear'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'set',
+          'contents' => [
             {
               'text' => 'somevar',
               'type' => 'rawline_arg'
@@ -421,20 +422,19 @@ $result_trees{'nested_ifset_ifclear'} = {
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'set',
           'info' => {
             'arg_line' => ' somevar
 '
           }
         },
         {
-          'args' => [
+          'cmdname' => 'clear',
+          'contents' => [
             {
               'text' => 'anothervar',
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'clear',
           'info' => {
             'arg_line' => ' anothervar
 '
@@ -524,7 +524,8 @@ $result_trees{'nested_ifset_ifclear'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -540,7 +541,6 @@ $result_trees{'nested_ifset_ifclear'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
@@ -614,7 +614,8 @@ $result_trees{'nested_ifset_ifclear'} = {
                 {
                   'counter' => 4,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -630,7 +631,6 @@ $result_trees{'nested_ifset_ifclear'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifclear'
                     },
@@ -651,7 +651,8 @@ $result_trees{'nested_ifset_ifclear'} = {
                 {
                   'counter' => 3,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -675,7 +676,6 @@ $result_trees{'nested_ifset_ifclear'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
@@ -706,20 +706,21 @@ $result_trees{'nested_ifset_ifclear'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'clear',
+          'contents' => [
             {
               'text' => 'somevar',
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'clear',
           'info' => {
             'arg_line' => ' somevar
 '
           }
         },
         {
-          'args' => [
+          'cmdname' => 'set',
+          'contents' => [
             {
               'text' => 'anothervar',
               'type' => 'rawline_arg'
@@ -729,7 +730,6 @@ $result_trees{'nested_ifset_ifclear'} = {
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'set',
           'info' => {
             'arg_line' => ' anothervar
 '
@@ -806,7 +806,8 @@ $result_trees{'nested_ifset_ifclear'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -830,7 +831,6 @@ $result_trees{'nested_ifset_ifclear'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
@@ -865,26 +865,26 @@ $result_trees{'nested_ifset_ifclear'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'clear',
+          'contents' => [
             {
               'text' => 'somevar',
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'clear',
           'info' => {
             'arg_line' => ' somevar
 '
           }
         },
         {
-          'args' => [
+          'cmdname' => 'clear',
+          'contents' => [
             {
               'text' => 'anothervar',
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'clear',
           'info' => {
             'arg_line' => ' anothervar
 '
@@ -961,7 +961,8 @@ $result_trees{'nested_ifset_ifclear'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -985,7 +986,6 @@ $result_trees{'nested_ifset_ifclear'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
diff --git 
a/tp/t/results/conditionals/nested_ifset_prepended_to_command_name.pl 
b/tp/t/results/conditionals/nested_ifset_prepended_to_command_name.pl
index 99b1a8f9df..dce97378bd 100644
--- a/tp/t/results/conditionals/nested_ifset_prepended_to_command_name.pl
+++ b/tp/t/results/conditionals/nested_ifset_prepended_to_command_name.pl
@@ -46,7 +46,8 @@ $result_trees{'nested_ifset_prepended_to_command_name'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -62,7 +63,6 @@ $result_trees{'nested_ifset_prepended_to_command_name'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
diff --git a/tp/t/results/conditionals/nested_ignore_with_comments.pl 
b/tp/t/results/conditionals/nested_ignore_with_comments.pl
index 55172b4d3d..84dd1b52dd 100644
--- a/tp/t/results/conditionals/nested_ignore_with_comments.pl
+++ b/tp/t/results/conditionals/nested_ignore_with_comments.pl
@@ -167,7 +167,8 @@ $result_trees{'nested_ignore_with_comments'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -183,7 +184,6 @@ $result_trees{'nested_ignore_with_comments'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'ignore'
               },
diff --git a/tp/t/results/conditionals/not_set.pl 
b/tp/t/results/conditionals/not_set.pl
index 51b4d5aafa..1e1bb6896a 100644
--- a/tp/t/results/conditionals/not_set.pl
+++ b/tp/t/results/conditionals/not_set.pl
@@ -51,7 +51,8 @@ $result_trees{'not_set'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -67,7 +68,6 @@ $result_trees{'not_set'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
diff --git a/tp/t/results/conditionals/plaintext_ifinfo.pl 
b/tp/t/results/conditionals/plaintext_ifinfo.pl
index 114edc5d76..c645d1dbab 100644
--- a/tp/t/results/conditionals/plaintext_ifinfo.pl
+++ b/tp/t/results/conditionals/plaintext_ifinfo.pl
@@ -51,7 +51,8 @@ $result_trees{'plaintext_ifinfo'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -67,7 +68,6 @@ $result_trees{'plaintext_ifinfo'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifinfo'
                     },
diff --git a/tp/t/results/conditionals/plaintext_ifinfo_ifnotplaintext.pl 
b/tp/t/results/conditionals/plaintext_ifinfo_ifnotplaintext.pl
index 1a62be0e0d..38e5897665 100644
--- a/tp/t/results/conditionals/plaintext_ifinfo_ifnotplaintext.pl
+++ b/tp/t/results/conditionals/plaintext_ifinfo_ifnotplaintext.pl
@@ -63,7 +63,8 @@ $result_trees{'plaintext_ifinfo_ifnotplaintext'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -79,7 +80,6 @@ $result_trees{'plaintext_ifinfo_ifnotplaintext'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnotplaintext'
                     },
@@ -102,7 +102,8 @@ $result_trees{'plaintext_ifinfo_ifnotplaintext'} = {
             {
               'counter' => 1,
               'element' => {
-                'args' => [
+                'cmdname' => 'end',
+                'contents' => [
                   {
                     'contents' => [
                       {
@@ -118,7 +119,6 @@ $result_trees{'plaintext_ifinfo_ifnotplaintext'} = {
                     'type' => 'line_arg'
                   }
                 ],
-                'cmdname' => 'end',
                 'extra' => {
                   'text_arg' => 'ifinfo'
                 },
diff --git a/tp/t/results/conditionals/superfluous_argument_to_end.pl 
b/tp/t/results/conditionals/superfluous_argument_to_end.pl
index 07b6fd9e43..aa24fb2525 100644
--- a/tp/t/results/conditionals/superfluous_argument_to_end.pl
+++ b/tp/t/results/conditionals/superfluous_argument_to_end.pl
@@ -48,7 +48,8 @@ $result_trees{'superfluous_argument_to_end'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -64,7 +65,6 @@ $result_trees{'superfluous_argument_to_end'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnothtml superfluous'
                     },
diff --git a/tp/t/results/conditionals/text_on_conditional_line.pl 
b/tp/t/results/conditionals/text_on_conditional_line.pl
index 27c3d9ff66..fc0e112bc2 100644
--- a/tp/t/results/conditionals/text_on_conditional_line.pl
+++ b/tp/t/results/conditionals/text_on_conditional_line.pl
@@ -41,7 +41,8 @@ $result_trees{'text_on_conditional_line'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -57,7 +58,6 @@ $result_trees{'text_on_conditional_line'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnothtml'
                     },
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 6bf6b80dec..4fe1bf49f8 100644
--- a/tp/t/results/conditionals/text_on_conditional_line_expanded.pl
+++ b/tp/t/results/conditionals/text_on_conditional_line_expanded.pl
@@ -58,7 +58,8 @@ $result_trees{'text_on_conditional_line_expanded'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -74,7 +75,6 @@ $result_trees{'text_on_conditional_line_expanded'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifnothtml'
                     },
diff --git a/tp/t/results/conditionals/user_defined_txiinternalvalue.pl 
b/tp/t/results/conditionals/user_defined_txiinternalvalue.pl
index 519b8f678e..f465bb4886 100644
--- a/tp/t/results/conditionals/user_defined_txiinternalvalue.pl
+++ b/tp/t/results/conditionals/user_defined_txiinternalvalue.pl
@@ -27,7 +27,8 @@ $result_trees{'user_defined_txiinternalvalue'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -43,7 +44,6 @@ $result_trees{'user_defined_txiinternalvalue'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'macro'
               },
diff --git a/tp/t/results/conditionals/value_on_ifset.pl 
b/tp/t/results/conditionals/value_on_ifset.pl
index ec03e7c4b1..b6f39b6108 100644
--- a/tp/t/results/conditionals/value_on_ifset.pl
+++ b/tp/t/results/conditionals/value_on_ifset.pl
@@ -10,7 +10,8 @@ $result_trees{'value_on_ifset'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'set',
+          'contents' => [
             {
               'text' => 'xval',
               'type' => 'rawline_arg'
@@ -20,14 +21,14 @@ $result_trees{'value_on_ifset'} = {
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'set',
           'info' => {
             'arg_line' => ' xval x
 '
           }
         },
         {
-          'args' => [
+          'cmdname' => 'set',
+          'contents' => [
             {
               'text' => 'x',
               'type' => 'rawline_arg'
@@ -37,7 +38,6 @@ $result_trees{'value_on_ifset'} = {
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'set',
           'info' => {
             'arg_line' => ' x 1
 '
@@ -125,7 +125,8 @@ $result_trees{'value_on_ifset'} = {
                 {
                   'counter' => 1,
                   'element' => {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -141,7 +142,6 @@ $result_trees{'value_on_ifset'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
@@ -207,7 +207,8 @@ $result_trees{'value_on_ifset'} = {
                     'type' => 'raw'
                   },
                   {
-                    'args' => [
+                    'cmdname' => 'end',
+                    'contents' => [
                       {
                         'contents' => [
                           {
@@ -223,7 +224,6 @@ $result_trees{'value_on_ifset'} = {
                         'type' => 'line_arg'
                       }
                     ],
-                    'cmdname' => 'end',
                     'extra' => {
                       'text_arg' => 'ifset'
                     },
diff --git a/tp/t/results/converters_tests/at_commands_in_raw.pl 
b/tp/t/results/converters_tests/at_commands_in_raw.pl
index adfd128245..577dd5df80 100644
--- a/tp/t/results/converters_tests/at_commands_in_raw.pl
+++ b/tp/t/results/converters_tests/at_commands_in_raw.pl
@@ -91,7 +91,8 @@ $result_trees{'at_commands_in_raw'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -107,7 +108,6 @@ $result_trees{'at_commands_in_raw'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'macro'
               },
@@ -286,7 +286,8 @@ $result_trees{'at_commands_in_raw'} = {
               'type' => 'rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -302,7 +303,6 @@ $result_trees{'at_commands_in_raw'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'html'
               },
@@ -610,7 +610,8 @@ $result_trees{'at_commands_in_raw'} = {
               'type' => 'elided_rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -626,7 +627,6 @@ $result_trees{'at_commands_in_raw'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'tex'
               },
@@ -785,7 +785,8 @@ $result_trees{'at_commands_in_raw'} = {
 '
             },
             {
-              'args' => [
+              'cmdname' => 'findex',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -801,7 +802,6 @@ $result_trees{'at_commands_in_raw'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'findex',
               'extra' => {
                 'element_node' => {},
                 'index_entry' => [
@@ -847,7 +847,8 @@ $result_trees{'at_commands_in_raw'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -863,7 +864,6 @@ $result_trees{'at_commands_in_raw'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'cp'
@@ -879,7 +879,8 @@ $result_trees{'at_commands_in_raw'} = {
           }
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -895,7 +896,6 @@ $result_trees{'at_commands_in_raw'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'fn'
@@ -916,7 +916,8 @@ $result_trees{'at_commands_in_raw'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'listoffloats',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -932,7 +933,6 @@ $result_trees{'at_commands_in_raw'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'listoffloats',
           'extra' => {
             'float_type' => 'Figs'
           },
diff --git a/tp/t/results/converters_tests/combined_fonts.pl 
b/tp/t/results/converters_tests/combined_fonts.pl
index 7113363cd4..f01485473a 100644
--- a/tp/t/results/converters_tests/combined_fonts.pl
+++ b/tp/t/results/converters_tests/combined_fonts.pl
@@ -12,7 +12,8 @@ $result_trees{'combined_fonts'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'setfilename',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -28,7 +29,6 @@ $result_trees{'combined_fonts'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'setfilename',
               'extra' => {
                 'text_arg' => 'combined_fonts.info'
               },
@@ -1052,7 +1052,8 @@ $result_trees{'combined_fonts'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1068,7 +1069,6 @@ $result_trees{'combined_fonts'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
diff --git a/tp/t/results/converters_tests/commands_in_settitle_with_title.pl 
b/tp/t/results/converters_tests/commands_in_settitle_with_title.pl
index 077651fe2b..012cb0877c 100644
--- a/tp/t/results/converters_tests/commands_in_settitle_with_title.pl
+++ b/tp/t/results/converters_tests/commands_in_settitle_with_title.pl
@@ -10,7 +10,8 @@ $result_trees{'commands_in_settitle_with_title'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'settitle',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -226,7 +227,6 @@ $result_trees{'commands_in_settitle_with_title'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'settitle',
           'info' => {
             'spaces_before_argument' => {
               'text' => ' '
diff --git a/tp/t/results/converters_tests/complex_nestings.pl 
b/tp/t/results/converters_tests/complex_nestings.pl
index 01f7284279..965e7400ef 100644
--- a/tp/t/results/converters_tests/complex_nestings.pl
+++ b/tp/t/results/converters_tests/complex_nestings.pl
@@ -866,7 +866,8 @@ $result_trees{'complex_nestings'} = {
                                             {
                                               'contents' => [
                                                 {
-                                                  'args' => [
+                                                  'cmdname' => 'item',
+                                                  'contents' => [
                                                     {
                                                       'contents' => [
                                                         {
@@ -882,7 +883,6 @@ $result_trees{'complex_nestings'} = {
                                                       'type' => 'line_arg'
                                                     }
                                                   ],
-                                                  'cmdname' => 'item',
                                                   'info' => {
                                                     'spaces_before_argument' 
=> {
                                                       'text' => ' '
@@ -926,7 +926,8 @@ $result_trees{'complex_nestings'} = {
                                             {
                                               'contents' => [
                                                 {
-                                                  'args' => [
+                                                  'cmdname' => 'item',
+                                                  'contents' => [
                                                     {
                                                       'contents' => [
                                                         {
@@ -942,7 +943,6 @@ $result_trees{'complex_nestings'} = {
                                                       'type' => 'line_arg'
                                                     }
                                                   ],
-                                                  'cmdname' => 'item',
                                                   'info' => {
                                                     'spaces_before_argument' 
=> {
                                                       'text' => ' '
@@ -959,7 +959,8 @@ $result_trees{'complex_nestings'} = {
                                           'type' => 'table_entry'
                                         },
                                         {
-                                          'args' => [
+                                          'cmdname' => 'end',
+                                          'contents' => [
                                             {
                                               'contents' => [
                                                 {
@@ -975,7 +976,6 @@ $result_trees{'complex_nestings'} = {
                                               'type' => 'line_arg'
                                             }
                                           ],
-                                          'cmdname' => 'end',
                                           'extra' => {
                                             'text_arg' => 'table'
                                           },
@@ -1019,7 +1019,8 @@ $result_trees{'complex_nestings'} = {
                                   'type' => 'def_item'
                                 },
                                 {
-                                  'args' => [
+                                  'cmdname' => 'end',
+                                  'contents' => [
                                     {
                                       'contents' => [
                                         {
@@ -1035,7 +1036,6 @@ $result_trees{'complex_nestings'} = {
                                       'type' => 'line_arg'
                                     }
                                   ],
-                                  'cmdname' => 'end',
                                   'extra' => {
                                     'text_arg' => 'defvar'
                                   },
@@ -1062,7 +1062,8 @@ $result_trees{'complex_nestings'} = {
                           'type' => 'def_item'
                         },
                         {
-                          'args' => [
+                          'cmdname' => 'end',
+                          'contents' => [
                             {
                               'contents' => [
                                 {
@@ -1078,7 +1079,6 @@ $result_trees{'complex_nestings'} = {
                               'type' => 'line_arg'
                             }
                           ],
-                          'cmdname' => 'end',
                           'extra' => {
                             'text_arg' => 'deffn'
                           },
@@ -1105,7 +1105,8 @@ $result_trees{'complex_nestings'} = {
                   'type' => 'def_item'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -1121,7 +1122,6 @@ $result_trees{'complex_nestings'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'defun'
                   },
@@ -1155,7 +1155,8 @@ $result_trees{'complex_nestings'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1171,7 +1172,6 @@ $result_trees{'complex_nestings'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
diff --git a/tp/t/results/converters_tests/contents_at_document_begin.pl 
b/tp/t/results/converters_tests/contents_at_document_begin.pl
index f9ba2b04e1..0b57695919 100644
--- a/tp/t/results/converters_tests/contents_at_document_begin.pl
+++ b/tp/t/results/converters_tests/contents_at_document_begin.pl
@@ -27,14 +27,14 @@ $result_trees{'contents_at_document_begin'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'contents',
+              'contents' => [
                 {
                   'text' => '
 ',
                   'type' => 'rawline_arg'
                 }
               ],
-              'cmdname' => 'contents',
               'extra' => {},
               'source_info' => {
                 'file_name' => 'contents_at_document_begin.texi',
@@ -195,7 +195,8 @@ $result_trees{'contents_at_document_begin'} = {
               'type' => 'menu_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -211,7 +212,6 @@ $result_trees{'contents_at_document_begin'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'menu'
               },
@@ -341,14 +341,14 @@ $result_trees{'contents_at_document_begin'} = {
       }
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git a/tp/t/results/converters_tests/contents_at_document_begin_inline.pl 
b/tp/t/results/converters_tests/contents_at_document_begin_inline.pl
index a1193755c4..b59ab50ca5 100644
--- a/tp/t/results/converters_tests/contents_at_document_begin_inline.pl
+++ b/tp/t/results/converters_tests/contents_at_document_begin_inline.pl
@@ -27,14 +27,14 @@ $result_trees{'contents_at_document_begin_inline'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'contents',
+              'contents' => [
                 {
                   'text' => '
 ',
                   'type' => 'rawline_arg'
                 }
               ],
-              'cmdname' => 'contents',
               'extra' => {},
               'source_info' => {
                 'file_name' => 'contents_at_document_begin.texi',
@@ -195,7 +195,8 @@ $result_trees{'contents_at_document_begin_inline'} = {
               'type' => 'menu_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -211,7 +212,6 @@ $result_trees{'contents_at_document_begin_inline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'menu'
               },
@@ -341,14 +341,14 @@ $result_trees{'contents_at_document_begin_inline'} = {
       }
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git 
a/tp/t/results/converters_tests/contents_at_document_begin_separate_element.pl 
b/tp/t/results/converters_tests/contents_at_document_begin_separate_element.pl
index f95871fe3d..3a31b3ac55 100644
--- 
a/tp/t/results/converters_tests/contents_at_document_begin_separate_element.pl
+++ 
b/tp/t/results/converters_tests/contents_at_document_begin_separate_element.pl
@@ -27,14 +27,14 @@ 
$result_trees{'contents_at_document_begin_separate_element'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'contents',
+              'contents' => [
                 {
                   'text' => '
 ',
                   'type' => 'rawline_arg'
                 }
               ],
-              'cmdname' => 'contents',
               'extra' => {},
               'source_info' => {
                 'file_name' => 'contents_at_document_begin.texi',
@@ -195,7 +195,8 @@ 
$result_trees{'contents_at_document_begin_separate_element'} = {
               'type' => 'menu_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -211,7 +212,6 @@ 
$result_trees{'contents_at_document_begin_separate_element'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'menu'
               },
@@ -341,14 +341,14 @@ 
$result_trees{'contents_at_document_begin_separate_element'} = {
       }
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git 
a/tp/t/results/converters_tests/conversion_with_undef_customization.pl 
b/tp/t/results/converters_tests/conversion_with_undef_customization.pl
index d5101f60e3..4e00c02d33 100644
--- a/tp/t/results/converters_tests/conversion_with_undef_customization.pl
+++ b/tp/t/results/converters_tests/conversion_with_undef_customization.pl
@@ -79,28 +79,28 @@ $result_trees{'conversion_with_undef_customization'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'contents',
+          'contents' => [
             {
               'text' => '
 ',
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'contents',
           'extra' => {},
           'source_info' => {
             'line_nr' => 4
           }
         },
         {
-          'args' => [
+          'cmdname' => 'shortcontents',
+          'contents' => [
             {
               'text' => '
 ',
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'shortcontents',
           'extra' => {},
           'source_info' => {
             'line_nr' => 5
@@ -273,7 +273,8 @@ $result_trees{'conversion_with_undef_customization'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'cindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -289,7 +290,6 @@ $result_trees{'conversion_with_undef_customization'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'cindex',
           'extra' => {
             'element_node' => {},
             'index_entry' => [
@@ -391,7 +391,8 @@ $result_trees{'conversion_with_undef_customization'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -407,7 +408,6 @@ $result_trees{'conversion_with_undef_customization'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'cp'
@@ -583,7 +583,8 @@ $result_trees{'conversion_with_undef_customization'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -599,7 +600,6 @@ $result_trees{'conversion_with_undef_customization'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
diff --git a/tp/t/results/converters_tests/definition_commands.pl 
b/tp/t/results/converters_tests/definition_commands.pl
index 03328ca5a0..8ed095ea96 100644
--- a/tp/t/results/converters_tests/definition_commands.pl
+++ b/tp/t/results/converters_tests/definition_commands.pl
@@ -313,7 +313,8 @@ $result_trees{'definition_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -329,7 +330,6 @@ $result_trees{'definition_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -544,7 +544,8 @@ $result_trees{'definition_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -560,7 +561,6 @@ $result_trees{'definition_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -801,7 +801,8 @@ $result_trees{'definition_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -817,7 +818,6 @@ $result_trees{'definition_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -4942,7 +4942,8 @@ $result_trees{'definition_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -4958,7 +4959,6 @@ $result_trees{'definition_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defspec'
               },
@@ -7038,7 +7038,8 @@ $result_trees{'definition_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -7054,7 +7055,6 @@ $result_trees{'definition_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defspec'
               },
@@ -8112,7 +8112,8 @@ $result_trees{'definition_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -8128,7 +8129,6 @@ $result_trees{'definition_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -9546,7 +9546,8 @@ $result_trees{'definition_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -9562,7 +9563,6 @@ $result_trees{'definition_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defspec'
               },
@@ -9854,7 +9854,8 @@ $result_trees{'definition_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -9870,7 +9871,6 @@ $result_trees{'definition_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -10188,7 +10188,8 @@ $result_trees{'definition_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -10204,7 +10205,6 @@ $result_trees{'definition_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -10374,7 +10374,8 @@ $result_trees{'definition_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -10390,7 +10391,6 @@ $result_trees{'definition_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defcv'
               },
@@ -10621,7 +10621,8 @@ $result_trees{'definition_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -10637,7 +10638,6 @@ $result_trees{'definition_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypecv'
               },
@@ -10946,7 +10946,8 @@ $result_trees{'definition_commands'} = {
                   'type' => 'def_item'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -10962,7 +10963,6 @@ $result_trees{'definition_commands'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'deftypefn'
                   },
@@ -10986,7 +10986,8 @@ $result_trees{'definition_commands'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -11002,7 +11003,6 @@ $result_trees{'definition_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
@@ -11225,7 +11225,8 @@ $result_trees{'definition_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -11241,7 +11242,6 @@ $result_trees{'definition_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defun'
               },
@@ -11479,7 +11479,8 @@ $result_trees{'definition_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -11495,7 +11496,6 @@ $result_trees{'definition_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defun'
               },
@@ -11925,7 +11925,8 @@ $result_trees{'definition_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -11941,7 +11942,6 @@ $result_trees{'definition_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -16237,7 +16237,8 @@ $result_trees{'definition_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -16253,7 +16254,6 @@ $result_trees{'definition_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -19998,7 +19998,8 @@ $result_trees{'definition_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -20014,7 +20015,6 @@ $result_trees{'definition_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
diff --git a/tp/t/results/converters_tests/email_table_command_as_argument.pl 
b/tp/t/results/converters_tests/email_table_command_as_argument.pl
index 675e18c111..68beee958a 100644
--- a/tp/t/results/converters_tests/email_table_command_as_argument.pl
+++ b/tp/t/results/converters_tests/email_table_command_as_argument.pl
@@ -39,7 +39,8 @@ $result_trees{'email_table_command_as_argument'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -61,7 +62,6 @@ $result_trees{'email_table_command_as_argument'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -92,7 +92,8 @@ $result_trees{'email_table_command_as_argument'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -108,7 +109,6 @@ $result_trees{'email_table_command_as_argument'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
diff --git a/tp/t/results/converters_tests/enumerate_above_ten.pl 
b/tp/t/results/converters_tests/enumerate_above_ten.pl
index 58ef4a063f..b256b83cdf 100644
--- a/tp/t/results/converters_tests/enumerate_above_ten.pl
+++ b/tp/t/results/converters_tests/enumerate_above_ten.pl
@@ -56,7 +56,8 @@ $result_trees{'enumerate_above_ten'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -72,7 +73,6 @@ $result_trees{'enumerate_above_ten'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'enumerate'
               },
diff --git a/tp/t/results/converters_tests/form_feeds.pl 
b/tp/t/results/converters_tests/form_feeds.pl
index 4454768c34..62efa133a8 100644
--- a/tp/t/results/converters_tests/form_feeds.pl
+++ b/tp/t/results/converters_tests/form_feeds.pl
@@ -452,7 +452,8 @@ $result_trees{'form_feeds'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -468,7 +469,6 @@ $result_trees{'form_feeds'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
@@ -492,7 +492,8 @@ $result_trees{'form_feeds'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'center',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -508,7 +509,6 @@ $result_trees{'form_feeds'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'center',
           'info' => {
             'spaces_before_argument' => {
               'text' => '  '
@@ -519,7 +519,8 @@ $result_trees{'form_feeds'} = {
           }
         },
         {
-          'args' => [
+          'cmdname' => 'center',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -535,7 +536,6 @@ $result_trees{'form_feeds'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'center',
           'info' => {
             'spaces_before_argument' => {
               'text' => ' '
@@ -973,7 +973,8 @@ $result_trees{'form_feeds'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -989,7 +990,6 @@ $result_trees{'form_feeds'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -1168,7 +1168,8 @@ $result_trees{'form_feeds'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1184,7 +1185,6 @@ $result_trees{'form_feeds'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'float'
               },
@@ -1260,7 +1260,8 @@ $result_trees{'form_feeds'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1276,7 +1277,6 @@ $result_trees{'form_feeds'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'float'
               },
@@ -1310,7 +1310,8 @@ $result_trees{'form_feeds'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'listoffloats',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -1326,7 +1327,6 @@ $result_trees{'form_feeds'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'listoffloats',
           'extra' => {
             'float_type' => 'type'
           },
diff --git a/tp/t/results/converters_tests/frenchspacing_and_code.pl 
b/tp/t/results/converters_tests/frenchspacing_and_code.pl
index 0580c95700..93fd0218a4 100644
--- a/tp/t/results/converters_tests/frenchspacing_and_code.pl
+++ b/tp/t/results/converters_tests/frenchspacing_and_code.pl
@@ -15,7 +15,8 @@ $result_trees{'frenchspacing_and_code'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'frenchspacing',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -31,7 +32,6 @@ $result_trees{'frenchspacing_and_code'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'frenchspacing',
           'extra' => {
             'misc_args' => [
               'on'
@@ -262,7 +262,8 @@ $result_trees{'frenchspacing_and_code'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -278,7 +279,6 @@ $result_trees{'frenchspacing_and_code'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
@@ -600,7 +600,8 @@ $result_trees{'frenchspacing_and_code'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -616,7 +617,6 @@ $result_trees{'frenchspacing_and_code'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -923,7 +923,8 @@ $result_trees{'frenchspacing_and_code'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -939,7 +940,6 @@ $result_trees{'frenchspacing_and_code'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defop'
               },
@@ -968,7 +968,8 @@ $result_trees{'frenchspacing_and_code'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'frenchspacing',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -984,7 +985,6 @@ $result_trees{'frenchspacing_and_code'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'frenchspacing',
           'extra' => {
             'misc_args' => [
               'off'
@@ -1146,7 +1146,8 @@ $result_trees{'frenchspacing_and_code'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1162,7 +1163,6 @@ $result_trees{'frenchspacing_and_code'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
@@ -1484,7 +1484,8 @@ $result_trees{'frenchspacing_and_code'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1500,7 +1501,6 @@ $result_trees{'frenchspacing_and_code'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -1807,7 +1807,8 @@ $result_trees{'frenchspacing_and_code'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1823,7 +1824,6 @@ $result_trees{'frenchspacing_and_code'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defop'
               },
diff --git a/tp/t/results/converters_tests/image_formatting.pl 
b/tp/t/results/converters_tests/image_formatting.pl
index 3090523eaa..bbede1762b 100644
--- a/tp/t/results/converters_tests/image_formatting.pl
+++ b/tp/t/results/converters_tests/image_formatting.pl
@@ -1644,7 +1644,8 @@ $result_trees{'image_formatting'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1660,7 +1661,6 @@ $result_trees{'image_formatting'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
diff --git a/tp/t/results/converters_tests/index_entry_in_preformatted.pl 
b/tp/t/results/converters_tests/index_entry_in_preformatted.pl
index 3bd883c3d5..274da0b522 100644
--- a/tp/t/results/converters_tests/index_entry_in_preformatted.pl
+++ b/tp/t/results/converters_tests/index_entry_in_preformatted.pl
@@ -167,7 +167,8 @@ $result_trees{'index_entry_in_preformatted'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -183,7 +184,6 @@ $result_trees{'index_entry_in_preformatted'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -212,7 +212,8 @@ $result_trees{'index_entry_in_preformatted'} = {
                   'type' => 'empty_line'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -221,14 +222,14 @@ $result_trees{'index_entry_in_preformatted'} = {
                       ],
                       'info' => {
                         'comment_at_end' => {
-                          'args' => [
+                          'cmdname' => 'c',
+                          'contents' => [
                             {
                               'text' => ' comment
 ',
                               'type' => 'rawline_arg'
                             }
-                          ],
-                          'cmdname' => 'c'
+                          ]
                         },
                         'spaces_after_argument' => {
                           'text' => ' '
@@ -237,7 +238,6 @@ $result_trees{'index_entry_in_preformatted'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -261,7 +261,8 @@ $result_trees{'index_entry_in_preformatted'} = {
 '
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -277,7 +278,6 @@ $result_trees{'index_entry_in_preformatted'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -300,7 +300,8 @@ $result_trees{'index_entry_in_preformatted'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -316,7 +317,6 @@ $result_trees{'index_entry_in_preformatted'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
diff --git a/tp/t/results/converters_tests/indices_in_begin_tables_lists.pl 
b/tp/t/results/converters_tests/indices_in_begin_tables_lists.pl
index f89a54ce67..717fd6f9ec 100644
--- a/tp/t/results/converters_tests/indices_in_begin_tables_lists.pl
+++ b/tp/t/results/converters_tests/indices_in_begin_tables_lists.pl
@@ -199,17 +199,18 @@ $result_trees{'indices_in_begin_tables_lists'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'c',
+                  'contents' => [
                     {
                       'text' => ' comment in itemize
 ',
                       'type' => 'rawline_arg'
                     }
-                  ],
-                  'cmdname' => 'c'
+                  ]
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -225,7 +226,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -274,7 +274,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -290,7 +291,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize'
               },
@@ -352,7 +352,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -368,7 +369,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -424,7 +424,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'ignorable_spaces_after_command'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -446,7 +447,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -485,7 +485,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -501,7 +502,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize'
               },
@@ -562,14 +562,14 @@ $result_trees{'indices_in_begin_tables_lists'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'c',
+                  'contents' => [
                     {
                       'text' => ' comment in itemize
 ',
                       'type' => 'rawline_arg'
                     }
-                  ],
-                  'cmdname' => 'c'
+                  ]
                 },
                 {
                   'contents' => [
@@ -578,7 +578,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
 '
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'cindex',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -594,7 +595,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'cindex',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -646,7 +646,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -662,7 +663,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize'
               },
@@ -715,14 +715,14 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'empty_line'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'comment',
+                  'contents' => [
                     {
                       'text' => ' comment before first item in enumerate
 ',
                       'type' => 'rawline_arg'
                     }
-                  ],
-                  'cmdname' => 'comment'
+                  ]
                 }
               ],
               'type' => 'before_item'
@@ -753,7 +753,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -769,7 +770,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'enumerate'
               },
@@ -822,7 +822,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'empty_line'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -838,7 +839,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -892,7 +892,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -908,7 +909,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'enumerate'
               },
@@ -961,7 +961,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'empty_line'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -977,7 +978,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -1026,7 +1026,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1042,7 +1043,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'enumerate'
               },
@@ -1090,7 +1090,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -1106,7 +1107,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -1160,7 +1160,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1176,7 +1177,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'enumerate'
               },
@@ -1230,7 +1230,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
 '
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'cindex',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -1246,7 +1247,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'cindex',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -1298,7 +1298,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1314,7 +1315,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'enumerate'
               },
@@ -1362,7 +1362,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -1378,7 +1379,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -1399,17 +1399,18 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'index_entry_command'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'comment',
+                  'contents' => [
                     {
                       'text' => ' comment
 ',
                       'type' => 'rawline_arg'
                     }
-                  ],
-                  'cmdname' => 'comment'
+                  ]
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -1425,7 +1426,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -1446,7 +1446,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'index_entry_command'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -1462,7 +1463,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -1511,7 +1511,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1527,7 +1528,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'enumerate'
               },
@@ -1586,17 +1586,18 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'c',
+                      'contents' => [
                         {
                           'text' => ' comment in table
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'c'
+                      ]
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -1612,7 +1613,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -1651,7 +1651,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1667,7 +1668,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'vtable'
               },
@@ -1731,7 +1731,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -1747,7 +1748,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -1768,20 +1768,21 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                     {
                       'contents' => [
                         {
-                          'args' => [
+                          'cmdname' => 'c',
+                          'contents' => [
                             {
                               'text' => ' comment between item and itemx
 ',
                               'type' => 'rawline_arg'
                             }
-                          ],
-                          'cmdname' => 'c'
+                          ]
                         }
                       ],
                       'type' => 'inter_item'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'itemx',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -1797,7 +1798,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'itemx',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -1836,7 +1836,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1852,7 +1853,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'vtable'
               },
@@ -1916,7 +1916,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -1932,7 +1933,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -1953,7 +1953,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                     {
                       'contents' => [
                         {
-                          'args' => [
+                          'cmdname' => 'cindex',
+                          'contents' => [
                             {
                               'contents' => [
                                 {
@@ -1969,7 +1970,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                               'type' => 'line_arg'
                             }
                           ],
-                          'cmdname' => 'cindex',
                           'extra' => {
                             'element_node' => {},
                             'index_entry' => [
@@ -1990,30 +1990,31 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'index_entry_command'
                         },
                         {
-                          'args' => [
+                          'cmdname' => 'c',
+                          'contents' => [
                             {
                               'text' => ' and a comment
 ',
                               'type' => 'rawline_arg'
                             }
-                          ],
-                          'cmdname' => 'c'
+                          ]
                         },
                         {
-                          'args' => [
+                          'cmdname' => 'comment',
+                          'contents' => [
                             {
                               'text' => ' and another comment
 ',
                               'type' => 'rawline_arg'
                             }
-                          ],
-                          'cmdname' => 'comment'
+                          ]
                         }
                       ],
                       'type' => 'inter_item'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'itemx',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -2029,7 +2030,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'itemx',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -2072,7 +2072,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -2088,7 +2089,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -2114,14 +2114,14 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'empty_line'
                         },
                         {
-                          'args' => [
+                          'cmdname' => 'c',
+                          'contents' => [
                             {
                               'text' => ' comment between lines
 ',
                               'type' => 'rawline_arg'
                             }
-                          ],
-                          'cmdname' => 'c'
+                          ]
                         },
                         {
                           'text' => '
@@ -2132,7 +2132,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'inter_item'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'itemx',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -2148,7 +2149,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'itemx',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -2177,14 +2177,14 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'empty_line'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'c',
+                      'contents' => [
                         {
                           'text' => ' comment at end
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'c'
+                      ]
                     }
                   ],
                   'type' => 'table_definition'
@@ -2193,7 +2193,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2209,7 +2210,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'ftable'
               },
@@ -2273,7 +2273,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'cindex',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -2289,7 +2290,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'cindex',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -2310,17 +2310,18 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'index_entry_command'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'c',
+                      'contents' => [
                         {
                           'text' => ' comment in table
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'c'
+                      ]
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -2336,7 +2337,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -2368,7 +2368,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2384,7 +2385,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -2446,7 +2446,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -2462,7 +2463,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -2499,7 +2499,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -2515,7 +2516,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -2533,7 +2533,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2549,7 +2550,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -2613,7 +2613,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'cindex',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -2629,7 +2630,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'cindex',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -2650,17 +2650,18 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'index_entry_command'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'c',
+                      'contents' => [
                         {
                           'text' => ' samp comment in table
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'c'
+                      ]
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -2676,7 +2677,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -2708,7 +2708,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2724,7 +2725,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -2786,7 +2786,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -2802,7 +2803,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -2839,7 +2839,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -2855,7 +2856,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -2873,7 +2873,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2889,7 +2890,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -2956,7 +2956,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'empty_line'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -2972,7 +2973,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -3005,7 +3005,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -3021,7 +3022,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -3039,7 +3039,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3055,7 +3056,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -3117,7 +3117,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -3133,7 +3134,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -3166,7 +3166,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -3182,7 +3183,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -3200,7 +3200,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3216,7 +3217,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -3290,7 +3290,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'cindex',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -3306,7 +3307,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'cindex',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -3327,7 +3327,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'index_entry_command'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -3343,7 +3344,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -3361,7 +3361,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3377,7 +3378,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -3441,7 +3441,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'cindex',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -3457,7 +3458,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'cindex',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -3478,17 +3478,18 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'index_entry_command'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'c',
+                      'contents' => [
                         {
                           'text' => ' commant
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'c'
+                      ]
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'cindex',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -3504,7 +3505,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'cindex',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -3525,7 +3525,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'index_entry_command'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'cindex',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -3541,7 +3542,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'cindex',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -3562,7 +3562,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                       'type' => 'index_entry_command'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -3578,7 +3579,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -3596,7 +3596,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3612,7 +3613,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -3725,7 +3725,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -3741,7 +3742,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'cp'
@@ -3763,7 +3763,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -3779,7 +3780,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'vr'
@@ -3801,7 +3801,8 @@ $result_trees{'indices_in_begin_tables_lists'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -3817,7 +3818,6 @@ $result_trees{'indices_in_begin_tables_lists'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'fn'
@@ -3853,14 +3853,14 @@ $result_trees{'indices_in_begin_tables_lists'} = {
       }
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git 
a/tp/t/results/converters_tests/indices_in_begin_tables_lists_entries_after_item.pl
 
b/tp/t/results/converters_tests/indices_in_begin_tables_lists_entries_after_item.pl
index e3d6bbffb2..2bca00fe5f 100644
--- 
a/tp/t/results/converters_tests/indices_in_begin_tables_lists_entries_after_item.pl
+++ 
b/tp/t/results/converters_tests/indices_in_begin_tables_lists_entries_after_item.pl
@@ -199,14 +199,14 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'c',
+                  'contents' => [
                     {
                       'text' => ' comment in itemize
 ',
                       'type' => 'rawline_arg'
                     }
-                  ],
-                  'cmdname' => 'c'
+                  ]
                 }
               ],
               'type' => 'before_item'
@@ -220,7 +220,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'ignorable_spaces_after_command'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -236,7 +237,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -275,7 +275,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -291,7 +292,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize'
               },
@@ -362,7 +362,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'ignorable_spaces_after_command'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -378,7 +379,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -424,7 +424,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'ignorable_spaces_after_command'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -446,7 +447,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -485,7 +485,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -501,7 +502,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize'
               },
@@ -562,14 +562,14 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'c',
+                  'contents' => [
                     {
                       'text' => ' comment in itemize
 ',
                       'type' => 'rawline_arg'
                     }
-                  ],
-                  'cmdname' => 'c'
+                  ]
                 },
                 {
                   'contents' => [
@@ -592,7 +592,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'ignorable_spaces_after_command'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -608,7 +609,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -647,7 +647,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -663,7 +664,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize'
               },
@@ -716,14 +716,14 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'empty_line'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'comment',
+                  'contents' => [
                     {
                       'text' => ' comment before first item in enumerate
 ',
                       'type' => 'rawline_arg'
                     }
-                  ],
-                  'cmdname' => 'comment'
+                  ]
                 }
               ],
               'type' => 'before_item'
@@ -754,7 +754,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -770,7 +771,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'enumerate'
               },
@@ -823,7 +823,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'empty_line'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -839,7 +840,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -893,7 +893,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -909,7 +910,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'enumerate'
               },
@@ -973,7 +973,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'ignorable_spaces_after_command'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -989,7 +990,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -1028,7 +1028,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1044,7 +1045,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'enumerate'
               },
@@ -1092,7 +1092,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -1108,7 +1109,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -1162,7 +1162,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1178,7 +1179,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'enumerate'
               },
@@ -1246,7 +1246,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'ignorable_spaces_after_command'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -1262,7 +1263,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -1301,7 +1301,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1317,7 +1318,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'enumerate'
               },
@@ -1374,7 +1374,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'ignorable_spaces_after_command'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -1390,7 +1391,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -1411,17 +1411,18 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'index_entry_command'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'comment',
+                  'contents' => [
                     {
                       'text' => ' comment
 ',
                       'type' => 'rawline_arg'
                     }
-                  ],
-                  'cmdname' => 'comment'
+                  ]
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -1437,7 +1438,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -1458,7 +1458,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'index_entry_command'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -1474,7 +1475,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -1513,7 +1513,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1529,7 +1530,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'enumerate'
               },
@@ -1588,17 +1588,18 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'c',
+                      'contents' => [
                         {
                           'text' => ' comment in table
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'c'
+                      ]
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -1614,7 +1615,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -1653,7 +1653,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1669,7 +1670,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'vtable'
               },
@@ -1733,7 +1733,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -1749,7 +1750,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -1770,20 +1770,21 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                     {
                       'contents' => [
                         {
-                          'args' => [
+                          'cmdname' => 'c',
+                          'contents' => [
                             {
                               'text' => ' comment between item and itemx
 ',
                               'type' => 'rawline_arg'
                             }
-                          ],
-                          'cmdname' => 'c'
+                          ]
                         }
                       ],
                       'type' => 'inter_item'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'itemx',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -1799,7 +1800,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'itemx',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -1838,7 +1838,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1854,7 +1855,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'vtable'
               },
@@ -1918,7 +1918,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -1934,7 +1935,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -1955,7 +1955,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                     {
                       'contents' => [
                         {
-                          'args' => [
+                          'cmdname' => 'cindex',
+                          'contents' => [
                             {
                               'contents' => [
                                 {
@@ -1971,7 +1972,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                               'type' => 'line_arg'
                             }
                           ],
-                          'cmdname' => 'cindex',
                           'extra' => {
                             'element_node' => {},
                             'index_entry' => [
@@ -1992,30 +1992,31 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'index_entry_command'
                         },
                         {
-                          'args' => [
+                          'cmdname' => 'c',
+                          'contents' => [
                             {
                               'text' => ' and a comment
 ',
                               'type' => 'rawline_arg'
                             }
-                          ],
-                          'cmdname' => 'c'
+                          ]
                         },
                         {
-                          'args' => [
+                          'cmdname' => 'comment',
+                          'contents' => [
                             {
                               'text' => ' and another comment
 ',
                               'type' => 'rawline_arg'
                             }
-                          ],
-                          'cmdname' => 'comment'
+                          ]
                         }
                       ],
                       'type' => 'inter_item'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'itemx',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -2031,7 +2032,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'itemx',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -2074,7 +2074,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -2090,7 +2091,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -2116,14 +2116,14 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'empty_line'
                         },
                         {
-                          'args' => [
+                          'cmdname' => 'c',
+                          'contents' => [
                             {
                               'text' => ' comment between lines
 ',
                               'type' => 'rawline_arg'
                             }
-                          ],
-                          'cmdname' => 'c'
+                          ]
                         },
                         {
                           'text' => '
@@ -2134,7 +2134,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'inter_item'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'itemx',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -2150,7 +2151,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'itemx',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -2179,14 +2179,14 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'empty_line'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'c',
+                      'contents' => [
                         {
                           'text' => ' comment at end
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'c'
+                      ]
                     }
                   ],
                   'type' => 'table_definition'
@@ -2195,7 +2195,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2211,7 +2212,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'ftable'
               },
@@ -2275,7 +2275,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'cindex',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -2291,7 +2292,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'cindex',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -2312,17 +2312,18 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'index_entry_command'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'c',
+                      'contents' => [
                         {
                           'text' => ' comment in table
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'c'
+                      ]
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -2338,7 +2339,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -2370,7 +2370,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2386,7 +2387,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -2448,7 +2448,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -2464,7 +2465,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -2501,7 +2501,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -2517,7 +2518,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -2535,7 +2535,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2551,7 +2552,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -2615,7 +2615,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'cindex',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -2631,7 +2632,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'cindex',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -2652,17 +2652,18 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'index_entry_command'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'c',
+                      'contents' => [
                         {
                           'text' => ' samp comment in table
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'c'
+                      ]
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -2678,7 +2679,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -2710,7 +2710,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2726,7 +2727,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -2788,7 +2788,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -2804,7 +2805,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -2841,7 +2841,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -2857,7 +2858,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -2875,7 +2875,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2891,7 +2892,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -2958,7 +2958,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'empty_line'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -2974,7 +2975,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -3007,7 +3007,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -3023,7 +3024,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -3041,7 +3041,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3057,7 +3058,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -3119,7 +3119,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -3135,7 +3136,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'element_node' => {},
                     'index_entry' => [
@@ -3168,7 +3168,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -3184,7 +3185,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -3202,7 +3202,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3218,7 +3219,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -3292,7 +3292,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'cindex',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -3308,7 +3309,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'cindex',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -3329,7 +3329,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'index_entry_command'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -3345,7 +3346,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -3363,7 +3363,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3379,7 +3380,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -3443,7 +3443,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'cindex',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -3459,7 +3460,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'cindex',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -3480,17 +3480,18 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'index_entry_command'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'c',
+                      'contents' => [
                         {
                           'text' => ' commant
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'c'
+                      ]
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'cindex',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -3506,7 +3507,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'cindex',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -3527,7 +3527,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'index_entry_command'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'cindex',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -3543,7 +3544,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'cindex',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -3564,7 +3564,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                       'type' => 'index_entry_command'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -3580,7 +3581,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -3598,7 +3598,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3614,7 +3615,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -3727,7 +3727,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -3743,7 +3744,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'cp'
@@ -3765,7 +3765,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -3781,7 +3782,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'vr'
@@ -3803,7 +3803,8 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -3819,7 +3820,6 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'fn'
@@ -3855,14 +3855,14 @@ 
$result_trees{'indices_in_begin_tables_lists_entries_after_item'} = {
       }
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git a/tp/t/results/converters_tests/inlineifsetifclear.pl 
b/tp/t/results/converters_tests/inlineifsetifclear.pl
index 4582e4bfef..9fed936d33 100644
--- a/tp/t/results/converters_tests/inlineifsetifclear.pl
+++ b/tp/t/results/converters_tests/inlineifsetifclear.pl
@@ -99,7 +99,8 @@ $result_trees{'inlineifsetifclear'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'set',
+          'contents' => [
             {
               'text' => 'aaa',
               'type' => 'rawline_arg'
@@ -109,7 +110,6 @@ $result_trees{'inlineifsetifclear'} = {
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'set',
           'info' => {
             'arg_line' => ' aaa
 '
diff --git a/tp/t/results/converters_tests/inlineifsetifclearspaces.pl 
b/tp/t/results/converters_tests/inlineifsetifclearspaces.pl
index 3d3ad8e074..583a012457 100644
--- a/tp/t/results/converters_tests/inlineifsetifclearspaces.pl
+++ b/tp/t/results/converters_tests/inlineifsetifclearspaces.pl
@@ -127,7 +127,8 @@ $result_trees{'inlineifsetifclearspaces'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'set',
+          'contents' => [
             {
               'text' => 'aaa',
               'type' => 'rawline_arg'
@@ -137,7 +138,6 @@ $result_trees{'inlineifsetifclearspaces'} = {
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'set',
           'info' => {
             'arg_line' => ' aaa
 '
diff --git a/tp/t/results/converters_tests/line_breaks.pl 
b/tp/t/results/converters_tests/line_breaks.pl
index 54c0acb56d..a991003185 100644
--- a/tp/t/results/converters_tests/line_breaks.pl
+++ b/tp/t/results/converters_tests/line_breaks.pl
@@ -42,7 +42,8 @@ $result_trees{'line_breaks'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -58,7 +59,6 @@ $result_trees{'line_breaks'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'documentdescription'
               },
@@ -82,7 +82,8 @@ $result_trees{'line_breaks'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'settitle',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -104,7 +105,6 @@ $result_trees{'line_breaks'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'settitle',
           'info' => {
             'spaces_before_argument' => {
               'text' => ' '
@@ -115,7 +115,8 @@ $result_trees{'line_breaks'} = {
           }
         },
         {
-          'args' => [
+          'cmdname' => 'title',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -137,7 +138,6 @@ $result_trees{'line_breaks'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'title',
           'info' => {
             'spaces_before_argument' => {
               'text' => ' '
@@ -153,7 +153,8 @@ $result_trees{'line_breaks'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'center',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -175,7 +176,6 @@ $result_trees{'line_breaks'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'center',
           'info' => {
             'spaces_before_argument' => {
               'text' => ' '
@@ -220,7 +220,8 @@ $result_trees{'line_breaks'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -242,7 +243,6 @@ $result_trees{'line_breaks'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -253,7 +253,8 @@ $result_trees{'line_breaks'} = {
                       }
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'itemx',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -275,7 +276,6 @@ $result_trees{'line_breaks'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'itemx',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -306,7 +306,8 @@ $result_trees{'line_breaks'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -322,7 +323,6 @@ $result_trees{'line_breaks'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -391,7 +391,8 @@ $result_trees{'line_breaks'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -407,7 +408,6 @@ $result_trees{'line_breaks'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
diff --git a/tp/t/results/converters_tests/link.pl 
b/tp/t/results/converters_tests/link.pl
index 6d9e6d16f0..45c322d2db 100644
--- a/tp/t/results/converters_tests/link.pl
+++ b/tp/t/results/converters_tests/link.pl
@@ -134,7 +134,8 @@ $result_trees{'link'} = {
 '
             },
             {
-              'args' => [
+              'cmdname' => 'xrefautomaticsectiontitle',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -150,7 +151,6 @@ $result_trees{'link'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'xrefautomaticsectiontitle',
               'extra' => {
                 'misc_args' => [
                   'off'
@@ -269,7 +269,8 @@ $result_trees{'link'} = {
 '
             },
             {
-              'args' => [
+              'cmdname' => 'xrefautomaticsectiontitle',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -285,7 +286,6 @@ $result_trees{'link'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'xrefautomaticsectiontitle',
               'extra' => {
                 'misc_args' => [
                   'on'
diff --git a/tp/t/results/converters_tests/minimal_empty_with_bye.pl 
b/tp/t/results/converters_tests/minimal_empty_with_bye.pl
index 50a448b5e9..62d8569b6d 100644
--- a/tp/t/results/converters_tests/minimal_empty_with_bye.pl
+++ b/tp/t/results/converters_tests/minimal_empty_with_bye.pl
@@ -31,14 +31,14 @@ $result_trees{'minimal_empty_with_bye'} = {
       'type' => 'before_node_section'
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git a/tp/t/results/converters_tests/multitable_prototypes.pl 
b/tp/t/results/converters_tests/multitable_prototypes.pl
index 5a84d8ca31..f599954895 100644
--- a/tp/t/results/converters_tests/multitable_prototypes.pl
+++ b/tp/t/results/converters_tests/multitable_prototypes.pl
@@ -231,7 +231,8 @@ $result_trees{'multitable_prototypes'} = {
               'type' => 'multitable_body'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -247,7 +248,6 @@ $result_trees{'multitable_prototypes'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'multitable'
               },
diff --git a/tp/t/results/converters_tests/non_empty_part.pl 
b/tp/t/results/converters_tests/non_empty_part.pl
index dceeaf9ced..5c3cb8e820 100644
--- a/tp/t/results/converters_tests/non_empty_part.pl
+++ b/tp/t/results/converters_tests/non_empty_part.pl
@@ -235,7 +235,8 @@ $result_trees{'non_empty_part'} = {
               'type' => 'menu_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -251,7 +252,6 @@ $result_trees{'non_empty_part'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'menu'
               },
diff --git a/tp/t/results/converters_tests/non_empty_part_no_top_node_output.pl 
b/tp/t/results/converters_tests/non_empty_part_no_top_node_output.pl
index c9be839cc0..c5cee4647f 100644
--- a/tp/t/results/converters_tests/non_empty_part_no_top_node_output.pl
+++ b/tp/t/results/converters_tests/non_empty_part_no_top_node_output.pl
@@ -235,7 +235,8 @@ $result_trees{'non_empty_part_no_top_node_output'} = {
               'type' => 'menu_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -251,7 +252,6 @@ $result_trees{'non_empty_part_no_top_node_output'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'menu'
               },
diff --git a/tp/t/results/converters_tests/normal_font_in_monospace.pl 
b/tp/t/results/converters_tests/normal_font_in_monospace.pl
index 88cf5625ae..66d1128e9c 100644
--- a/tp/t/results/converters_tests/normal_font_in_monospace.pl
+++ b/tp/t/results/converters_tests/normal_font_in_monospace.pl
@@ -71,7 +71,8 @@ $result_trees{'normal_font_in_monospace'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -87,7 +88,6 @@ $result_trees{'normal_font_in_monospace'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
diff --git 
a/tp/t/results/converters_tests/printindex_merged_indices_code_style.pl 
b/tp/t/results/converters_tests/printindex_merged_indices_code_style.pl
index f869b3115a..f4261ac14b 100644
--- a/tp/t/results/converters_tests/printindex_merged_indices_code_style.pl
+++ b/tp/t/results/converters_tests/printindex_merged_indices_code_style.pl
@@ -154,7 +154,8 @@ $result_trees{'printindex_merged_indices_code_style'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'synindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -170,7 +171,6 @@ $result_trees{'printindex_merged_indices_code_style'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'synindex',
           'extra' => {
             'misc_args' => [
               'cp',
@@ -192,7 +192,8 @@ $result_trees{'printindex_merged_indices_code_style'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'synindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -208,7 +209,6 @@ $result_trees{'printindex_merged_indices_code_style'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'synindex',
           'extra' => {
             'misc_args' => [
               'vr',
@@ -230,7 +230,8 @@ $result_trees{'printindex_merged_indices_code_style'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'cindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -246,7 +247,6 @@ $result_trees{'printindex_merged_indices_code_style'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'cindex',
           'extra' => {
             'element_node' => {},
             'index_entry' => [
@@ -271,7 +271,8 @@ $result_trees{'printindex_merged_indices_code_style'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'vindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -287,7 +288,6 @@ $result_trees{'printindex_merged_indices_code_style'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'vindex',
           'extra' => {
             'element_node' => {},
             'index_entry' => [
@@ -312,7 +312,8 @@ $result_trees{'printindex_merged_indices_code_style'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'findex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -328,7 +329,6 @@ $result_trees{'printindex_merged_indices_code_style'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'findex',
           'extra' => {
             'element_node' => {},
             'index_entry' => [
@@ -353,7 +353,8 @@ $result_trees{'printindex_merged_indices_code_style'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'defcodeindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -369,7 +370,6 @@ $result_trees{'printindex_merged_indices_code_style'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'defcodeindex',
           'extra' => {
             'misc_args' => [
               'cdi'
@@ -390,7 +390,8 @@ $result_trees{'printindex_merged_indices_code_style'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'synindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -406,7 +407,6 @@ $result_trees{'printindex_merged_indices_code_style'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'synindex',
           'extra' => {
             'misc_args' => [
               'cdi',
@@ -428,7 +428,8 @@ $result_trees{'printindex_merged_indices_code_style'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'cdiindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -444,7 +445,6 @@ $result_trees{'printindex_merged_indices_code_style'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'cdiindex',
           'extra' => {
             'element_node' => {},
             'index_entry' => [
@@ -469,7 +469,8 @@ $result_trees{'printindex_merged_indices_code_style'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'defindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -485,7 +486,6 @@ $result_trees{'printindex_merged_indices_code_style'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'defindex',
           'extra' => {
             'misc_args' => [
               'ddi'
@@ -506,7 +506,8 @@ $result_trees{'printindex_merged_indices_code_style'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'syncodeindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -522,7 +523,6 @@ $result_trees{'printindex_merged_indices_code_style'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'syncodeindex',
           'extra' => {
             'misc_args' => [
               'ddi',
@@ -544,7 +544,8 @@ $result_trees{'printindex_merged_indices_code_style'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'ddiindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -560,7 +561,6 @@ $result_trees{'printindex_merged_indices_code_style'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'ddiindex',
           'extra' => {
             'element_node' => {},
             'index_entry' => [
@@ -585,7 +585,8 @@ $result_trees{'printindex_merged_indices_code_style'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -601,7 +602,6 @@ $result_trees{'printindex_merged_indices_code_style'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'fn'
diff --git a/tp/t/results/converters_tests/raw_block_commands.pl 
b/tp/t/results/converters_tests/raw_block_commands.pl
index 1da450ea26..f8d2b22344 100644
--- a/tp/t/results/converters_tests/raw_block_commands.pl
+++ b/tp/t/results/converters_tests/raw_block_commands.pl
@@ -41,7 +41,8 @@ $result_trees{'raw_block_commands'} = {
               'type' => 'rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -57,7 +58,6 @@ $result_trees{'raw_block_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'html'
               },
@@ -107,7 +107,8 @@ $result_trees{'raw_block_commands'} = {
               'type' => 'rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -123,7 +124,6 @@ $result_trees{'raw_block_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'xml'
               },
@@ -173,7 +173,8 @@ $result_trees{'raw_block_commands'} = {
               'type' => 'rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -189,7 +190,6 @@ $result_trees{'raw_block_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'docbook'
               },
@@ -269,7 +269,8 @@ $result_trees{'raw_block_commands'} = {
               'type' => 'rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -285,7 +286,6 @@ $result_trees{'raw_block_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'tex'
               },
@@ -365,7 +365,8 @@ $result_trees{'raw_block_commands'} = {
               'type' => 'rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -381,7 +382,6 @@ $result_trees{'raw_block_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'latex'
               },
diff --git a/tp/t/results/converters_tests/raw_block_commands_expand_tex.pl 
b/tp/t/results/converters_tests/raw_block_commands_expand_tex.pl
index 50a8e76113..b555591995 100644
--- a/tp/t/results/converters_tests/raw_block_commands_expand_tex.pl
+++ b/tp/t/results/converters_tests/raw_block_commands_expand_tex.pl
@@ -41,7 +41,8 @@ $result_trees{'raw_block_commands_expand_tex'} = {
               'type' => 'rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -57,7 +58,6 @@ $result_trees{'raw_block_commands_expand_tex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'html'
               },
@@ -107,7 +107,8 @@ $result_trees{'raw_block_commands_expand_tex'} = {
               'type' => 'rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -123,7 +124,6 @@ $result_trees{'raw_block_commands_expand_tex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'xml'
               },
@@ -173,7 +173,8 @@ $result_trees{'raw_block_commands_expand_tex'} = {
               'type' => 'rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -189,7 +190,6 @@ $result_trees{'raw_block_commands_expand_tex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'docbook'
               },
@@ -269,7 +269,8 @@ $result_trees{'raw_block_commands_expand_tex'} = {
               'type' => 'rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -285,7 +286,6 @@ $result_trees{'raw_block_commands_expand_tex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'tex'
               },
@@ -365,7 +365,8 @@ $result_trees{'raw_block_commands_expand_tex'} = {
               'type' => 'rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -381,7 +382,6 @@ $result_trees{'raw_block_commands_expand_tex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'latex'
               },
diff --git a/tp/t/results/converters_tests/ref_in_sectioning.pl 
b/tp/t/results/converters_tests/ref_in_sectioning.pl
index 3029211a97..7d4a5833f8 100644
--- a/tp/t/results/converters_tests/ref_in_sectioning.pl
+++ b/tp/t/results/converters_tests/ref_in_sectioning.pl
@@ -10,14 +10,14 @@ $result_trees{'ref_in_sectioning'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'contents',
+          'contents' => [
             {
               'text' => '
 ',
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'contents',
           'extra' => {},
           'source_info' => {
             'line_nr' => 1
@@ -316,7 +316,8 @@ $result_trees{'ref_in_sectioning'} = {
               'type' => 'menu_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -332,7 +333,6 @@ $result_trees{'ref_in_sectioning'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'menu'
               },
diff --git a/tp/t/results/converters_tests/references_to_top_no_top_output.pl 
b/tp/t/results/converters_tests/references_to_top_no_top_output.pl
index 53e7f24674..b44fab1c48 100644
--- a/tp/t/results/converters_tests/references_to_top_no_top_output.pl
+++ b/tp/t/results/converters_tests/references_to_top_no_top_output.pl
@@ -27,7 +27,8 @@ $result_trees{'references_to_top_no_top_output'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'setfilename',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -43,7 +44,6 @@ $result_trees{'references_to_top_no_top_output'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'setfilename',
               'extra' => {
                 'text_arg' => 'references_to_top_no_top_output.info'
               },
@@ -116,7 +116,8 @@ $result_trees{'references_to_top_no_top_output'} = {
                   'type' => 'paragraph'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -132,7 +133,6 @@ $result_trees{'references_to_top_no_top_output'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'copying'
                   },
@@ -362,14 +362,14 @@ $result_trees{'references_to_top_no_top_output'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'insertcopying',
+          'contents' => [
             {
               'text' => '
 ',
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'insertcopying',
           'extra' => {},
           'source_info' => {
             'line_nr' => 20
@@ -496,7 +496,8 @@ $result_trees{'references_to_top_no_top_output'} = {
               'type' => 'spaces_after_close_brace'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -512,7 +513,6 @@ $result_trees{'references_to_top_no_top_output'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'float'
               },
@@ -548,7 +548,8 @@ $result_trees{'references_to_top_no_top_output'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'cindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -564,7 +565,6 @@ $result_trees{'references_to_top_no_top_output'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'cindex',
           'extra' => {
             'element_node' => {},
             'index_entry' => [
@@ -856,7 +856,8 @@ $result_trees{'references_to_top_no_top_output'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'cindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -872,7 +873,6 @@ $result_trees{'references_to_top_no_top_output'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'cindex',
           'extra' => {
             'element_node' => {},
             'index_entry' => [
@@ -897,7 +897,8 @@ $result_trees{'references_to_top_no_top_output'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -913,7 +914,6 @@ $result_trees{'references_to_top_no_top_output'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'cp'
@@ -1005,7 +1005,8 @@ $result_trees{'references_to_top_no_top_output'} = {
               'type' => 'spaces_after_close_brace'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1021,7 +1022,6 @@ $result_trees{'references_to_top_no_top_output'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'float'
               },
@@ -1057,7 +1057,8 @@ $result_trees{'references_to_top_no_top_output'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'listoffloats',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -1073,7 +1074,6 @@ $result_trees{'references_to_top_no_top_output'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'listoffloats',
           'extra' => {
             'float_type' => 'list'
           },
diff --git a/tp/t/results/converters_tests/sections_and_printindex.pl 
b/tp/t/results/converters_tests/sections_and_printindex.pl
index b31070d425..88645c18f7 100644
--- a/tp/t/results/converters_tests/sections_and_printindex.pl
+++ b/tp/t/results/converters_tests/sections_and_printindex.pl
@@ -148,7 +148,8 @@ $result_trees{'sections_and_printindex'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'cindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -164,7 +165,6 @@ $result_trees{'sections_and_printindex'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'cindex',
           'extra' => {
             'element_node' => {},
             'index_entry' => [
@@ -261,7 +261,8 @@ $result_trees{'sections_and_printindex'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'cindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -277,7 +278,6 @@ $result_trees{'sections_and_printindex'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'cindex',
           'extra' => {
             'element_node' => {},
             'index_entry' => [
@@ -337,7 +337,8 @@ $result_trees{'sections_and_printindex'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -353,7 +354,6 @@ $result_trees{'sections_and_printindex'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'cp'
diff --git a/tp/t/results/converters_tests/setfilename_no_extension.pl 
b/tp/t/results/converters_tests/setfilename_no_extension.pl
index f323e9d209..2b54f53ca6 100644
--- a/tp/t/results/converters_tests/setfilename_no_extension.pl
+++ b/tp/t/results/converters_tests/setfilename_no_extension.pl
@@ -12,7 +12,8 @@ $result_trees{'setfilename_no_extension'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'setfilename',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -28,7 +29,6 @@ $result_trees{'setfilename_no_extension'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'setfilename',
               'extra' => {
                 'text_arg' => 'setfilename_no_extension'
               },
diff --git a/tp/t/results/converters_tests/simplest_no_node_section.pl 
b/tp/t/results/converters_tests/simplest_no_node_section.pl
index 5aa2b18142..f6e8112717 100644
--- a/tp/t/results/converters_tests/simplest_no_node_section.pl
+++ b/tp/t/results/converters_tests/simplest_no_node_section.pl
@@ -32,7 +32,8 @@ $result_trees{'simplest_no_node_section'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'setfilename',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -48,7 +49,6 @@ $result_trees{'simplest_no_node_section'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'setfilename',
               'extra' => {
                 'text_arg' => 'simplest_no_node_section.info'
               },
@@ -94,14 +94,14 @@ $result_trees{'simplest_no_node_section'} = {
       'type' => 'before_node_section'
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git a/tp/t/results/converters_tests/simplest_test_prefix.pl 
b/tp/t/results/converters_tests/simplest_test_prefix.pl
index ca4b97d7df..a53c1afd5d 100644
--- a/tp/t/results/converters_tests/simplest_test_prefix.pl
+++ b/tp/t/results/converters_tests/simplest_test_prefix.pl
@@ -93,14 +93,14 @@ $result_trees{'simplest_test_prefix'} = {
       }
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git a/tp/t/results/converters_tests/some_at_commands_in_ref_nodes.pl 
b/tp/t/results/converters_tests/some_at_commands_in_ref_nodes.pl
index df88a4b27a..425e763885 100644
--- a/tp/t/results/converters_tests/some_at_commands_in_ref_nodes.pl
+++ b/tp/t/results/converters_tests/some_at_commands_in_ref_nodes.pl
@@ -360,7 +360,8 @@ $result_trees{'some_at_commands_in_ref_nodes'} = {
               'type' => 'menu_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -376,7 +377,6 @@ $result_trees{'some_at_commands_in_ref_nodes'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'menu'
               },
diff --git a/tp/t/results/converters_tests/sp_empty_lines_1_no_arg_zero.pl 
b/tp/t/results/converters_tests/sp_empty_lines_1_no_arg_zero.pl
index 699b4bfd5a..7c72e61f6e 100644
--- a/tp/t/results/converters_tests/sp_empty_lines_1_no_arg_zero.pl
+++ b/tp/t/results/converters_tests/sp_empty_lines_1_no_arg_zero.pl
@@ -33,7 +33,8 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
           'type' => 'paragraph'
         },
         {
-          'args' => [
+          'cmdname' => 'sp',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -49,7 +50,6 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'sp',
           'extra' => {
             'misc_args' => [
               '1'
@@ -79,7 +79,8 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'sp',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -95,7 +96,6 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'sp',
           'extra' => {
             'misc_args' => [
               '1'
@@ -125,7 +125,8 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'sp',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -141,7 +142,6 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'sp',
           'extra' => {
             'misc_args' => [
               '1'
@@ -171,7 +171,8 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'sp',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -187,7 +188,6 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'sp',
           'extra' => {
             'misc_args' => [
               '1'
@@ -217,7 +217,8 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
           'type' => 'paragraph'
         },
         {
-          'args' => [
+          'cmdname' => 'sp',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -233,7 +234,6 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'sp',
           'extra' => {
             'misc_args' => [
               '0'
@@ -263,7 +263,8 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'sp',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -279,7 +280,6 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'sp',
           'extra' => {
             'misc_args' => [
               '0'
@@ -309,7 +309,8 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'sp',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -325,7 +326,6 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'sp',
           'extra' => {
             'misc_args' => [
               '0'
@@ -355,7 +355,8 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'sp',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -371,7 +372,6 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'sp',
           'extra' => {
             'misc_args' => [
               '0'
@@ -401,7 +401,8 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
           'type' => 'paragraph'
         },
         {
-          'args' => [
+          'cmdname' => 'sp',
+          'contents' => [
             {
               'info' => {
                 'spaces_after_argument' => {
@@ -412,7 +413,6 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'sp',
           'source_info' => {
             'line_nr' => 28
           }
@@ -432,7 +432,8 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'sp',
+          'contents' => [
             {
               'info' => {
                 'spaces_after_argument' => {
@@ -443,7 +444,6 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'sp',
           'source_info' => {
             'line_nr' => 31
           }
@@ -463,7 +463,8 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'sp',
+          'contents' => [
             {
               'info' => {
                 'spaces_after_argument' => {
@@ -474,7 +475,6 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'sp',
           'source_info' => {
             'line_nr' => 34
           }
@@ -494,7 +494,8 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'sp',
+          'contents' => [
             {
               'info' => {
                 'spaces_after_argument' => {
@@ -505,7 +506,6 @@ $result_trees{'sp_empty_lines_1_no_arg_zero'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'sp',
           'source_info' => {
             'line_nr' => 37
           }
diff --git a/tp/t/results/converters_tests/sp_in_example.pl 
b/tp/t/results/converters_tests/sp_in_example.pl
index cf2aa1c362..572efe9cd2 100644
--- a/tp/t/results/converters_tests/sp_in_example.pl
+++ b/tp/t/results/converters_tests/sp_in_example.pl
@@ -33,7 +33,8 @@ $result_trees{'sp_in_example'} = {
 '
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'sp',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -49,7 +50,6 @@ $result_trees{'sp_in_example'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'sp',
                   'extra' => {
                     'misc_args' => [
                       '1'
@@ -84,7 +84,8 @@ $result_trees{'sp_in_example'} = {
                   'type' => 'empty_line'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'sp',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -100,7 +101,6 @@ $result_trees{'sp_in_example'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'sp',
                   'extra' => {
                     'misc_args' => [
                       '1'
@@ -121,7 +121,8 @@ $result_trees{'sp_in_example'} = {
                   'type' => 'empty_line'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'sp',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -137,7 +138,6 @@ $result_trees{'sp_in_example'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'sp',
                   'extra' => {
                     'misc_args' => [
                       '2'
@@ -166,7 +166,8 @@ $result_trees{'sp_in_example'} = {
 '
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'sp',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -182,7 +183,6 @@ $result_trees{'sp_in_example'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'sp',
                   'extra' => {
                     'misc_args' => [
                       '2'
@@ -211,7 +211,8 @@ $result_trees{'sp_in_example'} = {
 '
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'sp',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -227,7 +228,6 @@ $result_trees{'sp_in_example'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'sp',
                   'extra' => {
                     'misc_args' => [
                       '1'
@@ -246,7 +246,8 @@ $result_trees{'sp_in_example'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -262,7 +263,6 @@ $result_trees{'sp_in_example'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
diff --git a/tp/t/results/converters_tests/spaces_in_empty_node_names.pl 
b/tp/t/results/converters_tests/spaces_in_empty_node_names.pl
index eb8b923afe..3fa4fbf8f5 100644
--- a/tp/t/results/converters_tests/spaces_in_empty_node_names.pl
+++ b/tp/t/results/converters_tests/spaces_in_empty_node_names.pl
@@ -214,7 +214,8 @@ $result_trees{'spaces_in_empty_node_names'} = {
               'type' => 'menu_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -230,7 +231,6 @@ $result_trees{'spaces_in_empty_node_names'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'menu'
               },
diff --git a/tp/t/results/converters_tests/spaces_in_node_names.pl 
b/tp/t/results/converters_tests/spaces_in_node_names.pl
index 09a5a894f7..2883682972 100644
--- a/tp/t/results/converters_tests/spaces_in_node_names.pl
+++ b/tp/t/results/converters_tests/spaces_in_node_names.pl
@@ -226,7 +226,8 @@ $result_trees{'spaces_in_node_names'} = {
               'type' => 'menu_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -242,7 +243,6 @@ $result_trees{'spaces_in_node_names'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'menu'
               },
diff --git a/tp/t/results/converters_tests/table_in_display_in_example.pl 
b/tp/t/results/converters_tests/table_in_display_in_example.pl
index 52b6f731fc..480fad3544 100644
--- a/tp/t/results/converters_tests/table_in_display_in_example.pl
+++ b/tp/t/results/converters_tests/table_in_display_in_example.pl
@@ -73,7 +73,8 @@ $result_trees{'table_in_display_in_example'} = {
                         {
                           'contents' => [
                             {
-                              'args' => [
+                              'cmdname' => 'item',
+                              'contents' => [
                                 {
                                   'contents' => [
                                     {
@@ -89,7 +90,6 @@ $result_trees{'table_in_display_in_example'} = {
                                   'type' => 'line_arg'
                                 }
                               ],
-                              'cmdname' => 'item',
                               'info' => {
                                 'spaces_before_argument' => {
                                   'text' => ' '
@@ -120,7 +120,8 @@ $result_trees{'table_in_display_in_example'} = {
                       'type' => 'table_entry'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'end',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -136,7 +137,6 @@ $result_trees{'table_in_display_in_example'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'end',
                       'extra' => {
                         'text_arg' => 'table'
                       },
@@ -163,7 +163,8 @@ $result_trees{'table_in_display_in_example'} = {
                   }
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -179,7 +180,6 @@ $result_trees{'table_in_display_in_example'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'display'
                   },
@@ -198,7 +198,8 @@ $result_trees{'table_in_display_in_example'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -214,7 +215,6 @@ $result_trees{'table_in_display_in_example'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
diff --git a/tp/t/results/converters_tests/table_in_example_in_display.pl 
b/tp/t/results/converters_tests/table_in_example_in_display.pl
index 4a8fc95b78..3eca92866f 100644
--- a/tp/t/results/converters_tests/table_in_example_in_display.pl
+++ b/tp/t/results/converters_tests/table_in_example_in_display.pl
@@ -73,7 +73,8 @@ $result_trees{'table_in_example_in_display'} = {
                         {
                           'contents' => [
                             {
-                              'args' => [
+                              'cmdname' => 'item',
+                              'contents' => [
                                 {
                                   'contents' => [
                                     {
@@ -89,7 +90,6 @@ $result_trees{'table_in_example_in_display'} = {
                                   'type' => 'line_arg'
                                 }
                               ],
-                              'cmdname' => 'item',
                               'info' => {
                                 'spaces_before_argument' => {
                                   'text' => ' '
@@ -120,7 +120,8 @@ $result_trees{'table_in_example_in_display'} = {
                       'type' => 'table_entry'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'end',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -136,7 +137,6 @@ $result_trees{'table_in_example_in_display'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'end',
                       'extra' => {
                         'text_arg' => 'table'
                       },
@@ -163,7 +163,8 @@ $result_trees{'table_in_example_in_display'} = {
                   }
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -179,7 +180,6 @@ $result_trees{'table_in_example_in_display'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'example'
                   },
@@ -198,7 +198,8 @@ $result_trees{'table_in_example_in_display'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -214,7 +215,6 @@ $result_trees{'table_in_example_in_display'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'display'
               },
diff --git a/tp/t/results/converters_tests/test_deftypefnnewline.pl 
b/tp/t/results/converters_tests/test_deftypefnnewline.pl
index 34eabbbd9b..57d519fbcf 100644
--- a/tp/t/results/converters_tests/test_deftypefnnewline.pl
+++ b/tp/t/results/converters_tests/test_deftypefnnewline.pl
@@ -10,7 +10,8 @@ $result_trees{'test_deftypefnnewline'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'setfilename',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -26,7 +27,6 @@ $result_trees{'test_deftypefnnewline'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'setfilename',
           'extra' => {
             'text_arg' => 'test_deftypefnnewline.info'
           },
@@ -45,7 +45,8 @@ $result_trees{'test_deftypefnnewline'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'deftypefnnewline',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -61,7 +62,6 @@ $result_trees{'test_deftypefnnewline'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'deftypefnnewline',
           'extra' => {
             'misc_args' => [
               'on'
@@ -350,7 +350,8 @@ $result_trees{'test_deftypefnnewline'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -366,7 +367,6 @@ $result_trees{'test_deftypefnnewline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefun'
               },
@@ -500,7 +500,8 @@ $result_trees{'test_deftypefnnewline'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -516,7 +517,6 @@ $result_trees{'test_deftypefnnewline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -737,7 +737,8 @@ $result_trees{'test_deftypefnnewline'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -753,7 +754,6 @@ $result_trees{'test_deftypefnnewline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -957,7 +957,8 @@ $result_trees{'test_deftypefnnewline'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -973,7 +974,6 @@ $result_trees{'test_deftypefnnewline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -1177,7 +1177,8 @@ $result_trees{'test_deftypefnnewline'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1193,7 +1194,6 @@ $result_trees{'test_deftypefnnewline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypecv'
               },
@@ -1414,7 +1414,8 @@ $result_trees{'test_deftypefnnewline'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1430,7 +1431,6 @@ $result_trees{'test_deftypefnnewline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypecv'
               },
@@ -1547,7 +1547,8 @@ $result_trees{'test_deftypefnnewline'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1563,7 +1564,6 @@ $result_trees{'test_deftypefnnewline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -1592,7 +1592,8 @@ $result_trees{'test_deftypefnnewline'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'deftypefnnewline',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -1608,7 +1609,6 @@ $result_trees{'test_deftypefnnewline'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'deftypefnnewline',
           'extra' => {
             'misc_args' => [
               'off'
@@ -1757,7 +1757,8 @@ $result_trees{'test_deftypefnnewline'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1773,7 +1774,6 @@ $result_trees{'test_deftypefnnewline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefun'
               },
@@ -1907,7 +1907,8 @@ $result_trees{'test_deftypefnnewline'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1923,7 +1924,6 @@ $result_trees{'test_deftypefnnewline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -2144,7 +2144,8 @@ $result_trees{'test_deftypefnnewline'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2160,7 +2161,6 @@ $result_trees{'test_deftypefnnewline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -2364,7 +2364,8 @@ $result_trees{'test_deftypefnnewline'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2380,7 +2381,6 @@ $result_trees{'test_deftypefnnewline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -2584,7 +2584,8 @@ $result_trees{'test_deftypefnnewline'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2600,7 +2601,6 @@ $result_trees{'test_deftypefnnewline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypecv'
               },
@@ -2821,7 +2821,8 @@ $result_trees{'test_deftypefnnewline'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2837,7 +2838,6 @@ $result_trees{'test_deftypefnnewline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypecv'
               },
@@ -2954,7 +2954,8 @@ $result_trees{'test_deftypefnnewline'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2970,7 +2971,6 @@ $result_trees{'test_deftypefnnewline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git a/tp/t/results/converters_tests/test_sp.pl 
b/tp/t/results/converters_tests/test_sp.pl
index a216e667a0..a5ab2da16b 100644
--- a/tp/t/results/converters_tests/test_sp.pl
+++ b/tp/t/results/converters_tests/test_sp.pl
@@ -19,7 +19,8 @@ $result_trees{'test_sp'} = {
           'type' => 'paragraph'
         },
         {
-          'args' => [
+          'cmdname' => 'sp',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -35,7 +36,6 @@ $result_trees{'test_sp'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'sp',
           'extra' => {
             'misc_args' => [
               '1'
@@ -75,7 +75,8 @@ $result_trees{'test_sp'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'sp',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -91,7 +92,6 @@ $result_trees{'test_sp'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'sp',
           'extra' => {
             'misc_args' => [
               '1'
@@ -112,7 +112,8 @@ $result_trees{'test_sp'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'sp',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -128,7 +129,6 @@ $result_trees{'test_sp'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'sp',
           'extra' => {
             'misc_args' => [
               '2'
@@ -167,7 +167,8 @@ $result_trees{'test_sp'} = {
           'type' => 'paragraph'
         },
         {
-          'args' => [
+          'cmdname' => 'sp',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -183,7 +184,6 @@ $result_trees{'test_sp'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'sp',
           'extra' => {
             'misc_args' => [
               '2'
@@ -222,7 +222,8 @@ $result_trees{'test_sp'} = {
           'type' => 'paragraph'
         },
         {
-          'args' => [
+          'cmdname' => 'sp',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -238,7 +239,6 @@ $result_trees{'test_sp'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'sp',
           'extra' => {
             'misc_args' => [
               '1'
diff --git a/tp/t/results/converters_tests/things_before_setfilename.pl 
b/tp/t/results/converters_tests/things_before_setfilename.pl
index e9ac2d3994..835306f148 100644
--- a/tp/t/results/converters_tests/things_before_setfilename.pl
+++ b/tp/t/results/converters_tests/things_before_setfilename.pl
@@ -293,7 +293,8 @@ $result_trees{'things_before_setfilename'} = {
                   'type' => 'paragraph'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -309,7 +310,6 @@ $result_trees{'things_before_setfilename'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'float'
                   },
@@ -465,7 +465,8 @@ $result_trees{'things_before_setfilename'} = {
                   'type' => 'spaces_after_close_brace'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -481,7 +482,6 @@ $result_trees{'things_before_setfilename'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'float'
                   },
@@ -518,14 +518,14 @@ $result_trees{'things_before_setfilename'} = {
               'type' => 'empty_line'
             },
             {
-              'args' => [
+              'cmdname' => 'contents',
+              'contents' => [
                 {
                   'text' => '
 ',
                   'type' => 'rawline_arg'
                 }
               ],
-              'cmdname' => 'contents',
               'extra' => {},
               'source_info' => {
                 'file_name' => 'things_before_setfilename.texi',
@@ -602,7 +602,8 @@ $result_trees{'things_before_setfilename'} = {
                   'type' => 'menu_entry'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -618,7 +619,6 @@ $result_trees{'things_before_setfilename'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'menu'
                   },
@@ -644,7 +644,8 @@ $result_trees{'things_before_setfilename'} = {
               'type' => 'empty_line'
             },
             {
-              'args' => [
+              'cmdname' => 'cindex',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -660,7 +661,6 @@ $result_trees{'things_before_setfilename'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'cindex',
               'extra' => {
                 'index_entry' => [
                   'cp',
@@ -685,7 +685,8 @@ $result_trees{'things_before_setfilename'} = {
               'type' => 'empty_line'
             },
             {
-              'args' => [
+              'cmdname' => 'printindex',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -701,7 +702,6 @@ $result_trees{'things_before_setfilename'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'printindex',
               'extra' => {
                 'misc_args' => [
                   'cp'
@@ -723,7 +723,8 @@ $result_trees{'things_before_setfilename'} = {
               'type' => 'empty_line'
             },
             {
-              'args' => [
+              'cmdname' => 'listoffloats',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -739,7 +740,6 @@ $result_trees{'things_before_setfilename'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'listoffloats',
               'extra' => {
                 'float_type' => 'Text'
               },
@@ -764,7 +764,8 @@ $result_trees{'things_before_setfilename'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'setfilename',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -780,7 +781,6 @@ $result_trees{'things_before_setfilename'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'setfilename',
               'extra' => {
                 'text_arg' => 'things_before_setfilename.info'
               },
diff --git 
a/tp/t/results/converters_tests/things_before_setfilename_no_element.pl 
b/tp/t/results/converters_tests/things_before_setfilename_no_element.pl
index e077ae0669..f6de4fe076 100644
--- a/tp/t/results/converters_tests/things_before_setfilename_no_element.pl
+++ b/tp/t/results/converters_tests/things_before_setfilename_no_element.pl
@@ -293,7 +293,8 @@ $result_trees{'things_before_setfilename_no_element'} = {
                   'type' => 'paragraph'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -309,7 +310,6 @@ $result_trees{'things_before_setfilename_no_element'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'float'
                   },
@@ -465,7 +465,8 @@ $result_trees{'things_before_setfilename_no_element'} = {
                   'type' => 'spaces_after_close_brace'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -481,7 +482,6 @@ $result_trees{'things_before_setfilename_no_element'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'float'
                   },
@@ -518,14 +518,14 @@ $result_trees{'things_before_setfilename_no_element'} = {
               'type' => 'empty_line'
             },
             {
-              'args' => [
+              'cmdname' => 'contents',
+              'contents' => [
                 {
                   'text' => '
 ',
                   'type' => 'rawline_arg'
                 }
               ],
-              'cmdname' => 'contents',
               'extra' => {},
               'source_info' => {
                 'file_name' => 'things_before_setfilename_no_element.texi',
@@ -602,7 +602,8 @@ $result_trees{'things_before_setfilename_no_element'} = {
                   'type' => 'menu_entry'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -618,7 +619,6 @@ $result_trees{'things_before_setfilename_no_element'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'menu'
                   },
@@ -644,7 +644,8 @@ $result_trees{'things_before_setfilename_no_element'} = {
               'type' => 'empty_line'
             },
             {
-              'args' => [
+              'cmdname' => 'cindex',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -660,7 +661,6 @@ $result_trees{'things_before_setfilename_no_element'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'cindex',
               'extra' => {
                 'index_entry' => [
                   'cp',
@@ -685,7 +685,8 @@ $result_trees{'things_before_setfilename_no_element'} = {
               'type' => 'empty_line'
             },
             {
-              'args' => [
+              'cmdname' => 'printindex',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -701,7 +702,6 @@ $result_trees{'things_before_setfilename_no_element'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'printindex',
               'extra' => {
                 'misc_args' => [
                   'cp'
@@ -723,7 +723,8 @@ $result_trees{'things_before_setfilename_no_element'} = {
               'type' => 'empty_line'
             },
             {
-              'args' => [
+              'cmdname' => 'listoffloats',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -739,7 +740,6 @@ $result_trees{'things_before_setfilename_no_element'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'listoffloats',
               'extra' => {
                 'float_type' => 'Text'
               },
@@ -764,7 +764,8 @@ $result_trees{'things_before_setfilename_no_element'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'setfilename',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -780,7 +781,6 @@ $result_trees{'things_before_setfilename_no_element'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'setfilename',
               'extra' => {
                 'text_arg' => 'things_before_setfilename_no_element.info'
               },
diff --git 
a/tp/t/results/converters_tests/various_itemize_command_as_argument.pl 
b/tp/t/results/converters_tests/various_itemize_command_as_argument.pl
index 816f7243d2..cb6a888841 100644
--- a/tp/t/results/converters_tests/various_itemize_command_as_argument.pl
+++ b/tp/t/results/converters_tests/various_itemize_command_as_argument.pl
@@ -197,7 +197,8 @@ $result_trees{'various_itemize_command_as_argument'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -213,7 +214,6 @@ $result_trees{'various_itemize_command_as_argument'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize'
               },
@@ -318,7 +318,8 @@ $result_trees{'various_itemize_command_as_argument'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -334,7 +335,6 @@ $result_trees{'various_itemize_command_as_argument'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize'
               },
@@ -462,7 +462,8 @@ $result_trees{'various_itemize_command_as_argument'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -478,7 +479,6 @@ $result_trees{'various_itemize_command_as_argument'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize'
               },
@@ -559,7 +559,8 @@ $result_trees{'various_itemize_command_as_argument'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -575,7 +576,6 @@ $result_trees{'various_itemize_command_as_argument'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize'
               },
@@ -718,7 +718,8 @@ $result_trees{'various_itemize_command_as_argument'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -734,7 +735,6 @@ $result_trees{'various_itemize_command_as_argument'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize'
               },
@@ -839,7 +839,8 @@ $result_trees{'various_itemize_command_as_argument'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -855,7 +856,6 @@ $result_trees{'various_itemize_command_as_argument'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize'
               },
@@ -936,7 +936,8 @@ $result_trees{'various_itemize_command_as_argument'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -952,7 +953,6 @@ $result_trees{'various_itemize_command_as_argument'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize'
               },
diff --git 
a/tp/t/results/converters_tests/various_vtable_command_as_argument.pl 
b/tp/t/results/converters_tests/various_vtable_command_as_argument.pl
index b969853c9c..0e4771beca 100644
--- a/tp/t/results/converters_tests/various_vtable_command_as_argument.pl
+++ b/tp/t/results/converters_tests/various_vtable_command_as_argument.pl
@@ -177,7 +177,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -193,7 +194,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -221,7 +221,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -237,7 +238,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -265,7 +265,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -281,7 +282,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -305,7 +305,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -321,7 +322,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'vtable'
               },
@@ -382,7 +382,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -398,7 +399,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -416,7 +416,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
                       }
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'itemx',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -432,7 +433,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'itemx',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -456,7 +456,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -472,7 +473,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'vtable'
               },
@@ -533,7 +533,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -549,7 +550,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -567,7 +567,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
                       }
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'itemx',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -583,7 +584,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'itemx',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -607,7 +607,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -623,7 +624,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'vtable'
               },
@@ -684,7 +684,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -700,7 +701,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -718,7 +718,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
                       }
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'itemx',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -734,7 +735,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'itemx',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -758,7 +758,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -774,7 +775,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'vtable'
               },
@@ -835,7 +835,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -851,7 +852,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -879,7 +879,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -911,7 +912,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -935,7 +935,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -951,7 +952,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'vtable'
               },
@@ -1012,7 +1012,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -1028,7 +1029,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -1046,7 +1046,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
                       }
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'itemx',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -1062,7 +1063,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'itemx',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -1086,7 +1086,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1102,7 +1103,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'vtable'
               },
@@ -1163,7 +1163,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -1179,7 +1180,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -1197,7 +1197,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
                       }
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'itemx',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -1213,7 +1214,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'itemx',
                       'extra' => {
                         'element_node' => {},
                         'index_entry' => [
@@ -1237,7 +1237,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1253,7 +1254,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'vtable'
               },
@@ -1362,7 +1362,8 @@ $result_trees{'various_vtable_command_as_argument'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -1378,7 +1379,6 @@ $result_trees{'various_vtable_command_as_argument'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'vr'
diff --git a/tp/t/results/coverage/accent_no_closed_comment.pl 
b/tp/t/results/coverage/accent_no_closed_comment.pl
index e2888caa2d..137a754125 100644
--- a/tp/t/results/coverage/accent_no_closed_comment.pl
+++ b/tp/t/results/coverage/accent_no_closed_comment.pl
@@ -20,14 +20,14 @@ $result_trees{'accent_no_closed_comment'} = {
                       'text' => 'e '
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'c',
+                      'contents' => [
                         {
                           'text' => ' comment
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'c'
+                      ]
                     }
                   ],
                   'type' => 'brace_container'
diff --git a/tp/t/results/coverage/block_commands.pl 
b/tp/t/results/coverage/block_commands.pl
index 599c7ad0b1..bfe626daac 100644
--- a/tp/t/results/coverage/block_commands.pl
+++ b/tp/t/results/coverage/block_commands.pl
@@ -41,7 +41,8 @@ $result_trees{'block_commands'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -57,7 +58,6 @@ $result_trees{'block_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'group'
               },
@@ -112,7 +112,8 @@ $result_trees{'block_commands'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -128,7 +129,6 @@ $result_trees{'block_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
@@ -252,7 +252,8 @@ $result_trees{'block_commands'} = {
               'type' => 'spaces_after_close_brace'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -268,7 +269,6 @@ $result_trees{'block_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'float'
               },
diff --git a/tp/t/results/coverage/bye_on_end_command_line.pl 
b/tp/t/results/coverage/bye_on_end_command_line.pl
index 9d0f73b5c0..cd0ab62ee2 100644
--- a/tp/t/results/coverage/bye_on_end_command_line.pl
+++ b/tp/t/results/coverage/bye_on_end_command_line.pl
@@ -36,7 +36,8 @@ $result_trees{'bye_on_end_command_line'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -46,7 +47,6 @@ $result_trees{'bye_on_end_command_line'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'cartouche'
               },
@@ -68,14 +68,14 @@ $result_trees{'bye_on_end_command_line'} = {
       'type' => 'before_node_section'
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git a/tp/t/results/coverage/cartouche.pl 
b/tp/t/results/coverage/cartouche.pl
index 16dcc9b459..03b4bac647 100644
--- a/tp/t/results/coverage/cartouche.pl
+++ b/tp/t/results/coverage/cartouche.pl
@@ -36,7 +36,8 @@ $result_trees{'cartouche'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -52,7 +53,6 @@ $result_trees{'cartouche'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'cartouche'
               },
@@ -120,7 +120,8 @@ $result_trees{'cartouche'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -136,7 +137,6 @@ $result_trees{'cartouche'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'cartouche'
               },
diff --git a/tp/t/results/coverage/cartouche_in_example.pl 
b/tp/t/results/coverage/cartouche_in_example.pl
index fe6c8f628d..f2d6b39392 100644
--- a/tp/t/results/coverage/cartouche_in_example.pl
+++ b/tp/t/results/coverage/cartouche_in_example.pl
@@ -62,7 +62,8 @@ $result_trees{'cartouche_in_example'} = {
                   'type' => 'preformatted'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -78,7 +79,6 @@ $result_trees{'cartouche_in_example'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'cartouche'
                   },
@@ -106,7 +106,8 @@ $result_trees{'cartouche_in_example'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -122,7 +123,6 @@ $result_trees{'cartouche_in_example'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
diff --git a/tp/t/results/coverage/cartouche_in_quotation.pl 
b/tp/t/results/coverage/cartouche_in_quotation.pl
index 754cec7f98..1d6cc29fe7 100644
--- a/tp/t/results/coverage/cartouche_in_quotation.pl
+++ b/tp/t/results/coverage/cartouche_in_quotation.pl
@@ -62,7 +62,8 @@ $result_trees{'cartouche_in_quotation'} = {
                   'type' => 'paragraph'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -78,7 +79,6 @@ $result_trees{'cartouche_in_quotation'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'cartouche'
                   },
@@ -106,7 +106,8 @@ $result_trees{'cartouche_in_quotation'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -122,7 +123,6 @@ $result_trees{'cartouche_in_quotation'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
diff --git a/tp/t/results/coverage/cartouche_title_and_content.pl 
b/tp/t/results/coverage/cartouche_title_and_content.pl
index 0936d47b34..0be52e94f7 100644
--- a/tp/t/results/coverage/cartouche_title_and_content.pl
+++ b/tp/t/results/coverage/cartouche_title_and_content.pl
@@ -61,7 +61,8 @@ $result_trees{'cartouche_title_and_content'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -77,7 +78,6 @@ $result_trees{'cartouche_title_and_content'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'cartouche'
               },
diff --git a/tp/t/results/coverage/center.pl b/tp/t/results/coverage/center.pl
index ce197a18db..d533244090 100644
--- a/tp/t/results/coverage/center.pl
+++ b/tp/t/results/coverage/center.pl
@@ -15,7 +15,8 @@ $result_trees{'center'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'center',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -47,7 +48,6 @@ $result_trees{'center'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'center',
           'info' => {
             'spaces_before_argument' => {
               'text' => '  '
diff --git a/tp/t/results/coverage/command_in_end.pl 
b/tp/t/results/coverage/command_in_end.pl
index f2316c83ab..ee7ad341d5 100644
--- a/tp/t/results/coverage/command_in_end.pl
+++ b/tp/t/results/coverage/command_in_end.pl
@@ -33,7 +33,8 @@ $result_trees{'command_in_end'} = {
 '
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -62,7 +63,6 @@ $result_trees{'command_in_end'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'info' => {
                     'spaces_before_argument' => {
                       'text' => ' '
@@ -104,7 +104,8 @@ $result_trees{'command_in_end'} = {
 '
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'end',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -136,7 +137,6 @@ $result_trees{'command_in_end'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'end',
                       'extra' => {
                         'text_arg' => 'q'
                       },
@@ -181,7 +181,8 @@ $result_trees{'command_in_end'} = {
 '
                         },
                         {
-                          'args' => [
+                          'cmdname' => 'end',
+                          'contents' => [
                             {
                               'contents' => [
                                 {
@@ -213,7 +214,6 @@ $result_trees{'command_in_end'} = {
                               'type' => 'line_arg'
                             }
                           ],
-                          'cmdname' => 'end',
                           'extra' => {
                             'text_arg' => 'qu'
                           },
@@ -258,7 +258,8 @@ $result_trees{'command_in_end'} = {
 '
                             },
                             {
-                              'args' => [
+                              'cmdname' => 'end',
+                              'contents' => [
                                 {
                                   'contents' => [
                                     {
@@ -293,7 +294,6 @@ $result_trees{'command_in_end'} = {
                                   'type' => 'line_arg'
                                 }
                               ],
-                              'cmdname' => 'end',
                               'extra' => {
                                 'text_arg' => 'quotn'
                               },
@@ -341,7 +341,8 @@ $result_trees{'command_in_end'} = {
                               'type' => 'paragraph'
                             },
                             {
-                              'args' => [
+                              'cmdname' => 'end',
+                              'contents' => [
                                 {
                                   'contents' => [
                                     {
@@ -371,7 +372,6 @@ $result_trees{'command_in_end'} = {
                                   'type' => 'line_arg'
                                 }
                               ],
-                              'cmdname' => 'end',
                               'extra' => {
                                 'text_arg' => 'quotation'
                               },
@@ -421,7 +421,8 @@ $result_trees{'command_in_end'} = {
                               'type' => 'paragraph'
                             },
                             {
-                              'args' => [
+                              'cmdname' => 'end',
+                              'contents' => [
                                 {
                                   'contents' => [
                                     {
@@ -451,7 +452,6 @@ $result_trees{'command_in_end'} = {
                                   'type' => 'line_arg'
                                 }
                               ],
-                              'cmdname' => 'end',
                               'extra' => {
                                 'text_arg' => 'quotation'
                               },
@@ -501,7 +501,8 @@ $result_trees{'command_in_end'} = {
                               'type' => 'paragraph'
                             },
                             {
-                              'args' => [
+                              'cmdname' => 'end',
+                              'contents' => [
                                 {
                                   'contents' => [
                                     {
@@ -531,7 +532,6 @@ $result_trees{'command_in_end'} = {
                                   'type' => 'line_arg'
                                 }
                               ],
-                              'cmdname' => 'end',
                               'extra' => {
                                 'text_arg' => 'quotation'
                               },
diff --git a/tp/t/results/coverage/command_in_end_expanded_raw_command_after.pl 
b/tp/t/results/coverage/command_in_end_expanded_raw_command_after.pl
index c4b7bea436..ae36eb5c35 100644
--- a/tp/t/results/coverage/command_in_end_expanded_raw_command_after.pl
+++ b/tp/t/results/coverage/command_in_end_expanded_raw_command_after.pl
@@ -36,7 +36,8 @@ $result_trees{'command_in_end_expanded_raw_command_after'} = {
               'type' => 'rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -68,7 +69,6 @@ $result_trees{'command_in_end_expanded_raw_command_after'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'tex'
               },
diff --git 
a/tp/t/results/coverage/command_in_end_expanded_raw_command_empty_after.pl 
b/tp/t/results/coverage/command_in_end_expanded_raw_command_empty_after.pl
index 52f842b42e..1070dba0de 100644
--- a/tp/t/results/coverage/command_in_end_expanded_raw_command_empty_after.pl
+++ b/tp/t/results/coverage/command_in_end_expanded_raw_command_empty_after.pl
@@ -36,7 +36,8 @@ 
$result_trees{'command_in_end_expanded_raw_command_empty_after'} = {
               'type' => 'rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -63,7 +64,6 @@ 
$result_trees{'command_in_end_expanded_raw_command_empty_after'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'tex'
               },
diff --git a/tp/t/results/coverage/command_in_end_expanded_raw_in_command.pl 
b/tp/t/results/coverage/command_in_end_expanded_raw_in_command.pl
index 69831143aa..82649dd3e2 100644
--- a/tp/t/results/coverage/command_in_end_expanded_raw_in_command.pl
+++ b/tp/t/results/coverage/command_in_end_expanded_raw_in_command.pl
@@ -33,7 +33,8 @@ $result_trees{'command_in_end_expanded_raw_in_command'} = {
 '
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -62,7 +63,6 @@ $result_trees{'command_in_end_expanded_raw_in_command'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'info' => {
                     'spaces_before_argument' => {
                       'text' => ' '
diff --git 
a/tp/t/results/coverage/command_in_end_expanded_raw_one_char_before_command.pl 
b/tp/t/results/coverage/command_in_end_expanded_raw_one_char_before_command.pl
index 11f1c939f8..34135f3c5a 100644
--- 
a/tp/t/results/coverage/command_in_end_expanded_raw_one_char_before_command.pl
+++ 
b/tp/t/results/coverage/command_in_end_expanded_raw_one_char_before_command.pl
@@ -36,7 +36,8 @@ 
$result_trees{'command_in_end_expanded_raw_one_char_before_command'} = {
               'type' => 'rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -66,7 +67,6 @@ 
$result_trees{'command_in_end_expanded_raw_one_char_before_command'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'tex'
               },
diff --git 
a/tp/t/results/coverage/command_in_end_expanded_raw_one_char_not_in_command.pl 
b/tp/t/results/coverage/command_in_end_expanded_raw_one_char_not_in_command.pl
index 58a4e25a5c..7a0d941a1c 100644
--- 
a/tp/t/results/coverage/command_in_end_expanded_raw_one_char_not_in_command.pl
+++ 
b/tp/t/results/coverage/command_in_end_expanded_raw_one_char_not_in_command.pl
@@ -33,7 +33,8 @@ 
$result_trees{'command_in_end_expanded_raw_one_char_not_in_command'} = {
 '
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -65,7 +66,6 @@ 
$result_trees{'command_in_end_expanded_raw_one_char_not_in_command'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 't'
                   },
diff --git 
a/tp/t/results/coverage/command_in_end_expanded_raw_two_char_before_command.pl 
b/tp/t/results/coverage/command_in_end_expanded_raw_two_char_before_command.pl
index f67f39f5d7..083dc9afa1 100644
--- 
a/tp/t/results/coverage/command_in_end_expanded_raw_two_char_before_command.pl
+++ 
b/tp/t/results/coverage/command_in_end_expanded_raw_two_char_before_command.pl
@@ -36,7 +36,8 @@ 
$result_trees{'command_in_end_expanded_raw_two_char_before_command'} = {
               'type' => 'rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -66,7 +67,6 @@ 
$result_trees{'command_in_end_expanded_raw_two_char_before_command'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'tex'
               },
diff --git 
a/tp/t/results/coverage/command_in_end_expanded_raw_two_char_not_in_command.pl 
b/tp/t/results/coverage/command_in_end_expanded_raw_two_char_not_in_command.pl
index 41aa1dff3c..8a93020016 100644
--- 
a/tp/t/results/coverage/command_in_end_expanded_raw_two_char_not_in_command.pl
+++ 
b/tp/t/results/coverage/command_in_end_expanded_raw_two_char_not_in_command.pl
@@ -33,7 +33,8 @@ 
$result_trees{'command_in_end_expanded_raw_two_char_not_in_command'} = {
 '
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -65,7 +66,6 @@ 
$result_trees{'command_in_end_expanded_raw_two_char_not_in_command'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'te'
                   },
diff --git a/tp/t/results/coverage/command_in_end_ignored_raw_command_after.pl 
b/tp/t/results/coverage/command_in_end_ignored_raw_command_after.pl
index 7aca376548..af8aa156e4 100644
--- a/tp/t/results/coverage/command_in_end_ignored_raw_command_after.pl
+++ b/tp/t/results/coverage/command_in_end_ignored_raw_command_after.pl
@@ -37,7 +37,8 @@ $result_trees{'command_in_end_ignored_raw_command_after'} = {
               'type' => 'elided_rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -69,7 +70,6 @@ $result_trees{'command_in_end_ignored_raw_command_after'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'html'
               },
diff --git a/tp/t/results/coverage/commands.pl 
b/tp/t/results/coverage/commands.pl
index e7a13f266f..cba5759065 100644
--- a/tp/t/results/coverage/commands.pl
+++ b/tp/t/results/coverage/commands.pl
@@ -264,7 +264,8 @@ $result_trees{'commands'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'cindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -291,7 +292,6 @@ $result_trees{'commands'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'cindex',
           'extra' => {
             'index_entry' => [
               'cp',
@@ -315,7 +315,8 @@ $result_trees{'commands'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'majorheading',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -347,7 +348,6 @@ $result_trees{'commands'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'majorheading',
           'extra' => {},
           'info' => {
             'spaces_before_argument' => {
diff --git a/tp/t/results/coverage/commands_in_math.pl 
b/tp/t/results/coverage/commands_in_math.pl
index 6a6e6a23ff..d645e45a15 100644
--- a/tp/t/results/coverage/commands_in_math.pl
+++ b/tp/t/results/coverage/commands_in_math.pl
@@ -123,7 +123,8 @@ $result_trees{'commands_in_math'} = {
 '
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -139,7 +140,6 @@ $result_trees{'commands_in_math'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'displaymath'
               },
@@ -803,7 +803,8 @@ $result_trees{'commands_in_math'} = {
 '
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -819,7 +820,6 @@ $result_trees{'commands_in_math'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'displaymath'
               },
@@ -1393,7 +1393,8 @@ $result_trees{'commands_in_math'} = {
 '
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1409,7 +1410,6 @@ $result_trees{'commands_in_math'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'displaymath'
               },
@@ -1692,7 +1692,8 @@ $result_trees{'commands_in_math'} = {
 '
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1708,7 +1709,6 @@ $result_trees{'commands_in_math'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'displaymath'
               },
diff --git a/tp/t/results/coverage/comment_on_cartouche_line.pl 
b/tp/t/results/coverage/comment_on_cartouche_line.pl
index 69a8c4c22b..2dab370214 100644
--- a/tp/t/results/coverage/comment_on_cartouche_line.pl
+++ b/tp/t/results/coverage/comment_on_cartouche_line.pl
@@ -17,14 +17,14 @@ $result_trees{'comment_on_cartouche_line'} = {
                 {
                   'info' => {
                     'comment_at_end' => {
-                      'args' => [
+                      'cmdname' => 'c',
+                      'contents' => [
                         {
                           'text' => ' comment
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'c'
+                      ]
                     }
                   },
                   'type' => 'block_line_arg'
@@ -42,7 +42,8 @@ $result_trees{'comment_on_cartouche_line'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -58,7 +59,6 @@ $result_trees{'comment_on_cartouche_line'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'cartouche'
               },
@@ -112,14 +112,14 @@ $result_trees{'comment_on_cartouche_line'} = {
                   ],
                   'info' => {
                     'comment_at_end' => {
-                      'args' => [
+                      'cmdname' => 'c',
+                      'contents' => [
                         {
                           'text' => ' comment
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'c'
+                      ]
                     },
                     'spaces_after_argument' => {
                       'text' => ' '
@@ -140,7 +140,8 @@ $result_trees{'comment_on_cartouche_line'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -156,7 +157,6 @@ $result_trees{'comment_on_cartouche_line'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'cartouche'
               },
diff --git a/tp/t/results/coverage/comment_on_group_line.pl 
b/tp/t/results/coverage/comment_on_group_line.pl
index 6edc5a4fab..eeb94077ed 100644
--- a/tp/t/results/coverage/comment_on_group_line.pl
+++ b/tp/t/results/coverage/comment_on_group_line.pl
@@ -17,14 +17,14 @@ $result_trees{'comment_on_group_line'} = {
                 {
                   'info' => {
                     'comment_at_end' => {
-                      'args' => [
+                      'cmdname' => 'c',
+                      'contents' => [
                         {
                           'text' => ' comment
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'c'
+                      ]
                     }
                   },
                   'type' => 'block_line_arg'
@@ -42,7 +42,8 @@ $result_trees{'comment_on_group_line'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -58,7 +59,6 @@ $result_trees{'comment_on_group_line'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'group'
               },
diff --git a/tp/t/results/coverage/def.pl b/tp/t/results/coverage/def.pl
index ed7f45bbf5..1471e73221 100644
--- a/tp/t/results/coverage/def.pl
+++ b/tp/t/results/coverage/def.pl
@@ -122,7 +122,8 @@ $result_trees{'def'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -138,7 +139,6 @@ $result_trees{'def'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -380,7 +380,8 @@ $result_trees{'def'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -396,7 +397,6 @@ $result_trees{'def'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -1555,14 +1555,14 @@ $result_trees{'def'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'c',
+                  'contents' => [
                     {
                       'text' => ' comment
 ',
                       'type' => 'rawline_arg'
                     }
-                  ],
-                  'cmdname' => 'c'
+                  ]
                 }
               ],
               'type' => 'inter_def_item'
@@ -1699,14 +1699,14 @@ $result_trees{'def'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'c',
+                  'contents' => [
                     {
                       'text' => ' comment
 ',
                       'type' => 'rawline_arg'
                     }
-                  ],
-                  'cmdname' => 'c'
+                  ]
                 }
               ],
               'type' => 'inter_def_item'
@@ -1855,7 +1855,8 @@ $result_trees{'def'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1871,7 +1872,6 @@ $result_trees{'def'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git a/tp/t/results/coverage/delcomment.pl 
b/tp/t/results/coverage/delcomment.pl
index 845b97c588..bd255621c4 100644
--- a/tp/t/results/coverage/delcomment.pl
+++ b/tp/t/results/coverage/delcomment.pl
@@ -27,24 +27,24 @@ $result_trees{'delcomment'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'c',
+              'contents' => [
                 {
                   'text' => ' this tests both the del comment and a file 
without
 ',
                   'type' => 'rawline_arg'
                 }
-              ],
-              'cmdname' => 'c'
+              ]
             },
             {
-              'args' => [
+              'cmdname' => 'c',
+              'contents' => [
                 {
                   'text' => ' element.
 ',
                   'type' => 'rawline_arg'
                 }
-              ],
-              'cmdname' => 'c'
+              ]
             },
             {
               'text' => '
@@ -85,14 +85,14 @@ $result_trees{'delcomment'} = {
       'type' => 'before_node_section'
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git a/tp/t/results/coverage/delcomment_followed_by_cpp_line.pl 
b/tp/t/results/coverage/delcomment_followed_by_cpp_line.pl
index 757049e772..f8272b35dd 100644
--- a/tp/t/results/coverage/delcomment_followed_by_cpp_line.pl
+++ b/tp/t/results/coverage/delcomment_followed_by_cpp_line.pl
@@ -27,24 +27,24 @@ $result_trees{'delcomment_followed_by_cpp_line'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'c',
+              'contents' => [
                 {
                   'text' => ' this tests both the del comment and a file 
without
 ',
                   'type' => 'rawline_arg'
                 }
-              ],
-              'cmdname' => 'c'
+              ]
             },
             {
-              'args' => [
+              'cmdname' => 'c',
+              'contents' => [
                 {
                   'text' => ' element.
 ',
                   'type' => 'rawline_arg'
                 }
-              ],
-              'cmdname' => 'c'
+              ]
             },
             {
               'text' => '
@@ -164,14 +164,14 @@ $result_trees{'delcomment_followed_by_cpp_line'} = {
       'type' => 'before_node_section'
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git a/tp/t/results/coverage/delcomment_on_comment.pl 
b/tp/t/results/coverage/delcomment_on_comment.pl
index 89950c748f..857dbe40c3 100644
--- a/tp/t/results/coverage/delcomment_on_comment.pl
+++ b/tp/t/results/coverage/delcomment_on_comment.pl
@@ -42,14 +42,14 @@ $result_trees{'delcomment_on_comment'} = {
               'text' => 'some text '
             },
             {
-              'args' => [
+              'cmdname' => 'c',
+              'contents' => [
                 {
                   'text' => ' a comment with del next line
 ',
                   'type' => 'rawline_arg'
                 }
-              ],
-              'cmdname' => 'c'
+              ]
             }
           ],
           'type' => 'paragraph'
@@ -63,14 +63,14 @@ $result_trees{'delcomment_on_comment'} = {
       'type' => 'before_node_section'
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git a/tp/t/results/coverage/displaymath.pl 
b/tp/t/results/coverage/displaymath.pl
index 93d97f1d09..ee5fc66663 100644
--- a/tp/t/results/coverage/displaymath.pl
+++ b/tp/t/results/coverage/displaymath.pl
@@ -68,7 +68,8 @@ $result_trees{'displaymath'} = {
 '
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -84,7 +85,6 @@ $result_trees{'displaymath'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'displaymath'
               },
@@ -198,7 +198,8 @@ $result_trees{'displaymath'} = {
 '
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -214,7 +215,6 @@ $result_trees{'displaymath'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'displaymath'
               },
@@ -357,7 +357,8 @@ $result_trees{'displaymath'} = {
 '
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -373,7 +374,6 @@ $result_trees{'displaymath'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'displaymath'
               },
@@ -423,21 +423,22 @@ $result_trees{'displaymath'} = {
               'type' => 'argument'
             },
             {
-              'args' => [
+              'cmdname' => 'c',
+              'contents' => [
                 {
                   'text' => ' comment in displaymath
 ',
                   'type' => 'rawline_arg'
                 }
-              ],
-              'cmdname' => 'c'
+              ]
             },
             {
               'text' => 'a/2
 '
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -453,7 +454,6 @@ $result_trees{'displaymath'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'displaymath'
               },
diff --git a/tp/t/results/coverage/end_bad_end_argument_and_superfluous_arg.pl 
b/tp/t/results/coverage/end_bad_end_argument_and_superfluous_arg.pl
index afa16f4ac0..3701911125 100644
--- a/tp/t/results/coverage/end_bad_end_argument_and_superfluous_arg.pl
+++ b/tp/t/results/coverage/end_bad_end_argument_and_superfluous_arg.pl
@@ -33,7 +33,8 @@ $result_trees{'end_bad_end_argument_and_superfluous_arg'} = {
 '
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -65,7 +66,6 @@ $result_trees{'end_bad_end_argument_and_superfluous_arg'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => ': '
                   },
diff --git a/tp/t/results/coverage/exdent_and_commands.pl 
b/tp/t/results/coverage/exdent_and_commands.pl
index 3057c88647..5747502c12 100644
--- a/tp/t/results/coverage/exdent_and_commands.pl
+++ b/tp/t/results/coverage/exdent_and_commands.pl
@@ -36,7 +36,8 @@ $result_trees{'exdent_and_commands'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'exdent',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -50,7 +51,6 @@ $result_trees{'exdent_and_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'exdent',
               'info' => {
                 'spaces_before_argument' => {
                   'text' => ' '
@@ -70,7 +70,8 @@ $result_trees{'exdent_and_commands'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'exdent',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -98,7 +99,6 @@ $result_trees{'exdent_and_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'exdent',
               'info' => {
                 'spaces_before_argument' => {
                   'text' => ' '
@@ -118,7 +118,8 @@ $result_trees{'exdent_and_commands'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -134,7 +135,6 @@ $result_trees{'exdent_and_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
@@ -184,7 +184,8 @@ $result_trees{'exdent_and_commands'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'exdent',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -198,7 +199,6 @@ $result_trees{'exdent_and_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'exdent',
               'info' => {
                 'spaces_before_argument' => {
                   'text' => ' '
@@ -218,7 +218,8 @@ $result_trees{'exdent_and_commands'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'exdent',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -246,7 +247,6 @@ $result_trees{'exdent_and_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'exdent',
               'info' => {
                 'spaces_before_argument' => {
                   'text' => ' '
@@ -266,7 +266,8 @@ $result_trees{'exdent_and_commands'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -282,7 +283,6 @@ $result_trees{'exdent_and_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
diff --git a/tp/t/results/coverage/exdent_and_formats.pl 
b/tp/t/results/coverage/exdent_and_formats.pl
index 588133101a..4053946c5f 100644
--- a/tp/t/results/coverage/exdent_and_formats.pl
+++ b/tp/t/results/coverage/exdent_and_formats.pl
@@ -67,7 +67,8 @@ $result_trees{'exdent_and_formats'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'exdent',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -83,7 +84,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'exdent',
               'info' => {
                 'spaces_before_argument' => {
                   'text' => ' '
@@ -103,7 +103,8 @@ $result_trees{'exdent_and_formats'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -119,7 +120,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
@@ -165,7 +165,8 @@ $result_trees{'exdent_and_formats'} = {
               'type' => 'argument'
             },
             {
-              'args' => [
+              'cmdname' => 'exdent',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -181,7 +182,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'exdent',
               'info' => {
                 'spaces_before_argument' => {
                   'text' => ' '
@@ -201,7 +201,8 @@ $result_trees{'exdent_and_formats'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'exdent',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -217,7 +218,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'exdent',
               'info' => {
                 'spaces_before_argument' => {
                   'text' => ' '
@@ -237,7 +237,8 @@ $result_trees{'exdent_and_formats'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -253,7 +254,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
@@ -321,7 +321,8 @@ $result_trees{'exdent_and_formats'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -337,7 +338,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
@@ -433,7 +433,8 @@ $result_trees{'exdent_and_formats'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -449,7 +450,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
@@ -513,7 +513,8 @@ $result_trees{'exdent_and_formats'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -529,7 +530,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
@@ -605,7 +605,8 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'preformatted'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'exdent',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -621,7 +622,6 @@ $result_trees{'exdent_and_formats'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'exdent',
                   'info' => {
                     'spaces_before_argument' => {
                       'text' => ' '
@@ -632,7 +632,8 @@ $result_trees{'exdent_and_formats'} = {
                   }
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -648,7 +649,6 @@ $result_trees{'exdent_and_formats'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'example'
                   },
@@ -667,7 +667,8 @@ $result_trees{'exdent_and_formats'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -683,7 +684,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
@@ -724,7 +724,8 @@ $result_trees{'exdent_and_formats'} = {
               'type' => 'argument'
             },
             {
-              'args' => [
+              'cmdname' => 'exdent',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -740,7 +741,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'exdent',
               'info' => {
                 'spaces_before_argument' => {
                   'text' => ' '
@@ -751,7 +751,8 @@ $result_trees{'exdent_and_formats'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -767,7 +768,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
@@ -817,7 +817,8 @@ $result_trees{'exdent_and_formats'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'exdent',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -833,7 +834,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'exdent',
               'info' => {
                 'spaces_before_argument' => {
                   'text' => '  '
@@ -844,7 +844,8 @@ $result_trees{'exdent_and_formats'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -860,7 +861,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
@@ -901,7 +901,8 @@ $result_trees{'exdent_and_formats'} = {
               'type' => 'argument'
             },
             {
-              'args' => [
+              'cmdname' => 'exdent',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -917,7 +918,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'exdent',
               'info' => {
                 'spaces_before_argument' => {
                   'text' => '  '
@@ -937,7 +937,8 @@ $result_trees{'exdent_and_formats'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -953,7 +954,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
@@ -994,7 +994,8 @@ $result_trees{'exdent_and_formats'} = {
               'type' => 'argument'
             },
             {
-              'args' => [
+              'cmdname' => 'exdent',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1010,7 +1011,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'exdent',
               'info' => {
                 'spaces_before_argument' => {
                   'text' => ' '
@@ -1021,7 +1021,8 @@ $result_trees{'exdent_and_formats'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'exdent',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1037,7 +1038,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'exdent',
               'info' => {
                 'spaces_before_argument' => {
                   'text' => ' '
@@ -1048,7 +1048,8 @@ $result_trees{'exdent_and_formats'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1064,7 +1065,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
@@ -1105,7 +1105,8 @@ $result_trees{'exdent_and_formats'} = {
               'type' => 'argument'
             },
             {
-              'args' => [
+              'cmdname' => 'exdent',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1121,7 +1122,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'exdent',
               'info' => {
                 'spaces_before_argument' => {
                   'text' => ' '
@@ -1132,7 +1132,8 @@ $result_trees{'exdent_and_formats'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'exdent',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1148,7 +1149,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'exdent',
               'info' => {
                 'spaces_before_argument' => {
                   'text' => ' '
@@ -1159,7 +1159,8 @@ $result_trees{'exdent_and_formats'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1175,7 +1176,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
@@ -1225,7 +1225,8 @@ $result_trees{'exdent_and_formats'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'exdent',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1241,7 +1242,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'exdent',
               'info' => {
                 'spaces_before_argument' => {
                   'text' => ' '
@@ -1252,7 +1252,8 @@ $result_trees{'exdent_and_formats'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1268,7 +1269,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
@@ -1309,7 +1309,8 @@ $result_trees{'exdent_and_formats'} = {
               'type' => 'argument'
             },
             {
-              'args' => [
+              'cmdname' => 'exdent',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1325,7 +1326,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'exdent',
               'info' => {
                 'spaces_before_argument' => {
                   'text' => ' '
@@ -1336,7 +1336,8 @@ $result_trees{'exdent_and_formats'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'exdent',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1352,7 +1353,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'exdent',
               'info' => {
                 'spaces_before_argument' => {
                   'text' => ' '
@@ -1363,7 +1363,8 @@ $result_trees{'exdent_and_formats'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1379,7 +1380,6 @@ $result_trees{'exdent_and_formats'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
diff --git a/tp/t/results/coverage/flushleft_flushright.pl 
b/tp/t/results/coverage/flushleft_flushright.pl
index 64ce08c22c..3e11ab4b12 100644
--- a/tp/t/results/coverage/flushleft_flushright.pl
+++ b/tp/t/results/coverage/flushleft_flushright.pl
@@ -63,7 +63,8 @@ $result_trees{'flushleft_flushright'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -79,7 +80,6 @@ $result_trees{'flushleft_flushright'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'flushleft'
               },
@@ -151,7 +151,8 @@ $result_trees{'flushleft_flushright'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -167,7 +168,6 @@ $result_trees{'flushleft_flushright'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'flushright'
               },
diff --git a/tp/t/results/coverage/flushleft_flushright_in_quotation.pl 
b/tp/t/results/coverage/flushleft_flushright_in_quotation.pl
index d61c27a936..d23c203367 100644
--- a/tp/t/results/coverage/flushleft_flushright_in_quotation.pl
+++ b/tp/t/results/coverage/flushleft_flushright_in_quotation.pl
@@ -62,7 +62,8 @@ $result_trees{'flushleft_flushright_in_quotation'} = {
                   'type' => 'paragraph'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -78,7 +79,6 @@ $result_trees{'flushleft_flushright_in_quotation'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'flushleft'
                   },
@@ -132,7 +132,8 @@ $result_trees{'flushleft_flushright_in_quotation'} = {
                   'type' => 'paragraph'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -148,7 +149,6 @@ $result_trees{'flushleft_flushright_in_quotation'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'flushright'
                   },
@@ -167,7 +167,8 @@ $result_trees{'flushleft_flushright_in_quotation'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -183,7 +184,6 @@ $result_trees{'flushleft_flushright_in_quotation'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
diff --git a/tp/t/results/coverage/flushright_example_nested.pl 
b/tp/t/results/coverage/flushright_example_nested.pl
index f742d29332..af22c610a6 100644
--- a/tp/t/results/coverage/flushright_example_nested.pl
+++ b/tp/t/results/coverage/flushright_example_nested.pl
@@ -58,7 +58,8 @@ $result_trees{'flushright_example_nested'} = {
                   'type' => 'preformatted'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -74,7 +75,6 @@ $result_trees{'flushright_example_nested'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'flushright'
                   },
@@ -93,7 +93,8 @@ $result_trees{'flushright_example_nested'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -109,7 +110,6 @@ $result_trees{'flushright_example_nested'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
@@ -185,7 +185,8 @@ $result_trees{'flushright_example_nested'} = {
                   'type' => 'preformatted'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -201,7 +202,6 @@ $result_trees{'flushright_example_nested'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'example'
                   },
@@ -220,7 +220,8 @@ $result_trees{'flushright_example_nested'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -236,7 +237,6 @@ $result_trees{'flushright_example_nested'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'flushright'
               },
diff --git a/tp/t/results/coverage/formats_only_title_comments.pl 
b/tp/t/results/coverage/formats_only_title_comments.pl
index 3c681edff3..786cd6ceee 100644
--- a/tp/t/results/coverage/formats_only_title_comments.pl
+++ b/tp/t/results/coverage/formats_only_title_comments.pl
@@ -37,14 +37,14 @@ $result_trees{'formats_only_title_comments'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'c',
+                  'contents' => [
                     {
                       'text' => ' comment itemize
 ',
                       'type' => 'rawline_arg'
                     }
-                  ],
-                  'cmdname' => 'c'
+                  ]
                 },
                 {
                   'contents' => [
@@ -59,7 +59,8 @@ $result_trees{'formats_only_title_comments'} = {
               'type' => 'before_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -75,7 +76,6 @@ $result_trees{'formats_only_title_comments'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize'
               },
@@ -109,14 +109,14 @@ $result_trees{'formats_only_title_comments'} = {
                 {
                   'info' => {
                     'comment_at_end' => {
-                      'args' => [
+                      'cmdname' => 'c',
+                      'contents' => [
                         {
                           'text' => ' comment on enumerate line
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'c'
+                      ]
                     }
                   },
                   'type' => 'block_line_arg'
@@ -127,14 +127,14 @@ $result_trees{'formats_only_title_comments'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'c',
+                  'contents' => [
                     {
                       'text' => ' comment enumerate
 ',
                       'type' => 'rawline_arg'
                     }
-                  ],
-                  'cmdname' => 'c'
+                  ]
                 },
                 {
                   'contents' => [
@@ -149,7 +149,8 @@ $result_trees{'formats_only_title_comments'} = {
               'type' => 'before_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -165,7 +166,6 @@ $result_trees{'formats_only_title_comments'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'enumerate'
               },
@@ -224,14 +224,14 @@ $result_trees{'formats_only_title_comments'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'c',
+                  'contents' => [
                     {
                       'text' => ' comment table
 ',
                       'type' => 'rawline_arg'
                     }
-                  ],
-                  'cmdname' => 'c'
+                  ]
                 },
                 {
                   'contents' => [
@@ -246,7 +246,8 @@ $result_trees{'formats_only_title_comments'} = {
               'type' => 'before_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -262,7 +263,6 @@ $result_trees{'formats_only_title_comments'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -309,14 +309,14 @@ $result_trees{'formats_only_title_comments'} = {
                   ],
                   'info' => {
                     'comment_at_end' => {
-                      'args' => [
+                      'cmdname' => 'c',
+                      'contents' => [
                         {
                           'text' => ' comment on vtable line
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'c'
+                      ]
                     },
                     'spaces_after_argument' => {
                       'text' => ' '
@@ -342,7 +342,8 @@ $result_trees{'formats_only_title_comments'} = {
               'type' => 'before_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -358,7 +359,6 @@ $result_trees{'formats_only_title_comments'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'vtable'
               },
@@ -397,7 +397,8 @@ $result_trees{'formats_only_title_comments'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'columnfractions',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -413,7 +414,6 @@ $result_trees{'formats_only_title_comments'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'columnfractions',
                       'extra' => {
                         'misc_args' => [
                           '0.5',
@@ -438,14 +438,14 @@ $result_trees{'formats_only_title_comments'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'c',
+                  'contents' => [
                     {
                       'text' => ' comment multitable
 ',
                       'type' => 'rawline_arg'
                     }
-                  ],
-                  'cmdname' => 'c'
+                  ]
                 },
                 {
                   'contents' => [
@@ -460,7 +460,8 @@ $result_trees{'formats_only_title_comments'} = {
               'type' => 'before_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -476,7 +477,6 @@ $result_trees{'formats_only_title_comments'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'multitable'
               },
diff --git a/tp/t/results/coverage/formats_only_titles.pl 
b/tp/t/results/coverage/formats_only_titles.pl
index 4e228e8961..5218c05b62 100644
--- a/tp/t/results/coverage/formats_only_titles.pl
+++ b/tp/t/results/coverage/formats_only_titles.pl
@@ -49,7 +49,8 @@ $result_trees{'formats_only_titles'} = {
               'type' => 'before_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -65,7 +66,6 @@ $result_trees{'formats_only_titles'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize'
               },
@@ -123,7 +123,8 @@ $result_trees{'formats_only_titles'} = {
               'type' => 'before_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -139,7 +140,6 @@ $result_trees{'formats_only_titles'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'enumerate'
               },
@@ -205,7 +205,8 @@ $result_trees{'formats_only_titles'} = {
               'type' => 'before_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -221,7 +222,6 @@ $result_trees{'formats_only_titles'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -292,7 +292,8 @@ $result_trees{'formats_only_titles'} = {
               'type' => 'before_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -308,7 +309,6 @@ $result_trees{'formats_only_titles'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'vtable'
               },
@@ -347,7 +347,8 @@ $result_trees{'formats_only_titles'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'columnfractions',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -363,7 +364,6 @@ $result_trees{'formats_only_titles'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'columnfractions',
                       'extra' => {
                         'misc_args' => [
                           '0.5',
@@ -400,7 +400,8 @@ $result_trees{'formats_only_titles'} = {
               'type' => 'before_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -416,7 +417,6 @@ $result_trees{'formats_only_titles'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'multitable'
               },
diff --git a/tp/t/results/coverage/formats_titles.pl 
b/tp/t/results/coverage/formats_titles.pl
index 3d65089ce1..067d7685f4 100644
--- a/tp/t/results/coverage/formats_titles.pl
+++ b/tp/t/results/coverage/formats_titles.pl
@@ -73,7 +73,8 @@ $result_trees{'formats_titles'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -89,7 +90,6 @@ $result_trees{'formats_titles'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize'
               },
@@ -171,7 +171,8 @@ $result_trees{'formats_titles'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -187,7 +188,6 @@ $result_trees{'formats_titles'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'enumerate'
               },
@@ -257,7 +257,8 @@ $result_trees{'formats_titles'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -273,7 +274,6 @@ $result_trees{'formats_titles'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -290,7 +290,8 @@ $result_trees{'formats_titles'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -306,7 +307,6 @@ $result_trees{'formats_titles'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -381,7 +381,8 @@ $result_trees{'formats_titles'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -397,7 +398,6 @@ $result_trees{'formats_titles'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'extra' => {
                         'index_entry' => [
                           'vr',
@@ -420,7 +420,8 @@ $result_trees{'formats_titles'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -436,7 +437,6 @@ $result_trees{'formats_titles'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'vtable'
               },
@@ -475,7 +475,8 @@ $result_trees{'formats_titles'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'columnfractions',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -491,7 +492,6 @@ $result_trees{'formats_titles'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'columnfractions',
                       'extra' => {
                         'misc_args' => [
                           '0.5',
@@ -588,7 +588,8 @@ $result_trees{'formats_titles'} = {
               'type' => 'multitable_body'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -604,7 +605,6 @@ $result_trees{'formats_titles'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'multitable'
               },
diff --git a/tp/t/results/coverage/group_beginning_and_end_on_line.pl 
b/tp/t/results/coverage/group_beginning_and_end_on_line.pl
index ee5052df50..785efac84b 100644
--- a/tp/t/results/coverage/group_beginning_and_end_on_line.pl
+++ b/tp/t/results/coverage/group_beginning_and_end_on_line.pl
@@ -31,7 +31,8 @@ $result_trees{'group_beginning_and_end_on_line'} = {
               'type' => 'argument'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -47,7 +48,6 @@ $result_trees{'group_beginning_and_end_on_line'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'group'
               },
diff --git a/tp/t/results/coverage/indentedblock.pl 
b/tp/t/results/coverage/indentedblock.pl
index c19dfecaa7..fe94c65d49 100644
--- a/tp/t/results/coverage/indentedblock.pl
+++ b/tp/t/results/coverage/indentedblock.pl
@@ -54,7 +54,8 @@ $result_trees{'indentedblock'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -70,7 +71,6 @@ $result_trees{'indentedblock'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'indentedblock'
               },
diff --git a/tp/t/results/coverage/insertcopying.pl 
b/tp/t/results/coverage/insertcopying.pl
index 2c4dfbfbd5..343309e5aa 100644
--- a/tp/t/results/coverage/insertcopying.pl
+++ b/tp/t/results/coverage/insertcopying.pl
@@ -67,7 +67,8 @@ $result_trees{'insertcopying'} = {
                   'type' => 'paragraph'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -83,7 +84,6 @@ $result_trees{'insertcopying'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'quotation'
                   },
@@ -102,7 +102,8 @@ $result_trees{'insertcopying'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -118,7 +119,6 @@ $result_trees{'insertcopying'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'copying'
               },
@@ -156,14 +156,14 @@ $result_trees{'insertcopying'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'insertcopying',
+          'contents' => [
             {
               'text' => '
 ',
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'insertcopying',
           'extra' => {},
           'source_info' => {
             'line_nr' => 11
diff --git a/tp/t/results/coverage/item_container.pl 
b/tp/t/results/coverage/item_container.pl
index 1efc92afd6..57a2bb4822 100644
--- a/tp/t/results/coverage/item_container.pl
+++ b/tp/t/results/coverage/item_container.pl
@@ -61,7 +61,8 @@ $result_trees{'item_container'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -77,7 +78,6 @@ $result_trees{'item_container'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize'
               },
@@ -160,7 +160,8 @@ $result_trees{'item_container'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -176,7 +177,6 @@ $result_trees{'item_container'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize'
               },
@@ -257,7 +257,8 @@ $result_trees{'item_container'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -273,7 +274,6 @@ $result_trees{'item_container'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize'
               },
diff --git a/tp/t/results/coverage/multitable.pl 
b/tp/t/results/coverage/multitable.pl
index 7891e15c7c..8c57501cae 100644
--- a/tp/t/results/coverage/multitable.pl
+++ b/tp/t/results/coverage/multitable.pl
@@ -22,7 +22,8 @@ $result_trees{'multitable'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'columnfractions',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -38,7 +39,6 @@ $result_trees{'multitable'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'columnfractions',
                       'extra' => {
                         'misc_args' => [
                           '0.6',
@@ -161,14 +161,14 @@ $result_trees{'multitable'} = {
 '
                             },
                             {
-                              'args' => [
+                              'cmdname' => 'c',
+                              'contents' => [
                                 {
                                   'text' => ' comment in multitable
 ',
                                   'type' => 'rawline_arg'
                                 }
-                              ],
-                              'cmdname' => 'c'
+                              ]
                             }
                           ],
                           'type' => 'paragraph'
@@ -226,7 +226,8 @@ $result_trees{'multitable'} = {
 '
                             },
                             {
-                              'args' => [
+                              'cmdname' => 'cindex',
+                              'contents' => [
                                 {
                                   'contents' => [
                                     {
@@ -242,7 +243,6 @@ $result_trees{'multitable'} = {
                                   'type' => 'line_arg'
                                 }
                               ],
-                              'cmdname' => 'cindex',
                               'extra' => {
                                 'index_entry' => [
                                   'cp',
@@ -313,7 +313,8 @@ $result_trees{'multitable'} = {
               'type' => 'multitable_body'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -329,7 +330,6 @@ $result_trees{'multitable'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'multitable'
               },
@@ -466,7 +466,8 @@ $result_trees{'multitable'} = {
               'type' => 'multitable_body'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -482,7 +483,6 @@ $result_trees{'multitable'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'multitable'
               },
diff --git a/tp/t/results/coverage/nested_block_commands.pl 
b/tp/t/results/coverage/nested_block_commands.pl
index 17d71b4e18..4cff902c39 100644
--- a/tp/t/results/coverage/nested_block_commands.pl
+++ b/tp/t/results/coverage/nested_block_commands.pl
@@ -62,7 +62,8 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'paragraph'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -78,7 +79,6 @@ $result_trees{'nested_block_commands'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'quotation'
                   },
@@ -97,7 +97,8 @@ $result_trees{'nested_block_commands'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -113,7 +114,6 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'group'
               },
@@ -180,7 +180,8 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'paragraph'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -196,7 +197,6 @@ $result_trees{'nested_block_commands'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'quotation'
                   },
@@ -215,7 +215,8 @@ $result_trees{'nested_block_commands'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -231,7 +232,6 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'group'
               },
@@ -307,7 +307,8 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'paragraph'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -323,7 +324,6 @@ $result_trees{'nested_block_commands'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'quotation'
                   },
@@ -351,7 +351,8 @@ $result_trees{'nested_block_commands'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -367,7 +368,6 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'group'
               },
@@ -448,7 +448,8 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'paragraph'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -464,7 +465,6 @@ $result_trees{'nested_block_commands'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'quotation'
                   },
@@ -483,7 +483,8 @@ $result_trees{'nested_block_commands'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -499,7 +500,6 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'group'
               },
@@ -585,7 +585,8 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'paragraph'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -601,7 +602,6 @@ $result_trees{'nested_block_commands'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'quotation'
                   },
@@ -620,7 +620,8 @@ $result_trees{'nested_block_commands'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -636,7 +637,6 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'group'
               },
@@ -717,7 +717,8 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'paragraph'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -733,7 +734,6 @@ $result_trees{'nested_block_commands'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'quotation'
                   },
@@ -752,7 +752,8 @@ $result_trees{'nested_block_commands'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -768,7 +769,6 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'group'
               },
@@ -840,7 +840,8 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'paragraph'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -856,7 +857,6 @@ $result_trees{'nested_block_commands'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'quotation'
                   },
@@ -875,7 +875,8 @@ $result_trees{'nested_block_commands'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -891,7 +892,6 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'group'
               },
@@ -968,7 +968,8 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'empty_line'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -984,7 +985,6 @@ $result_trees{'nested_block_commands'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'quotation'
                   },
@@ -1003,7 +1003,8 @@ $result_trees{'nested_block_commands'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1019,7 +1020,6 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'group'
               },
@@ -1091,7 +1091,8 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'empty_line'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -1107,7 +1108,6 @@ $result_trees{'nested_block_commands'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'quotation'
                   },
@@ -1126,7 +1126,8 @@ $result_trees{'nested_block_commands'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1142,7 +1143,6 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'group'
               },
@@ -1209,7 +1209,8 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'paragraph'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -1225,7 +1226,6 @@ $result_trees{'nested_block_commands'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'quotation'
                   },
@@ -1258,7 +1258,8 @@ $result_trees{'nested_block_commands'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1274,7 +1275,6 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'group'
               },
@@ -1341,7 +1341,8 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'paragraph'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -1357,7 +1358,6 @@ $result_trees{'nested_block_commands'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'quotation'
                   },
@@ -1390,7 +1390,8 @@ $result_trees{'nested_block_commands'} = {
               'type' => 'empty_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1406,7 +1407,6 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'group'
               },
@@ -1473,7 +1473,8 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'paragraph'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -1489,7 +1490,6 @@ $result_trees{'nested_block_commands'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'quotation'
                   },
@@ -1527,7 +1527,8 @@ $result_trees{'nested_block_commands'} = {
               'type' => 'empty_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1543,7 +1544,6 @@ $result_trees{'nested_block_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'group'
               },
diff --git a/tp/t/results/coverage/preformatted.pl 
b/tp/t/results/coverage/preformatted.pl
index a6003f6767..b87f8790d6 100644
--- a/tp/t/results/coverage/preformatted.pl
+++ b/tp/t/results/coverage/preformatted.pl
@@ -50,7 +50,8 @@ $result_trees{'preformatted'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -66,7 +67,6 @@ $result_trees{'preformatted'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
@@ -136,7 +136,8 @@ $result_trees{'preformatted'} = {
                     {
                       'contents' => [
                         {
-                          'args' => [
+                          'cmdname' => 'item',
+                          'contents' => [
                             {
                               'contents' => [
                                 {
@@ -152,7 +153,6 @@ $result_trees{'preformatted'} = {
                               'type' => 'line_arg'
                             }
                           ],
-                          'cmdname' => 'item',
                           'extra' => {
                             'index_entry' => [
                               'vr',
@@ -194,7 +194,8 @@ $result_trees{'preformatted'} = {
                   'type' => 'table_entry'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -210,7 +211,6 @@ $result_trees{'preformatted'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'vtable'
                   },
@@ -237,7 +237,8 @@ $result_trees{'preformatted'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -253,7 +254,6 @@ $result_trees{'preformatted'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'format'
               },
diff --git a/tp/t/results/coverage/punctuation_in_line_commands.pl 
b/tp/t/results/coverage/punctuation_in_line_commands.pl
index 25b1a66ff7..5a0a674bd1 100644
--- a/tp/t/results/coverage/punctuation_in_line_commands.pl
+++ b/tp/t/results/coverage/punctuation_in_line_commands.pl
@@ -111,7 +111,8 @@ $result_trees{'punctuation_in_line_commands'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -127,7 +128,6 @@ $result_trees{'punctuation_in_line_commands'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -144,7 +144,8 @@ $result_trees{'punctuation_in_line_commands'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -160,7 +161,6 @@ $result_trees{'punctuation_in_line_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -223,7 +223,8 @@ $result_trees{'punctuation_in_line_commands'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'exdent',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -239,7 +240,6 @@ $result_trees{'punctuation_in_line_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'exdent',
               'info' => {
                 'spaces_before_argument' => {
                   'text' => ' '
@@ -250,7 +250,8 @@ $result_trees{'punctuation_in_line_commands'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -266,7 +267,6 @@ $result_trees{'punctuation_in_line_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
@@ -366,7 +366,8 @@ $result_trees{'punctuation_in_line_commands'} = {
               'type' => 'spaces_after_close_brace'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -382,7 +383,6 @@ $result_trees{'punctuation_in_line_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'float'
               },
@@ -489,7 +489,8 @@ $result_trees{'punctuation_in_line_commands'} = {
               'type' => 'spaces_after_close_brace'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -505,7 +506,6 @@ $result_trees{'punctuation_in_line_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'float'
               },
@@ -541,7 +541,8 @@ $result_trees{'punctuation_in_line_commands'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'listoffloats',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -557,7 +558,6 @@ $result_trees{'punctuation_in_line_commands'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'listoffloats',
           'extra' => {
             'float_type' => 'float type! After punc'
           },
@@ -576,7 +576,8 @@ $result_trees{'punctuation_in_line_commands'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'cindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -592,7 +593,6 @@ $result_trees{'punctuation_in_line_commands'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'cindex',
           'extra' => {
             'element_node' => {},
             'index_entry' => [
@@ -617,7 +617,8 @@ $result_trees{'punctuation_in_line_commands'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'heading',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -633,7 +634,6 @@ $result_trees{'punctuation_in_line_commands'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'heading',
           'extra' => {},
           'info' => {
             'spaces_before_argument' => {
@@ -676,7 +676,8 @@ $result_trees{'punctuation_in_line_commands'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'center',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -692,7 +693,6 @@ $result_trees{'punctuation_in_line_commands'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'center',
           'info' => {
             'spaces_before_argument' => {
               'text' => ' '
@@ -708,7 +708,8 @@ $result_trees{'punctuation_in_line_commands'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -724,7 +725,6 @@ $result_trees{'punctuation_in_line_commands'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'cp'
@@ -745,14 +745,14 @@ $result_trees{'punctuation_in_line_commands'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'contents',
+          'contents' => [
             {
               'text' => '
 ',
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'contents',
           'extra' => {},
           'source_info' => {
             'line_nr' => 36
diff --git a/tp/t/results/coverage/quotation_author.pl 
b/tp/t/results/coverage/quotation_author.pl
index a65e7c58c2..bcb53e1261 100644
--- a/tp/t/results/coverage/quotation_author.pl
+++ b/tp/t/results/coverage/quotation_author.pl
@@ -32,7 +32,8 @@ $result_trees{'quotation_author'} = {
               'type' => 'empty_line'
             },
             {
-              'args' => [
+              'cmdname' => 'author',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -48,7 +49,6 @@ $result_trees{'quotation_author'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'author',
               'extra' => {
                 'quotation' => {}
               },
@@ -68,7 +68,8 @@ $result_trees{'quotation_author'} = {
 '
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'author',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -103,7 +104,6 @@ $result_trees{'quotation_author'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'author',
                   'extra' => {
                     'quotation' => {}
                   },
@@ -129,7 +129,8 @@ $result_trees{'quotation_author'} = {
               'type' => 'empty_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -145,7 +146,6 @@ $result_trees{'quotation_author'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
diff --git a/tp/t/results/coverage/raggedright.pl 
b/tp/t/results/coverage/raggedright.pl
index d19c1ec50e..e8bb1f8668 100644
--- a/tp/t/results/coverage/raggedright.pl
+++ b/tp/t/results/coverage/raggedright.pl
@@ -41,7 +41,8 @@ $result_trees{'raggedright'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -57,7 +58,6 @@ $result_trees{'raggedright'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'raggedright'
               },
diff --git a/tp/t/results/coverage/setfilename_in_paragraph.pl 
b/tp/t/results/coverage/setfilename_in_paragraph.pl
index 937dab9d98..4975c57b41 100644
--- a/tp/t/results/coverage/setfilename_in_paragraph.pl
+++ b/tp/t/results/coverage/setfilename_in_paragraph.pl
@@ -19,7 +19,8 @@ $result_trees{'setfilename_in_paragraph'} = {
           'type' => 'paragraph'
         },
         {
-          'args' => [
+          'cmdname' => 'setfilename',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -35,7 +36,6 @@ $result_trees{'setfilename_in_paragraph'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'setfilename',
           'extra' => {
             'text_arg' => 'setfilename_in_paragraph.info'
           },
diff --git a/tp/t/results/coverage/symbol_after_block.pl 
b/tp/t/results/coverage/symbol_after_block.pl
index 5cbb4370a4..64387728be 100644
--- a/tp/t/results/coverage/symbol_after_block.pl
+++ b/tp/t/results/coverage/symbol_after_block.pl
@@ -36,7 +36,8 @@ $result_trees{'symbol_after_block'} = {
               'type' => 'rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -52,7 +53,6 @@ $result_trees{'symbol_after_block'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'html. On the line.'
               },
@@ -102,7 +102,8 @@ $result_trees{'symbol_after_block'} = {
               'type' => 'rawpreformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -124,7 +125,6 @@ $result_trees{'symbol_after_block'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'html@ On the line.'
               },
@@ -184,7 +184,8 @@ $result_trees{'symbol_after_block'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -200,7 +201,6 @@ $result_trees{'symbol_after_block'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'verbatim;'
               },
@@ -246,7 +246,8 @@ $result_trees{'symbol_after_block'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -265,7 +266,6 @@ $result_trees{'symbol_after_block'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'verbatim@'
               },
@@ -332,7 +332,8 @@ $result_trees{'symbol_after_block'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -348,7 +349,6 @@ $result_trees{'symbol_after_block'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -379,7 +379,8 @@ $result_trees{'symbol_after_block'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -395,7 +396,6 @@ $result_trees{'symbol_after_block'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table+'
               },
@@ -456,7 +456,8 @@ $result_trees{'symbol_after_block'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -472,7 +473,6 @@ $result_trees{'symbol_after_block'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -503,7 +503,8 @@ $result_trees{'symbol_after_block'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -522,7 +523,6 @@ $result_trees{'symbol_after_block'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table@'
               },
@@ -617,7 +617,8 @@ $result_trees{'symbol_after_block'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -633,7 +634,6 @@ $result_trees{'symbol_after_block'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize\'\''
               },
@@ -714,7 +714,8 @@ $result_trees{'symbol_after_block'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -733,7 +734,6 @@ $result_trees{'symbol_after_block'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'itemize@'
               },
@@ -786,7 +786,8 @@ $result_trees{'symbol_after_block'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'columnfractions',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -802,7 +803,6 @@ $result_trees{'symbol_after_block'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'columnfractions',
                       'extra' => {
                         'misc_args' => [
                           '6',
@@ -945,7 +945,8 @@ $result_trees{'symbol_after_block'} = {
               'type' => 'multitable_body'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -961,7 +962,6 @@ $result_trees{'symbol_after_block'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'multitable^'
               },
@@ -1001,7 +1001,8 @@ $result_trees{'symbol_after_block'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'columnfractions',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -1017,7 +1018,6 @@ $result_trees{'symbol_after_block'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'columnfractions',
                       'extra' => {
                         'misc_args' => [
                           '6',
@@ -1160,7 +1160,8 @@ $result_trees{'symbol_after_block'} = {
               'type' => 'multitable_body'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1179,7 +1180,6 @@ $result_trees{'symbol_after_block'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'multitable{'
               },
@@ -1252,7 +1252,8 @@ $result_trees{'symbol_after_block'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1268,7 +1269,6 @@ $result_trees{'symbol_after_block'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'flushleft!'
               },
@@ -1318,7 +1318,8 @@ $result_trees{'symbol_after_block'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1337,7 +1338,6 @@ $result_trees{'symbol_after_block'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'flushleft@'
               },
@@ -1401,7 +1401,8 @@ $result_trees{'symbol_after_block'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1417,7 +1418,6 @@ $result_trees{'symbol_after_block'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'copying*'
               },
@@ -1467,7 +1467,8 @@ $result_trees{'symbol_after_block'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1486,7 +1487,6 @@ $result_trees{'symbol_after_block'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'copying@'
               },
diff --git a/tp/t/results/coverage/symbol_after_command.pl 
b/tp/t/results/coverage/symbol_after_command.pl
index c14a7a3931..ea57a55ecb 100644
--- a/tp/t/results/coverage/symbol_after_command.pl
+++ b/tp/t/results/coverage/symbol_after_command.pl
@@ -39,7 +39,8 @@ $result_trees{'symbol_after_command'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -55,7 +56,6 @@ $result_trees{'symbol_after_command'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'source_info' => {
                         'line_nr' => 2
                       }
@@ -71,7 +71,8 @@ $result_trees{'symbol_after_command'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -87,7 +88,6 @@ $result_trees{'symbol_after_command'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'source_info' => {
                         'line_nr' => 3
                       }
@@ -103,7 +103,8 @@ $result_trees{'symbol_after_command'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -125,7 +126,6 @@ $result_trees{'symbol_after_command'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'source_info' => {
                         'line_nr' => 4
                       }
@@ -141,7 +141,8 @@ $result_trees{'symbol_after_command'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -163,7 +164,6 @@ $result_trees{'symbol_after_command'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'source_info' => {
                         'line_nr' => 5
                       }
@@ -179,7 +179,8 @@ $result_trees{'symbol_after_command'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -195,7 +196,6 @@ $result_trees{'symbol_after_command'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'source_info' => {
                         'line_nr' => 6
                       }
@@ -211,7 +211,8 @@ $result_trees{'symbol_after_command'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -227,7 +228,6 @@ $result_trees{'symbol_after_command'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'source_info' => {
                         'line_nr' => 7
                       }
@@ -243,7 +243,8 @@ $result_trees{'symbol_after_command'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -259,7 +260,6 @@ $result_trees{'symbol_after_command'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'source_info' => {
                         'line_nr' => 8
                       }
@@ -271,7 +271,8 @@ $result_trees{'symbol_after_command'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -287,7 +288,6 @@ $result_trees{'symbol_after_command'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
diff --git a/tp/t/results/coverage/table.pl b/tp/t/results/coverage/table.pl
index 9a4c393774..36e3902887 100644
--- a/tp/t/results/coverage/table.pl
+++ b/tp/t/results/coverage/table.pl
@@ -44,7 +44,8 @@ $result_trees{'table'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -60,7 +61,6 @@ $result_trees{'table'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -71,7 +71,8 @@ $result_trees{'table'} = {
                       }
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'itemx',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -87,7 +88,6 @@ $result_trees{'table'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'itemx',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -123,7 +123,8 @@ $result_trees{'table'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -139,7 +140,6 @@ $result_trees{'table'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
@@ -186,14 +186,14 @@ $result_trees{'table'} = {
                   ],
                   'info' => {
                     'comment_at_end' => {
-                      'args' => [
+                      'cmdname' => 'c',
+                      'contents' => [
                         {
                           'text' => ' samp
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'c'
+                      ]
                     }
                   },
                   'type' => 'block_line_arg'
@@ -204,17 +204,18 @@ $result_trees{'table'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'c',
+                  'contents' => [
                     {
                       'text' => ' after vtable
 ',
                       'type' => 'rawline_arg'
                     }
-                  ],
-                  'cmdname' => 'c'
+                  ]
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -230,7 +231,6 @@ $result_trees{'table'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'index_entry' => [
                       'cp',
@@ -261,7 +261,8 @@ $result_trees{'table'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -277,7 +278,6 @@ $result_trees{'table'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'extra' => {
                         'index_entry' => [
                           'vr',
@@ -296,20 +296,21 @@ $result_trees{'table'} = {
                     {
                       'contents' => [
                         {
-                          'args' => [
+                          'cmdname' => 'c',
+                          'contents' => [
                             {
                               'text' => ' after item
 ',
                               'type' => 'rawline_arg'
                             }
-                          ],
-                          'cmdname' => 'c'
+                          ]
                         }
                       ],
                       'type' => 'inter_item'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'kindex',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -325,7 +326,6 @@ $result_trees{'table'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'kindex',
                       'extra' => {
                         'index_entry' => [
                           'ky',
@@ -344,7 +344,8 @@ $result_trees{'table'} = {
                       'type' => 'index_entry_command'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'itemx',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -353,14 +354,14 @@ $result_trees{'table'} = {
                           ],
                           'info' => {
                             'comment_at_end' => {
-                              'args' => [
+                              'cmdname' => 'comment',
+                              'contents' => [
                                 {
                                   'text' => ' comment in itemx line
 ',
                                   'type' => 'rawline_arg'
                                 }
-                              ],
-                              'cmdname' => 'comment'
+                              ]
                             },
                             'spaces_after_argument' => {
                               'text' => ' '
@@ -369,7 +370,6 @@ $result_trees{'table'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'itemx',
                       'extra' => {
                         'index_entry' => [
                           'vr',
@@ -402,7 +402,8 @@ $result_trees{'table'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -418,7 +419,6 @@ $result_trees{'table'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'vtable'
               },
@@ -479,7 +479,8 @@ $result_trees{'table'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -495,7 +496,6 @@ $result_trees{'table'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -512,7 +512,8 @@ $result_trees{'table'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -528,7 +529,6 @@ $result_trees{'table'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
diff --git a/tp/t/results/coverage/table_command_comment.pl 
b/tp/t/results/coverage/table_command_comment.pl
index 496831c155..53555cf70c 100644
--- a/tp/t/results/coverage/table_command_comment.pl
+++ b/tp/t/results/coverage/table_command_comment.pl
@@ -25,14 +25,14 @@ $result_trees{'table_command_comment'} = {
                   ],
                   'info' => {
                     'comment_at_end' => {
-                      'args' => [
+                      'cmdname' => 'c',
+                      'contents' => [
                         {
                           'text' => ' in comment
 ',
                           'type' => 'rawline_arg'
                         }
-                      ],
-                      'cmdname' => 'c'
+                      ]
                     }
                   },
                   'type' => 'block_line_arg'
@@ -45,7 +45,8 @@ $result_trees{'table_command_comment'} = {
                 {
                   'contents' => [
                     {
-                      'args' => [
+                      'cmdname' => 'item',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -61,7 +62,6 @@ $result_trees{'table_command_comment'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'item',
                       'info' => {
                         'spaces_before_argument' => {
                           'text' => ' '
@@ -78,7 +78,8 @@ $result_trees{'table_command_comment'} = {
               'type' => 'table_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -88,7 +89,6 @@ $result_trees{'table_command_comment'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'table'
               },
diff --git a/tp/t/results/coverage/titlefont_in_center.pl 
b/tp/t/results/coverage/titlefont_in_center.pl
index 63b640468d..5c732c5ebb 100644
--- a/tp/t/results/coverage/titlefont_in_center.pl
+++ b/tp/t/results/coverage/titlefont_in_center.pl
@@ -15,7 +15,8 @@ $result_trees{'titlefont_in_center'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'center',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -45,7 +46,6 @@ $result_trees{'titlefont_in_center'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'center',
           'info' => {
             'spaces_before_argument' => {
               'text' => ' '
diff --git a/tp/t/results/coverage/verbatiminclude.pl 
b/tp/t/results/coverage/verbatiminclude.pl
index 547f6b0de0..2193acea60 100644
--- a/tp/t/results/coverage/verbatiminclude.pl
+++ b/tp/t/results/coverage/verbatiminclude.pl
@@ -15,7 +15,8 @@ $result_trees{'verbatiminclude'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'verbatiminclude',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -31,7 +32,6 @@ $result_trees{'verbatiminclude'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'verbatiminclude',
           'extra' => {
             'input_encoding_name' => 'utf-8',
             'text_arg' => 'incl-incl.txi'
diff --git a/tp/t/results/coverage_braces/brace_opened_no_command.pl 
b/tp/t/results/coverage_braces/brace_opened_no_command.pl
index 04cbc94cd0..378e2655fa 100644
--- a/tp/t/results/coverage_braces/brace_opened_no_command.pl
+++ b/tp/t/results/coverage_braces/brace_opened_no_command.pl
@@ -51,13 +51,13 @@ $result_trees{'brace_opened_no_command'} = {
       'type' => 'before_node_section'
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git a/tp/t/results/coverage_braces/caption_not_closed.pl 
b/tp/t/results/coverage_braces/caption_not_closed.pl
index 495f8ded13..b5503a0a79 100644
--- a/tp/t/results/coverage_braces/caption_not_closed.pl
+++ b/tp/t/results/coverage_braces/caption_not_closed.pl
@@ -97,7 +97,8 @@ $result_trees{'caption_not_closed'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -113,7 +114,6 @@ $result_trees{'caption_not_closed'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'float'
               },
@@ -149,14 +149,14 @@ $result_trees{'caption_not_closed'} = {
       'type' => 'before_node_section'
     },
     {
-      'args' => [
+      'cmdname' => 'bye',
+      'contents' => [
         {
           'text' => '
 ',
           'type' => 'rawline_arg'
         }
-      ],
-      'cmdname' => 'bye'
+      ]
     }
   ],
   'type' => 'document_root'
diff --git a/tp/t/results/coverage_braces/contain_plain_text_nestings.pl 
b/tp/t/results/coverage_braces/contain_plain_text_nestings.pl
index 3d01283d18..30be0ba520 100644
--- a/tp/t/results/coverage_braces/contain_plain_text_nestings.pl
+++ b/tp/t/results/coverage_braces/contain_plain_text_nestings.pl
@@ -264,7 +264,8 @@ $result_trees{'contain_plain_text_nestings'} = {
 '
             },
             {
-              'args' => [
+              'cmdname' => 'cindex',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -316,7 +317,6 @@ $result_trees{'contain_plain_text_nestings'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'cindex',
               'extra' => {
                 'element_node' => {},
                 'index_entry' => [
@@ -345,14 +345,14 @@ $result_trees{'contain_plain_text_nestings'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'c',
+          'contents' => [
             {
               'text' => ' no warning for @ref in @w
 ',
               'type' => 'rawline_arg'
             }
-          ],
-          'cmdname' => 'c'
+          ]
         },
         {
           'contents' => [
@@ -533,7 +533,8 @@ $result_trees{'contain_plain_text_nestings'} = {
 '
             },
             {
-              'args' => [
+              'cmdname' => 'cindex',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -606,7 +607,6 @@ $result_trees{'contain_plain_text_nestings'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'cindex',
               'extra' => {
                 'element_node' => {},
                 'index_entry' => [
@@ -635,7 +635,8 @@ $result_trees{'contain_plain_text_nestings'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -651,7 +652,6 @@ $result_trees{'contain_plain_text_nestings'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'cp'
@@ -686,7 +686,7 @@ 
$result_trees{'contain_plain_text_nestings'}{'contents'}[4]{'contents'}[2]{'cont
 
$result_trees{'contain_plain_text_nestings'}{'contents'}[4]{'contents'}[5]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'contain_plain_text_nestings'}{'contents'}[4]{'contents'}[5]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0];
 
$result_trees{'contain_plain_text_nestings'}{'contents'}[4]{'contents'}[5]{'contents'}[3]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'contain_plain_text_nestings'}{'contents'}[4]{'contents'}[5]{'contents'}[3]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0];
 
$result_trees{'contain_plain_text_nestings'}{'contents'}[4]{'contents'}[5]{'contents'}[5]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'contain_plain_text_nestings'}{'contents'}[4]{'contents'}[5]{'contents'}[5]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0];
-$result_trees{'contain_plain_text_nestings'}{'contents'}[4]{'contents'}[5]{'contents'}[7]{'args'}[0]{'contents'}[2]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'contain_plain_text_nestings'}{'contents'}[4]{'contents'}[5]{'contents'}[7]{'args'}[0]{'contents'}[2]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0];
+$result_trees{'contain_plain_text_nestings'}{'contents'}[4]{'contents'}[5]{'contents'}[7]{'contents'}[0]{'contents'}[2]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'contain_plain_text_nestings'}{'contents'}[4]{'contents'}[5]{'contents'}[7]{'contents'}[0]{'contents'}[2]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0];
 
$result_trees{'contain_plain_text_nestings'}{'contents'}[4]{'contents'}[5]{'contents'}[7]{'extra'}{'element_node'}
 = $result_trees{'contain_plain_text_nestings'}{'contents'}[3];
 
 $result_texis{'contain_plain_text_nestings'} = '@node Top
diff --git a/tp/t/results/coverage_braces/definfoenclose_bad_argument.pl 
b/tp/t/results/coverage_braces/definfoenclose_bad_argument.pl
index f03c55c851..14ff4354e6 100644
--- a/tp/t/results/coverage_braces/definfoenclose_bad_argument.pl
+++ b/tp/t/results/coverage_braces/definfoenclose_bad_argument.pl
@@ -10,7 +10,8 @@ $result_trees{'definfoenclose_bad_argument'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'definfoenclose',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -20,7 +21,6 @@ $result_trees{'definfoenclose_bad_argument'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'definfoenclose',
           'info' => {
             'spaces_before_argument' => {
               'text' => ' '
diff --git a/tp/t/results/coverage_braces/definfoenclose_no_braces.pl 
b/tp/t/results/coverage_braces/definfoenclose_no_braces.pl
index 61e58a2825..ae756497ff 100644
--- a/tp/t/results/coverage_braces/definfoenclose_no_braces.pl
+++ b/tp/t/results/coverage_braces/definfoenclose_no_braces.pl
@@ -10,7 +10,8 @@ $result_trees{'definfoenclose_no_braces'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'definfoenclose',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -26,7 +27,6 @@ $result_trees{'definfoenclose_no_braces'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'definfoenclose',
           'extra' => {
             'misc_args' => [
               'phoo',
diff --git a/tp/t/results/coverage_braces/definfoenclose_texinfo_commands.pl 
b/tp/t/results/coverage_braces/definfoenclose_texinfo_commands.pl
index 2b7d8dde9b..6ea57a4b96 100644
--- a/tp/t/results/coverage_braces/definfoenclose_texinfo_commands.pl
+++ b/tp/t/results/coverage_braces/definfoenclose_texinfo_commands.pl
@@ -10,7 +10,8 @@ $result_trees{'definfoenclose_texinfo_commands'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'definfoenclose',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -26,7 +27,6 @@ $result_trees{'definfoenclose_texinfo_commands'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'definfoenclose',
           'extra' => {
             'misc_args' => [
               'verb',
@@ -44,7 +44,8 @@ $result_trees{'definfoenclose_texinfo_commands'} = {
           }
         },
         {
-          'args' => [
+          'cmdname' => 'definfoenclose',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -60,7 +61,6 @@ $result_trees{'definfoenclose_texinfo_commands'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'definfoenclose',
           'extra' => {
             'misc_args' => [
               'TeX',
@@ -78,7 +78,8 @@ $result_trees{'definfoenclose_texinfo_commands'} = {
           }
         },
         {
-          'args' => [
+          'cmdname' => 'definfoenclose',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -94,7 +95,6 @@ $result_trees{'definfoenclose_texinfo_commands'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'definfoenclose',
           'extra' => {
             'misc_args' => [
               'strong',
@@ -112,7 +112,8 @@ $result_trees{'definfoenclose_texinfo_commands'} = {
           }
         },
         {
-          'args' => [
+          'cmdname' => 'definfoenclose',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -128,7 +129,6 @@ $result_trees{'definfoenclose_texinfo_commands'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'definfoenclose',
           'extra' => {
             'misc_args' => [
               'quotation',
@@ -268,7 +268,8 @@ $result_trees{'definfoenclose_texinfo_commands'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -284,7 +285,6 @@ $result_trees{'definfoenclose_texinfo_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
diff --git a/tp/t/results/coverage_braces/format_on_first_footnote_line.pl 
b/tp/t/results/coverage_braces/format_on_first_footnote_line.pl
index 51dcb7fe70..544cb2bc30 100644
--- a/tp/t/results/coverage_braces/format_on_first_footnote_line.pl
+++ b/tp/t/results/coverage_braces/format_on_first_footnote_line.pl
@@ -46,7 +46,8 @@ $result_trees{'format_on_first_footnote_line'} = {
                           'type' => 'paragraph'
                         },
                         {
-                          'args' => [
+                          'cmdname' => 'end',
+                          'contents' => [
                             {
                               'contents' => [
                                 {
@@ -62,7 +63,6 @@ $result_trees{'format_on_first_footnote_line'} = {
                               'type' => 'line_arg'
                             }
                           ],
-                          'cmdname' => 'end',
                           'extra' => {
                             'text_arg' => 'quotation'
                           },
@@ -138,7 +138,8 @@ $result_trees{'format_on_first_footnote_line'} = {
                           'type' => 'preformatted'
                         },
                         {
-                          'args' => [
+                          'cmdname' => 'end',
+                          'contents' => [
                             {
                               'contents' => [
                                 {
@@ -154,7 +155,6 @@ $result_trees{'format_on_first_footnote_line'} = {
                               'type' => 'line_arg'
                             }
                           ],
-                          'cmdname' => 'end',
                           'extra' => {
                             'text_arg' => 'example'
                           },
diff --git a/tp/t/results/coverage_braces/heading_in_footnote.pl 
b/tp/t/results/coverage_braces/heading_in_footnote.pl
index 360466c412..10d794aae3 100644
--- a/tp/t/results/coverage_braces/heading_in_footnote.pl
+++ b/tp/t/results/coverage_braces/heading_in_footnote.pl
@@ -29,7 +29,8 @@ $result_trees{'heading_in_footnote'} = {
                       'type' => 'paragraph'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'heading',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -45,7 +46,6 @@ $result_trees{'heading_in_footnote'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'heading',
                       'extra' => {},
                       'info' => {
                         'spaces_before_argument' => {
@@ -57,7 +57,8 @@ $result_trees{'heading_in_footnote'} = {
                       }
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'cindex',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -73,7 +74,6 @@ $result_trees{'heading_in_footnote'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'cindex',
                       'extra' => {
                         'index_entry' => [
                           'cp',
diff --git a/tp/t/results/coverage_braces/kbd.pl 
b/tp/t/results/coverage_braces/kbd.pl
index 44aa379ad9..24767f4bcc 100644
--- a/tp/t/results/coverage_braces/kbd.pl
+++ b/tp/t/results/coverage_braces/kbd.pl
@@ -207,7 +207,8 @@ $result_trees{'kbd'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -223,7 +224,6 @@ $result_trees{'kbd'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
@@ -313,7 +313,8 @@ $result_trees{'kbd'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -329,7 +330,6 @@ $result_trees{'kbd'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'format'
               },
diff --git a/tp/t/results/coverage_braces/seeentry_no_braces.pl 
b/tp/t/results/coverage_braces/seeentry_no_braces.pl
index 6d7c8e7935..7b8f347e50 100644
--- a/tp/t/results/coverage_braces/seeentry_no_braces.pl
+++ b/tp/t/results/coverage_braces/seeentry_no_braces.pl
@@ -149,7 +149,8 @@ $result_trees{'seeentry_no_braces'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -165,7 +166,6 @@ $result_trees{'seeentry_no_braces'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'cp'
@@ -186,7 +186,8 @@ $result_trees{'seeentry_no_braces'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'cindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -206,7 +207,6 @@ $result_trees{'seeentry_no_braces'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'cindex',
           'extra' => {
             'element_node' => {},
             'index_entry' => [
diff --git a/tp/t/results/coverage_braces/test_image.pl 
b/tp/t/results/coverage_braces/test_image.pl
index 3a1e80354f..eec9502374 100644
--- a/tp/t/results/coverage_braces/test_image.pl
+++ b/tp/t/results/coverage_braces/test_image.pl
@@ -37,7 +37,8 @@ $result_trees{'test_image'} = {
               'type' => 'raw'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -53,7 +54,6 @@ $result_trees{'test_image'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'macro'
               },
@@ -549,7 +549,8 @@ $result_trees{'test_image'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -565,7 +566,6 @@ $result_trees{'test_image'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'copying'
               },
@@ -1111,14 +1111,14 @@ $result_trees{'test_image'} = {
           'type' => 'paragraph'
         },
         {
-          'args' => [
+          'cmdname' => 'insertcopying',
+          'contents' => [
             {
               'text' => '
 ',
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'insertcopying',
           'extra' => {},
           'source_info' => {
             'line_nr' => 18
@@ -1591,7 +1591,8 @@ $result_trees{'test_image'} = {
               'type' => 'preformatted'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1607,7 +1608,6 @@ $result_trees{'test_image'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
@@ -2574,7 +2574,8 @@ $result_trees{'test_image'} = {
               'type' => 'spaces_after_close_brace'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2590,7 +2591,6 @@ $result_trees{'test_image'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'float'
               },
@@ -2625,7 +2625,8 @@ $result_trees{'test_image'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'listoffloats',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -2641,7 +2642,6 @@ $result_trees{'test_image'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'listoffloats',
           'extra' => {
             'float_type' => 'Image'
           },
diff --git a/tp/t/results/coverage_braces/two_footnotes_in_nodes.pl 
b/tp/t/results/coverage_braces/two_footnotes_in_nodes.pl
index f41378d004..e53281180b 100644
--- a/tp/t/results/coverage_braces/two_footnotes_in_nodes.pl
+++ b/tp/t/results/coverage_braces/two_footnotes_in_nodes.pl
@@ -248,7 +248,8 @@ $result_trees{'two_footnotes_in_nodes'} = {
               'type' => 'menu_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -264,7 +265,6 @@ $result_trees{'two_footnotes_in_nodes'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'menu'
               },
diff --git a/tp/t/results/coverage_braces/two_footnotes_in_nodes_separate.pl 
b/tp/t/results/coverage_braces/two_footnotes_in_nodes_separate.pl
index 9dc2ca2035..44561e998f 100644
--- a/tp/t/results/coverage_braces/two_footnotes_in_nodes_separate.pl
+++ b/tp/t/results/coverage_braces/two_footnotes_in_nodes_separate.pl
@@ -12,7 +12,8 @@ $result_trees{'two_footnotes_in_nodes_separate'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'footnotestyle',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -28,7 +29,6 @@ $result_trees{'two_footnotes_in_nodes_separate'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'footnotestyle',
               'extra' => {
                 'misc_args' => [
                   'separate'
@@ -282,7 +282,8 @@ $result_trees{'two_footnotes_in_nodes_separate'} = {
               'type' => 'menu_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -298,7 +299,6 @@ $result_trees{'two_footnotes_in_nodes_separate'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'menu'
               },
diff --git 
a/tp/t/results/coverage_braces/two_footnotes_in_nodes_separate_no_header.pl 
b/tp/t/results/coverage_braces/two_footnotes_in_nodes_separate_no_header.pl
index cb59c08e45..39b0767175 100644
--- a/tp/t/results/coverage_braces/two_footnotes_in_nodes_separate_no_header.pl
+++ b/tp/t/results/coverage_braces/two_footnotes_in_nodes_separate_no_header.pl
@@ -12,7 +12,8 @@ $result_trees{'two_footnotes_in_nodes_separate_no_header'} = {
         {
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'footnotestyle',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -28,7 +29,6 @@ $result_trees{'two_footnotes_in_nodes_separate_no_header'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'footnotestyle',
               'extra' => {
                 'misc_args' => [
                   'separate'
@@ -282,7 +282,8 @@ $result_trees{'two_footnotes_in_nodes_separate_no_header'} 
= {
               'type' => 'menu_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -298,7 +299,6 @@ $result_trees{'two_footnotes_in_nodes_separate_no_header'} 
= {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'menu'
               },
diff --git a/tp/t/results/def/adjacent_defline.pl 
b/tp/t/results/def/adjacent_defline.pl
index 53013e20c8..db41b4a218 100644
--- a/tp/t/results/def/adjacent_defline.pl
+++ b/tp/t/results/def/adjacent_defline.pl
@@ -257,7 +257,8 @@ $result_trees{'adjacent_defline'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -273,7 +274,6 @@ $result_trees{'adjacent_defline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defblock'
               },
diff --git a/tp/t/results/def/all_commands.pl b/tp/t/results/def/all_commands.pl
index 4386b3339e..cdbd5daba7 100644
--- a/tp/t/results/def/all_commands.pl
+++ b/tp/t/results/def/all_commands.pl
@@ -97,7 +97,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -113,7 +114,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defvr'
               },
@@ -246,7 +246,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -262,7 +263,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -378,7 +378,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -394,7 +395,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -544,7 +544,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -560,7 +561,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -693,7 +693,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -709,7 +710,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -929,7 +929,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -945,7 +946,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -1148,7 +1148,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1164,7 +1165,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -1297,7 +1297,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1313,7 +1314,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypevr'
               },
@@ -1446,7 +1446,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1462,7 +1463,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defcv'
               },
@@ -1612,7 +1612,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1628,7 +1629,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defcv'
               },
@@ -1831,7 +1831,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1847,7 +1848,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypecv'
               },
@@ -2067,7 +2067,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2083,7 +2084,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypecv'
               },
@@ -2286,7 +2286,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2302,7 +2303,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defop'
               },
@@ -2488,7 +2488,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2504,7 +2505,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defop'
               },
@@ -2637,7 +2637,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2653,7 +2654,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftp'
               },
@@ -2792,7 +2792,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2808,7 +2809,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defun'
               },
@@ -2947,7 +2947,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2963,7 +2964,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defmac'
               },
@@ -3102,7 +3102,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3118,7 +3119,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defspec'
               },
@@ -3240,7 +3240,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3256,7 +3257,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defvar'
               },
@@ -3412,7 +3412,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3428,7 +3429,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defvar'
               },
@@ -3550,7 +3550,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3566,7 +3567,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defopt'
               },
@@ -3722,7 +3722,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3738,7 +3739,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefun'
               },
@@ -3877,7 +3877,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3893,7 +3894,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypevar'
               },
@@ -4085,7 +4085,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -4101,7 +4102,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defivar'
               },
@@ -4310,7 +4310,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -4326,7 +4327,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeivar'
               },
@@ -4535,7 +4535,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -4551,7 +4552,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defmethod'
               },
@@ -4777,7 +4777,8 @@ $result_trees{'all_commands'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -4793,7 +4794,6 @@ $result_trees{'all_commands'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypemethod'
               },
diff --git a/tp/t/results/def/all_commands_delimiters.pl 
b/tp/t/results/def/all_commands_delimiters.pl
index 411a4406d7..b83ca37652 100644
--- a/tp/t/results/def/all_commands_delimiters.pl
+++ b/tp/t/results/def/all_commands_delimiters.pl
@@ -432,7 +432,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -448,7 +449,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -846,7 +846,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -862,7 +863,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defvr'
               },
@@ -1090,7 +1090,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1106,7 +1107,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -1632,7 +1632,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1648,7 +1649,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -1790,7 +1790,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1806,7 +1807,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -2162,7 +2162,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2178,7 +2179,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -2556,7 +2556,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2572,7 +2573,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypevr'
               },
@@ -2967,7 +2967,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2983,7 +2984,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftp'
               },
@@ -3361,7 +3361,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3377,7 +3378,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defcv'
               },
@@ -3838,7 +3838,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3854,7 +3855,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypecv'
               },
@@ -4282,7 +4282,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -4298,7 +4299,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defop'
               },
@@ -4756,7 +4756,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -4772,7 +4773,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -5008,7 +5008,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -5024,7 +5025,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -5266,7 +5266,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -5282,7 +5283,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -5524,7 +5524,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -5540,7 +5541,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -5776,7 +5776,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -5792,7 +5793,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -6028,7 +6028,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -6044,7 +6045,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -6286,7 +6286,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -6302,7 +6303,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -6544,7 +6544,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -6560,7 +6561,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -6796,7 +6796,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -6812,7 +6813,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -7048,7 +7048,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -7064,7 +7065,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -7306,7 +7306,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -7322,7 +7323,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -7564,7 +7564,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -7580,7 +7581,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -7816,7 +7816,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -7832,7 +7833,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -8068,7 +8068,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -8084,7 +8085,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -8350,7 +8350,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -8366,7 +8367,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -8525,7 +8525,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -8541,7 +8542,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defun'
               },
@@ -8739,7 +8739,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -8755,7 +8756,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -8953,7 +8953,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -8969,7 +8970,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -9167,7 +9167,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -9183,7 +9184,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defvr'
               },
@@ -9381,7 +9381,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -9397,7 +9398,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defvr'
               },
@@ -9625,7 +9625,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -9641,7 +9642,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -9869,7 +9869,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -9885,7 +9886,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -10113,7 +10113,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -10129,7 +10130,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypevr'
               },
@@ -10357,7 +10357,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -10373,7 +10374,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypevr'
               },
@@ -10571,7 +10571,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -10587,7 +10588,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftp'
               },
@@ -10785,7 +10785,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -10801,7 +10802,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftp'
               },
@@ -11029,7 +11029,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -11045,7 +11046,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defcv'
               },
@@ -11273,7 +11273,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -11289,7 +11290,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftp'
               },
@@ -11630,7 +11630,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -11646,7 +11647,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypecv'
               },
@@ -11987,7 +11987,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -12003,7 +12004,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypecv'
               },
@@ -12314,7 +12314,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -12330,7 +12331,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defop'
               },
@@ -12641,7 +12641,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -12657,7 +12658,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defop'
               },
@@ -12998,7 +12998,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -13014,7 +13015,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -13355,7 +13355,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -13371,7 +13372,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -13619,7 +13619,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -13635,7 +13636,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -13883,7 +13883,8 @@ $result_trees{'all_commands_delimiters'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -13899,7 +13900,6 @@ $result_trees{'all_commands_delimiters'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
diff --git a/tp/t/results/def/all_commands_delimiters_printindex.pl 
b/tp/t/results/def/all_commands_delimiters_printindex.pl
index a762390fb0..eb24f5c9de 100644
--- a/tp/t/results/def/all_commands_delimiters_printindex.pl
+++ b/tp/t/results/def/all_commands_delimiters_printindex.pl
@@ -497,7 +497,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -513,7 +514,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -912,7 +912,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -928,7 +929,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defvr'
               },
@@ -1157,7 +1157,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1173,7 +1174,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -1700,7 +1700,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1716,7 +1717,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -1859,7 +1859,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1875,7 +1876,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -2232,7 +2232,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2248,7 +2249,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -2627,7 +2627,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2643,7 +2644,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypevr'
               },
@@ -3039,7 +3039,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3055,7 +3056,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftp'
               },
@@ -3434,7 +3434,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3450,7 +3451,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defcv'
               },
@@ -3912,7 +3912,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3928,7 +3929,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypecv'
               },
@@ -4357,7 +4357,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -4373,7 +4374,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defop'
               },
@@ -4832,7 +4832,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -4848,7 +4849,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -5085,7 +5085,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -5101,7 +5102,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -5344,7 +5344,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -5360,7 +5361,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -5603,7 +5603,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -5619,7 +5620,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -5856,7 +5856,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -5872,7 +5873,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -6109,7 +6109,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -6125,7 +6126,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -6368,7 +6368,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -6384,7 +6385,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -6627,7 +6627,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -6643,7 +6644,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -6880,7 +6880,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -6896,7 +6897,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -7133,7 +7133,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -7149,7 +7150,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -7392,7 +7392,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -7408,7 +7409,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -7651,7 +7651,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -7667,7 +7668,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -7904,7 +7904,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -7920,7 +7921,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -8157,7 +8157,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -8173,7 +8174,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -8440,7 +8440,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -8456,7 +8457,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -8616,7 +8616,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -8632,7 +8633,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defun'
               },
@@ -8831,7 +8831,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -8847,7 +8848,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -9046,7 +9046,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -9062,7 +9063,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -9261,7 +9261,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -9277,7 +9278,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defvr'
               },
@@ -9476,7 +9476,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -9492,7 +9493,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defvr'
               },
@@ -9721,7 +9721,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -9737,7 +9738,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -9966,7 +9966,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -9982,7 +9983,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -10211,7 +10211,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -10227,7 +10228,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypevr'
               },
@@ -10456,7 +10456,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -10472,7 +10473,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypevr'
               },
@@ -10671,7 +10671,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -10687,7 +10688,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftp'
               },
@@ -10886,7 +10886,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -10902,7 +10903,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftp'
               },
@@ -11131,7 +11131,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -11147,7 +11148,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defcv'
               },
@@ -11376,7 +11376,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -11392,7 +11393,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftp'
               },
@@ -11734,7 +11734,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -11750,7 +11751,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypecv'
               },
@@ -12092,7 +12092,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -12108,7 +12109,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypecv'
               },
@@ -12420,7 +12420,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -12436,7 +12437,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defop'
               },
@@ -12748,7 +12748,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -12764,7 +12765,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defop'
               },
@@ -13106,7 +13106,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -13122,7 +13123,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -13464,7 +13464,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -13480,7 +13481,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -13729,7 +13729,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -13745,7 +13746,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -13994,7 +13994,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -14010,7 +14011,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -14039,7 +14039,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'heading',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -14055,7 +14056,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'heading',
           'extra' => {},
           'info' => {
             'spaces_before_argument' => {
@@ -14067,7 +14067,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
           }
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -14083,7 +14084,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'fn'
@@ -14104,7 +14104,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'heading',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -14120,7 +14121,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'heading',
           'extra' => {},
           'info' => {
             'spaces_before_argument' => {
@@ -14132,7 +14132,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
           }
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -14148,7 +14149,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'tp'
@@ -14169,7 +14169,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'heading',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -14185,7 +14186,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'heading',
           'extra' => {},
           'info' => {
             'spaces_before_argument' => {
@@ -14197,7 +14197,8 @@ $result_trees{'all_commands_delimiters_printindex'} = {
           }
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -14213,7 +14214,6 @@ $result_trees{'all_commands_delimiters_printindex'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'vr'
diff --git a/tp/t/results/def/all_commands_printindex.pl 
b/tp/t/results/def/all_commands_printindex.pl
index aa7eeeefc0..5bfd4d5276 100644
--- a/tp/t/results/def/all_commands_printindex.pl
+++ b/tp/t/results/def/all_commands_printindex.pl
@@ -162,7 +162,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -178,7 +179,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defvr'
               },
@@ -312,7 +312,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -328,7 +329,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -445,7 +445,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -461,7 +462,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -612,7 +612,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -628,7 +629,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -762,7 +762,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -778,7 +779,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -999,7 +999,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1015,7 +1016,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -1219,7 +1219,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1235,7 +1236,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -1369,7 +1369,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1385,7 +1386,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypevr'
               },
@@ -1519,7 +1519,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1535,7 +1536,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defcv'
               },
@@ -1686,7 +1686,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1702,7 +1703,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defcv'
               },
@@ -1906,7 +1906,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1922,7 +1923,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypecv'
               },
@@ -2143,7 +2143,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2159,7 +2160,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypecv'
               },
@@ -2363,7 +2363,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2379,7 +2380,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defop'
               },
@@ -2566,7 +2566,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2582,7 +2583,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defop'
               },
@@ -2716,7 +2716,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2732,7 +2733,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftp'
               },
@@ -2872,7 +2872,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -2888,7 +2889,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defun'
               },
@@ -3028,7 +3028,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3044,7 +3045,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defmac'
               },
@@ -3184,7 +3184,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3200,7 +3201,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defspec'
               },
@@ -3323,7 +3323,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3339,7 +3340,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defvar'
               },
@@ -3496,7 +3496,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3512,7 +3513,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defvar'
               },
@@ -3635,7 +3635,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3651,7 +3652,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defopt'
               },
@@ -3808,7 +3808,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3824,7 +3825,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefun'
               },
@@ -3964,7 +3964,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -3980,7 +3981,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypevar'
               },
@@ -4173,7 +4173,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -4189,7 +4190,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defivar'
               },
@@ -4399,7 +4399,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -4415,7 +4416,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeivar'
               },
@@ -4625,7 +4625,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -4641,7 +4642,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defmethod'
               },
@@ -4868,7 +4868,8 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -4884,7 +4885,6 @@ $result_trees{'all_commands_printindex'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypemethod'
               },
@@ -4913,7 +4913,8 @@ $result_trees{'all_commands_printindex'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'heading',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -4929,7 +4930,6 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'heading',
           'extra' => {},
           'info' => {
             'spaces_before_argument' => {
@@ -4941,7 +4941,8 @@ $result_trees{'all_commands_printindex'} = {
           }
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -4957,7 +4958,6 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'fn'
@@ -4978,7 +4978,8 @@ $result_trees{'all_commands_printindex'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'heading',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -4994,7 +4995,6 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'heading',
           'extra' => {},
           'info' => {
             'spaces_before_argument' => {
@@ -5006,7 +5006,8 @@ $result_trees{'all_commands_printindex'} = {
           }
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -5022,7 +5023,6 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'tp'
@@ -5043,7 +5043,8 @@ $result_trees{'all_commands_printindex'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'heading',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -5059,7 +5060,6 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'heading',
           'extra' => {},
           'info' => {
             'spaces_before_argument' => {
@@ -5071,7 +5071,8 @@ $result_trees{'all_commands_printindex'} = {
           }
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -5087,7 +5088,6 @@ $result_trees{'all_commands_printindex'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'vr'
diff --git a/tp/t/results/def/all_empty_def.pl 
b/tp/t/results/def/all_empty_def.pl
index 4dc6895b64..11a9726bc5 100644
--- a/tp/t/results/def/all_empty_def.pl
+++ b/tp/t/results/def/all_empty_def.pl
@@ -34,7 +34,8 @@ $result_trees{'all_empty_def'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -50,7 +51,6 @@ $result_trees{'all_empty_def'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -98,7 +98,8 @@ $result_trees{'all_empty_def'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -114,7 +115,6 @@ $result_trees{'all_empty_def'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defvr'
               },
@@ -162,7 +162,8 @@ $result_trees{'all_empty_def'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -178,7 +179,6 @@ $result_trees{'all_empty_def'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
@@ -226,7 +226,8 @@ $result_trees{'all_empty_def'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -242,7 +243,6 @@ $result_trees{'all_empty_def'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
@@ -290,7 +290,8 @@ $result_trees{'all_empty_def'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -306,7 +307,6 @@ $result_trees{'all_empty_def'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypevr'
               },
@@ -354,7 +354,8 @@ $result_trees{'all_empty_def'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -370,7 +371,6 @@ $result_trees{'all_empty_def'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defcv'
               },
@@ -418,7 +418,8 @@ $result_trees{'all_empty_def'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -434,7 +435,6 @@ $result_trees{'all_empty_def'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypecv'
               },
@@ -482,7 +482,8 @@ $result_trees{'all_empty_def'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -498,7 +499,6 @@ $result_trees{'all_empty_def'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defop'
               },
@@ -546,7 +546,8 @@ $result_trees{'all_empty_def'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -562,7 +563,6 @@ $result_trees{'all_empty_def'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftp'
               },
diff --git a/tp/t/results/def/ampchar.pl b/tp/t/results/def/ampchar.pl
index afd7d16c77..be8884e25c 100644
--- a/tp/t/results/def/ampchar.pl
+++ b/tp/t/results/def/ampchar.pl
@@ -197,7 +197,8 @@ $result_trees{'ampchar'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -213,7 +214,6 @@ $result_trees{'ampchar'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defop'
               },
diff --git a/tp/t/results/def/bracketed_arg_no_space.pl 
b/tp/t/results/def/bracketed_arg_no_space.pl
index 65427cba9f..28365e7ccf 100644
--- a/tp/t/results/def/bracketed_arg_no_space.pl
+++ b/tp/t/results/def/bracketed_arg_no_space.pl
@@ -195,7 +195,8 @@ $result_trees{'bracketed_arg_no_space'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -211,7 +212,6 @@ $result_trees{'bracketed_arg_no_space'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git a/tp/t/results/def/code_in_def.pl b/tp/t/results/def/code_in_def.pl
index 3a2ce8a5f6..aaa360c351 100644
--- a/tp/t/results/def/code_in_def.pl
+++ b/tp/t/results/def/code_in_def.pl
@@ -191,7 +191,8 @@ $result_trees{'code_in_def'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -207,7 +208,6 @@ $result_trees{'code_in_def'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefn'
               },
diff --git a/tp/t/results/def/comment_index_before_defline.pl 
b/tp/t/results/def/comment_index_before_defline.pl
index 7908728e6b..357e28c910 100644
--- a/tp/t/results/def/comment_index_before_defline.pl
+++ b/tp/t/results/def/comment_index_before_defline.pl
@@ -32,17 +32,18 @@ $result_trees{'comment_index_before_defline'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'c',
+                  'contents' => [
                     {
                       'text' => ' a comment
 ',
                       'type' => 'rawline_arg'
                     }
-                  ],
-                  'cmdname' => 'c'
+                  ]
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -58,7 +59,6 @@ $result_trees{'comment_index_before_defline'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'index_entry' => [
                       'cp',
@@ -77,14 +77,14 @@ $result_trees{'comment_index_before_defline'} = {
                   'type' => 'index_entry_command'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'comment',
+                  'contents' => [
                     {
                       'text' => ' another
 ',
                       'type' => 'rawline_arg'
                     }
-                  ],
-                  'cmdname' => 'comment'
+                  ]
                 },
                 {
                   'text' => '
@@ -200,7 +200,8 @@ $result_trees{'comment_index_before_defline'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -216,7 +217,6 @@ $result_trees{'comment_index_before_defline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defblock'
               },
diff --git a/tp/t/results/def/def_defx_mismatch.pl 
b/tp/t/results/def/def_defx_mismatch.pl
index 3e871ce144..bc29425084 100644
--- a/tp/t/results/def/def_defx_mismatch.pl
+++ b/tp/t/results/def/def_defx_mismatch.pl
@@ -338,7 +338,8 @@ $result_trees{'def_defx_mismatch'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -354,7 +355,6 @@ $result_trees{'def_defx_mismatch'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defun'
               },
diff --git a/tp/t/results/def/def_groupings_args.pl 
b/tp/t/results/def/def_groupings_args.pl
index 6a3e478450..0ab2e61d84 100644
--- a/tp/t/results/def/def_groupings_args.pl
+++ b/tp/t/results/def/def_groupings_args.pl
@@ -118,7 +118,8 @@ $result_trees{'def_groupings_args'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -134,7 +135,6 @@ $result_trees{'def_groupings_args'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -218,7 +218,8 @@ $result_trees{'def_groupings_args'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -234,7 +235,6 @@ $result_trees{'def_groupings_args'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -431,7 +431,8 @@ $result_trees{'def_groupings_args'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -447,7 +448,6 @@ $result_trees{'def_groupings_args'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git a/tp/t/results/def/defblock_no_defline.pl 
b/tp/t/results/def/defblock_no_defline.pl
index 7636543e7d..e5893474d6 100644
--- a/tp/t/results/def/defblock_no_defline.pl
+++ b/tp/t/results/def/defblock_no_defline.pl
@@ -44,7 +44,8 @@ $result_trees{'defblock_no_defline'} = {
               'type' => 'before_defline'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -60,7 +61,6 @@ $result_trees{'defblock_no_defline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defblock'
               },
diff --git a/tp/t/results/def/defline_no_params.pl 
b/tp/t/results/def/defline_no_params.pl
index 7edc0503fc..c18643fcc0 100644
--- a/tp/t/results/def/defline_no_params.pl
+++ b/tp/t/results/def/defline_no_params.pl
@@ -115,7 +115,8 @@ $result_trees{'defline_no_params'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -131,7 +132,6 @@ $result_trees{'defline_no_params'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defblock'
               },
diff --git a/tp/t/results/def/deftypeline.pl b/tp/t/results/def/deftypeline.pl
index f828687ef8..cf40f747c2 100644
--- a/tp/t/results/def/deftypeline.pl
+++ b/tp/t/results/def/deftypeline.pl
@@ -252,7 +252,8 @@ $result_trees{'deftypeline'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -268,7 +269,6 @@ $result_trees{'deftypeline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defblock'
               },
diff --git a/tp/t/results/def/defx_after_comment.pl 
b/tp/t/results/def/defx_after_comment.pl
index 6d235166fb..60a84275eb 100644
--- a/tp/t/results/def/defx_after_comment.pl
+++ b/tp/t/results/def/defx_after_comment.pl
@@ -142,14 +142,14 @@ $result_trees{'defx_after_comment'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'c',
+                  'contents' => [
                     {
                       'text' => ' comment
 ',
                       'type' => 'rawline_arg'
                     }
-                  ],
-                  'cmdname' => 'c'
+                  ]
                 }
               ],
               'type' => 'inter_def_item'
@@ -250,7 +250,8 @@ $result_trees{'defx_after_comment'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -260,7 +261,6 @@ $result_trees{'defx_after_comment'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git a/tp/t/results/def/defx_after_comment_in_example.pl 
b/tp/t/results/def/defx_after_comment_in_example.pl
index 5028b6eb59..ab9d93cefc 100644
--- a/tp/t/results/def/defx_after_comment_in_example.pl
+++ b/tp/t/results/def/defx_after_comment_in_example.pl
@@ -161,14 +161,14 @@ $result_trees{'defx_after_comment_in_example'} = {
                     {
                       'contents' => [
                         {
-                          'args' => [
+                          'cmdname' => 'c',
+                          'contents' => [
                             {
                               'text' => ' comment
 ',
                               'type' => 'rawline_arg'
                             }
-                          ],
-                          'cmdname' => 'c'
+                          ]
                         }
                       ],
                       'type' => 'preformatted'
@@ -272,7 +272,8 @@ $result_trees{'defx_after_comment_in_example'} = {
                   }
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -288,7 +289,6 @@ $result_trees{'defx_after_comment_in_example'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'deffn'
                   },
@@ -312,7 +312,8 @@ $result_trees{'defx_after_comment_in_example'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -328,7 +329,6 @@ $result_trees{'defx_after_comment_in_example'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
diff --git a/tp/t/results/def/defx_after_empty_line.pl 
b/tp/t/results/def/defx_after_empty_line.pl
index 24c78b694a..1b134dd0de 100644
--- a/tp/t/results/def/defx_after_empty_line.pl
+++ b/tp/t/results/def/defx_after_empty_line.pl
@@ -245,7 +245,8 @@ $result_trees{'defx_after_empty_line'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -255,7 +256,6 @@ $result_trees{'defx_after_empty_line'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git a/tp/t/results/def/defx_after_empty_line_in_example.pl 
b/tp/t/results/def/defx_after_empty_line_in_example.pl
index ff7a767798..ab5db30826 100644
--- a/tp/t/results/def/defx_after_empty_line_in_example.pl
+++ b/tp/t/results/def/defx_after_empty_line_in_example.pl
@@ -166,24 +166,24 @@ $result_trees{'defx_after_empty_line_in_example'} = {
                           'type' => 'empty_line'
                         },
                         {
-                          'args' => [
+                          'cmdname' => 'c',
+                          'contents' => [
                             {
                               'text' => ' c
 ',
                               'type' => 'rawline_arg'
                             }
-                          ],
-                          'cmdname' => 'c'
+                          ]
                         },
                         {
-                          'args' => [
+                          'cmdname' => 'comment',
+                          'contents' => [
                             {
                               'text' => ' comment
 ',
                               'type' => 'rawline_arg'
                             }
-                          ],
-                          'cmdname' => 'comment'
+                          ]
                         },
                         {
                           'text' => '
@@ -292,7 +292,8 @@ $result_trees{'defx_after_empty_line_in_example'} = {
                   }
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -308,7 +309,6 @@ $result_trees{'defx_after_empty_line_in_example'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'deffn'
                   },
@@ -332,7 +332,8 @@ $result_trees{'defx_after_empty_line_in_example'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -348,7 +349,6 @@ $result_trees{'defx_after_empty_line_in_example'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
diff --git a/tp/t/results/def/defx_after_paragraph_end.pl 
b/tp/t/results/def/defx_after_paragraph_end.pl
index 7c3e9e739e..9fbe3f5a39 100644
--- a/tp/t/results/def/defx_after_paragraph_end.pl
+++ b/tp/t/results/def/defx_after_paragraph_end.pl
@@ -255,7 +255,8 @@ $result_trees{'defx_after_paragraph_end'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -265,7 +266,6 @@ $result_trees{'defx_after_paragraph_end'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git a/tp/t/results/def/defx_after_preformatted_with_text.pl 
b/tp/t/results/def/defx_after_preformatted_with_text.pl
index 903c0478d1..65d862574f 100644
--- a/tp/t/results/def/defx_after_preformatted_with_text.pl
+++ b/tp/t/results/def/defx_after_preformatted_with_text.pl
@@ -272,7 +272,8 @@ $result_trees{'defx_after_preformatted_with_text'} = {
                   }
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -288,7 +289,6 @@ $result_trees{'defx_after_preformatted_with_text'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'deffn'
                   },
@@ -312,7 +312,8 @@ $result_trees{'defx_after_preformatted_with_text'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -328,7 +329,6 @@ $result_trees{'defx_after_preformatted_with_text'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
diff --git a/tp/t/results/def/defx_after_text.pl 
b/tp/t/results/def/defx_after_text.pl
index 8d9caef0d6..a669d8ce25 100644
--- a/tp/t/results/def/defx_after_text.pl
+++ b/tp/t/results/def/defx_after_text.pl
@@ -250,7 +250,8 @@ $result_trees{'defx_after_text'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -260,7 +261,6 @@ $result_trees{'defx_after_text'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git a/tp/t/results/def/defx_in_example.pl 
b/tp/t/results/def/defx_in_example.pl
index 655fe4151a..21e69bfc11 100644
--- a/tp/t/results/def/defx_in_example.pl
+++ b/tp/t/results/def/defx_in_example.pl
@@ -252,7 +252,8 @@ $result_trees{'defx_in_example'} = {
                   }
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -268,7 +269,6 @@ $result_trees{'defx_in_example'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'deffn'
                   },
@@ -292,7 +292,8 @@ $result_trees{'defx_in_example'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -308,7 +309,6 @@ $result_trees{'defx_in_example'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
diff --git a/tp/t/results/def/double_command.pl 
b/tp/t/results/def/double_command.pl
index 09a03f59ab..bcbd7c14cb 100644
--- a/tp/t/results/def/double_command.pl
+++ b/tp/t/results/def/double_command.pl
@@ -378,7 +378,8 @@ $result_trees{'double_command'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -394,7 +395,6 @@ $result_trees{'double_command'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -618,7 +618,8 @@ $result_trees{'double_command'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -634,7 +635,6 @@ $result_trees{'double_command'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git a/tp/t/results/def/empty_def_arguments.pl 
b/tp/t/results/def/empty_def_arguments.pl
index 5c04a47085..42c0d29e5f 100644
--- a/tp/t/results/def/empty_def_arguments.pl
+++ b/tp/t/results/def/empty_def_arguments.pl
@@ -510,7 +510,8 @@ $result_trees{'empty_def_arguments'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -526,7 +527,6 @@ $result_trees{'empty_def_arguments'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git a/tp/t/results/def/empty_def_command.pl 
b/tp/t/results/def/empty_def_command.pl
index 3fc81fed6b..b5b6fa7baf 100644
--- a/tp/t/results/def/empty_def_command.pl
+++ b/tp/t/results/def/empty_def_command.pl
@@ -83,7 +83,8 @@ $result_trees{'empty_def_command'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -99,7 +100,6 @@ $result_trees{'empty_def_command'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -310,7 +310,8 @@ $result_trees{'empty_def_command'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -326,7 +327,6 @@ $result_trees{'empty_def_command'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git a/tp/t/results/def/empty_deftype.pl 
b/tp/t/results/def/empty_deftype.pl
index 04617ceeae..c1e8cf81b7 100644
--- a/tp/t/results/def/empty_deftype.pl
+++ b/tp/t/results/def/empty_deftype.pl
@@ -177,7 +177,8 @@ $result_trees{'empty_deftype'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -193,7 +194,6 @@ $result_trees{'empty_deftype'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypefun'
               },
@@ -374,7 +374,8 @@ $result_trees{'empty_deftype'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -390,7 +391,6 @@ $result_trees{'empty_deftype'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defun'
               },
@@ -656,7 +656,8 @@ $result_trees{'empty_deftype'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -672,7 +673,6 @@ $result_trees{'empty_deftype'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypemethod'
               },
@@ -923,7 +923,8 @@ $result_trees{'empty_deftype'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -939,7 +940,6 @@ $result_trees{'empty_deftype'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defmethod'
               },
diff --git a/tp/t/results/def/empty_deftypeop_name.pl 
b/tp/t/results/def/empty_deftypeop_name.pl
index 1d57071279..524983cee4 100644
--- a/tp/t/results/def/empty_deftypeop_name.pl
+++ b/tp/t/results/def/empty_deftypeop_name.pl
@@ -134,7 +134,8 @@ $result_trees{'empty_deftypeop_name'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -150,7 +151,6 @@ $result_trees{'empty_deftypeop_name'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deftypeop'
               },
diff --git a/tp/t/results/def/empty_main_def_arguments.pl 
b/tp/t/results/def/empty_main_def_arguments.pl
index 7017cea120..4d57f1577a 100644
--- a/tp/t/results/def/empty_main_def_arguments.pl
+++ b/tp/t/results/def/empty_main_def_arguments.pl
@@ -49,7 +49,8 @@ $result_trees{'empty_main_def_arguments'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -65,7 +66,6 @@ $result_trees{'empty_main_def_arguments'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git a/tp/t/results/def/end_of_lines_protected.pl 
b/tp/t/results/def/end_of_lines_protected.pl
index 018c02c4ab..da639f27b3 100644
--- a/tp/t/results/def/end_of_lines_protected.pl
+++ b/tp/t/results/def/end_of_lines_protected.pl
@@ -259,7 +259,8 @@ $result_trees{'end_of_lines_protected'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -275,7 +276,6 @@ $result_trees{'end_of_lines_protected'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git a/tp/t/results/def/end_of_lines_protected_in_footnote.pl 
b/tp/t/results/def/end_of_lines_protected_in_footnote.pl
index d18c0a2d6b..906a60432b 100644
--- a/tp/t/results/def/end_of_lines_protected_in_footnote.pl
+++ b/tp/t/results/def/end_of_lines_protected_in_footnote.pl
@@ -283,7 +283,8 @@ $result_trees{'end_of_lines_protected_in_footnote'} = {
                           'type' => 'def_item'
                         },
                         {
-                          'args' => [
+                          'cmdname' => 'end',
+                          'contents' => [
                             {
                               'contents' => [
                                 {
@@ -299,7 +300,6 @@ $result_trees{'end_of_lines_protected_in_footnote'} = {
                               'type' => 'line_arg'
                             }
                           ],
-                          'cmdname' => 'end',
                           'extra' => {
                             'text_arg' => 'deffn'
                           },
diff --git a/tp/t/results/def/end_of_lines_protected_non_ascii.pl 
b/tp/t/results/def/end_of_lines_protected_non_ascii.pl
index d0af892411..7694768c81 100644
--- a/tp/t/results/def/end_of_lines_protected_non_ascii.pl
+++ b/tp/t/results/def/end_of_lines_protected_non_ascii.pl
@@ -275,7 +275,8 @@ $result_trees{'end_of_lines_protected_non_ascii'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -291,7 +292,6 @@ $result_trees{'end_of_lines_protected_non_ascii'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git a/tp/t/results/def/inter_item_commands_in_def.pl 
b/tp/t/results/def/inter_item_commands_in_def.pl
index d23c97ebe7..a5a789035e 100644
--- a/tp/t/results/def/inter_item_commands_in_def.pl
+++ b/tp/t/results/def/inter_item_commands_in_def.pl
@@ -142,14 +142,14 @@ $result_trees{'inter_item_commands_in_def'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'c',
+                  'contents' => [
                     {
                       'text' => ' comment before first deffnx
 ',
                       'type' => 'rawline_arg'
                     }
-                  ],
-                  'cmdname' => 'c'
+                  ]
                 },
                 {
                   'text' => '
@@ -265,7 +265,8 @@ $result_trees{'inter_item_commands_in_def'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -281,7 +282,6 @@ $result_trees{'inter_item_commands_in_def'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'index_entry' => [
                       'cp',
@@ -455,7 +455,8 @@ $result_trees{'inter_item_commands_in_def'} = {
             {
               'contents' => [
                 {
-                  'args' => [
+                  'cmdname' => 'cindex',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -471,7 +472,6 @@ $result_trees{'inter_item_commands_in_def'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'cindex',
                   'extra' => {
                     'index_entry' => [
                       'cp',
@@ -507,7 +507,8 @@ $result_trees{'inter_item_commands_in_def'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -523,7 +524,6 @@ $result_trees{'inter_item_commands_in_def'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git a/tp/t/results/def/inter_item_commands_in_def_in_example.pl 
b/tp/t/results/def/inter_item_commands_in_def_in_example.pl
index a38b40ced7..a6c25a2f19 100644
--- a/tp/t/results/def/inter_item_commands_in_def_in_example.pl
+++ b/tp/t/results/def/inter_item_commands_in_def_in_example.pl
@@ -161,14 +161,14 @@ $result_trees{'inter_item_commands_in_def_in_example'} = {
                     {
                       'contents' => [
                         {
-                          'args' => [
+                          'cmdname' => 'c',
+                          'contents' => [
                             {
                               'text' => ' comment before first deffnx
 ',
                               'type' => 'rawline_arg'
                             }
-                          ],
-                          'cmdname' => 'c'
+                          ]
                         },
                         {
                           'text' => '
@@ -289,7 +289,8 @@ $result_trees{'inter_item_commands_in_def_in_example'} = {
                     {
                       'contents' => [
                         {
-                          'args' => [
+                          'cmdname' => 'cindex',
+                          'contents' => [
                             {
                               'contents' => [
                                 {
@@ -305,7 +306,6 @@ $result_trees{'inter_item_commands_in_def_in_example'} = {
                               'type' => 'line_arg'
                             }
                           ],
-                          'cmdname' => 'cindex',
                           'extra' => {
                             'index_entry' => [
                               'cp',
@@ -484,7 +484,8 @@ $result_trees{'inter_item_commands_in_def_in_example'} = {
                     {
                       'contents' => [
                         {
-                          'args' => [
+                          'cmdname' => 'cindex',
+                          'contents' => [
                             {
                               'contents' => [
                                 {
@@ -500,7 +501,6 @@ $result_trees{'inter_item_commands_in_def_in_example'} = {
                               'type' => 'line_arg'
                             }
                           ],
-                          'cmdname' => 'cindex',
                           'extra' => {
                             'index_entry' => [
                               'cp',
@@ -534,7 +534,8 @@ $result_trees{'inter_item_commands_in_def_in_example'} = {
                   'type' => 'def_item'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'end',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -550,7 +551,6 @@ $result_trees{'inter_item_commands_in_def_in_example'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'end',
                   'extra' => {
                     'text_arg' => 'deffn'
                   },
@@ -574,7 +574,8 @@ $result_trees{'inter_item_commands_in_def_in_example'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -590,7 +591,6 @@ $result_trees{'inter_item_commands_in_def_in_example'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'example'
               },
diff --git a/tp/t/results/def/leading_space_in_def_arg.pl 
b/tp/t/results/def/leading_space_in_def_arg.pl
index e620e4ede7..da5a00e2cd 100644
--- a/tp/t/results/def/leading_space_in_def_arg.pl
+++ b/tp/t/results/def/leading_space_in_def_arg.pl
@@ -113,7 +113,8 @@ $result_trees{'leading_space_in_def_arg'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -129,7 +130,6 @@ $result_trees{'leading_space_in_def_arg'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git a/tp/t/results/def/multiple_defline.pl 
b/tp/t/results/def/multiple_defline.pl
index b433ab8819..9d516ddeed 100644
--- a/tp/t/results/def/multiple_defline.pl
+++ b/tp/t/results/def/multiple_defline.pl
@@ -279,7 +279,8 @@ $result_trees{'multiple_defline'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -295,7 +296,6 @@ $result_trees{'multiple_defline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defblock'
               },
diff --git a/tp/t/results/def/no_category_or_no_name.pl 
b/tp/t/results/def/no_category_or_no_name.pl
index b7904b47d4..981ca48c48 100644
--- a/tp/t/results/def/no_category_or_no_name.pl
+++ b/tp/t/results/def/no_category_or_no_name.pl
@@ -48,7 +48,8 @@ $result_trees{'no_category_or_no_name'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -64,7 +65,6 @@ $result_trees{'no_category_or_no_name'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -144,7 +144,8 @@ $result_trees{'no_category_or_no_name'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -160,7 +161,6 @@ $result_trees{'no_category_or_no_name'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -372,7 +372,8 @@ $result_trees{'no_category_or_no_name'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -388,7 +389,6 @@ $result_trees{'no_category_or_no_name'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git a/tp/t/results/def/omit_def_space.pl 
b/tp/t/results/def/omit_def_space.pl
index 641469e1f5..6ac0bfe620 100644
--- a/tp/t/results/def/omit_def_space.pl
+++ b/tp/t/results/def/omit_def_space.pl
@@ -79,7 +79,8 @@ $result_trees{'omit_def_space'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'set',
+          'contents' => [
             {
               'text' => 'txidefnamenospace',
               'type' => 'rawline_arg'
@@ -89,7 +90,6 @@ $result_trees{'omit_def_space'} = {
               'type' => 'rawline_arg'
             }
           ],
-          'cmdname' => 'set',
           'info' => {
             'arg_line' => ' txidefnamenospace
 '
@@ -350,7 +350,8 @@ $result_trees{'omit_def_space'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -366,7 +367,6 @@ $result_trees{'omit_def_space'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defun'
               },
diff --git a/tp/t/results/def/protected_brace.pl 
b/tp/t/results/def/protected_brace.pl
index d54fcbdb6f..c5d112416b 100644
--- a/tp/t/results/def/protected_brace.pl
+++ b/tp/t/results/def/protected_brace.pl
@@ -83,7 +83,8 @@ $result_trees{'protected_brace'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -99,7 +100,6 @@ $result_trees{'protected_brace'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git a/tp/t/results/def/ref_in_def.pl b/tp/t/results/def/ref_in_def.pl
index 45081b71a0..a2d5257f68 100644
--- a/tp/t/results/def/ref_in_def.pl
+++ b/tp/t/results/def/ref_in_def.pl
@@ -561,7 +561,8 @@ $result_trees{'ref_in_def'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -577,7 +578,6 @@ $result_trees{'ref_in_def'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git a/tp/t/results/def/space_in_def_for_index.pl 
b/tp/t/results/def/space_in_def_for_index.pl
index 5894c9e042..941246339e 100644
--- a/tp/t/results/def/space_in_def_for_index.pl
+++ b/tp/t/results/def/space_in_def_for_index.pl
@@ -322,7 +322,8 @@ $result_trees{'space_in_def_for_index'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -338,7 +339,6 @@ $result_trees{'space_in_def_for_index'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -367,7 +367,8 @@ $result_trees{'space_in_def_for_index'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'printindex',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -383,7 +384,6 @@ $result_trees{'space_in_def_for_index'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'printindex',
           'extra' => {
             'misc_args' => [
               'fn'
diff --git a/tp/t/results/def/text_block_before_defline.pl 
b/tp/t/results/def/text_block_before_defline.pl
index 6fb7271840..c24fceae38 100644
--- a/tp/t/results/def/text_block_before_defline.pl
+++ b/tp/t/results/def/text_block_before_defline.pl
@@ -237,7 +237,8 @@ $result_trees{'text_block_before_defline'} = {
                       'type' => 'preformatted'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'end',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -253,7 +254,6 @@ $result_trees{'text_block_before_defline'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'end',
                       'extra' => {
                         'text_arg' => 'example'
                       },
@@ -345,7 +345,8 @@ $result_trees{'text_block_before_defline'} = {
                       'type' => 'menu_entry'
                     },
                     {
-                      'args' => [
+                      'cmdname' => 'end',
+                      'contents' => [
                         {
                           'contents' => [
                             {
@@ -361,7 +362,6 @@ $result_trees{'text_block_before_defline'} = {
                           'type' => 'line_arg'
                         }
                       ],
-                      'cmdname' => 'end',
                       'extra' => {
                         'text_arg' => 'menu'
                       },
@@ -493,7 +493,8 @@ $result_trees{'text_block_before_defline'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -509,7 +510,6 @@ $result_trees{'text_block_before_defline'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'defblock'
               },
diff --git a/tp/t/results/def/wrong_braces_simple.pl 
b/tp/t/results/def/wrong_braces_simple.pl
index 4e7ee06acc..9d292547c2 100644
--- a/tp/t/results/def/wrong_braces_simple.pl
+++ b/tp/t/results/def/wrong_braces_simple.pl
@@ -134,7 +134,8 @@ $result_trees{'wrong_braces_simple'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -150,7 +151,6 @@ $result_trees{'wrong_braces_simple'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -320,7 +320,8 @@ $result_trees{'wrong_braces_simple'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -336,7 +337,6 @@ $result_trees{'wrong_braces_simple'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -504,7 +504,8 @@ $result_trees{'wrong_braces_simple'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -520,7 +521,6 @@ $result_trees{'wrong_braces_simple'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -696,7 +696,8 @@ $result_trees{'wrong_braces_simple'} = {
               'type' => 'def_line'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -712,7 +713,6 @@ $result_trees{'wrong_braces_simple'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -1424,7 +1424,8 @@ $result_trees{'wrong_braces_simple'} = {
               }
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -1440,7 +1441,6 @@ $result_trees{'wrong_braces_simple'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git a/tp/t/results/def/wrong_braces_with_end_of_lines.pl 
b/tp/t/results/def/wrong_braces_with_end_of_lines.pl
index d6da7715ae..6d840ba79f 100644
--- a/tp/t/results/def/wrong_braces_with_end_of_lines.pl
+++ b/tp/t/results/def/wrong_braces_with_end_of_lines.pl
@@ -150,7 +150,8 @@ $result_trees{'wrong_braces_with_end_of_lines'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -166,7 +167,6 @@ $result_trees{'wrong_braces_with_end_of_lines'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
@@ -346,7 +346,8 @@ $result_trees{'wrong_braces_with_end_of_lines'} = {
               'type' => 'def_item'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -362,7 +363,6 @@ $result_trees{'wrong_braces_with_end_of_lines'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'deffn'
               },
diff --git 
a/tp/t/results/docbook_tests/empty_quotation_with_arg_followed_by_quotation.pl 
b/tp/t/results/docbook_tests/empty_quotation_with_arg_followed_by_quotation.pl
index 09906495a0..0c020b82c7 100644
--- 
a/tp/t/results/docbook_tests/empty_quotation_with_arg_followed_by_quotation.pl
+++ 
b/tp/t/results/docbook_tests/empty_quotation_with_arg_followed_by_quotation.pl
@@ -32,7 +32,8 @@ 
$result_trees{'empty_quotation_with_arg_followed_by_quotation'} = {
               'type' => 'argument'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -48,7 +49,6 @@ 
$result_trees{'empty_quotation_with_arg_followed_by_quotation'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
@@ -103,7 +103,8 @@ 
$result_trees{'empty_quotation_with_arg_followed_by_quotation'} = {
               'type' => 'paragraph'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -119,7 +120,6 @@ 
$result_trees{'empty_quotation_with_arg_followed_by_quotation'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'quotation'
               },
diff --git a/tp/t/results/docbook_tests/multiple_documentlanguage.pl 
b/tp/t/results/docbook_tests/multiple_documentlanguage.pl
index d8d77ff8d2..326f989558 100644
--- a/tp/t/results/docbook_tests/multiple_documentlanguage.pl
+++ b/tp/t/results/docbook_tests/multiple_documentlanguage.pl
@@ -10,7 +10,8 @@ $result_trees{'multiple_documentlanguage'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'documentlanguage',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -26,7 +27,6 @@ $result_trees{'multiple_documentlanguage'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'documentlanguage',
           'extra' => {
             'text_arg' => 'ja'
           },
@@ -185,7 +185,8 @@ $result_trees{'multiple_documentlanguage'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'documentlanguage',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -201,7 +202,6 @@ $result_trees{'multiple_documentlanguage'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'documentlanguage',
           'extra' => {
             'text_arg' => 'fr'
           },
@@ -291,7 +291,8 @@ $result_trees{'multiple_documentlanguage'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'documentlanguage',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -307,7 +308,6 @@ $result_trees{'multiple_documentlanguage'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'documentlanguage',
           'extra' => {
             'text_arg' => 'pt'
           },
@@ -397,7 +397,8 @@ $result_trees{'multiple_documentlanguage'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'documentlanguage',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -413,7 +414,6 @@ $result_trees{'multiple_documentlanguage'} = {
               'type' => 'line_arg'
             }
           ],
-          'cmdname' => 'documentlanguage',
           'extra' => {
             'text_arg' => 'fr'
           },
diff --git a/tp/t/results/docbook_tests/special_docbook_unnumbered.pl 
b/tp/t/results/docbook_tests/special_docbook_unnumbered.pl
index 9c5ed3b0ec..c94408a904 100644
--- a/tp/t/results/docbook_tests/special_docbook_unnumbered.pl
+++ b/tp/t/results/docbook_tests/special_docbook_unnumbered.pl
@@ -289,7 +289,8 @@ $result_trees{'special_docbook_unnumbered'} = {
               'type' => 'menu_entry'
             },
             {
-              'args' => [
+              'cmdname' => 'end',
+              'contents' => [
                 {
                   'contents' => [
                     {
@@ -305,7 +306,6 @@ $result_trees{'special_docbook_unnumbered'} = {
                   'type' => 'line_arg'
                 }
               ],
-              'cmdname' => 'end',
               'extra' => {
                 'text_arg' => 'menu'
               },
diff --git a/tp/t/results/epub_tests/setfilename_on_top_and_after_node_epub.pl 
b/tp/t/results/epub_tests/setfilename_on_top_and_after_node_epub.pl
index f719bd0c1c..f64ed3ad9e 100644
--- a/tp/t/results/epub_tests/setfilename_on_top_and_after_node_epub.pl
+++ b/tp/t/results/epub_tests/setfilename_on_top_and_after_node_epub.pl
@@ -62,7 +62,8 @@ $result_trees{'setfilename_on_top_and_after_node_epub'} = {
                   'text' => 'In top '
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'setfilename',
+                  'contents' => [
                     {
                       'contents' => [
                         {
@@ -78,7 +79,6 @@ $result_trees{'setfilename_on_top_and_after_node_epub'} = {
                       'type' => 'line_arg'
                     }
                   ],
-                  'cmdname' => 'setfilename',
                   'extra' => {
                     'text_arg' => 'very badly placed setfilename'
                   },
@@ -103,7 +103,8 @@ $result_trees{'setfilename_on_top_and_after_node_epub'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'setfilename',
+          'contents' => [
             {
               'contents' => [
                 {
@@ -119,7 +120,6 @@ $result_trees{'setfilename_on_top_and_after_node_epub'} = {
               'type'