texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: * t/test_utils.pl: add a test comparison on sorte


From: Patrice Dumas
Subject: branch master updated: * t/test_utils.pl: add a test comparison on sorted index entry sort strings for indices.
Date: Sat, 04 Sep 2021 17:34:04 -0400

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

pertusus pushed a commit to branch master
in repository texinfo.

The following commit(s) were added to refs/heads/master by this push:
     new 2b45f63  * t/test_utils.pl: add a test comparison on sorted index 
entry sort strings for indices.
2b45f63 is described below

commit 2b45f63ee283def2ecb3c8f9489a1409ba10f087
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sat Sep 4 23:33:51 2021 +0200

    * t/test_utils.pl: add a test comparison on sorted
    index entry sort strings for indices.
---
 ChangeLog                                          |   5 ++
 tp/t/results/alias/alias_table_command.pl          |   2 +-
 tp/t/results/alias/bad_line.pl                     |   2 +-
 tp/t/results/alias/block_command_alias.pl          |   2 +-
 tp/t/results/alias/simple.pl                       |   2 +-
 tp/t/results/columnfractions/empty.pl              |   2 +-
 tp/t/results/columnfractions/empty_comment.pl      |   2 +-
 tp/t/results/columnfractions/good.pl               |   2 +-
 tp/t/results/columnfractions/good_comment.pl       |   2 +-
 tp/t/results/columnfractions/good_space_comment.pl |   2 +-
 tp/t/results/columnfractions/invalid.pl            |   2 +-
 tp/t/results/columnfractions/not_fraction.pl       |   2 +-
 tp/t/results/columnfractions/out_of_multitable.pl  |   2 +-
 .../something_before_columnfractions.pl            |   2 +-
 tp/t/results/columnfractions/wrong_command.pl      |   2 +-
 .../additional_space_in_end_conditional.pl         |   2 +-
 ...additional_space_in_end_conditional_expanded.pl |   2 +-
 tp/t/results/conditionals/bad_ifclear_argument.pl  |   2 +-
 tp/t/results/conditionals/bad_ifset_argument.pl    |   2 +-
 tp/t/results/conditionals/command_conditionals.pl  |   2 +-
 .../command_conditionals_user_defined.pl           |   2 +-
 tp/t/results/conditionals/commands_in_ifset.pl     |   2 +-
 tp/t/results/conditionals/comment_on_ifset_line.pl |   2 +-
 .../results/conditionals/conditional_not_closed.pl |   2 +-
 .../conditionals/consecutive_conditionals.pl       |   2 +-
 tp/t/results/conditionals/empty_ifclear.pl         |   2 +-
 tp/t/results/conditionals/empty_ifset.pl           |   2 +-
 .../conditionals/empty_ifset_in_ifset_no_set.pl    |   2 +-
 .../conditionals/empty_ifset_in_ifset_set.pl       |   2 +-
 tp/t/results/conditionals/empty_set_in_ifclear.pl  |   2 +-
 tp/t/results/conditionals/empty_set_in_ifset.pl    |   2 +-
 .../end_conditional_not_at_line_begining.pl        |   2 +-
 tp/t/results/conditionals/end_ifset_in_format.pl   |   2 +-
 .../conditionals/false_format_not_closed.pl        |   2 +-
 tp/t/results/conditionals/ifclear_in_ifset.pl      |   2 +-
 tp/t/results/conditionals/ifclear_in_ifset_set.pl  |   2 +-
 .../conditionals/ifnot_format_conditional.pl       |   2 +-
 tp/t/results/conditionals/ifnotinfo_exception.pl   |   2 +-
 tp/t/results/conditionals/ifset_in_command.pl      |   2 +-
 tp/t/results/conditionals/ifset_nonalpha.pl        |   2 +-
 tp/t/results/conditionals/ignore_not_closed.pl     |   2 +-
 tp/t/results/conditionals/ignored_in_ifset.pl      |   2 +-
 .../conditionals/info_ifinfo_ifnotplaintext.pl     |   2 +-
 tp/t/results/conditionals/info_ifplaintext.pl      |   2 +-
 .../conditionals/inlinefmtifelse_nesting.pl        |   2 +-
 .../conditionals/inlineiffmtifelse_not_closed.pl   |   2 +-
 .../inlineiffmtifelse_not_closed_three_arg.pl      |   2 +-
 .../inlineiffmtifelse_not_closed_two_arg.pl        |   2 +-
 .../conditionals/inlineifset_false_not_closed.pl   |   2 +-
 tp/t/results/conditionals/macro_in_ifset.pl        |   2 +-
 tp/t/results/conditionals/macro_in_ifset_set.pl    |   2 +-
 tp/t/results/conditionals/many_conditionals.pl     |   2 +-
 tp/t/results/conditionals/nested_ifset_ifclear.pl  |   2 +-
 tp/t/results/conditionals/nested_ignore.pl         |   2 +-
 tp/t/results/conditionals/not_set.pl               |   2 +-
 tp/t/results/conditionals/plaintext_ifinfo.pl      |   2 +-
 .../plaintext_ifinfo_ifnotplaintext.pl             |   2 +-
 .../conditionals/superfluous_argument_to_end.pl    |   2 +-
 .../conditionals/text_on_conditional_line.pl       |   2 +-
 .../text_on_conditional_line_expanded.pl           |   2 +-
 tp/t/results/conditionals/txiinternalvalue.pl      |   2 +-
 .../conditionals/user_defined_txiinternalvalue.pl  |   2 +-
 tp/t/results/converters_tests/accent.pl            |   2 +-
 .../converters_tests/accent_enable_encoding.pl     |   2 +-
 tp/t/results/converters_tests/accent_with_text.pl  |   2 +-
 tp/t/results/converters_tests/accentenc.pl         |   2 +-
 .../converters_tests/accentenc_enable_encoding.pl  |   2 +-
 .../converters_tests/accentenc_no_entity.pl        |   2 +-
 .../results/converters_tests/at_commands_in_raw.pl |   9 ++-
 .../converters_tests/at_commands_in_refs.pl        |   2 +-
 .../converters_tests/at_commands_in_refs_latin1.pl |   2 +-
 .../converters_tests/at_commands_in_refs_utf8.pl   |   2 +-
 .../converters_tests/char_latin1_latin1_in_refs.pl |  14 ++++-
 .../converters_tests/char_latin1_utf8_in_refs.pl   |  14 ++++-
 .../converters_tests/char_latin2_latin2_in_refs.pl |   9 ++-
 tp/t/results/converters_tests/complex_nestings.pl  |  15 ++++-
 .../documentencoding_utf8_and_insertions.pl        |   2 +-
 .../email_table_command_as_argument.pl             |   2 +-
 tp/t/results/converters_tests/empty_accent.pl      |   2 +-
 .../converters_tests/enumerate_above_ten.pl        |   2 +-
 .../results/converters_tests/footnote_no_number.pl |   2 +-
 .../footnote_no_number_separate.pl                 |   2 +-
 tp/t/results/converters_tests/image_extension.pl   |   2 +-
 tp/t/results/converters_tests/image_formatting.pl  |   2 +-
 tp/t/results/converters_tests/image_with_spaces.pl | Bin 6752 -> 6773 bytes
 .../index_entry_in_preformatted.pl                 |  11 +++-
 tp/t/results/converters_tests/inline.pl            |   2 +-
 tp/t/results/converters_tests/inline_expand_tex.pl |   2 +-
 tp/t/results/converters_tests/inlinefmtifelse.pl   |   2 +-
 .../results/converters_tests/inlineifsetifclear.pl |   2 +-
 .../results/converters_tests/japanese_shift_jis.pl |   2 +-
 tp/t/results/converters_tests/line_breaks.pl       |   2 +-
 .../no_documentencoding_and_insertions.pl          |   2 +-
 .../converters_tests/normal_font_in_monospace.pl   |   2 +-
 .../printindex_merged_indices_code_style.pl        |  13 ++++-
 .../results/converters_tests/raw_block_commands.pl |   2 +-
 .../raw_block_commands_expand_tex.pl               |   2 +-
 .../converters_tests/ref_error_formatting.pl       |   2 +-
 tp/t/results/converters_tests/ref_in_sectioning.pl |   2 +-
 tp/t/results/converters_tests/refs_formatting.pl   |   2 +-
 tp/t/results/converters_tests/sample_utf8.pl       |  12 +++-
 .../some_at_commands_in_ref_nodes.pl               |   2 +-
 tp/t/results/converters_tests/sp_in_example.pl     |   2 +-
 .../converters_tests/spaces_in_empty_node_names.pl |   2 +-
 .../converters_tests/spaces_in_node_names.pl       |   2 +-
 .../table_in_display_in_example.pl                 |   2 +-
 .../table_in_example_in_display.pl                 |   2 +-
 .../converters_tests/test_deftypefnnewline.pl      |  12 +++-
 tp/t/results/converters_tests/test_sp.pl           |   2 +-
 .../converters_tests/things_before_setfilename.pl  |   9 ++-
 .../things_before_setfilename_no_element.pl        |   9 ++-
 tp/t/results/converters_tests/top_in_ref.pl        |   2 +-
 .../converters_tests/top_in_ref_keep_top.pl        |   2 +-
 tp/t/results/converters_tests/unknown_value.pl     |   2 +-
 tp/t/results/converters_tests/weird_accents.pl     |   2 +-
 .../weird_accents_disable_encoding.pl              |   2 +-
 tp/t/results/coverage/accent_and_dash.pl           |   2 +-
 tp/t/results/coverage/accent_no_closed.pl          |   2 +-
 tp/t/results/coverage/accent_no_closed_comment.pl  |   2 +-
 tp/t/results/coverage/accent_no_closed_newline.pl  |   2 +-
 .../results/coverage/accent_no_closed_paragraph.pl |   2 +-
 tp/t/results/coverage/accents_errors.pl            |   2 +-
 .../coverage/arg_in_brace_no_arg_command.pl        |   2 +-
 tp/t/results/coverage/at_after_accent_command.pl   |   2 +-
 tp/t/results/coverage/block_commands.pl            |   2 +-
 tp/t/results/coverage/cartouche.pl                 |   2 +-
 tp/t/results/coverage/cartouche_in_example.pl      |   2 +-
 tp/t/results/coverage/cartouche_in_quotation.pl    |   2 +-
 tp/t/results/coverage/center.pl                    |   2 +-
 tp/t/results/coverage/commands.pl                  |   9 ++-
 tp/t/results/coverage/commands_in_math.pl          |   2 +-
 tp/t/results/coverage/comment_on_cartouche_line.pl |   2 +-
 tp/t/results/coverage/comment_on_group_line.pl     |   2 +-
 tp/t/results/coverage/def.pl                       |  23 +++++++-
 tp/t/results/coverage/delcomment.pl                |   2 +-
 tp/t/results/coverage/displaymath.pl               |   2 +-
 tp/t/results/coverage/empty_w.pl                   |   2 +-
 tp/t/results/coverage/exdent_and_commands.pl       |   2 +-
 tp/t/results/coverage/exdent_and_formats.pl        |   2 +-
 tp/t/results/coverage/flushleft_flushright.pl      |   2 +-
 .../coverage/flushleft_flushright_in_quotation.pl  |   2 +-
 tp/t/results/coverage/flushright_example_nested.pl |   2 +-
 tp/t/results/coverage/flushright_not_closed.pl     |   2 +-
 .../coverage/formats_only_title_comments.pl        |   2 +-
 tp/t/results/coverage/formats_only_titles.pl       |   2 +-
 tp/t/results/coverage/formats_titles.pl            |   9 ++-
 .../coverage/group_beginning_and_end_on_line.pl    |   2 +-
 tp/t/results/coverage/group_not_closed.pl          |   2 +-
 tp/t/results/coverage/hyphenation.pl               |   2 +-
 tp/t/results/coverage/indentedblock.pl             |   2 +-
 tp/t/results/coverage/indicateurl_end_lines.pl     |   2 +-
 tp/t/results/coverage/insertcopying.pl             |   2 +-
 tp/t/results/coverage/invalid_U.pl                 |   2 +-
 tp/t/results/coverage/item_container.pl            |   2 +-
 .../results/coverage/lettered_accent_and_spaces.pl |   2 +-
 tp/t/results/coverage/math.pl                      |   2 +-
 tp/t/results/coverage/multitable.pl                |   9 ++-
 tp/t/results/coverage/nested_block_commands.pl     |   2 +-
 tp/t/results/coverage/not_i_j_in_dotless.pl        |   2 +-
 tp/t/results/coverage/preformatted.pl              |   9 ++-
 .../coverage/punctuation_in_line_commands.pl       |   9 ++-
 tp/t/results/coverage/quotation_author.pl          |   2 +-
 tp/t/results/coverage/raggedright.pl               |   2 +-
 tp/t/results/coverage/setfilename_in_paragraph.pl  |   2 +-
 .../coverage/spaces_after_braced_command.pl        |   2 +-
 .../spaces_no_brace_after_braced_command.pl        |   2 +-
 tp/t/results/coverage/symbol_after_block.pl        |   2 +-
 tp/t/results/coverage/symbol_after_command.pl      |   2 +-
 tp/t/results/coverage/table.pl                     |  16 +++++-
 tp/t/results/coverage/table_command_comment.pl     |   2 +-
 tp/t/results/coverage/test_errormsg.pl             |   2 +-
 tp/t/results/coverage/test_tie.pl                  |   2 +-
 tp/t/results/coverage/test_today.pl                |   2 +-
 tp/t/results/coverage/titlefont_in_center.pl       |   2 +-
 tp/t/results/coverage/unknown_accents.pl           |   2 +-
 tp/t/results/coverage/unknown_commands.pl          |   2 +-
 tp/t/results/coverage/verbatiminclude.pl           |   2 +-
 tp/t/results/coverage_braces/abbr_acronym.pl       |   2 +-
 tp/t/results/coverage_braces/anchor_not_closed.pl  |   2 +-
 .../coverage_braces/brace_opened_no_command.pl     |   2 +-
 tp/t/results/coverage_braces/caption_not_closed.pl |   2 +-
 tp/t/results/coverage_braces/code_not_closed.pl    |   2 +-
 .../results/coverage_braces/email_possibilities.pl |   2 +-
 tp/t/results/coverage_braces/empty_commands.pl     |   2 +-
 tp/t/results/coverage_braces/empty_images.pl       |   2 +-
 .../coverage_braces/empty_line_in_anchor.pl        |   2 +-
 tp/t/results/coverage_braces/empty_line_in_math.pl |   2 +-
 tp/t/results/coverage_braces/empty_ref.pl          |   2 +-
 .../coverage_braces/empty_second_email_argument.pl |   2 +-
 tp/t/results/coverage_braces/end_line_in_anchor.pl |   2 +-
 tp/t/results/coverage_braces/footnote.pl           |   2 +-
 .../footnote_ending_on_empty_line.pl               |   2 +-
 .../footnote_in_command_not_closed.pl              |   2 +-
 tp/t/results/coverage_braces/footnote_no_node.pl   |   2 +-
 .../results/coverage_braces/footnote_not_closed.pl |   2 +-
 .../coverage_braces/form_feed_in_brace_commands.pl |   2 +-
 .../format_on_first_footnote_line.pl               |   2 +-
 .../results/coverage_braces/heading_in_footnote.pl |   9 ++-
 .../coverage_braces/inforef_too_much_args.pl       |   2 +-
 tp/t/results/coverage_braces/kbd.pl                |   2 +-
 .../math_bracketed_inside_not_closed.pl            |   2 +-
 .../coverage_braces/math_bracketed_not_closed.pl   |   2 +-
 .../math_bracketed_not_closed_next_line.pl         |   2 +-
 tp/t/results/coverage_braces/math_not_closed.pl    |   2 +-
 tp/t/results/coverage_braces/nested.pl             |   2 +-
 tp/t/results/coverage_braces/nested_args.pl        |   2 +-
 tp/t/results/coverage_braces/nested_in_sc.pl       |   2 +-
 tp/t/results/coverage_braces/no_brace.pl           |   2 +-
 .../coverage_braces/no_brace_space_end_line.pl     |   2 +-
 tp/t/results/coverage_braces/recursive_acronym.pl  |   2 +-
 tp/t/results/coverage_braces/ref_empty_node.pl     |   2 +-
 .../coverage_braces/ref_in_style_command.pl        |   2 +-
 tp/t/results/coverage_braces/simple.pl             |   2 +-
 .../coverage_braces/space_command_in_image.pl      |   2 +-
 tp/t/results/coverage_braces/space_in_anchor.pl    |   2 +-
 tp/t/results/coverage_braces/space_in_footnote.pl  |   2 +-
 tp/t/results/coverage_braces/space_in_image.pl     |   2 +-
 tp/t/results/coverage_braces/test_image.pl         |   2 +-
 tp/t/results/coverage_braces/test_w.pl             |   2 +-
 tp/t/results/coverage_braces/too_much_args.pl      |   2 +-
 .../coverage_braces/two_footnotes_in_nodes.pl      |   2 +-
 .../two_footnotes_in_nodes_separate.pl             |   2 +-
 .../coverage_braces/unknown_command_with_braces.pl |   2 +-
 tp/t/results/coverage_braces/unmatched_brace.pl    |   2 +-
 tp/t/results/coverage_braces/uref_in_ref.pl        |   2 +-
 tp/t/results/coverage_braces/uref_url.pl           |   2 +-
 .../uref_with_commands_characters.pl               |   2 +-
 tp/t/results/coverage_braces/verb_in_xref.pl       |   2 +-
 tp/t/results/coverage_braces/w_end_sentence.pl     |   2 +-
 tp/t/results/def/all_commands.pl                   |  30 +++++++++-
 tp/t/results/def/all_commands_delimiters.pl        |  59 ++++++++++++++++++-
 .../def/all_commands_delimiters_printindex.pl      |  59 ++++++++++++++++++-
 tp/t/results/def/all_commands_printindex.pl        |  30 +++++++++-
 tp/t/results/def/all_empty_def.pl                  |   2 +-
 tp/t/results/def/ampchar.pl                        |   9 ++-
 tp/t/results/def/code_in_def.pl                    |   9 ++-
 tp/t/results/def/def_defx_mismatch.pl              |  10 +++-
 tp/t/results/def/defx_after_comment.pl             |  10 +++-
 tp/t/results/def/defx_after_comment_in_example.pl  |  10 +++-
 tp/t/results/def/defx_after_empty_line.pl          |  10 +++-
 .../def/defx_after_empty_line_in_example.pl        |  10 +++-
 tp/t/results/def/defx_after_paragraph_end.pl       |  10 +++-
 .../def/defx_after_preformatted_with_text.pl       |  10 +++-
 tp/t/results/def/defx_after_text.pl                |  10 +++-
 tp/t/results/def/defx_in_example.pl                |  10 +++-
 tp/t/results/def/double_command.pl                 |  14 ++++-
 tp/t/results/def/empty_def_arguments.pl            |   9 ++-
 tp/t/results/def/empty_def_command.pl              |  11 +++-
 tp/t/results/def/empty_deftype.pl                  |  12 +++-
 tp/t/results/def/empty_deftypeop_name.pl           |   2 +-
 tp/t/results/def/end_of_line_end_file.pl           |   2 +-
 tp/t/results/def/end_of_line_protect_at_end.pl     |   9 ++-
 tp/t/results/def/end_of_lines_protected.pl         |   9 ++-
 .../def/end_of_lines_protected_in_footnote.pl      |   9 ++-
 tp/t/results/def/inter_item_commands_in_def.pl     |  15 ++++-
 .../def/inter_item_commands_in_def_in_example.pl   |  15 ++++-
 tp/t/results/def/leading_space_in_def_arg.pl       |   9 ++-
 tp/t/results/def/no_category_or_no_name.pl         |   9 ++-
 tp/t/results/def/not_closed.pl                     |  13 ++++-
 tp/t/results/def/protected_brace.pl                |   9 ++-
 tp/t/results/def/ref_in_def.pl                     |  10 +++-
 tp/t/results/def/space_in_def_for_index.pl         |  10 +++-
 tp/t/results/def/wrong_braces_simple.pl            |  17 +++++-
 tp/t/results/def/wrong_braces_with_end_of_lines.pl |  10 +++-
 ...pty_quotation_with_arg_followed_by_quotation.pl |   2 +-
 .../docbook_tests/special_docbook_unnumbered.pl    |   2 +-
 tp/t/results/float/anchor_in_caption.pl            |   2 +-
 tp/t/results/float/cindex_in_caption.pl            |   9 ++-
 .../results/float/comment_space_comand_in_float.pl |   2 +-
 tp/t/results/float/complex_float.pl                |  11 +++-
 tp/t/results/float/empty_listoffloats.pl           |   2 +-
 .../float/empty_listoffloats_with_floats.pl        |   2 +-
 tp/t/results/float/float_copying.pl                |  14 ++++-
 tp/t/results/float/float_with_at_commands.pl       |   2 +-
 tp/t/results/float/footnote_in_caption.pl          |   2 +-
 .../results/float/footnote_in_caption_and_error.pl |   2 +-
 tp/t/results/float/listoffloats_with_commands.pl   |   2 +-
 .../float/numbering_captions_listoffloats.pl       |   2 +-
 tp/t/results/float/ref_to_float.pl                 |   2 +-
 tp/t/results/float/simple.pl                       |   2 +-
 tp/t/results/formatting/cond.pl                    |   2 +-
 .../results/formatting/cond_ifhtml_ifinfo_iftex.pl |   2 +-
 tp/t/results/formatting/cond_info.pl               |   2 +-
 .../formatting/cond_info_ifhtml_ifinfo_iftex.pl    |   2 +-
 .../cond_info_no-ifhtml_no-ifinfo_no-iftex.pl      |   2 +-
 .../cond_no-ifhtml_no-ifinfo_no-iftex.pl           |   2 +-
 tp/t/results/formatting/cond_xml.pl                |   2 +-
 tp/t/results/formatting/defcondx_Dbar.pl           |   2 +-
 tp/t/results/formatting/defcondx_Ubar.pl           |   2 +-
 .../formatting/direntry_dircategory_info_split.pl  |   2 +-
 .../formatting/documentlanguage_set_option.pl      |   2 +-
 .../formatting/documentlanguage_set_option_info.pl |   2 +-
 .../formatting/documentlanguage_set_unknown.pl     |   2 +-
 tp/t/results/formatting/empty.pl                   |   2 +-
 tp/t/results/formatting/float_copying.pl           |  16 +++++-
 tp/t/results/formatting/one_line.pl                |   2 +-
 tp/t/results/formatting/one_line_no_content.pl     |   2 +-
 .../formatting/simplest_test_date_in_header.pl     |   2 +-
 tp/t/results/formatting/simplest_test_prefix.pl    |   2 +-
 .../formatting/simplest_test_prefix_info.pl        |   2 +-
 .../formatting/split_for_format_not_split.pl       |   2 +-
 tp/t/results/formatting/split_nocopying.pl         |   2 +-
 tp/t/results/formatting/split_nocopying_split.pl   |   2 +-
 tp/t/results/formatting/texi_bib_example.pl        |   2 +-
 tp/t/results/formatting/texi_cond.pl               |   2 +-
 tp/t/results/formatting/texi_glossary.pl           |   2 +-
 tp/t/results/heading/heading_in_copying.pl         |   9 ++-
 tp/t/results/heading/heading_in_example.pl         |   2 +-
 tp/t/results/heading/heading_in_quotation.pl       |   2 +-
 .../character_number_leading_toc_stoc.pl           |   2 +-
 tp/t/results/html_tests/check_htmlxref.pl          |   2 +-
 tp/t/results/html_tests/commands_in_abbr.pl        |   2 +-
 tp/t/results/html_tests/commands_in_alt.pl         |   2 +-
 tp/t/results/html_tests/commands_in_email.pl       |   2 +-
 tp/t/results/html_tests/documentdescription.pl     |   2 +-
 .../empty_lines_at_beginning_no_setfilename.pl     |   2 +-
 ...lines_at_beginning_no_setfilename_no_element.pl |   2 +-
 .../html_tests/example_at_commands_arguments.pl    |   2 +-
 tp/t/results/html_tests/example_class.pl           |   2 +-
 tp/t/results/html_tests/example_empty_arguments.pl |   2 +-
 tp/t/results/html_tests/example_multi_class.pl     |   2 +-
 tp/t/results/html_tests/html_in_copying.pl         |   2 +-
 tp/t/results/html_tests/image_link_prefix.pl       |   2 +-
 .../results/html_tests/index_and_node_same_name.pl |   9 ++-
 tp/t/results/html_tests/index_below.pl             |   9 ++-
 tp/t/results/html_tests/no_use_iso.pl              |   2 +-
 tp/t/results/html_tests/raw_html.pl                |   2 +-
 tp/t/results/html_tests/redirection_same_labels.pl |   2 +-
 tp/t/results/html_tests/ref_in_preformatted.pl     |   2 +-
 tp/t/results/html_tests/shortcontents_no_top.pl    |   2 +-
 tp/t/results/html_tests/simple_menu.pl             |   2 +-
 .../html_tests/test_xrefautomaticsectiontitle.pl   |   2 +-
 tp/t/results/html_tests/tex_expanded_in_copying.pl |   2 +-
 .../text_before_top_and_contents_after_title.pl    |   2 +-
 tp/t/results/html_tests/titles.pl                  |   2 +-
 tp/t/results/html_tests/utf8_enable_encoding.pl    |   2 +-
 .../html_tests/utf8_enable_encoding_no_use_iso.pl  |   2 +-
 tp/t/results/html_tests/utf8_no_use_entity.pl      |   2 +-
 .../utf8_no_use_entity_enable_encoding.pl          |   2 +-
 ...tf8_no_use_entity_enable_encoding_no_use_iso.pl |   2 +-
 .../html_tests/utf8_no_use_entity_no_use_iso.pl    |   2 +-
 .../verbatim_in_multitable_in_example.pl           |   2 +-
 tp/t/results/html_tests/xml_protected_in_verb.pl   |   2 +-
 tp/t/results/htmlxref/htmlxref.pl                  |   2 +-
 tp/t/results/htmlxref/htmlxref_nodes.pl            |   2 +-
 tp/t/results/htmlxref/htmlxref_only_mono.pl        |   2 +-
 tp/t/results/htmlxref/htmlxref_only_mono_nodes.pl  |   2 +-
 tp/t/results/htmlxref/htmlxref_only_split.pl       |   2 +-
 tp/t/results/htmlxref/htmlxref_only_split_nodes.pl |   2 +-
 tp/t/results/include/cpp_lines.pl                  |   2 +-
 tp/t/results/include/double_include.pl             |   2 +-
 tp/t/results/include/include_at_end_line.pl        |   2 +-
 tp/t/results/include/include_comment.pl            |   2 +-
 .../include_setfilename_on_setfilename_line.pl     |   2 +-
 tp/t/results/include/include_space.pl              |   2 +-
 tp/t/results/include/include_space_comment.pl      |   2 +-
 tp/t/results/include/include_with_setfilename.pl   |   2 +-
 .../macro_and_commands_in_early_commands.pl        |   2 +-
 .../results/include/macro_definition_in_include.pl |   2 +-
 tp/t/results/include/macro_in_early_commands.pl    |   2 +-
 tp/t/results/include/no_eol_in_included_file.pl    |   2 +-
 tp/t/results/include/simple.pl                     |   2 +-
 tp/t/results/include/simple_no_eol.pl              |   2 +-
 tp/t/results/include/value_expansion_in_include.pl |   2 +-
 .../include/verbatiminclude_and_encoding.pl        |   2 +-
 .../include/verbatiminclude_and_encoding_latin1.pl |   2 +-
 tp/t/results/indices/complex_recursive_synindex.pl |  14 ++++-
 tp/t/results/indices/def_existing_index.pl         |   2 +-
 tp/t/results/indices/def_syn_indices.pl            |  19 ++++++-
 ...default_cp_index_and_one_letter_syncodeindex.pl |  10 +++-
 tp/t/results/indices/double_index_entry.pl         |  11 +++-
 tp/t/results/indices/double_seeentry_seealso.pl    |   7 ++-
 tp/t/results/indices/double_syncodeindex.pl        |  10 +++-
 tp/t/results/indices/empty_cindex_entry.pl         |   2 +-
 tp/t/results/indices/empty_index_entry.pl          |   2 +-
 tp/t/results/indices/empty_string_index_entry.pl   |   7 ++-
 tp/t/results/indices/encoding_index_ascii.pl       |  63 ++++++++++++++++++++-
 .../encoding_index_ascii_enable_encoding.pl        |  63 ++++++++++++++++++++-
 tp/t/results/indices/encoding_index_latin1.pl      |  63 ++++++++++++++++++++-
 .../encoding_index_latin1_enable_encoding.pl       |  63 ++++++++++++++++++++-
 tp/t/results/indices/encoding_index_utf8.pl        |  63 ++++++++++++++++++++-
 .../indices/encoding_index_utf8_enable_encoding.pl |  63 ++++++++++++++++++++-
 tp/t/results/indices/explicit_sort_key.pl          |  12 +++-
 tp/t/results/indices/ftable_vtable.pl              |  17 +++++-
 tp/t/results/indices/image_lines_count.pl          |   9 ++-
 tp/t/results/indices/image_text_lines_count.pl     |   9 ++-
 tp/t/results/indices/index_entries_locations.pl    |  12 +++-
 .../indices/index_entry_before_first_node.pl       | Bin 9373 -> 9492 bytes
 tp/t/results/indices/index_entry_before_node.pl    |   9 ++-
 tp/t/results/indices/index_entry_in_footnote.pl    |   9 ++-
 .../index_entry_in_footnote_different_node_end.pl  |  10 +++-
 .../indices/index_entry_in_footnote_separate.pl    |  10 +++-
 tp/t/results/indices/print_merged_index.pl         |   2 +-
 tp/t/results/indices/printindex_before_document.pl |   2 +-
 .../indices/printindex_index_entry_in_copying.pl   |  13 ++++-
 ...rintindex_index_entry_in_copying_in_footnote.pl |   9 ++-
 ...ndex_index_entry_in_copying_no_insertcopying.pl |  13 ++++-
 .../indices/printindex_with_space_before.pl        | Bin 8949 -> 9060 bytes
 tp/t/results/indices/recursive_synindex.pl         |   2 +-
 .../indices/same_index_entry_merged_indices.pl     |  10 +++-
 tp/t/results/indices/seealso_duplicate.pl          |  10 +++-
 tp/t/results/indices/seeentry.pl                   |   8 ++-
 tp/t/results/indices/subentries.pl                 |  18 +++++-
 tp/t/results/indices/subentry_and_sortas.pl        |  12 +++-
 tp/t/results/indices/syncode_index_print_both.pl   |  10 +++-
 tp/t/results/indices/syncodeindex_to_plain.pl      |  13 ++++-
 tp/t/results/indices/transparent_sort_chars.pl     |  11 +++-
 tp/t/results/indices/unknown_index_entry.pl        |   2 +-
 tp/t/results/indices/unknown_printindex.pl         |   2 +-
 tp/t/results/indices/unknown_synindex.pl           |   2 +-
 .../indices/unknown_then_known_index_entry.pl      |   9 ++-
 tp/t/results/indices/w_lines_count.pl              |   9 ++-
 tp/t/results/indices/wrong_synindex.pl             |   2 +-
 tp/t/results/info_tests/anchor_and_spaces.pl       |   2 +-
 tp/t/results/info_tests/anchor_in_command.pl       |   2 +-
 tp/t/results/info_tests/before_node_and_section.pl |   9 ++-
 tp/t/results/info_tests/center_flush.pl            |   2 +-
 tp/t/results/info_tests/colon_in_index_entry.pl    |  12 +++-
 tp/t/results/info_tests/def_in_copying.pl          |  12 +++-
 .../direntry_dircategory_and_commands.pl           |   2 +-
 tp/t/results/info_tests/encoding_us_ascii.pl       |   2 +-
 tp/t/results/info_tests/error_in_footnote.pl       |   2 +-
 tp/t/results/info_tests/file_only_png.pl           | Bin 6896 -> 6917 bytes
 tp/t/results/info_tests/float_long_captions.pl     |   2 +-
 tp/t/results/info_tests/image_and_punctuation.pl   |   2 +-
 .../info_tests/image_and_spaces_formatting.pl      |   2 +-
 tp/t/results/info_tests/image_extension.pl         |   2 +-
 tp/t/results/info_tests/image_in_paragraph.pl      | Bin 6608 -> 6629 bytes
 tp/t/results/info_tests/image_not_found.pl         |   2 +-
 tp/t/results/info_tests/image_quotes.pl            | Bin 5376 -> 5397 bytes
 tp/t/results/info_tests/image_text_encoded.pl      |   2 +-
 tp/t/results/info_tests/index_entry_at_end_node.pl |   9 ++-
 .../info_tests/invalid_node_name_no_warning.pl     |   2 +-
 .../info_tests/invalid_node_name_warning.pl        |   2 +-
 tp/t/results/info_tests/known_encoding.pl          |   2 +-
 .../info_tests/multiline_image_and_align.pl        |   2 +-
 .../multitable_anchor_and_index_entry.pl           |  10 +++-
 .../info_tests/nested_footnotes_separate.pl        |   2 +-
 .../info_tests/nested_multitable_anchor_index.pl   |  10 +++-
 tp/t/results/info_tests/no_node_but_top.pl         |   2 +-
 tp/t/results/info_tests/no_nodes.pl                |   2 +-
 tp/t/results/info_tests/no_top_node.pl             |   2 +-
 tp/t/results/info_tests/note_in_strong.pl          |   2 +-
 .../info_tests/note_in_strong_end_of_line.pl       |   2 +-
 tp/t/results/info_tests/novalidate_empty_refs.pl   |   2 +-
 tp/t/results/info_tests/only_documentencoding.pl   |   2 +-
 .../info_tests/paragraphindent_and_preamble.pl     |   2 +-
 .../info_tests/paragraphindent_asis_first.pl       |   2 +-
 .../info_tests/paragraphindent_none_first.pl       |   2 +-
 tp/t/results/info_tests/pxref_test.pl              |   2 +-
 tp/t/results/info_tests/ref_tests.pl               |   2 +-
 tp/t/results/info_tests/space_at_menu_end.pl       |   2 +-
 tp/t/results/info_tests/space_in_menu.pl           |   2 +-
 tp/t/results/info_tests/space_in_setfilename.pl    |   2 +-
 tp/t/results/info_tests/split_no_copying.pl        |   2 +-
 .../info_tests/split_test_before_first_node.pl     |   2 +-
 .../split_test_before_first_node_no_empty_line.pl  |   2 +-
 tp/t/results/info_tests/test_index.pl              |  27 ++++++++-
 tp/t/results/info_tests/text_before_node.pl        |   2 +-
 tp/t/results/info_tests/top_node_normalization.pl  |   2 +-
 tp/t/results/info_tests/unknown_encoding.pl        |   2 +-
 tp/t/results/info_tests/xref_test.pl               |   2 +-
 ...acro_defined_txiinternalvalue_in_translation.pl |   2 +-
 .../init_files_tests/modified_translation.pl       |   2 +-
 tp/t/results/init_files_tests/redefined_need.pl    |   2 +-
 tp/t/results/invalid_nestings/accents.pl           |   2 +-
 tp/t/results/invalid_nestings/bad_style_nesting.pl |   2 +-
 tp/t/results/invalid_nestings/bad_tab_nesting.pl   |   2 +-
 .../results/invalid_nestings/block_not_matching.pl |   9 ++-
 .../invalid_nestings/cartouche_in_style_command.pl |   2 +-
 tp/t/results/invalid_nestings/center.pl            |   9 ++-
 .../invalid_nestings/def_in_style_command.pl       |   9 ++-
 .../def_not_closed_in_menu_description.pl          |   9 ++-
 .../invalid_nestings/enumerate_in_style_command.pl |   2 +-
 .../invalid_nestings/example_in_style_command.pl   |   2 +-
 .../invalid_nestings/float_in_style_command.pl     |   2 +-
 .../flushright_in_style_command.pl                 |   2 +-
 tp/t/results/invalid_nestings/footnote_in_ref.pl   |   2 +-
 .../formats_not_closed_in_example.pl               |   2 +-
 tp/t/results/invalid_nestings/ignore_in_xref.pl    |   2 +-
 tp/t/results/invalid_nestings/ignored_text.pl      |   2 +-
 tp/t/results/invalid_nestings/in_errormsg.pl       |   2 +-
 tp/t/results/invalid_nestings/in_table.pl          |  12 +++-
 tp/t/results/invalid_nestings/item_in_ref.pl       |   2 +-
 .../item_tab_outside_of_table_lists.pl             |   2 +-
 .../itemx_in_itemize_enumerate_in_table.pl         |   2 +-
 .../invalid_nestings/menu_in_style_command.pl      |   2 +-
 .../multitable_in_style_command.pl                 |   2 +-
 .../invalid_nestings/multitable_item_in_index.pl   |   9 ++-
 tp/t/results/invalid_nestings/node_in_copying.pl   |   2 +-
 .../invalid_nestings/node_in_copying_not_closed.pl |   2 +-
 .../invalid_nestings/node_on_index_entry_line.pl   |   2 +-
 .../invalid_nestings/on_block_command_line.pl      |   2 +-
 tp/t/results/invalid_nestings/on_def_line.pl       |  10 +++-
 .../invalid_nestings/on_index_entry_line.pl        |  10 +++-
 tp/t/results/invalid_nestings/on_itemize_line.pl   |   2 +-
 tp/t/results/invalid_nestings/on_node_line.pl      |   2 +-
 tp/t/results/invalid_nestings/on_section_line.pl   |   2 +-
 .../results/invalid_nestings/on_subheading_line.pl |   2 +-
 tp/t/results/invalid_nestings/quotation_in_ref.pl  |   2 +-
 .../invalid_nestings/quotation_in_style_command.pl |   2 +-
 tp/t/results/invalid_nestings/raw_block_on_line.pl |   2 +-
 tp/t/results/invalid_nestings/recursive_copying.pl |   2 +-
 tp/t/results/invalid_nestings/ref_in_anchor.pl     |   2 +-
 tp/t/results/invalid_nestings/ref_in_ref.pl        |   2 +-
 .../results/invalid_nestings/section_in_copying.pl |   2 +-
 .../invalid_nestings/section_in_flushright.pl      |   2 +-
 .../invalid_nestings/section_in_footnote.pl        |   2 +-
 tp/t/results/invalid_nestings/section_in_math.pl   |   2 +-
 .../section_in_nested_block_commands.pl            |   2 +-
 tp/t/results/invalid_nestings/section_in_table.pl  |   2 +-
 .../invalid_nestings/section_on_def_line.pl        |   2 +-
 .../invalid_nestings/section_on_defx_line.pl       |   9 ++-
 .../section_on_index_entry_line.pl                 |   2 +-
 .../style_not_closed_before_first_node.pl          |   2 +-
 .../style_not_closed_in_block_command.pl           |   2 +-
 .../style_not_closed_in_table_line.pl              |   2 +-
 .../style_not_closed_no_newline_root_commands.pl   |   2 +-
 .../style_not_closed_root_commands.pl              |   2 +-
 tp/t/results/invalid_nestings/tab_in_index.pl      |   9 ++-
 tp/t/results/invalid_nestings/table_in_code.pl     |   2 +-
 .../table_not_closed_in_menu_comment.pl            |   2 +-
 .../table_not_closed_in_menu_description.pl        |   2 +-
 .../results/invalid_nestings/table_on_item_line.pl |   2 +-
 .../unclosed_verb_end_of_line_on_misc_line.pl      |   2 +-
 .../invalid_nestings/unclosed_verb_on_misc_line.pl |   2 +-
 .../unclosed_verb_on_section_line.pl               |   2 +-
 tp/t/results/invalid_nestings/verbatim_in_ref.pl   |   2 +-
 tp/t/results/itemize/accent_argument.pl            |   2 +-
 tp/t/results/itemize/asis_as_itemize_argument.pl   |   2 +-
 tp/t/results/itemize/bad_enumerate_arguments.pl    |   2 +-
 .../itemize/comment_first_on_enumerate_line.pl     |   2 +-
 .../itemize/comment_first_on_itemize_line.pl       |   2 +-
 tp/t/results/itemize/enumerate_and_empty_lines.pl  |   2 +-
 tp/t/results/itemize/enumerate_argument.pl         |   2 +-
 tp/t/results/itemize/enumerate_argument_item.pl    |   2 +-
 tp/t/results/itemize/enumerate_in_example.pl       |   2 +-
 tp/t/results/itemize/enumerate_letters.pl          |   2 +-
 .../results/itemize/headitem_itemx_in_enumerate.pl |   2 +-
 tp/t/results/itemize/headitem_itemx_in_itemize.pl  |   2 +-
 .../itemize/inter_item_commands_in_enumerate.pl    |  15 ++++-
 .../itemize/inter_item_commands_in_itemize.pl      |  12 +++-
 tp/t/results/itemize/itemize_and_empty_lines.pl    |   2 +-
 tp/t/results/itemize/itemize_in_example.pl         |   2 +-
 .../itemize/itemize_line_commands_with_brace.pl    |   2 +-
 tp/t/results/itemize/itemize_long_item.pl          |   2 +-
 tp/t/results/itemize/lone_end_itemize.pl           |   2 +-
 tp/t/results/itemize/not_closed_item.pl            |   2 +-
 tp/t/results/itemize/not_closed_itemize.pl         |   2 +-
 tp/t/results/itemize/table_in_itemize.pl           |   2 +-
 tp/t/results/itemize/w_argument.pl                 |   2 +-
 tp/t/results/languages/appendix_translated.pl      |   2 +-
 tp/t/results/languages/command_translated.pl       |   2 +-
 tp/t/results/languages/multiple.pl                 |  11 +++-
 tp/t/results/languages/multiple_lang_chapters.pl   |  11 +++-
 .../languages/multiple_lang_chapters_latex.pl      |  11 +++-
 .../languages/multiple_lang_chapters_texi2html.pl  |  11 +++-
 tp/t/results/languages/simple.pl                   |   9 ++-
 tp/t/results/languages/unknown_language.pl         |   2 +-
 tp/t/results/languages/unknown_region.pl           |   9 ++-
 .../anchor_links_xref_xrefautomaticsectiontitle.pl |   2 +-
 tp/t/results/latex_tests/enumerate_arguments.pl    |   2 +-
 tp/t/results/latex_tests/example_in_cartouche.pl   |   2 +-
 tp/t/results/latex_tests/float_and_refs.pl         |   2 +-
 tp/t/results/latex_tests/fonttextsize.pl           |   2 +-
 tp/t/results/latex_tests/indices.pl                |  15 ++++-
 tp/t/results/latex_tests/kbdinputstyle_and_kbd.pl  |   2 +-
 tp/t/results/latex_tests/nested_enumerate.pl       |   2 +-
 tp/t/results/latex_tests/nested_itemize.pl         |   2 +-
 .../no_titlepage_and_setchapternewpage_odd.pl      |   2 +-
 .../no_titlepage_and_setchapternewpage_on.pl       |   2 +-
 tp/t/results/latex_tests/pagesizes.pl              |   2 +-
 tp/t/results/latex_tests/pagetype.pl               |   2 +-
 .../setchapternewpage_on_odd_titlepage.pl          |   2 +-
 tp/t/results/latex_tests/settitle_and_headings.pl  |   2 +-
 tp/t/results/latex_tests/shorttitlepage.pl         |   2 +-
 .../three_setchapternewpage_on_odd_off.pl          |   2 +-
 tp/t/results/latex_tests/titlepage_and_headings.pl |   2 +-
 .../titlepage_and_setchapternewpage_odd.pl         |   2 +-
 .../titlepage_and_setchapternewpage_on.pl          |   2 +-
 tp/t/results/latex_tests/titlepage_classical.pl    |   2 +-
 tp/t/results/latex_tests/titlepage_in_top_node.pl  |   2 +-
 tp/t/results/latex_tests/titlepage_long_title.pl   |   2 +-
 tp/t/results/latex_tests/titlepage_no_author.pl    |   2 +-
 tp/t/results/latex_tests/titlepage_no_title.pl     |   2 +-
 .../titlepage_with_commands_classical.pl           |   2 +-
 .../latex_tests/two_setchapternewpage_odd_on.pl    |   2 +-
 .../latex_tests/two_setchapternewpage_on_odd.pl    |   2 +-
 .../results/latex_tests/verbatim_in_smallformat.pl |   2 +-
 tp/t/results/layout/navigation.pl                  |   2 +-
 tp/t/results/layout/navigation_chapter.pl          |   2 +-
 .../results/layout/navigation_chapter_no_header.pl |   2 +-
 .../navigation_chapter_no_header_vertical.pl       |   2 +-
 tp/t/results/layout/navigation_chapter_vertical.pl |   2 +-
 tp/t/results/layout/navigation_no_header.pl        |   2 +-
 .../layout/navigation_no_header_vertical.pl        |   2 +-
 tp/t/results/layout/navigation_node.pl             |   2 +-
 tp/t/results/layout/navigation_node_no_header.pl   |   2 +-
 .../layout/navigation_node_no_header_vertical.pl   |   2 +-
 tp/t/results/layout/navigation_node_vertical.pl    |   2 +-
 tp/t/results/layout/navigation_section.pl          |   2 +-
 .../results/layout/navigation_section_no_header.pl |   2 +-
 .../navigation_section_no_header_vertical.pl       |   2 +-
 tp/t/results/layout/navigation_section_vertical.pl |   2 +-
 tp/t/results/layout/navigation_vertical.pl         |   2 +-
 tp/t/results/layout/no_monolithic.pl               |   9 ++-
 tp/t/results/macro/arg_body_expansion_order.pl     |   2 +-
 tp/t/results/macro/arg_not_closed.pl               |   2 +-
 tp/t/results/macro/backslash_in_arg.pl             |  12 +++-
 tp/t/results/macro/bad_argument.pl                 |   2 +-
 tp/t/results/macro/bad_formal_arg.pl               |   2 +-
 .../macro/bad_macro_name_with_underscore.pl        |   2 +-
 tp/t/results/macro/complete_macro_for_end.pl       |   2 +-
 tp/t/results/macro/complex_argument.pl             |   2 +-
 tp/t/results/macro/double_macro_definition.pl      |   2 +-
 tp/t/results/macro/double_recursive_macro_call.pl  |   2 +-
 tp/t/results/macro/empty_end.pl                    |   2 +-
 tp/t/results/macro/empty_macro_argument.pl         |   2 +-
 tp/t/results/macro/empty_macro_in_text_no_arg.pl   |   2 +-
 tp/t/results/macro/empty_macro_no_arg.pl           |   2 +-
 tp/t/results/macro/expand_two_same.pl              |   2 +-
 tp/t/results/macro/expansion_order.pl              |   2 +-
 tp/t/results/macro/form_feeds.pl                   |   2 +-
 tp/t/results/macro/ifclear_in_macro.pl             |   2 +-
 tp/t/results/macro/ifset_and_end_isef_in_macro.pl  |   2 +-
 tp/t/results/macro/ifset_in_macro.pl               |   2 +-
 tp/t/results/macro/ifset_in_macro_set.pl           |   2 +-
 tp/t/results/macro/ignored_macro_definition.pl     |   2 +-
 tp/t/results/macro/implicit_quoting_one_arg.pl     |   2 +-
 tp/t/results/macro/implicit_quoting_recursion.pl   |   2 +-
 tp/t/results/macro/include_after_empty_line_arg.pl |   2 +-
 tp/t/results/macro/leading_spaces_no_ignore.pl     |   2 +-
 tp/t/results/macro/line_after_recursive_call.pl    |   2 +-
 tp/t/results/macro/macro_expands_to_empty.pl       |   2 +-
 tp/t/results/macro/macro_expansion.pl              |   2 +-
 tp/t/results/macro/macro_for_end.pl                |   2 +-
 .../macro/macro_for_ignored_line_command.pl        |   2 +-
 tp/t/results/macro/macro_in_accent.pl              |   2 +-
 tp/t/results/macro/macro_in_brace_command.pl       |   2 +-
 tp/t/results/macro/macro_in_end_argument.pl        |   2 +-
 tp/t/results/macro/macro_in_ifset.pl               |   2 +-
 tp/t/results/macro/macro_in_ifset_end_in_arg.pl    |   2 +-
 tp/t/results/macro/macro_in_index_commands.pl      |  18 +++++-
 .../macro/macro_in_invalid_documentencoding.pl     |   2 +-
 tp/t/results/macro/macro_in_macro_arg.pl           |   2 +-
 tp/t/results/macro/macro_in_macro_arg_simpler.pl   |   2 +-
 tp/t/results/macro/macro_in_menu.pl                |   2 +-
 tp/t/results/macro/macro_in_misc_commands.pl       |   2 +-
 tp/t/results/macro/macro_name_with_digit.pl        |   2 +-
 tp/t/results/macro/macro_name_with_hyphen.pl       |   2 +-
 tp/t/results/macro/macro_no_arg_bad_expansion.pl   |   2 +-
 tp/t/results/macro/macro_no_arg_expansion.pl       |   2 +-
 tp/t/results/macro/macro_no_argument.pl            |   2 +-
 tp/t/results/macro/macro_not_closed.pl             |   2 +-
 tp/t/results/macro/macro_one_arg_end_of_file.pl    |   2 +-
 .../macro_with_error_at_end_line_after_macro.pl    |   2 +-
 tp/t/results/macro/macro_zero.pl                   |   2 +-
 tp/t/results/macro/nested_macro_call.pl            |   2 +-
 tp/t/results/macro/no_macrobody.pl                 |   2 +-
 tp/t/results/macro/paragraph_and_macro.pl          |   2 +-
 tp/t/results/macro/protect_comma_macro_line.pl     |   2 +-
 tp/t/results/macro/protect_in_body.pl              |   2 +-
 tp/t/results/macro/protect_in_body_line_arg.pl     |   2 +-
 tp/t/results/macro/protect_in_body_one_arg.pl      |   2 +-
 tp/t/results/macro/recursive_call_in_argument.pl   |   2 +-
 tp/t/results/macro/recursive_call_in_macro.pl      |   2 +-
 tp/t/results/macro/redefine_texinfo_macro.pl       |   2 +-
 tp/t/results/macro/simple_imbricated_macro.pl      |   2 +-
 tp/t/results/macro/space_macro_after_end.pl        |   2 +-
 .../macro/space_macro_after_end_verbatim.pl        |   2 +-
 tp/t/results/macro/text_before_after.pl            |   2 +-
 tp/t/results/macro/too_much_args.pl                |   2 +-
 tp/t/results/macro/two_macros_on_a_line.pl         |   2 +-
 .../results/macro/unknown_macro_on_line_command.pl |   2 +-
 tp/t/results/macro/zero_argument.pl                |   2 +-
 tp/t/results/menu/bad_beginning.pl                 |   2 +-
 .../menu/block_commands_in_menu_description.pl     |   2 +-
 tp/t/results/menu/comment_on_menu_line.pl          |   2 +-
 tp/t/results/menu/dash_in_menu.pl                  |   2 +-
 tp/t/results/menu/detailmenu.pl                    |   2 +-
 tp/t/results/menu/detailmenu_in_description.pl     |   2 +-
 tp/t/results/menu/detailmenu_on_subnodes.pl        |   2 +-
 tp/t/results/menu/detailmenu_unknown_node.pl       |   2 +-
 .../menu/direntry_dircategory_after_first_node.pl  |   2 +-
 tp/t/results/menu/empty_menu_entry_name.pl         |   2 +-
 tp/t/results/menu/entry_after_detailmenu.pl        |   2 +-
 tp/t/results/menu/example_in_menu_comment.pl       |   2 +-
 tp/t/results/menu/example_in_menu_description.pl   |   2 +-
 tp/t/results/menu/formats_in_menu.pl               |   2 +-
 tp/t/results/menu/inlineraw_in_menu_description.pl |   2 +-
 tp/t/results/menu/invalid_info_menu_entry.pl       |   2 +-
 tp/t/results/menu/menu_entry_name.pl               |   2 +-
 tp/t/results/menu/menu_entry_name_comment.pl       |   2 +-
 tp/t/results/menu/menu_entry_no_entry.pl           |   2 +-
 tp/t/results/menu/menu_entry_no_entry_location.pl  |   2 +-
 tp/t/results/menu/menu_entry_node.pl               |   2 +-
 tp/t/results/menu/menu_entry_node_comments.pl      |   2 +-
 tp/t/results/menu/menu_in_deffn.pl                 |   9 ++-
 tp/t/results/menu/menu_in_example.pl               |   2 +-
 .../menu/menu_no_closed_after_empty_line.pl        |   2 +-
 .../results/menu/menu_no_closed_entry_beginning.pl |   2 +-
 tp/t/results/menu/menu_no_closed_in_description.pl |   2 +-
 tp/t/results/menu/menu_no_closed_in_entry.pl       |   2 +-
 tp/t/results/menu/menu_no_closed_star.pl           |   2 +-
 tp/t/results/menu/menu_node_unterminated.pl        |   2 +-
 tp/t/results/menu/menu_pointing_to_anchor.pl       |   2 +-
 tp/t/results/menu/menu_title_before_entries.pl     |   2 +-
 tp/t/results/menu/multiple_menus.pl                |   2 +-
 tp/t/results/menu/no_colon_in_menu.pl              |   2 +-
 tp/t/results/menu/reference_to_external_manual.pl  |   2 +-
 tp/t/results/menu/sc_in_menu.pl                    |   2 +-
 tp/t/results/menu/simple.pl                        |   2 +-
 tp/t/results/menu/simple_no_menu.pl                |   2 +-
 tp/t/results/menu/verb_in_menu_description.pl      |   2 +-
 tp/t/results/misc_commands/also_not_line.pl        |   2 +-
 .../author_outside_titlepage_quotation.pl          |   2 +-
 tp/t/results/misc_commands/bad_documentlanguage.pl |   2 +-
 tp/t/results/misc_commands/bye.pl                  |   2 +-
 tp/t/results/misc_commands/clickstyle.pl           |   2 +-
 .../codequoteundirected_codequotebacktick.pl       |   2 +-
 .../misc_commands/command_in_heading_footing.pl    |   2 +-
 .../misc_commands/command_line_in_paragraph.pl     |   2 +-
 .../command_not_closed_in_documentencoding.pl      |   2 +-
 .../misc_commands/comment_space_command_on_line.pl |   9 ++-
 tp/t/results/misc_commands/comments_in_text.pl     |   2 +-
 tp/t/results/misc_commands/contents.pl             |   2 +-
 .../misc_commands/defindex_too_much_args.pl        |   2 +-
 tp/t/results/misc_commands/definfoenclose.pl       |   2 +-
 .../misc_commands/definfoenclose_with_empty_arg.pl |   2 +-
 tp/t/results/misc_commands/double_exdent.pl        |   2 +-
 tp/t/results/misc_commands/empty_center.pl         |   2 +-
 .../results/misc_commands/empty_center_with_arg.pl |   2 +-
 .../misc_commands/empty_documentencoding.pl        |   2 +-
 tp/t/results/misc_commands/footnote_in_center.pl   |   2 +-
 .../incorrect_allowcodebreaks_argument.pl          |   2 +-
 tp/t/results/misc_commands/indent_in_quotation.pl  |   2 +-
 tp/t/results/misc_commands/index_entries.pl        |  12 +++-
 tp/t/results/misc_commands/invalid_clickstyle.pl   |   2 +-
 .../misc_commands/invalid_documentencoding.pl      |   2 +-
 .../results/misc_commands/invalid_kbdinputstyle.pl |   2 +-
 tp/t/results/misc_commands/kbdinputstyle.pl        |   2 +-
 tp/t/results/misc_commands/many_lines.pl           |   2 +-
 .../no_empty_line_between_headings.pl              |   2 +-
 .../misc_commands/noindent_after_smallexample.pl   |   2 +-
 tp/t/results/misc_commands/noindent_empty_para.pl  |   2 +-
 .../results/misc_commands/noindent_in_paragraph.pl |   2 +-
 tp/t/results/misc_commands/noindent_indent.pl      |   2 +-
 tp/t/results/misc_commands/ref_in_center.pl        |   2 +-
 tp/t/results/misc_commands/setfilename.pl          |   2 +-
 tp/t/results/misc_commands/simple.pl               |   2 +-
 tp/t/results/misc_commands/sp.pl                   |   2 +-
 .../misc_commands/synindex_too_much_args.pl        |   2 +-
 tp/t/results/misc_commands/test_allowcodebreaks.pl |   2 +-
 .../misc_commands/text_before_and_after_bye.pl     |   2 +-
 .../misc_commands/text_before_line_command.pl      |   2 +-
 tp/t/results/misc_commands/vskip.pl                |   2 +-
 tp/t/results/morecoverage/formatting_fr.pl         |  20 ++++++-
 tp/t/results/morecoverage/texi_formatting.pl       |  20 ++++++-
 tp/t/results/moreindices/double_index_entry.pl     |  11 +++-
 tp/t/results/moreindices/index_no_node.pl          |  22 ++++++-
 tp/t/results/moreindices/index_split.pl            |  29 +++++++++-
 tp/t/results/moreindices/index_split_nodes.pl      |  29 +++++++++-
 tp/t/results/moreindices/nodes_before_top.pl       |  23 +++++++-
 .../nodes_before_top_and_sections_monolithic.pl    |  25 +++++++-
 .../moreindices/nodes_before_top_no_nodes.pl       |  23 +++++++-
 tp/t/results/moreindices/nodes_before_top_nodes.pl |  23 +++++++-
 tp/t/results/moreindices/split_chapter_index.pl    |  22 ++++++-
 tp/t/results/moresectioning/equivalent_nodes.pl    |   2 +-
 .../moresectioning/equivalent_nodes_no_node.pl     |   2 +-
 .../moresectioning/more_sections_than_nodes.pl     |   2 +-
 tp/t/results/moresectioning/node_footnote_end.pl   |   2 +-
 .../moresectioning/node_footnote_separated.pl      |   2 +-
 .../moresectioning/node_footnote_use_node.pl       |   2 +-
 .../nodes_after_top_before_chapter.pl              |   2 +-
 ...s_after_top_before_chapter_use_nodes_chapter.pl |   2 +-
 .../nodes_after_top_before_section.pl              |   2 +-
 .../nodes_after_top_before_section_use_nodes.pl    |   2 +-
 ...s_after_top_before_section_use_nodes_chapter.pl |   2 +-
 .../moresectioning/placed_things_before_element.pl |   9 ++-
 tp/t/results/moresectioning/sectioning_frames.pl   |   2 +-
 .../results/moresectioning/top_node_up_explicit.pl |   2 +-
 .../results/moresectioning/top_node_up_implicit.pl |   2 +-
 .../moresectioning/two_footnotes_in_nodes.pl       |   2 +-
 .../two_footnotes_in_nodes_separated.pl            |   2 +-
 tp/t/results/multitable/empty_headitem.pl          |   2 +-
 tp/t/results/multitable/empty_item_tab.pl          |   2 +-
 .../multitable/empty_multitable_with_cells.pl      |   2 +-
 .../inter_item_commands_in_multitable.pl           |  11 +++-
 .../multitable/multitable_begin_with_tab.pl        |   2 +-
 tp/t/results/multitable/multitable_in_example.pl   |   2 +-
 tp/t/results/multitable/multitable_not_closed.pl   |   2 +-
 .../multitable/multitable_not_closed_item.pl       |   2 +-
 .../multitable/multitable_not_closed_item_tab.pl   |   2 +-
 .../multitable_one_column_too_much_cells.pl        |   2 +-
 .../multitable_two_columns_too_much_cells.pl       |   2 +-
 .../multitable/multitable_with_empty_item_tab.pl   |   2 +-
 .../results/multitable/not_letters_in_prototype.pl |   2 +-
 tp/t/results/multitable/paragraph_in_cells.pl      |   2 +-
 .../results/multitable/prototype_brace_no_brace.pl |   2 +-
 .../multitable/prototype_brace_no_brace_comment.pl |   2 +-
 tp/t/results/multitable/prototype_no_brace.pl      |   2 +-
 tp/t/results/multitable/ref_in_multitable.pl       |   2 +-
 tp/t/results/multitable/w_in_multitable.pl         |   2 +-
 tp/t/results/paragraph/close_paragraph_command.pl  |   2 +-
 tp/t/results/paragraph/commands_in_flushright.pl   |   2 +-
 tp/t/results/paragraph/comment_between_text.pl     |   2 +-
 tp/t/results/paragraph/comment_in_quotation.pl     |   2 +-
 tp/t/results/paragraph/double_style_paragraph.pl   |   2 +-
 tp/t/results/paragraph/image_in_paragraph.pl       |   2 +-
 tp/t/results/paragraph/no_paragraph_commands.pl    |   2 +-
 tp/t/results/paragraph/paragraph_command.pl        |   2 +-
 .../paragraph/paragraph_count_and_example.pl       |   2 +-
 .../paragraph/paragraph_in_style_command.pl        |   2 +-
 tp/t/results/paragraph/paragraph_indent_asis.pl    |   2 +-
 tp/t/results/paragraph/sole_image.pl               |   2 +-
 tp/t/results/paragraph/text.pl                     |   2 +-
 tp/t/results/paragraph/text_comment.pl             |   2 +-
 tp/t/results/paragraph/text_line.pl                |   2 +-
 tp/t/results/paragraph/text_space_comment.pl       |   2 +-
 tp/t/results/paragraph/two_lines.pl                |   2 +-
 .../plaintext_tests/U_with_utf8_enable_encoding.pl |   2 +-
 .../plaintext_tests/accent_command_punctuation.pl  |   2 +-
 .../accents_in_var_enable_encoding.pl              |   2 +-
 .../after_punctuation_character_in_command.pl      |   2 +-
 tp/t/results/plaintext_tests/all_spaces.pl         |   2 +-
 .../plaintext_tests/anchor_and_empty_lines.pl      |   2 +-
 .../at_commands_glued_in_example.pl                |   9 ++-
 .../at_commands_glued_in_paragraph.pl              |   9 ++-
 .../plaintext_tests/before_accent_punctuation.pl   |   2 +-
 .../characters_and_commands_in_var.pl              |   2 +-
 .../plaintext_tests/chinese_mixed_with_en.pl       |   2 +-
 .../code_commands_and_punctuation.pl               |   2 +-
 .../command_brace_no_arg_punctuation.pl            |   2 +-
 .../plaintext_tests/commands_and_punctuation.pl    |   2 +-
 tp/t/results/plaintext_tests/east_asian_in_w.pl    |   2 +-
 .../plaintext_tests/empty_line_in_example_end.pl   |   2 +-
 .../plaintext_tests/empty_multitable_in_itemize.pl |   2 +-
 .../end_sentence_space_protected.pl                |   2 +-
 tp/t/results/plaintext_tests/expanded_tex.pl       |   2 +-
 .../flushright_not_closed_and_format.pl            |   2 +-
 tp/t/results/plaintext_tests/html_expanded.pl      |   2 +-
 .../results/plaintext_tests/inhibit_punctuation.pl |   2 +-
 .../insert_copying_and_paragraph.pl                |   2 +-
 .../plaintext_tests/invalid_accent_punctuation.pl  |   2 +-
 .../plaintext_tests/isolated_html_expanded.pl      |   2 +-
 .../itemize_in_headitem_in_example.pl              |   2 +-
 tp/t/results/plaintext_tests/japanese_utf8.pl      |   2 +-
 .../plaintext_tests/line_passed_and_formats.pl     |   2 +-
 .../plaintext_tests/lone_braces_in_inlineraw.pl    |   2 +-
 tp/t/results/plaintext_tests/long_line.pl          |   2 +-
 .../plaintext_tests/long_uref_after_item.pl        |   2 +-
 .../plaintext_tests/multiline_image_and_align.pl   |   2 +-
 .../plaintext_tests/multiline_verb_after_space.pl  |   2 +-
 tp/t/results/plaintext_tests/multitable.pl         |   2 +-
 .../multitable_in_example_extraneous_tab.pl        |   2 +-
 .../plaintext_tests/nested_code_commands.pl        |   2 +-
 .../plaintext_tests/nested_indentedblock.pl        |   2 +-
 tp/t/results/plaintext_tests/nested_multitable.pl  |   2 +-
 .../plaintext_tests/no_empty_line_after_section.pl |   2 +-
 .../plaintext_tests/no_punctuation_commands.pl     |   2 +-
 .../no_punctuation_commands_frenchspacing.pl       |   2 +-
 tp/t/results/plaintext_tests/non_break_spaces.pl   |   2 +-
 tp/t/results/plaintext_tests/paragraphindent.pl    |   2 +-
 .../plaintext_tests/protect_spaces_on_line.pl      |   2 +-
 .../plaintext_tests/protected_space_end_line.pl    |   2 +-
 tp/t/results/plaintext_tests/punctuation.pl        |   2 +-
 .../plaintext_tests/punctuation_abbr_acronym.pl    |   2 +-
 .../punctuation_and_code_style_commands.pl         |   2 +-
 .../punctuation_and_code_style_commands_utf8.pl    |   2 +-
 .../plaintext_tests/punctuation_and_footnotes.pl   |   2 +-
 .../punctuation_and_footnotes_frenchspacing.pl     |   2 +-
 .../punctuation_and_upper_case_commands.pl         |   2 +-
 .../punctuation_and_upper_case_commands_utf8.pl    |   2 +-
 .../plaintext_tests/punctuation_at_end_command.pl  |   2 +-
 .../plaintext_tests/punctuation_commands.pl        |   2 +-
 .../punctuation_commands_frenchspacing.pl          |   2 +-
 .../plaintext_tests/punctuation_frenchspacing.pl   |   2 +-
 .../plaintext_tests/punctuation_in_command.pl      |   2 +-
 .../punctuation_in_command_end_line.pl             |   2 +-
 tp/t/results/plaintext_tests/punctuation_in_sc.pl  |   2 +-
 tp/t/results/plaintext_tests/quote_node_names.pl   |   2 +-
 .../sc_with_utf8_enable_encoding.pl                |   2 +-
 .../plaintext_tests/settitle_and_empty_top.pl      |   2 +-
 .../sp_with_text_before_in_example.pl              |   2 +-
 .../plaintext_tests/star_at_command_formatting.pl  |   2 +-
 .../plaintext_tests/tab_in_table_in_example.pl     |   2 +-
 .../results/plaintext_tests/tab_item_in_example.pl |   2 +-
 tp/t/results/plaintext_tests/transparent_text.pl   |   2 +-
 tp/t/results/preformatted/caption_in_example.pl    |   2 +-
 .../comment_example_and_blank_lines.pl             |   2 +-
 tp/t/results/preformatted/comments_in_example.pl   |   2 +-
 tp/t/results/preformatted/def_in_example.pl        |   9 ++-
 tp/t/results/preformatted/empty_line.pl            |   2 +-
 .../preformatted/empty_line_style_command.pl       |   2 +-
 .../preformatted/insertcopying_in_example.pl       |   2 +-
 .../preformatted/nested_example_and_comment.pl     |   2 +-
 tp/t/results/preformatted/nested_formats.pl        |   2 +-
 tp/t/results/preformatted/page_in_example.pl       |   2 +-
 tp/t/results/preformatted/quote_dash_in_display.pl |   2 +-
 tp/t/results/preformatted/quote_dash_in_example.pl |   2 +-
 .../preformatted/text_on_display_command_line.pl   |   2 +-
 .../preformatted/text_on_example_command_line.pl   |   2 +-
 tp/t/results/preformatted/titlefont_in_example.pl  |   2 +-
 .../results/quotation/comment_on_quotation_line.pl |   2 +-
 tp/t/results/quotation/empty_quotation.pl          |   2 +-
 .../quotation/only_comment_on_quotation_line.pl    |   2 +-
 tp/t/results/quotation/quotation_and_author.pl     |   2 +-
 .../quotation/quotation_author_in_example.pl       |   2 +-
 .../quotation_beginning_and_end_on_line.pl         |   2 +-
 .../space_at_commands_end_quotation_line.pl        |   2 +-
 tp/t/results/quotation/standard_quotations.pl      |   2 +-
 tp/t/results/raw/beginning_and_end_on_line.pl      |   2 +-
 tp/t/results/raw/braces_in_tex.pl                  |   2 +-
 tp/t/results/raw/displaymath.pl                    |   2 +-
 tp/t/results/raw/inline_in_example.pl              |   2 +-
 tp/t/results/raw/inline_missing_first_arg.pl       |   2 +-
 tp/t/results/raw/inlinefmt.pl                      |   2 +-
 tp/t/results/raw/inlinefmt_with_empty_line.pl      |   2 +-
 tp/t/results/raw/inlineraw.pl                      |   2 +-
 tp/t/results/raw/inlineraw_with_empty_line.pl      |   2 +-
 tp/t/results/raw/lone_braces_in_html.pl            |   2 +-
 tp/t/results/raw/misc_raw.pl                       |   2 +-
 tp/t/results/raw/misc_raw_comments.pl              |   2 +-
 tp/t/results/raw/nested_macros.pl                  |   2 +-
 tp/t/results/raw/raw_commands_and_end_of_lines.pl  |   2 +-
 tp/t/results/raw/raw_expanded_in_style.pl          |   2 +-
 tp/t/results/raw/raw_in_example.pl                 |   2 +-
 tp/t/results/raw/raw_in_para.pl                    |   2 +-
 tp/t/results/raw/raw_in_style.pl                   |   2 +-
 tp/t/results/raw/raw_not_closed.pl                 |   2 +-
 tp/t/results/raw/tex_not_closed.pl                 |   2 +-
 tp/t/results/raw/verbatim_and_verbatiminclude.pl   |   2 +-
 tp/t/results/raw/verbatim_in_brace_command.pl      |   2 +-
 tp/t/results/raw/verbatim_not_closed.pl            |   2 +-
 tp/t/results/regions/anchor_in_copying.pl          |   2 +-
 .../regions/anchor_in_copying_in_footnote.pl       |   2 +-
 tp/t/results/regions/anchor_in_titlepage.pl        |   2 +-
 .../regions/anchor_in_titlepage_titlepage.pl       |   2 +-
 tp/t/results/regions/copying_not_closed.pl         |   2 +-
 tp/t/results/regions/double_copying.pl             |   2 +-
 .../results/regions/double_titlepage_not_closed.pl |   2 +-
 tp/t/results/regions/format_in_titlepage.pl        |   2 +-
 .../regions/format_in_titlepage_titlepage.pl       |   2 +-
 tp/t/results/regions/ref_in_copying.pl             |   2 +-
 tp/t/results/regions/today_in_copying.pl           |   2 +-
 tp/t/results/sectioning/a_comma_after_node.pl      |   2 +-
 tp/t/results/sectioning/anchor_in_footnote.pl      |   2 +-
 .../sectioning/anchor_in_footnote_separate.pl      |   2 +-
 tp/t/results/sectioning/anchor_zero.pl             |   2 +-
 tp/t/results/sectioning/at_commands_in_node.pl     |   2 +-
 .../sectioning/chapter_before_and_after_part.pl    |   2 +-
 tp/t/results/sectioning/chapter_before_part.pl     |   2 +-
 tp/t/results/sectioning/chapter_between_nodes.pl   |   2 +-
 .../chapter_node_before_and_after_part.pl          |   2 +-
 tp/t/results/sectioning/chapter_sections.pl        |   2 +-
 .../sectioning/character_and_spaces_in_node.pl     |   2 +-
 .../sectioning/character_and_spaces_in_refs.pl     |   2 +-
 .../sectioning/character_and_spaces_in_refs_out.pl |   2 +-
 tp/t/results/sectioning/complex.pl                 |   2 +-
 tp/t/results/sectioning/complex_split_at_node.pl   |   2 +-
 tp/t/results/sectioning/contents.pl                |   2 +-
 .../sectioning/contents_and_shortcontents.pl       |   2 +-
 .../sectioning/contents_at_document_begin.pl       |   2 +-
 .../results/sectioning/contents_at_end_document.pl |   2 +-
 .../contents_at_end_document_after_node.pl         |   2 +-
 tp/t/results/sectioning/contents_in_document.pl    |   2 +-
 tp/t/results/sectioning/contents_in_html_text.pl   |   2 +-
 tp/t/results/sectioning/contents_no_section.pl     |   2 +-
 .../sectioning/contents_with_only_top_node.pl      |   2 +-
 .../results/sectioning/double_node_anchor_float.pl |   2 +-
 tp/t/results/sectioning/double_part.pl             |   2 +-
 tp/t/results/sectioning/double_top.pl              |   2 +-
 tp/t/results/sectioning/double_top_in_menu.pl      |   2 +-
 tp/t/results/sectioning/double_top_section.pl      |   2 +-
 tp/t/results/sectioning/email_in_node.pl           |   2 +-
 tp/t/results/sectioning/empty_anchor.pl            |   2 +-
 tp/t/results/sectioning/empty_node.pl              |   2 +-
 .../sectioning/empty_nodes_with_commands.pl        |   2 +-
 tp/t/results/sectioning/empty_ref_arg.pl           |   2 +-
 tp/t/results/sectioning/empty_refs.pl              |   2 +-
 tp/t/results/sectioning/empty_top_node_up.pl       |   2 +-
 tp/t/results/sectioning/equivalent_labels.pl       |   2 +-
 tp/t/results/sectioning/equivalent_nodes.pl        |   2 +-
 .../results/sectioning/explicit_node_directions.pl |   2 +-
 tp/t/results/sectioning/external_node_in_menu.pl   |   2 +-
 tp/t/results/sectioning/hole_in_sectioning.pl      |   2 +-
 tp/t/results/sectioning/internal_top_node_up.pl    |   2 +-
 tp/t/results/sectioning/lone_Top_node.pl           |   2 +-
 tp/t/results/sectioning/lone_contents.pl           |   2 +-
 tp/t/results/sectioning/loop_nodes.pl              |   2 +-
 tp/t/results/sectioning/lowered_subsubsection.pl   |   2 +-
 tp/t/results/sectioning/loweredheading.pl          |   2 +-
 tp/t/results/sectioning/menutextorder.pl           |   2 +-
 .../results/sectioning/more_sections_than_nodes.pl |   2 +-
 tp/t/results/sectioning/next_in_menu_is_below.pl   |   2 +-
 tp/t/results/sectioning/next_no_prev_to_node.pl    |   2 +-
 .../results/sectioning/no_argument_and_contents.pl |   2 +-
 tp/t/results/sectioning/no_element.pl              |   9 ++-
 tp/t/results/sectioning/no_menu.pl                 |   2 +-
 tp/t/results/sectioning/node_empty_direction.pl    |   2 +-
 tp/t/results/sectioning/node_line_arguments.pl     |   2 +-
 tp/t/results/sectioning/node_nested_parentheses.pl |   2 +-
 .../sectioning/node_part_chapter_after_chapter.pl  |   2 +-
 .../sectioning/node_part_chapter_after_top.pl      |   2 +-
 tp/t/results/sectioning/node_referenced_in_ref.pl  |   2 +-
 .../node_sectop_before_chapter_no_node.pl          |   2 +-
 .../sectioning/node_sectop_before_lone_node_Top.pl |   2 +-
 tp/t/results/sectioning/node_too_much_args.pl      |   2 +-
 .../node_up_direction_for_top_with_manual.pl       |   2 +-
 tp/t/results/sectioning/node_up_external_node.pl   |   2 +-
 tp/t/results/sectioning/nodename_parentheses.pl    |   2 +-
 .../nodes_after_top_before_chapter_nodes.pl        |   2 +-
 .../nodes_after_top_before_chapter_not_split.pl    |   2 +-
 ...ore_chapter_not_split_no_use_node_directions.pl |   2 +-
 .../nodes_after_top_before_chapter_sections.pl     |   2 +-
 .../nodes_after_top_before_section_nodes.pl        |   2 +-
 .../nodes_after_top_before_section_sections.pl     |   2 +-
 tp/t/results/sectioning/nodes_before_after_top.pl  |   2 +-
 .../sectioning/nodes_before_after_top_xref.pl      |   2 +-
 tp/t/results/sectioning/nodes_before_top.pl        |   2 +-
 .../nodes_no_node_top_explicit_directions.pl       |   2 +-
 .../non_automatic_internal_top_node_up.pl          |   2 +-
 .../non_automatic_top_node_up_and_url.pl           |   2 +-
 .../sectioning/non_automatic_top_node_up_url.pl    |   2 +-
 tp/t/results/sectioning/novalidate.pl              |   2 +-
 .../one_node_explicit_directions_anchor.pl         |   2 +-
 tp/t/results/sectioning/one_subsection.pl          |   2 +-
 tp/t/results/sectioning/one_subsection_and_node.pl |   2 +-
 tp/t/results/sectioning/part_before_chapter.pl     |   2 +-
 tp/t/results/sectioning/part_before_section.pl     |   2 +-
 tp/t/results/sectioning/part_before_top.pl         |   2 +-
 tp/t/results/sectioning/part_chapter_after_top.pl  |   2 +-
 tp/t/results/sectioning/part_chapter_appendix.pl   |   2 +-
 tp/t/results/sectioning/part_node_after_top.pl     |   2 +-
 tp/t/results/sectioning/part_node_before_top.pl    |   2 +-
 .../sectioning/part_node_chapter_after_top.pl      |   2 +-
 .../sectioning/part_node_chapter_appendix.pl       |   2 +-
 .../sectioning/part_node_chapter_node_appendix.pl  |   2 +-
 .../sectioning/part_node_node_part_appendix.pl     |   2 +-
 tp/t/results/sectioning/part_node_part_appendix.pl |   2 +-
 .../sectioning/part_node_part_node_appendix.pl     |   2 +-
 .../sectioning/placed_things_before_element.pl     |   9 ++-
 .../sectioning/placed_things_before_node.pl        |   9 ++-
 .../sectioning/protected_node_parentheses.pl       |   2 +-
 tp/t/results/sectioning/raiselowersections.pl      |   2 +-
 tp/t/results/sectioning/rec_nodes.pl               |   2 +-
 tp/t/results/sectioning/ref_to_top.pl              |   2 +-
 tp/t/results/sectioning/ref_to_unknown_node.pl     |   2 +-
 .../sectioning/section_before_after_top_node.pl    |   2 +-
 .../section_before_after_top_node_last_node.pl     |   2 +-
 tp/t/results/sectioning/section_before_chapter.pl  |   2 +-
 tp/t/results/sectioning/section_before_part.pl     |   2 +-
 tp/t/results/sectioning/section_before_top.pl      |   2 +-
 .../sectioning/section_before_top_no_node.pl       |   2 +-
 .../results/sectioning/section_below_unnumbered.pl |   2 +-
 .../sectioning/section_below_unnumbered_no_top.pl  |   2 +-
 .../sectioning/section_chapter_before_top.pl       |   2 +-
 .../sectioning/section_chapter_before_top_nodes.pl |   2 +-
 .../sectioning/section_in_unnumbered_info.pl       |   2 +-
 .../sectioning/section_in_unnumbered_plaintext.pl  |   2 +-
 .../results/sectioning/section_node_before_part.pl |   2 +-
 .../results/sectioning/sectioning_part_appendix.pl |   2 +-
 .../sectioning/sectioning_part_appendix_no_top.pl  |   2 +-
 tp/t/results/sectioning/sections.pl                |   2 +-
 tp/t/results/sectioning/sections_test.pl           |   2 +-
 .../sectioning/sections_test_no_use_nodes.pl       |   2 +-
 ...ctions_test_no_use_nodes_use_node_directions.pl |   2 +-
 tp/t/results/sectioning/semi_auto.pl               |   2 +-
 .../setfilename_on_top_and_after_node.pl           |   2 +-
 tp/t/results/sectioning/shortcontents.pl           |   2 +-
 tp/t/results/sectioning/space_in_node.pl           |   2 +-
 tp/t/results/sectioning/top_chapter_sections.pl    |   2 +-
 .../sectioning/top_no_argument_and_content.pl      |   2 +-
 .../results/sectioning/top_no_argument_and_node.pl |   2 +-
 .../sectioning/top_no_argument_and_top_node.pl     |   2 +-
 .../sectioning/top_node_no_menu_direction.pl       |   2 +-
 tp/t/results/sectioning/top_node_part_top.pl       |   2 +-
 tp/t/results/sectioning/top_node_up_url.pl         |   2 +-
 tp/t/results/sectioning/top_part_chapter.pl        |   2 +-
 tp/t/results/sectioning/top_without_node_nodes.pl  |   2 +-
 .../sectioning/top_without_node_sections.pl        |   2 +-
 .../transliterated_split_equivalent_nodes.pl       |   2 +-
 tp/t/results/sectioning/two_nodes_at_the_end.pl    |   2 +-
 .../sectioning/two_nodes_between_chapters.pl       |   2 +-
 .../sectioning/two_unnumbered_no_argument.pl       |   2 +-
 tp/t/results/sectioning/unknown_node_in_menu.pl    |   2 +-
 .../sectioning/unnumbered_before_node_top_top.pl   |   2 +-
 tp/t/results/sectioning/unnumbered_before_top.pl   |   2 +-
 .../sectioning/unnumbered_before_top_node.pl       |   2 +-
 tp/t/results/sectioning/unnumbered_no_argument.pl  |   2 +-
 .../unnumbered_top_without_node_nodes.pl           |   2 +-
 .../unnumbered_top_without_node_sections.pl        |   2 +-
 tp/t/results/value/bad_syntax.pl                   |   2 +-
 tp/t/results/value/comment_on_set_line.pl          |   2 +-
 tp/t/results/value/empty_set.pl                    |   2 +-
 tp/t/results/value/empty_value_in_line.pl          |   2 +-
 tp/t/results/value/ignored_value_definition.pl     |   2 +-
 tp/t/results/value/not_only_characters.pl          |   2 +-
 tp/t/results/value/set_flag_command_equivalent.pl  |   2 +-
 tp/t/results/value/set_form_feed.pl                |   2 +-
 tp/t/results/value/set_in_item_missing_line.pl     |   2 +-
 tp/t/results/value/set_on_item_line.pl             |   2 +-
 tp/t/results/value/simple.pl                       |   2 +-
 tp/t/results/value/spaces_before_value.pl          |   2 +-
 tp/t/results/value/value_after_accent.pl           |   2 +-
 tp/t/results/value/value_in_index_commands.pl      |  18 +++++-
 .../value/value_in_invalid_documentencoding.pl     |   2 +-
 tp/t/results/value/value_in_misc_commands.pl       |   2 +-
 tp/t/results/value/value_in_node.pl                |   2 +-
 tp/t/results/value/value_node_directions.pl        |   2 +-
 tp/t/results/value/value_zero.pl                   |   2 +-
 .../value_and_macro/comma_value_in_macro_arg.pl    |   2 +-
 tp/t/results/value_and_macro/macro_in_value.pl     |   2 +-
 .../results/value_and_macro/value_in_macro_body.pl |   2 +-
 .../value_and_macro/value_in_macro_formal_arg.pl   |   2 +-
 tp/t/results/verb/comments.pl                      |   2 +-
 tp/t/results/verb/end_of_line.pl                   |   2 +-
 tp/t/results/verb/multiline.pl                     |   2 +-
 tp/t/results/verb/nested.pl                        |   2 +-
 tp/t/results/verb/simple.pl                        |   2 +-
 .../verb/verb_and_char_end_of_line_not_closed.pl   |   2 +-
 .../results/verb/verb_at_end_of_line_not_closed.pl |   2 +-
 tp/t/results/verb/verb_not_closed.pl               |   2 +-
 tp/t/results/verb/verb_not_closed_with_char.pl     |   2 +-
 .../brace_commands_spaces_end_of_lines.pl          |   2 +-
 tp/t/results/xml_tests/commands_and_spaces.pl      |   9 ++-
 tp/t/results/xml_tests/comments_end_lines.pl       |   2 +-
 .../xml_tests/comments_on_block_command_lines.pl   |   2 +-
 .../xml_tests/comments_on_misc_command_line.pl     |   2 +-
 tp/t/results/xml_tests/image_inline_or_not.pl      |   2 +-
 tp/t/results/xml_tests/lone_bye.pl                 |   2 +-
 tp/t/results/xml_tests/macro_and_args.pl           |   2 +-
 tp/t/results/xml_tests/node_and_bye.pl             |   2 +-
 tp/t/results/xml_tests/node_no_section.pl          |   2 +-
 tp/t/results/xml_tests/raw.pl                      |   2 +-
 tp/t/results/xml_tests/raw_and_comments.pl         |   2 +-
 tp/t/results/xml_tests/spaces_info_lost.pl         |   2 +-
 tp/t/results/xtable/accent_on_table_line.pl        |   2 +-
 tp/t/results/xtable/block_commands_in_table.pl     |  13 ++++-
 .../xtable/comment_and_itemx_before_item.pl        |   2 +-
 .../results/xtable/definfoenclose_on_table_line.pl |   2 +-
 tp/t/results/xtable/empty_item_itemx.pl            |  11 +++-
 tp/t/results/xtable/headitem_in_table.pl           |   2 +-
 .../results/xtable/inter_item_commands_in_table.pl |  30 +++++++++-
 .../inter_item_commands_in_table_in_example.pl     |   9 ++-
 .../xtable/invalid_command_and_brace_in_table.pl   |   2 +-
 tp/t/results/xtable/itemx_before_item.pl           |   2 +-
 tp/t/results/xtable/lone_end_table.pl              |   2 +-
 tp/t/results/xtable/long_item.pl                   |   2 +-
 .../xtable/no_arg_brace_command_on_table_line.pl   |   2 +-
 tp/t/results/xtable/no_argument_for_table.pl       |   2 +-
 tp/t/results/xtable/table_nested.pl                |  20 ++++++-
 tp/t/results/xtable/text_between_item_itemx.pl     |   2 +-
 tp/t/results/xtable/title_and_itemx_before_item.pl |   2 +-
 tp/t/test_utils.pl                                 |  27 +++++++--
 1155 files changed, 3130 insertions(+), 1153 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a949a44..45728b4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2021-09-04  Patrice Dumas  <pertusus@free.fr>
 
+       * t/test_utils.pl: add a test comparison on sorted
+       index entry sort strings for indices.
+
+2021-09-04  Patrice Dumas  <pertusus@free.fr>
+
        * tp/Texinfo/Structuring.pm (sort_indices): do not add
        a 'key' in index entries when sorting.
 
diff --git a/tp/t/results/alias/alias_table_command.pl 
b/tp/t/results/alias/alias_table_command.pl
index 584fe39..bf8525e 100644
--- a/tp/t/results/alias/alias_table_command.pl
+++ b/tp/t/results/alias/alias_table_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/alias/bad_line.pl b/tp/t/results/alias/bad_line.pl
index 7a5e521..8659df0 100644
--- a/tp/t/results/alias/bad_line.pl
+++ b/tp/t/results/alias/bad_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/alias/block_command_alias.pl 
b/tp/t/results/alias/block_command_alias.pl
index 2b7cb59..3409333 100644
--- a/tp/t/results/alias/block_command_alias.pl
+++ b/tp/t/results/alias/block_command_alias.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/alias/simple.pl b/tp/t/results/alias/simple.pl
index 0e0933e..0496e20 100644
--- a/tp/t/results/alias/simple.pl
+++ b/tp/t/results/alias/simple.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/columnfractions/empty.pl 
b/tp/t/results/columnfractions/empty.pl
index f28a78f..435dffa 100644
--- a/tp/t/results/columnfractions/empty.pl
+++ b/tp/t/results/columnfractions/empty.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/columnfractions/empty_comment.pl 
b/tp/t/results/columnfractions/empty_comment.pl
index e524fdf..b90bcd0 100644
--- a/tp/t/results/columnfractions/empty_comment.pl
+++ b/tp/t/results/columnfractions/empty_comment.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/columnfractions/good.pl 
b/tp/t/results/columnfractions/good.pl
index 013565e..7029af6 100644
--- a/tp/t/results/columnfractions/good.pl
+++ b/tp/t/results/columnfractions/good.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/columnfractions/good_comment.pl 
b/tp/t/results/columnfractions/good_comment.pl
index 06a7e79..abc1129 100644
--- a/tp/t/results/columnfractions/good_comment.pl
+++ b/tp/t/results/columnfractions/good_comment.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/columnfractions/good_space_comment.pl 
b/tp/t/results/columnfractions/good_space_comment.pl
index b0a4e56..1f4a9f3 100644
--- a/tp/t/results/columnfractions/good_space_comment.pl
+++ b/tp/t/results/columnfractions/good_space_comment.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/columnfractions/invalid.pl 
b/tp/t/results/columnfractions/invalid.pl
index a71a2d4..1b86af7 100644
--- a/tp/t/results/columnfractions/invalid.pl
+++ b/tp/t/results/columnfractions/invalid.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/columnfractions/not_fraction.pl 
b/tp/t/results/columnfractions/not_fraction.pl
index 9fb96a9..83ef8c3 100644
--- a/tp/t/results/columnfractions/not_fraction.pl
+++ b/tp/t/results/columnfractions/not_fraction.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/columnfractions/out_of_multitable.pl 
b/tp/t/results/columnfractions/out_of_multitable.pl
index 54dd2af..1518632 100644
--- a/tp/t/results/columnfractions/out_of_multitable.pl
+++ b/tp/t/results/columnfractions/out_of_multitable.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/columnfractions/something_before_columnfractions.pl 
b/tp/t/results/columnfractions/something_before_columnfractions.pl
index 2094f42..1049982 100644
--- a/tp/t/results/columnfractions/something_before_columnfractions.pl
+++ b/tp/t/results/columnfractions/something_before_columnfractions.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/columnfractions/wrong_command.pl 
b/tp/t/results/columnfractions/wrong_command.pl
index b965d5f..35d8477 100644
--- a/tp/t/results/columnfractions/wrong_command.pl
+++ b/tp/t/results/columnfractions/wrong_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
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 e5857a0..7a8cd71 100644
--- a/tp/t/results/conditionals/additional_space_in_end_conditional.pl
+++ b/tp/t/results/conditionals/additional_space_in_end_conditional.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
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 8f25f6a..91a61b0 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
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/bad_ifclear_argument.pl 
b/tp/t/results/conditionals/bad_ifclear_argument.pl
index 04b7793..26a78cb 100644
--- a/tp/t/results/conditionals/bad_ifclear_argument.pl
+++ b/tp/t/results/conditionals/bad_ifclear_argument.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/bad_ifset_argument.pl 
b/tp/t/results/conditionals/bad_ifset_argument.pl
index 6eea4dc..99abf64 100644
--- a/tp/t/results/conditionals/bad_ifset_argument.pl
+++ b/tp/t/results/conditionals/bad_ifset_argument.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/command_conditionals.pl 
b/tp/t/results/conditionals/command_conditionals.pl
index 0c5f7fa..a3abc30 100644
--- a/tp/t/results/conditionals/command_conditionals.pl
+++ b/tp/t/results/conditionals/command_conditionals.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/command_conditionals_user_defined.pl 
b/tp/t/results/conditionals/command_conditionals_user_defined.pl
index f031a9d..e86543a 100644
--- a/tp/t/results/conditionals/command_conditionals_user_defined.pl
+++ b/tp/t/results/conditionals/command_conditionals_user_defined.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/commands_in_ifset.pl 
b/tp/t/results/conditionals/commands_in_ifset.pl
index aea2bf9..0a9baf7 100644
--- a/tp/t/results/conditionals/commands_in_ifset.pl
+++ b/tp/t/results/conditionals/commands_in_ifset.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/comment_on_ifset_line.pl 
b/tp/t/results/conditionals/comment_on_ifset_line.pl
index e633dc8..639e932 100644
--- a/tp/t/results/conditionals/comment_on_ifset_line.pl
+++ b/tp/t/results/conditionals/comment_on_ifset_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/conditional_not_closed.pl 
b/tp/t/results/conditionals/conditional_not_closed.pl
index d370ff5..6f60cb4 100644
--- a/tp/t/results/conditionals/conditional_not_closed.pl
+++ b/tp/t/results/conditionals/conditional_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/consecutive_conditionals.pl 
b/tp/t/results/conditionals/consecutive_conditionals.pl
index e519fda..98ecd41 100644
--- a/tp/t/results/conditionals/consecutive_conditionals.pl
+++ b/tp/t/results/conditionals/consecutive_conditionals.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/empty_ifclear.pl 
b/tp/t/results/conditionals/empty_ifclear.pl
index 4439825..056d337 100644
--- a/tp/t/results/conditionals/empty_ifclear.pl
+++ b/tp/t/results/conditionals/empty_ifclear.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/empty_ifset.pl 
b/tp/t/results/conditionals/empty_ifset.pl
index a9512b6..3c62122 100644
--- a/tp/t/results/conditionals/empty_ifset.pl
+++ b/tp/t/results/conditionals/empty_ifset.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/empty_ifset_in_ifset_no_set.pl 
b/tp/t/results/conditionals/empty_ifset_in_ifset_no_set.pl
index 3a7dfc5..236306d 100644
--- a/tp/t/results/conditionals/empty_ifset_in_ifset_no_set.pl
+++ b/tp/t/results/conditionals/empty_ifset_in_ifset_no_set.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
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 698661b..3dac8f3 100644
--- a/tp/t/results/conditionals/empty_ifset_in_ifset_set.pl
+++ b/tp/t/results/conditionals/empty_ifset_in_ifset_set.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/empty_set_in_ifclear.pl 
b/tp/t/results/conditionals/empty_set_in_ifclear.pl
index 0e1beef..2c75f54 100644
--- a/tp/t/results/conditionals/empty_set_in_ifclear.pl
+++ b/tp/t/results/conditionals/empty_set_in_ifclear.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/empty_set_in_ifset.pl 
b/tp/t/results/conditionals/empty_set_in_ifset.pl
index ff70d80..2b27ff2 100644
--- a/tp/t/results/conditionals/empty_set_in_ifset.pl
+++ b/tp/t/results/conditionals/empty_set_in_ifset.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
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 c593de8..1543ef2 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
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/end_ifset_in_format.pl 
b/tp/t/results/conditionals/end_ifset_in_format.pl
index e73055a..41c5d9f 100644
--- a/tp/t/results/conditionals/end_ifset_in_format.pl
+++ b/tp/t/results/conditionals/end_ifset_in_format.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/false_format_not_closed.pl 
b/tp/t/results/conditionals/false_format_not_closed.pl
index 616fcdf..5e66e0c 100644
--- a/tp/t/results/conditionals/false_format_not_closed.pl
+++ b/tp/t/results/conditionals/false_format_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/ifclear_in_ifset.pl 
b/tp/t/results/conditionals/ifclear_in_ifset.pl
index 415aca8..549b713 100644
--- a/tp/t/results/conditionals/ifclear_in_ifset.pl
+++ b/tp/t/results/conditionals/ifclear_in_ifset.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/ifclear_in_ifset_set.pl 
b/tp/t/results/conditionals/ifclear_in_ifset_set.pl
index d921c6c..2a6eecc 100644
--- a/tp/t/results/conditionals/ifclear_in_ifset_set.pl
+++ b/tp/t/results/conditionals/ifclear_in_ifset_set.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/ifnot_format_conditional.pl 
b/tp/t/results/conditionals/ifnot_format_conditional.pl
index e64b09c..438959c 100644
--- a/tp/t/results/conditionals/ifnot_format_conditional.pl
+++ b/tp/t/results/conditionals/ifnot_format_conditional.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/ifnotinfo_exception.pl 
b/tp/t/results/conditionals/ifnotinfo_exception.pl
index fa92fad..e99558b 100644
--- a/tp/t/results/conditionals/ifnotinfo_exception.pl
+++ b/tp/t/results/conditionals/ifnotinfo_exception.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/ifset_in_command.pl 
b/tp/t/results/conditionals/ifset_in_command.pl
index 905e1c8..12f2716 100644
--- a/tp/t/results/conditionals/ifset_in_command.pl
+++ b/tp/t/results/conditionals/ifset_in_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/ifset_nonalpha.pl 
b/tp/t/results/conditionals/ifset_nonalpha.pl
index 18a4ea4..c28642a 100644
--- a/tp/t/results/conditionals/ifset_nonalpha.pl
+++ b/tp/t/results/conditionals/ifset_nonalpha.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/ignore_not_closed.pl 
b/tp/t/results/conditionals/ignore_not_closed.pl
index d13cf24..1d85e1c 100644
--- a/tp/t/results/conditionals/ignore_not_closed.pl
+++ b/tp/t/results/conditionals/ignore_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/ignored_in_ifset.pl 
b/tp/t/results/conditionals/ignored_in_ifset.pl
index 2a3ad14..15af87b 100644
--- a/tp/t/results/conditionals/ignored_in_ifset.pl
+++ b/tp/t/results/conditionals/ignored_in_ifset.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/info_ifinfo_ifnotplaintext.pl 
b/tp/t/results/conditionals/info_ifinfo_ifnotplaintext.pl
index e17e132..6931599 100644
--- a/tp/t/results/conditionals/info_ifinfo_ifnotplaintext.pl
+++ b/tp/t/results/conditionals/info_ifinfo_ifnotplaintext.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/info_ifplaintext.pl 
b/tp/t/results/conditionals/info_ifplaintext.pl
index a848ebb..ebd1cd9 100644
--- a/tp/t/results/conditionals/info_ifplaintext.pl
+++ b/tp/t/results/conditionals/info_ifplaintext.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/inlinefmtifelse_nesting.pl 
b/tp/t/results/conditionals/inlinefmtifelse_nesting.pl
index 5a2e672..c27a7c2 100644
--- a/tp/t/results/conditionals/inlinefmtifelse_nesting.pl
+++ b/tp/t/results/conditionals/inlinefmtifelse_nesting.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/inlineiffmtifelse_not_closed.pl 
b/tp/t/results/conditionals/inlineiffmtifelse_not_closed.pl
index 8f11a87..3ca3c3e 100644
--- a/tp/t/results/conditionals/inlineiffmtifelse_not_closed.pl
+++ b/tp/t/results/conditionals/inlineiffmtifelse_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/conditionals/inlineiffmtifelse_not_closed_three_arg.pl 
b/tp/t/results/conditionals/inlineiffmtifelse_not_closed_three_arg.pl
index 47c7460..1bd9606 100644
--- a/tp/t/results/conditionals/inlineiffmtifelse_not_closed_three_arg.pl
+++ b/tp/t/results/conditionals/inlineiffmtifelse_not_closed_three_arg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/inlineiffmtifelse_not_closed_two_arg.pl 
b/tp/t/results/conditionals/inlineiffmtifelse_not_closed_two_arg.pl
index 75e9170..7dec5e4 100644
--- a/tp/t/results/conditionals/inlineiffmtifelse_not_closed_two_arg.pl
+++ b/tp/t/results/conditionals/inlineiffmtifelse_not_closed_two_arg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/inlineifset_false_not_closed.pl 
b/tp/t/results/conditionals/inlineifset_false_not_closed.pl
index e4e48c2..dc51c94 100644
--- a/tp/t/results/conditionals/inlineifset_false_not_closed.pl
+++ b/tp/t/results/conditionals/inlineifset_false_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/macro_in_ifset.pl 
b/tp/t/results/conditionals/macro_in_ifset.pl
index abfc9fd..f25a65f 100644
--- a/tp/t/results/conditionals/macro_in_ifset.pl
+++ b/tp/t/results/conditionals/macro_in_ifset.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/macro_in_ifset_set.pl 
b/tp/t/results/conditionals/macro_in_ifset_set.pl
index e12d33c..025ec5d 100644
--- a/tp/t/results/conditionals/macro_in_ifset_set.pl
+++ b/tp/t/results/conditionals/macro_in_ifset_set.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/many_conditionals.pl 
b/tp/t/results/conditionals/many_conditionals.pl
index 6c77068..98b67b7 100644
--- a/tp/t/results/conditionals/many_conditionals.pl
+++ b/tp/t/results/conditionals/many_conditionals.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/nested_ifset_ifclear.pl 
b/tp/t/results/conditionals/nested_ifset_ifclear.pl
index bb479a0..7a7d59f 100644
--- a/tp/t/results/conditionals/nested_ifset_ifclear.pl
+++ b/tp/t/results/conditionals/nested_ifset_ifclear.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/nested_ignore.pl 
b/tp/t/results/conditionals/nested_ignore.pl
index 7b007d5..403af8c 100644
--- a/tp/t/results/conditionals/nested_ignore.pl
+++ b/tp/t/results/conditionals/nested_ignore.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/not_set.pl 
b/tp/t/results/conditionals/not_set.pl
index 7f619f0..86be7fd 100644
--- a/tp/t/results/conditionals/not_set.pl
+++ b/tp/t/results/conditionals/not_set.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/plaintext_ifinfo.pl 
b/tp/t/results/conditionals/plaintext_ifinfo.pl
index e59cabe..0863760 100644
--- a/tp/t/results/conditionals/plaintext_ifinfo.pl
+++ b/tp/t/results/conditionals/plaintext_ifinfo.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/plaintext_ifinfo_ifnotplaintext.pl 
b/tp/t/results/conditionals/plaintext_ifinfo_ifnotplaintext.pl
index 0520b0a..41f537b 100644
--- a/tp/t/results/conditionals/plaintext_ifinfo_ifnotplaintext.pl
+++ b/tp/t/results/conditionals/plaintext_ifinfo_ifnotplaintext.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/superfluous_argument_to_end.pl 
b/tp/t/results/conditionals/superfluous_argument_to_end.pl
index d4e056b..ebf3905 100644
--- a/tp/t/results/conditionals/superfluous_argument_to_end.pl
+++ b/tp/t/results/conditionals/superfluous_argument_to_end.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/text_on_conditional_line.pl 
b/tp/t/results/conditionals/text_on_conditional_line.pl
index ed37184..1432864 100644
--- a/tp/t/results/conditionals/text_on_conditional_line.pl
+++ b/tp/t/results/conditionals/text_on_conditional_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
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 b3be959..379b33f 100644
--- a/tp/t/results/conditionals/text_on_conditional_line_expanded.pl
+++ b/tp/t/results/conditionals/text_on_conditional_line_expanded.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/txiinternalvalue.pl 
b/tp/t/results/conditionals/txiinternalvalue.pl
index 4f5eef7..8683ff4 100644
--- a/tp/t/results/conditionals/txiinternalvalue.pl
+++ b/tp/t/results/conditionals/txiinternalvalue.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/conditionals/user_defined_txiinternalvalue.pl 
b/tp/t/results/conditionals/user_defined_txiinternalvalue.pl
index ab70462..508c4a9 100644
--- a/tp/t/results/conditionals/user_defined_txiinternalvalue.pl
+++ b/tp/t/results/conditionals/user_defined_txiinternalvalue.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/accent.pl 
b/tp/t/results/converters_tests/accent.pl
index 6925fc4..c09d941 100644
--- a/tp/t/results/converters_tests/accent.pl
+++ b/tp/t/results/converters_tests/accent.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/accent_enable_encoding.pl 
b/tp/t/results/converters_tests/accent_enable_encoding.pl
index a76b7d7..2477658 100644
--- a/tp/t/results/converters_tests/accent_enable_encoding.pl
+++ b/tp/t/results/converters_tests/accent_enable_encoding.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/accent_with_text.pl 
b/tp/t/results/converters_tests/accent_with_text.pl
index f5dd575..1f587bc 100644
--- a/tp/t/results/converters_tests/accent_with_text.pl
+++ b/tp/t/results/converters_tests/accent_with_text.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/accentenc.pl 
b/tp/t/results/converters_tests/accentenc.pl
index f801a50..526b8ba 100644
--- a/tp/t/results/converters_tests/accentenc.pl
+++ b/tp/t/results/converters_tests/accentenc.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/accentenc_enable_encoding.pl 
b/tp/t/results/converters_tests/accentenc_enable_encoding.pl
index bc354ae..2dd419a 100644
--- a/tp/t/results/converters_tests/accentenc_enable_encoding.pl
+++ b/tp/t/results/converters_tests/accentenc_enable_encoding.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/accentenc_no_entity.pl 
b/tp/t/results/converters_tests/accentenc_no_entity.pl
index 829a5d8..9a76b94 100644
--- a/tp/t/results/converters_tests/accentenc_no_entity.pl
+++ b/tp/t/results/converters_tests/accentenc_no_entity.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
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 4bd5473..a44800f 100644
--- a/tp/t/results/converters_tests/at_commands_in_raw.pl
+++ b/tp/t/results/converters_tests/at_commands_in_raw.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1163,6 +1163,13 @@ $result_errors{'at_commands_in_raw'} = [
 $result_floats{'at_commands_in_raw'} = {};
 
 
+$result_sort_strings{'at_commands_in_raw'} = {
+  'fn' => [
+    'fentry2'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'at_commands_in_raw'} = '<b>in b(1).</b>
    \'in kbd before tex\'(2).
diff --git a/tp/t/results/converters_tests/at_commands_in_refs.pl 
b/tp/t/results/converters_tests/at_commands_in_refs.pl
index 7c787be..c850b70 100644
--- a/tp/t/results/converters_tests/at_commands_in_refs.pl
+++ b/tp/t/results/converters_tests/at_commands_in_refs.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/at_commands_in_refs_latin1.pl 
b/tp/t/results/converters_tests/at_commands_in_refs_latin1.pl
index 4d52ec0..0fb9d0a 100644
--- a/tp/t/results/converters_tests/at_commands_in_refs_latin1.pl
+++ b/tp/t/results/converters_tests/at_commands_in_refs_latin1.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/at_commands_in_refs_utf8.pl 
b/tp/t/results/converters_tests/at_commands_in_refs_utf8.pl
index ca678e3..1e04405 100644
--- a/tp/t/results/converters_tests/at_commands_in_refs_utf8.pl
+++ b/tp/t/results/converters_tests/at_commands_in_refs_utf8.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/char_latin1_latin1_in_refs.pl 
b/tp/t/results/converters_tests/char_latin1_latin1_in_refs.pl
index ca84d36..390ed42 100644
--- a/tp/t/results/converters_tests/char_latin1_latin1_in_refs.pl
+++ b/tp/t/results/converters_tests/char_latin1_latin1_in_refs.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -2060,4 +2060,16 @@ $result_errors{'char_latin1_latin1_in_refs'} = [];
 $result_floats{'char_latin1_latin1_in_refs'} = {};
 
 
+$result_sort_strings{'char_latin1_latin1_in_refs'} = {
+  'cp' => [
+    "\x{e2} \x{ea} \x{ee} \x{f4} \x{fb} \x{c2} \x{ca} \x{ce} \x{d4} \x{db}",
+    "\x{c4} \x{cb} \x{cf} \x{d6} \x{dc}",
+    "\x{e4} \x{eb} \x{ef} \x{f6} \x{fc} \x{ff}",
+    "\x{e7}",
+    "\x{e8}",
+    "\x{e9}"
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/converters_tests/char_latin1_utf8_in_refs.pl 
b/tp/t/results/converters_tests/char_latin1_utf8_in_refs.pl
index e932cc9..f75fc72 100644
--- a/tp/t/results/converters_tests/char_latin1_utf8_in_refs.pl
+++ b/tp/t/results/converters_tests/char_latin1_utf8_in_refs.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -2060,4 +2060,16 @@ $result_errors{'char_latin1_utf8_in_refs'} = [];
 $result_floats{'char_latin1_utf8_in_refs'} = {};
 
 
+$result_sort_strings{'char_latin1_utf8_in_refs'} = {
+  'cp' => [
+    "\x{e2} \x{ea} \x{ee} \x{f4} \x{fb} \x{c2} \x{ca} \x{ce} \x{d4} \x{db}",
+    "\x{c4} \x{cb} \x{cf} \x{d6} \x{dc}",
+    "\x{e4} \x{eb} \x{ef} \x{f6} \x{fc} \x{ff}",
+    "\x{e7}",
+    "\x{e8}",
+    "\x{e9}"
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/converters_tests/char_latin2_latin2_in_refs.pl 
b/tp/t/results/converters_tests/char_latin2_latin2_in_refs.pl
index 0733fe1..5ca4363 100644
--- a/tp/t/results/converters_tests/char_latin2_latin2_in_refs.pl
+++ b/tp/t/results/converters_tests/char_latin2_latin2_in_refs.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -781,4 +781,11 @@ $result_errors{'char_latin2_latin2_in_refs'} = [];
 $result_floats{'char_latin2_latin2_in_refs'} = {};
 
 
+$result_sort_strings{'char_latin2_latin2_in_refs'} = {
+  'cp' => [
+    "\x{104} \x{105} \x{2db} \x{118} \x{119}"
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/converters_tests/complex_nestings.pl 
b/tp/t/results/converters_tests/complex_nestings.pl
index c1a618b..e6d9ccf 100644
--- a/tp/t/results/converters_tests/complex_nestings.pl
+++ b/tp/t/results/converters_tests/complex_nestings.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1411,6 +1411,19 @@ $result_errors{'complex_nestings'} = [];
 $result_floats{'complex_nestings'} = {};
 
 
+$result_sort_strings{'complex_nestings'} = {
+  'fn' => [
+    'my def',
+    'name',
+    'other def'
+  ],
+  'vr' => [
+    'variables',
+    'variables too'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'complex_nestings'} = '     deffs
       -- Function: my def args ARG ...
diff --git 
a/tp/t/results/converters_tests/documentencoding_utf8_and_insertions.pl 
b/tp/t/results/converters_tests/documentencoding_utf8_and_insertions.pl
index 360b78d..12b987c 100644
--- a/tp/t/results/converters_tests/documentencoding_utf8_and_insertions.pl
+++ b/tp/t/results/converters_tests/documentencoding_utf8_and_insertions.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
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 689539d..332b634 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
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/empty_accent.pl 
b/tp/t/results/converters_tests/empty_accent.pl
index be389ae..dc9c4ba 100644
--- a/tp/t/results/converters_tests/empty_accent.pl
+++ b/tp/t/results/converters_tests/empty_accent.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/enumerate_above_ten.pl 
b/tp/t/results/converters_tests/enumerate_above_ten.pl
index cfa4822..644d4ff 100644
--- a/tp/t/results/converters_tests/enumerate_above_ten.pl
+++ b/tp/t/results/converters_tests/enumerate_above_ten.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/footnote_no_number.pl 
b/tp/t/results/converters_tests/footnote_no_number.pl
index ea1dcb7..9a85ad4 100644
--- a/tp/t/results/converters_tests/footnote_no_number.pl
+++ b/tp/t/results/converters_tests/footnote_no_number.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/footnote_no_number_separate.pl 
b/tp/t/results/converters_tests/footnote_no_number_separate.pl
index 424753f..bbc2ed0 100644
--- a/tp/t/results/converters_tests/footnote_no_number_separate.pl
+++ b/tp/t/results/converters_tests/footnote_no_number_separate.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/image_extension.pl 
b/tp/t/results/converters_tests/image_extension.pl
index ef3d8f2..805aaac 100644
--- a/tp/t/results/converters_tests/image_extension.pl
+++ b/tp/t/results/converters_tests/image_extension.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/image_formatting.pl 
b/tp/t/results/converters_tests/image_formatting.pl
index 4411b87..3737bec 100644
--- a/tp/t/results/converters_tests/image_formatting.pl
+++ b/tp/t/results/converters_tests/image_formatting.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/image_with_spaces.pl 
b/tp/t/results/converters_tests/image_with_spaces.pl
index d833bdc..4f43cee 100644
Binary files a/tp/t/results/converters_tests/image_with_spaces.pl and 
b/tp/t/results/converters_tests/image_with_spaces.pl differ
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 779d2d0..77dfbcc 100644
--- a/tp/t/results/converters_tests/index_entry_in_preformatted.pl
+++ b/tp/t/results/converters_tests/index_entry_in_preformatted.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -360,6 +360,15 @@ $result_errors{'index_entry_in_preformatted'} = [];
 $result_floats{'index_entry_in_preformatted'} = {};
 
 
+$result_sort_strings{'index_entry_in_preformatted'} = {
+  'cp' => [
+    'first',
+    'last',
+    'other'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'index_entry_in_preformatted'} = '     text
 
diff --git a/tp/t/results/converters_tests/inline.pl 
b/tp/t/results/converters_tests/inline.pl
index e05909e..94fd159 100644
--- a/tp/t/results/converters_tests/inline.pl
+++ b/tp/t/results/converters_tests/inline.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/inline_expand_tex.pl 
b/tp/t/results/converters_tests/inline_expand_tex.pl
index edfedd9..2814e58 100644
--- a/tp/t/results/converters_tests/inline_expand_tex.pl
+++ b/tp/t/results/converters_tests/inline_expand_tex.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/inlinefmtifelse.pl 
b/tp/t/results/converters_tests/inlinefmtifelse.pl
index 28c17ef..7b86603 100644
--- a/tp/t/results/converters_tests/inlinefmtifelse.pl
+++ b/tp/t/results/converters_tests/inlinefmtifelse.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/inlineifsetifclear.pl 
b/tp/t/results/converters_tests/inlineifsetifclear.pl
index 0fed574..2937217 100644
--- a/tp/t/results/converters_tests/inlineifsetifclear.pl
+++ b/tp/t/results/converters_tests/inlineifsetifclear.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/japanese_shift_jis.pl 
b/tp/t/results/converters_tests/japanese_shift_jis.pl
index f6cb5cd..471d94d 100644
--- a/tp/t/results/converters_tests/japanese_shift_jis.pl
+++ b/tp/t/results/converters_tests/japanese_shift_jis.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/line_breaks.pl 
b/tp/t/results/converters_tests/line_breaks.pl
index 5f1c80b..2d3a65b 100644
--- a/tp/t/results/converters_tests/line_breaks.pl
+++ b/tp/t/results/converters_tests/line_breaks.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/converters_tests/no_documentencoding_and_insertions.pl 
b/tp/t/results/converters_tests/no_documentencoding_and_insertions.pl
index d602a31..2c795ec 100644
--- a/tp/t/results/converters_tests/no_documentencoding_and_insertions.pl
+++ b/tp/t/results/converters_tests/no_documentencoding_and_insertions.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
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 427f4f8..27b6c61 100644
--- a/tp/t/results/converters_tests/normal_font_in_monospace.pl
+++ b/tp/t/results/converters_tests/normal_font_in_monospace.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
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 7fd43d7..7388a0a 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
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -752,6 +752,17 @@ $result_indices{'printindex_merged_indices_code_style'} = {
 $result_floats{'printindex_merged_indices_code_style'} = {};
 
 
+$result_sort_strings{'printindex_merged_indices_code_style'} = {
+  'fn' => [
+    'c"b',
+    'cdi"h',
+    'ddi``g',
+    'f``g',
+    'v"j'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'printindex_merged_indices_code_style'} = '* 
Menu:
 
diff --git a/tp/t/results/converters_tests/raw_block_commands.pl 
b/tp/t/results/converters_tests/raw_block_commands.pl
index 9b50111..72a285a 100644
--- a/tp/t/results/converters_tests/raw_block_commands.pl
+++ b/tp/t/results/converters_tests/raw_block_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
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 65fa747..396bbcb 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
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/ref_error_formatting.pl 
b/tp/t/results/converters_tests/ref_error_formatting.pl
index 77c268f..385c279 100644
--- a/tp/t/results/converters_tests/ref_error_formatting.pl
+++ b/tp/t/results/converters_tests/ref_error_formatting.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/ref_in_sectioning.pl 
b/tp/t/results/converters_tests/ref_in_sectioning.pl
index 16a5fc6..840d942 100644
--- a/tp/t/results/converters_tests/ref_in_sectioning.pl
+++ b/tp/t/results/converters_tests/ref_in_sectioning.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/refs_formatting.pl 
b/tp/t/results/converters_tests/refs_formatting.pl
index bdb619f..e83bfab 100644
--- a/tp/t/results/converters_tests/refs_formatting.pl
+++ b/tp/t/results/converters_tests/refs_formatting.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/sample_utf8.pl 
b/tp/t/results/converters_tests/sample_utf8.pl
index 2d4eb3c..a239d0f 100644
--- a/tp/t/results/converters_tests/sample_utf8.pl
+++ b/tp/t/results/converters_tests/sample_utf8.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1958,4 +1958,14 @@ $result_errors{'sample_utf8'} = [];
 $result_floats{'sample_utf8'} = {};
 
 
+$result_sort_strings{'sample_utf8'} = {
+  'cp' => [
+    'chapter, first',
+    "\x{e9} \x{c2}",
+    "\x{104}\x{118} ae \x{105}\x{119}",
+    "\x{53e6}\x{4e00}\x{4e2a}\x{ff0c}index entry"
+  ]
+};
+
+
 1;
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 26e4993..25113df 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
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/sp_in_example.pl 
b/tp/t/results/converters_tests/sp_in_example.pl
index 2957402..84a201c 100644
--- a/tp/t/results/converters_tests/sp_in_example.pl
+++ b/tp/t/results/converters_tests/sp_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
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 93ddd5f..06ff081 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
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
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 5a55b9e..fc2ec42 100644
--- a/tp/t/results/converters_tests/spaces_in_node_names.pl
+++ b/tp/t/results/converters_tests/spaces_in_node_names.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
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 f1c323e..15f6351 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
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
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 2ac1aec..251d3d8 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
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/test_deftypefnnewline.pl 
b/tp/t/results/converters_tests/test_deftypefnnewline.pl
index cdaa387..7ca311c 100644
--- a/tp/t/results/converters_tests/test_deftypefnnewline.pl
+++ b/tp/t/results/converters_tests/test_deftypefnnewline.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -937,6 +937,16 @@ $result_errors{'test_deftypefnnewline'} = [];
 $result_floats{'test_deftypefnnewline'} = {};
 
 
+$result_sort_strings{'test_deftypefnnewline'} = {
+  'fn' => [
+    'arg',
+    'arg2',
+    'name',
+    'name2'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'test_deftypefnnewline'} = ' -- Function:
           data-type
diff --git a/tp/t/results/converters_tests/test_sp.pl 
b/tp/t/results/converters_tests/test_sp.pl
index 59901c6..4be048b 100644
--- a/tp/t/results/converters_tests/test_sp.pl
+++ b/tp/t/results/converters_tests/test_sp.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/things_before_setfilename.pl 
b/tp/t/results/converters_tests/things_before_setfilename.pl
index 94bb6cc..e4e6203 100644
--- a/tp/t/results/converters_tests/things_before_setfilename.pl
+++ b/tp/t/results/converters_tests/things_before_setfilename.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1476,6 +1476,13 @@ $result_floats{'things_before_setfilename'} = {
 
$result_floats{'things_before_setfilename'}{'Text'}[0]{'extra'}{'caption'}{'extra'}{'float'}
 = $result_floats{'things_before_setfilename'}{'Text'}[0];
 
 
+$result_sort_strings{'things_before_setfilename'} = {
+  'cp' => [
+    'index entry'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'things_before_setfilename'} = 'top section
 ***********
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 0c65718..04f2a3d 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
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1331,6 +1331,13 @@ $result_floats{'things_before_setfilename_no_element'} = 
{
 
$result_floats{'things_before_setfilename_no_element'}{'Text'}[0]{'extra'}{'caption'}{'extra'}{'float'}
 = $result_floats{'things_before_setfilename_no_element'}{'Text'}[0];
 
 
+$result_sort_strings{'things_before_setfilename_no_element'} = {
+  'cp' => [
+    'index entry'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'things_before_setfilename_no_element'} = 
'Ref to anchor *note An anchor::
 
diff --git a/tp/t/results/converters_tests/top_in_ref.pl 
b/tp/t/results/converters_tests/top_in_ref.pl
index d87e200..3bb2ba4 100644
--- a/tp/t/results/converters_tests/top_in_ref.pl
+++ b/tp/t/results/converters_tests/top_in_ref.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/top_in_ref_keep_top.pl 
b/tp/t/results/converters_tests/top_in_ref_keep_top.pl
index 39fcade..f76771c 100644
--- a/tp/t/results/converters_tests/top_in_ref_keep_top.pl
+++ b/tp/t/results/converters_tests/top_in_ref_keep_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/unknown_value.pl 
b/tp/t/results/converters_tests/unknown_value.pl
index ced9d49..3758e1f 100644
--- a/tp/t/results/converters_tests/unknown_value.pl
+++ b/tp/t/results/converters_tests/unknown_value.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/weird_accents.pl 
b/tp/t/results/converters_tests/weird_accents.pl
index 994a083..350f33c 100644
--- a/tp/t/results/converters_tests/weird_accents.pl
+++ b/tp/t/results/converters_tests/weird_accents.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/converters_tests/weird_accents_disable_encoding.pl 
b/tp/t/results/converters_tests/weird_accents_disable_encoding.pl
index 4b0f64e..4e1239f 100644
--- a/tp/t/results/converters_tests/weird_accents_disable_encoding.pl
+++ b/tp/t/results/converters_tests/weird_accents_disable_encoding.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/accent_and_dash.pl 
b/tp/t/results/coverage/accent_and_dash.pl
index f380869..c6d6013 100644
--- a/tp/t/results/coverage/accent_and_dash.pl
+++ b/tp/t/results/coverage/accent_and_dash.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/accent_no_closed.pl 
b/tp/t/results/coverage/accent_no_closed.pl
index d45f281..b8b97fd 100644
--- a/tp/t/results/coverage/accent_no_closed.pl
+++ b/tp/t/results/coverage/accent_no_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/accent_no_closed_comment.pl 
b/tp/t/results/coverage/accent_no_closed_comment.pl
index cd47276..dc379f8 100644
--- a/tp/t/results/coverage/accent_no_closed_comment.pl
+++ b/tp/t/results/coverage/accent_no_closed_comment.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/accent_no_closed_newline.pl 
b/tp/t/results/coverage/accent_no_closed_newline.pl
index 0e4829b..6539029 100644
--- a/tp/t/results/coverage/accent_no_closed_newline.pl
+++ b/tp/t/results/coverage/accent_no_closed_newline.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/accent_no_closed_paragraph.pl 
b/tp/t/results/coverage/accent_no_closed_paragraph.pl
index 831a513..3f2ac56 100644
--- a/tp/t/results/coverage/accent_no_closed_paragraph.pl
+++ b/tp/t/results/coverage/accent_no_closed_paragraph.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/accents_errors.pl 
b/tp/t/results/coverage/accents_errors.pl
index 7965369..7ab8bf2 100644
--- a/tp/t/results/coverage/accents_errors.pl
+++ b/tp/t/results/coverage/accents_errors.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/arg_in_brace_no_arg_command.pl 
b/tp/t/results/coverage/arg_in_brace_no_arg_command.pl
index f8321ee..2e71873 100644
--- a/tp/t/results/coverage/arg_in_brace_no_arg_command.pl
+++ b/tp/t/results/coverage/arg_in_brace_no_arg_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/at_after_accent_command.pl 
b/tp/t/results/coverage/at_after_accent_command.pl
index 578b815..4f60bad 100644
--- a/tp/t/results/coverage/at_after_accent_command.pl
+++ b/tp/t/results/coverage/at_after_accent_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/block_commands.pl 
b/tp/t/results/coverage/block_commands.pl
index 313824b..faf30da 100644
--- a/tp/t/results/coverage/block_commands.pl
+++ b/tp/t/results/coverage/block_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/cartouche.pl 
b/tp/t/results/coverage/cartouche.pl
index e46b4d8..6a1c982 100644
--- a/tp/t/results/coverage/cartouche.pl
+++ b/tp/t/results/coverage/cartouche.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/cartouche_in_example.pl 
b/tp/t/results/coverage/cartouche_in_example.pl
index 085fc13..c5370b3 100644
--- a/tp/t/results/coverage/cartouche_in_example.pl
+++ b/tp/t/results/coverage/cartouche_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/cartouche_in_quotation.pl 
b/tp/t/results/coverage/cartouche_in_quotation.pl
index e0e6a1b..7033c73 100644
--- a/tp/t/results/coverage/cartouche_in_quotation.pl
+++ b/tp/t/results/coverage/cartouche_in_quotation.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/center.pl b/tp/t/results/coverage/center.pl
index 16538c4..915d82a 100644
--- a/tp/t/results/coverage/center.pl
+++ b/tp/t/results/coverage/center.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/commands.pl 
b/tp/t/results/coverage/commands.pl
index 58f141f..27fcb2f 100644
--- a/tp/t/results/coverage/commands.pl
+++ b/tp/t/results/coverage/commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -550,6 +550,13 @@ $result_errors{'commands'} = [
 $result_floats{'commands'} = {};
 
 
+$result_sort_strings{'commands'} = {
+  'cp' => [
+    'index entry "in text" LaTeX'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'commands'} = '@ TeX  ë î ã å File -> Open.  
b <a> \'code --- -- \'\' ``\' -- - " ".  SMALL
 CAPS.
diff --git a/tp/t/results/coverage/commands_in_math.pl 
b/tp/t/results/coverage/commands_in_math.pl
index ea350a4..522c2fd 100644
--- a/tp/t/results/coverage/commands_in_math.pl
+++ b/tp/t/results/coverage/commands_in_math.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/comment_on_cartouche_line.pl 
b/tp/t/results/coverage/comment_on_cartouche_line.pl
index aa8b577..191c938 100644
--- a/tp/t/results/coverage/comment_on_cartouche_line.pl
+++ b/tp/t/results/coverage/comment_on_cartouche_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/comment_on_group_line.pl 
b/tp/t/results/coverage/comment_on_group_line.pl
index da728ad..dd74ec1 100644
--- a/tp/t/results/coverage/comment_on_group_line.pl
+++ b/tp/t/results/coverage/comment_on_group_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/def.pl b/tp/t/results/coverage/def.pl
index 587670a..04976bf 100644
--- a/tp/t/results/coverage/def.pl
+++ b/tp/t/results/coverage/def.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -2400,6 +2400,27 @@ $result_errors{'def'} = [
 $result_floats{'def'} = {};
 
 
+$result_sort_strings{'def'} = {
+  'fn' => [
+    'after',
+    'bidule machin',
+    'd--effn_name',
+    'de--ffn_name',
+    'deffnx',
+    'followed',
+    'i',
+    'id i ule',
+    'id ule',
+    'log trap',
+    'log trap1',
+    'log trap2',
+    'machin',
+    'machin',
+    'truc'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'def'} = ' -- c--ategory: d--effn_name 
a--rguments...
      d-effn
diff --git a/tp/t/results/coverage/delcomment.pl 
b/tp/t/results/coverage/delcomment.pl
index 249cab6..c1b0a10 100644
--- a/tp/t/results/coverage/delcomment.pl
+++ b/tp/t/results/coverage/delcomment.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/displaymath.pl 
b/tp/t/results/coverage/displaymath.pl
index b6fb854..404c03f 100644
--- a/tp/t/results/coverage/displaymath.pl
+++ b/tp/t/results/coverage/displaymath.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/empty_w.pl b/tp/t/results/coverage/empty_w.pl
index de3a2b3..523abd0 100644
--- a/tp/t/results/coverage/empty_w.pl
+++ b/tp/t/results/coverage/empty_w.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/exdent_and_commands.pl 
b/tp/t/results/coverage/exdent_and_commands.pl
index 11c7e18..aa598e3 100644
--- a/tp/t/results/coverage/exdent_and_commands.pl
+++ b/tp/t/results/coverage/exdent_and_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/exdent_and_formats.pl 
b/tp/t/results/coverage/exdent_and_formats.pl
index 61ff293..966ca7f 100644
--- a/tp/t/results/coverage/exdent_and_formats.pl
+++ b/tp/t/results/coverage/exdent_and_formats.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/flushleft_flushright.pl 
b/tp/t/results/coverage/flushleft_flushright.pl
index ea7156c..ea2b127 100644
--- a/tp/t/results/coverage/flushleft_flushright.pl
+++ b/tp/t/results/coverage/flushleft_flushright.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/flushleft_flushright_in_quotation.pl 
b/tp/t/results/coverage/flushleft_flushright_in_quotation.pl
index 6dd4857..c83903a 100644
--- a/tp/t/results/coverage/flushleft_flushright_in_quotation.pl
+++ b/tp/t/results/coverage/flushleft_flushright_in_quotation.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/flushright_example_nested.pl 
b/tp/t/results/coverage/flushright_example_nested.pl
index e0bedd7..4f07e64 100644
--- a/tp/t/results/coverage/flushright_example_nested.pl
+++ b/tp/t/results/coverage/flushright_example_nested.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/flushright_not_closed.pl 
b/tp/t/results/coverage/flushright_not_closed.pl
index a08ea67..4728b8c 100644
--- a/tp/t/results/coverage/flushright_not_closed.pl
+++ b/tp/t/results/coverage/flushright_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/formats_only_title_comments.pl 
b/tp/t/results/coverage/formats_only_title_comments.pl
index c9311e9..220fec6 100644
--- a/tp/t/results/coverage/formats_only_title_comments.pl
+++ b/tp/t/results/coverage/formats_only_title_comments.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/formats_only_titles.pl 
b/tp/t/results/coverage/formats_only_titles.pl
index 8147816..af6e760 100644
--- a/tp/t/results/coverage/formats_only_titles.pl
+++ b/tp/t/results/coverage/formats_only_titles.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/formats_titles.pl 
b/tp/t/results/coverage/formats_titles.pl
index 262a66d..ed0e094 100644
--- a/tp/t/results/coverage/formats_titles.pl
+++ b/tp/t/results/coverage/formats_titles.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -816,4 +816,11 @@ $result_errors{'formats_titles'} = [
 $result_floats{'formats_titles'} = {};
 
 
+$result_sort_strings{'formats_titles'} = {
+  'vr' => [
+    'vtab'
+  ]
+};
+
+
 1;
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 0448241..999c044 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
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/group_not_closed.pl 
b/tp/t/results/coverage/group_not_closed.pl
index e1f63d7..3fd8397 100644
--- a/tp/t/results/coverage/group_not_closed.pl
+++ b/tp/t/results/coverage/group_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/hyphenation.pl 
b/tp/t/results/coverage/hyphenation.pl
index 7548417..6f711b3 100644
--- a/tp/t/results/coverage/hyphenation.pl
+++ b/tp/t/results/coverage/hyphenation.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/indentedblock.pl 
b/tp/t/results/coverage/indentedblock.pl
index ca3003f..d14b7e2 100644
--- a/tp/t/results/coverage/indentedblock.pl
+++ b/tp/t/results/coverage/indentedblock.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/indicateurl_end_lines.pl 
b/tp/t/results/coverage/indicateurl_end_lines.pl
index e7d9d05..0011031 100644
--- a/tp/t/results/coverage/indicateurl_end_lines.pl
+++ b/tp/t/results/coverage/indicateurl_end_lines.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/insertcopying.pl 
b/tp/t/results/coverage/insertcopying.pl
index ec84040..989243d 100644
--- a/tp/t/results/coverage/insertcopying.pl
+++ b/tp/t/results/coverage/insertcopying.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/invalid_U.pl 
b/tp/t/results/coverage/invalid_U.pl
index 1150ea0..ab48799 100644
--- a/tp/t/results/coverage/invalid_U.pl
+++ b/tp/t/results/coverage/invalid_U.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/item_container.pl 
b/tp/t/results/coverage/item_container.pl
index 0b2e8bc..2cca2c7 100644
--- a/tp/t/results/coverage/item_container.pl
+++ b/tp/t/results/coverage/item_container.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/lettered_accent_and_spaces.pl 
b/tp/t/results/coverage/lettered_accent_and_spaces.pl
index 316631a..6099198 100644
--- a/tp/t/results/coverage/lettered_accent_and_spaces.pl
+++ b/tp/t/results/coverage/lettered_accent_and_spaces.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/math.pl b/tp/t/results/coverage/math.pl
index 2ed4ae2..b2cf082 100644
--- a/tp/t/results/coverage/math.pl
+++ b/tp/t/results/coverage/math.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/multitable.pl 
b/tp/t/results/coverage/multitable.pl
index 93e0b57..057aa66 100644
--- a/tp/t/results/coverage/multitable.pl
+++ b/tp/t/results/coverage/multitable.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -675,6 +675,13 @@ $result_errors{'multitable'} = [
 $result_floats{'multitable'} = {};
 
 
+$result_sort_strings{'multitable'} = {
+  'cp' => [
+    'index entry within multitable'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'multitable'} = 'mu-ltitable headitem         
               another tab
 --------------------------------------------------------------------------
diff --git a/tp/t/results/coverage/nested_block_commands.pl 
b/tp/t/results/coverage/nested_block_commands.pl
index a3dd318..a0ace79 100644
--- a/tp/t/results/coverage/nested_block_commands.pl
+++ b/tp/t/results/coverage/nested_block_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/not_i_j_in_dotless.pl 
b/tp/t/results/coverage/not_i_j_in_dotless.pl
index 05b7522..a8e8311 100644
--- a/tp/t/results/coverage/not_i_j_in_dotless.pl
+++ b/tp/t/results/coverage/not_i_j_in_dotless.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/preformatted.pl 
b/tp/t/results/coverage/preformatted.pl
index dcc499a..1c51b5a 100644
--- a/tp/t/results/coverage/preformatted.pl
+++ b/tp/t/results/coverage/preformatted.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -376,6 +376,13 @@ $result_errors{'preformatted'} = [
 $result_floats{'preformatted'} = {};
 
 
+$result_sort_strings{'preformatted'} = {
+  'vr' => [
+    'item in table in format'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'preformatted'} = '     e--xample  some
 
diff --git a/tp/t/results/coverage/punctuation_in_line_commands.pl 
b/tp/t/results/coverage/punctuation_in_line_commands.pl
index 7268fc1..0c4383a 100644
--- a/tp/t/results/coverage/punctuation_in_line_commands.pl
+++ b/tp/t/results/coverage/punctuation_in_line_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1161,6 +1161,13 @@ $result_floats{'punctuation_in_line_commands'}{'float 
type! After punc'}[1]{'ext
 $result_floats{'punctuation_in_line_commands'}{'float type! After 
punc'}[1]{'extra'}{'float_section'} = 
$result_floats{'punctuation_in_line_commands'}{'float type! After 
punc'}[0]{'extra'}{'float_section'};
 
 
+$result_sort_strings{'punctuation_in_line_commands'} = {
+  'cp' => [
+    'index! After punc'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'punctuation_in_line_commands'} = 'top! After 
punc
 ***************
diff --git a/tp/t/results/coverage/quotation_author.pl 
b/tp/t/results/coverage/quotation_author.pl
index accf00a..3555b5a 100644
--- a/tp/t/results/coverage/quotation_author.pl
+++ b/tp/t/results/coverage/quotation_author.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/raggedright.pl 
b/tp/t/results/coverage/raggedright.pl
index 96c1a5d..9192375 100644
--- a/tp/t/results/coverage/raggedright.pl
+++ b/tp/t/results/coverage/raggedright.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/setfilename_in_paragraph.pl 
b/tp/t/results/coverage/setfilename_in_paragraph.pl
index f99e55c..eb80f61 100644
--- a/tp/t/results/coverage/setfilename_in_paragraph.pl
+++ b/tp/t/results/coverage/setfilename_in_paragraph.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/spaces_after_braced_command.pl 
b/tp/t/results/coverage/spaces_after_braced_command.pl
index 912534f..1cba345 100644
--- a/tp/t/results/coverage/spaces_after_braced_command.pl
+++ b/tp/t/results/coverage/spaces_after_braced_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/spaces_no_brace_after_braced_command.pl 
b/tp/t/results/coverage/spaces_no_brace_after_braced_command.pl
index e655095..036f017 100644
--- a/tp/t/results/coverage/spaces_no_brace_after_braced_command.pl
+++ b/tp/t/results/coverage/spaces_no_brace_after_braced_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/symbol_after_block.pl 
b/tp/t/results/coverage/symbol_after_block.pl
index 3ef6d8c..33afd66 100644
--- a/tp/t/results/coverage/symbol_after_block.pl
+++ b/tp/t/results/coverage/symbol_after_block.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/symbol_after_command.pl 
b/tp/t/results/coverage/symbol_after_command.pl
index bd7a204..5672b06 100644
--- a/tp/t/results/coverage/symbol_after_command.pl
+++ b/tp/t/results/coverage/symbol_after_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/table.pl b/tp/t/results/coverage/table.pl
index 53ecac4..4cbe414 100644
--- a/tp/t/results/coverage/table.pl
+++ b/tp/t/results/coverage/table.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -662,6 +662,20 @@ $result_errors{'table'} = [
 $result_floats{'table'} = {};
 
 
+$result_sort_strings{'table'} = {
+  'cp' => [
+    'index entry'
+  ],
+  'ky' => [
+    'key'
+  ],
+  'vr' => [
+    'itemx vtable',
+    'vtable item'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'table'} = 'table item
 table itemx
diff --git a/tp/t/results/coverage/table_command_comment.pl 
b/tp/t/results/coverage/table_command_comment.pl
index fa248e7..50b450f 100644
--- a/tp/t/results/coverage/table_command_comment.pl
+++ b/tp/t/results/coverage/table_command_comment.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/test_errormsg.pl 
b/tp/t/results/coverage/test_errormsg.pl
index dcd52f4..88b8ba7 100644
--- a/tp/t/results/coverage/test_errormsg.pl
+++ b/tp/t/results/coverage/test_errormsg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/test_tie.pl 
b/tp/t/results/coverage/test_tie.pl
index 1558486..29b4735 100644
--- a/tp/t/results/coverage/test_tie.pl
+++ b/tp/t/results/coverage/test_tie.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/test_today.pl 
b/tp/t/results/coverage/test_today.pl
index 157b107..9871192 100644
--- a/tp/t/results/coverage/test_today.pl
+++ b/tp/t/results/coverage/test_today.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/titlefont_in_center.pl 
b/tp/t/results/coverage/titlefont_in_center.pl
index 1b8b8ce..046a819 100644
--- a/tp/t/results/coverage/titlefont_in_center.pl
+++ b/tp/t/results/coverage/titlefont_in_center.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/unknown_accents.pl 
b/tp/t/results/coverage/unknown_accents.pl
index 66cc45a..5fb9929 100644
--- a/tp/t/results/coverage/unknown_accents.pl
+++ b/tp/t/results/coverage/unknown_accents.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/unknown_commands.pl 
b/tp/t/results/coverage/unknown_commands.pl
index a919c07..6e9357b 100644
--- a/tp/t/results/coverage/unknown_commands.pl
+++ b/tp/t/results/coverage/unknown_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage/verbatiminclude.pl 
b/tp/t/results/coverage/verbatiminclude.pl
index 4a5e0bc..23d568e 100644
--- a/tp/t/results/coverage/verbatiminclude.pl
+++ b/tp/t/results/coverage/verbatiminclude.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/abbr_acronym.pl 
b/tp/t/results/coverage_braces/abbr_acronym.pl
index 9cd5047..44199ff 100644
--- a/tp/t/results/coverage_braces/abbr_acronym.pl
+++ b/tp/t/results/coverage_braces/abbr_acronym.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/anchor_not_closed.pl 
b/tp/t/results/coverage_braces/anchor_not_closed.pl
index 771f73e..3c2c0ad 100644
--- a/tp/t/results/coverage_braces/anchor_not_closed.pl
+++ b/tp/t/results/coverage_braces/anchor_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
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 f20a61b..c7dc0fb 100644
--- a/tp/t/results/coverage_braces/brace_opened_no_command.pl
+++ b/tp/t/results/coverage_braces/brace_opened_no_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/caption_not_closed.pl 
b/tp/t/results/coverage_braces/caption_not_closed.pl
index b2c0a95..cd5ddf9 100644
--- a/tp/t/results/coverage_braces/caption_not_closed.pl
+++ b/tp/t/results/coverage_braces/caption_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/code_not_closed.pl 
b/tp/t/results/coverage_braces/code_not_closed.pl
index 243f5ff..6282014 100644
--- a/tp/t/results/coverage_braces/code_not_closed.pl
+++ b/tp/t/results/coverage_braces/code_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/email_possibilities.pl 
b/tp/t/results/coverage_braces/email_possibilities.pl
index a781813..1d891c6 100644
--- a/tp/t/results/coverage_braces/email_possibilities.pl
+++ b/tp/t/results/coverage_braces/email_possibilities.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/empty_commands.pl 
b/tp/t/results/coverage_braces/empty_commands.pl
index d98bc69..a99dbcc 100644
--- a/tp/t/results/coverage_braces/empty_commands.pl
+++ b/tp/t/results/coverage_braces/empty_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/empty_images.pl 
b/tp/t/results/coverage_braces/empty_images.pl
index 9c71242..8a99625 100644
--- a/tp/t/results/coverage_braces/empty_images.pl
+++ b/tp/t/results/coverage_braces/empty_images.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/empty_line_in_anchor.pl 
b/tp/t/results/coverage_braces/empty_line_in_anchor.pl
index 2e0dd24..1daebc6 100644
--- a/tp/t/results/coverage_braces/empty_line_in_anchor.pl
+++ b/tp/t/results/coverage_braces/empty_line_in_anchor.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/empty_line_in_math.pl 
b/tp/t/results/coverage_braces/empty_line_in_math.pl
index 65da548..3ba9e45 100644
--- a/tp/t/results/coverage_braces/empty_line_in_math.pl
+++ b/tp/t/results/coverage_braces/empty_line_in_math.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/empty_ref.pl 
b/tp/t/results/coverage_braces/empty_ref.pl
index 2187b27..8b1c785 100644
--- a/tp/t/results/coverage_braces/empty_ref.pl
+++ b/tp/t/results/coverage_braces/empty_ref.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/empty_second_email_argument.pl 
b/tp/t/results/coverage_braces/empty_second_email_argument.pl
index b215c25..80684e2 100644
--- a/tp/t/results/coverage_braces/empty_second_email_argument.pl
+++ b/tp/t/results/coverage_braces/empty_second_email_argument.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/end_line_in_anchor.pl 
b/tp/t/results/coverage_braces/end_line_in_anchor.pl
index 8ace321..36055a3 100644
--- a/tp/t/results/coverage_braces/end_line_in_anchor.pl
+++ b/tp/t/results/coverage_braces/end_line_in_anchor.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/footnote.pl 
b/tp/t/results/coverage_braces/footnote.pl
index 1b78207..c898530 100644
--- a/tp/t/results/coverage_braces/footnote.pl
+++ b/tp/t/results/coverage_braces/footnote.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/footnote_ending_on_empty_line.pl 
b/tp/t/results/coverage_braces/footnote_ending_on_empty_line.pl
index 689b70f..061d48b 100644
--- a/tp/t/results/coverage_braces/footnote_ending_on_empty_line.pl
+++ b/tp/t/results/coverage_braces/footnote_ending_on_empty_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/footnote_in_command_not_closed.pl 
b/tp/t/results/coverage_braces/footnote_in_command_not_closed.pl
index d44f6ec..a7e251e 100644
--- a/tp/t/results/coverage_braces/footnote_in_command_not_closed.pl
+++ b/tp/t/results/coverage_braces/footnote_in_command_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/footnote_no_node.pl 
b/tp/t/results/coverage_braces/footnote_no_node.pl
index b91a346..e2bfc27 100644
--- a/tp/t/results/coverage_braces/footnote_no_node.pl
+++ b/tp/t/results/coverage_braces/footnote_no_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/footnote_not_closed.pl 
b/tp/t/results/coverage_braces/footnote_not_closed.pl
index 0285f9d..a9ec864 100644
--- a/tp/t/results/coverage_braces/footnote_not_closed.pl
+++ b/tp/t/results/coverage_braces/footnote_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/form_feed_in_brace_commands.pl 
b/tp/t/results/coverage_braces/form_feed_in_brace_commands.pl
index 4b3e263..5def644 100644
--- a/tp/t/results/coverage_braces/form_feed_in_brace_commands.pl
+++ b/tp/t/results/coverage_braces/form_feed_in_brace_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
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 3a2fba5..c76a702 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
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/heading_in_footnote.pl 
b/tp/t/results/coverage_braces/heading_in_footnote.pl
index 5989cf6..af7443f 100644
--- a/tp/t/results/coverage_braces/heading_in_footnote.pl
+++ b/tp/t/results/coverage_braces/heading_in_footnote.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -184,6 +184,13 @@ $result_errors{'heading_in_footnote'} = [
 $result_floats{'heading_in_footnote'} = {};
 
 
+$result_sort_strings{'heading_in_footnote'} = {
+  'cp' => [
+    'ind e'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'heading_in_footnote'} = 'T(1)
 
diff --git a/tp/t/results/coverage_braces/inforef_too_much_args.pl 
b/tp/t/results/coverage_braces/inforef_too_much_args.pl
index 9f74e38..656bd90 100644
--- a/tp/t/results/coverage_braces/inforef_too_much_args.pl
+++ b/tp/t/results/coverage_braces/inforef_too_much_args.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/kbd.pl 
b/tp/t/results/coverage_braces/kbd.pl
index 75acd45..d0d09ce 100644
--- a/tp/t/results/coverage_braces/kbd.pl
+++ b/tp/t/results/coverage_braces/kbd.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/math_bracketed_inside_not_closed.pl 
b/tp/t/results/coverage_braces/math_bracketed_inside_not_closed.pl
index eb43afb..6ce2425 100644
--- a/tp/t/results/coverage_braces/math_bracketed_inside_not_closed.pl
+++ b/tp/t/results/coverage_braces/math_bracketed_inside_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/math_bracketed_not_closed.pl 
b/tp/t/results/coverage_braces/math_bracketed_not_closed.pl
index 1958607..1709f61 100644
--- a/tp/t/results/coverage_braces/math_bracketed_not_closed.pl
+++ b/tp/t/results/coverage_braces/math_bracketed_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/coverage_braces/math_bracketed_not_closed_next_line.pl 
b/tp/t/results/coverage_braces/math_bracketed_not_closed_next_line.pl
index b57a83e..67d0dfc 100644
--- a/tp/t/results/coverage_braces/math_bracketed_not_closed_next_line.pl
+++ b/tp/t/results/coverage_braces/math_bracketed_not_closed_next_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/math_not_closed.pl 
b/tp/t/results/coverage_braces/math_not_closed.pl
index 4fd327c..a1e7ba1 100644
--- a/tp/t/results/coverage_braces/math_not_closed.pl
+++ b/tp/t/results/coverage_braces/math_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/nested.pl 
b/tp/t/results/coverage_braces/nested.pl
index b813b2f..c61dc03 100644
--- a/tp/t/results/coverage_braces/nested.pl
+++ b/tp/t/results/coverage_braces/nested.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/nested_args.pl 
b/tp/t/results/coverage_braces/nested_args.pl
index ada7665..b559b99 100644
--- a/tp/t/results/coverage_braces/nested_args.pl
+++ b/tp/t/results/coverage_braces/nested_args.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/nested_in_sc.pl 
b/tp/t/results/coverage_braces/nested_in_sc.pl
index fd05c7b..2fa1faa 100644
--- a/tp/t/results/coverage_braces/nested_in_sc.pl
+++ b/tp/t/results/coverage_braces/nested_in_sc.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/no_brace.pl 
b/tp/t/results/coverage_braces/no_brace.pl
index a5a869b..bd9c3ee 100644
--- a/tp/t/results/coverage_braces/no_brace.pl
+++ b/tp/t/results/coverage_braces/no_brace.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/no_brace_space_end_line.pl 
b/tp/t/results/coverage_braces/no_brace_space_end_line.pl
index b41a211..032bb15 100644
--- a/tp/t/results/coverage_braces/no_brace_space_end_line.pl
+++ b/tp/t/results/coverage_braces/no_brace_space_end_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/recursive_acronym.pl 
b/tp/t/results/coverage_braces/recursive_acronym.pl
index d92c9b3..1d9de2d 100644
--- a/tp/t/results/coverage_braces/recursive_acronym.pl
+++ b/tp/t/results/coverage_braces/recursive_acronym.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/ref_empty_node.pl 
b/tp/t/results/coverage_braces/ref_empty_node.pl
index 62a8807..bc5bb18 100644
--- a/tp/t/results/coverage_braces/ref_empty_node.pl
+++ b/tp/t/results/coverage_braces/ref_empty_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/ref_in_style_command.pl 
b/tp/t/results/coverage_braces/ref_in_style_command.pl
index ddc8a21..631b272 100644
--- a/tp/t/results/coverage_braces/ref_in_style_command.pl
+++ b/tp/t/results/coverage_braces/ref_in_style_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/simple.pl 
b/tp/t/results/coverage_braces/simple.pl
index 9f429abb..5996d2e 100644
--- a/tp/t/results/coverage_braces/simple.pl
+++ b/tp/t/results/coverage_braces/simple.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/space_command_in_image.pl 
b/tp/t/results/coverage_braces/space_command_in_image.pl
index af2fda0..599ee7d 100644
--- a/tp/t/results/coverage_braces/space_command_in_image.pl
+++ b/tp/t/results/coverage_braces/space_command_in_image.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/space_in_anchor.pl 
b/tp/t/results/coverage_braces/space_in_anchor.pl
index c58a609..d0dc23f 100644
--- a/tp/t/results/coverage_braces/space_in_anchor.pl
+++ b/tp/t/results/coverage_braces/space_in_anchor.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/space_in_footnote.pl 
b/tp/t/results/coverage_braces/space_in_footnote.pl
index 47f91ac..0af0787 100644
--- a/tp/t/results/coverage_braces/space_in_footnote.pl
+++ b/tp/t/results/coverage_braces/space_in_footnote.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/space_in_image.pl 
b/tp/t/results/coverage_braces/space_in_image.pl
index 0eab5a6..fe8538c 100644
--- a/tp/t/results/coverage_braces/space_in_image.pl
+++ b/tp/t/results/coverage_braces/space_in_image.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/test_image.pl 
b/tp/t/results/coverage_braces/test_image.pl
index 49aeef6..201ceb7 100644
--- a/tp/t/results/coverage_braces/test_image.pl
+++ b/tp/t/results/coverage_braces/test_image.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/test_w.pl 
b/tp/t/results/coverage_braces/test_w.pl
index b32805c..a23e945 100644
--- a/tp/t/results/coverage_braces/test_w.pl
+++ b/tp/t/results/coverage_braces/test_w.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/too_much_args.pl 
b/tp/t/results/coverage_braces/too_much_args.pl
index 824c754..dcfcddc 100644
--- a/tp/t/results/coverage_braces/too_much_args.pl
+++ b/tp/t/results/coverage_braces/too_much_args.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
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 c3c831b..73f32c5 100644
--- a/tp/t/results/coverage_braces/two_footnotes_in_nodes.pl
+++ b/tp/t/results/coverage_braces/two_footnotes_in_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
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 d8c3bec..2de3a9f 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
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/unknown_command_with_braces.pl 
b/tp/t/results/coverage_braces/unknown_command_with_braces.pl
index bb6bd55..f4df9f1 100644
--- a/tp/t/results/coverage_braces/unknown_command_with_braces.pl
+++ b/tp/t/results/coverage_braces/unknown_command_with_braces.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/unmatched_brace.pl 
b/tp/t/results/coverage_braces/unmatched_brace.pl
index 1efe87e..4ae9e44 100644
--- a/tp/t/results/coverage_braces/unmatched_brace.pl
+++ b/tp/t/results/coverage_braces/unmatched_brace.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/uref_in_ref.pl 
b/tp/t/results/coverage_braces/uref_in_ref.pl
index 90a9dfd..a2342c5 100644
--- a/tp/t/results/coverage_braces/uref_in_ref.pl
+++ b/tp/t/results/coverage_braces/uref_in_ref.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/uref_url.pl 
b/tp/t/results/coverage_braces/uref_url.pl
index fc63a7a..5f90115 100644
--- a/tp/t/results/coverage_braces/uref_url.pl
+++ b/tp/t/results/coverage_braces/uref_url.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/uref_with_commands_characters.pl 
b/tp/t/results/coverage_braces/uref_with_commands_characters.pl
index 9a8604c..dd810ad 100644
--- a/tp/t/results/coverage_braces/uref_with_commands_characters.pl
+++ b/tp/t/results/coverage_braces/uref_with_commands_characters.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/verb_in_xref.pl 
b/tp/t/results/coverage_braces/verb_in_xref.pl
index 54f171d..6ee9299 100644
--- a/tp/t/results/coverage_braces/verb_in_xref.pl
+++ b/tp/t/results/coverage_braces/verb_in_xref.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/coverage_braces/w_end_sentence.pl 
b/tp/t/results/coverage_braces/w_end_sentence.pl
index 82b1360..4446d8f 100644
--- a/tp/t/results/coverage_braces/w_end_sentence.pl
+++ b/tp/t/results/coverage_braces/w_end_sentence.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/def/all_commands.pl b/tp/t/results/def/all_commands.pl
index 3e84187..ec30a59 100644
--- a/tp/t/results/def/all_commands.pl
+++ b/tp/t/results/def/all_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -3695,6 +3695,34 @@ $result_errors{'all_commands'} = [
 $result_floats{'all_commands'} = {};
 
 
+$result_sort_strings{'all_commands'} = {
+  'fn' => [
+    'd--efmac_name',
+    'd--efmethod_name on c--lass',
+    'd--efop_name on c--lass',
+    'd--efspec_name',
+    'd--eftypefn_name',
+    'd--eftypefun_name',
+    'd--eftypemethod_name on c--lass',
+    'd--eftypeop_name on c--lass',
+    'd--efun_name'
+  ],
+  'tp' => [
+    'd--eftp_name'
+  ],
+  'vr' => [
+    'd--efcv_name',
+    'd--efivar_name of c--lass',
+    'd--efopt_name',
+    'd--eftypeivar_name of c--lass',
+    'd--eftypevar_name',
+    'd--eftypevr_name',
+    'd--efvar_name',
+    'd--efvr_name'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'all_commands'} = ' -- c--ategory: 
d--efvr_name
      d-efvr
diff --git a/tp/t/results/def/all_commands_delimiters.pl 
b/tp/t/results/def/all_commands_delimiters.pl
index aab28cf..527c148 100644
--- a/tp/t/results/def/all_commands_delimiters.pl
+++ b/tp/t/results/def/all_commands_delimiters.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -15770,6 +15770,63 @@ $result_errors{'all_commands_delimiters'} = [
 $result_floats{'all_commands_delimiters'} = {};
 
 
+$result_sort_strings{'all_commands_delimiters'} = {
+  'fn' => [
+    ')expose on )Window',
+    ')expose on )Window',
+    ',expose on ,Window',
+    ',expose on ,Window',
+    ';expose on ;Window',
+    ';expose on ;Window',
+    'A2',
+    'A2',
+    'A3',
+    'A3',
+    'A3 on A2',
+    'A3 on A2',
+    'A4 on A2',
+    'A4 on A2',
+    'apply',
+    'e)xpose on W)indow',
+    'e)xpose on W)indow',
+    'e,xpose on W,indow',
+    'e,xpose on W,indow',
+    'e;xpose on W;indow',
+    'e;xpose on W;indow',
+    'expose on W,indow',
+    'expose on Window',
+    'expose on windows',
+    'foobar',
+    'foobar',
+    'foobug',
+    'forward--char',
+    'fun_name',
+    'fun_name1',
+    'name on Windowint',
+    'push'
+  ],
+  'tp' => [
+    'A2',
+    'A2',
+    'A2',
+    'pair'
+  ],
+  'vr' => [
+    'A2',
+    'A2',
+    'A3',
+    'A3',
+    'A3',
+    'A4 of A2',
+    'A4 of A2',
+    'border-pattern',
+    'border-pattern of Window',
+    'enable',
+    'fill-column'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'all_commands_delimiters'} = ' -- Command: 
FORWARD--CHAR NCHARS argument2 argument3 (arg in brace,
           [something IN V--AR, in, b , comma aPREF p]) last
diff --git a/tp/t/results/def/all_commands_delimiters_printindex.pl 
b/tp/t/results/def/all_commands_delimiters_printindex.pl
index b4590b9..5c1395e 100644
--- a/tp/t/results/def/all_commands_delimiters_printindex.pl
+++ b/tp/t/results/def/all_commands_delimiters_printindex.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -15752,6 +15752,63 @@ $result_errors{'all_commands_delimiters_printindex'} = 
[];
 $result_floats{'all_commands_delimiters_printindex'} = {};
 
 
+$result_sort_strings{'all_commands_delimiters_printindex'} = {
+  'fn' => [
+    ')expose on )Window',
+    ')expose on )Window',
+    ',expose on ,Window',
+    ',expose on ,Window',
+    ';expose on ;Window',
+    ';expose on ;Window',
+    'A2',
+    'A2',
+    'A3',
+    'A3',
+    'A3 on A2',
+    'A3 on A2',
+    'A4 on A2',
+    'A4 on A2',
+    'apply',
+    'e)xpose on W)indow',
+    'e)xpose on W)indow',
+    'e,xpose on W,indow',
+    'e,xpose on W,indow',
+    'e;xpose on W;indow',
+    'e;xpose on W;indow',
+    'expose on W,indow',
+    'expose on Window',
+    'expose on windows',
+    'foobar',
+    'foobar',
+    'foobug',
+    'forward--char',
+    'fun_name',
+    'fun_name1',
+    'name on Windowint',
+    'push'
+  ],
+  'tp' => [
+    'A2',
+    'A2',
+    'A2',
+    'pair'
+  ],
+  'vr' => [
+    'A2',
+    'A2',
+    'A3',
+    'A3',
+    'A3',
+    'A4 of A2',
+    'A4 of A2',
+    'border-pattern',
+    'border-pattern of Window',
+    'enable',
+    'fill-column'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'all_commands_delimiters_printindex'} = 'This is , 
produced from .
 
diff --git a/tp/t/results/def/all_commands_printindex.pl 
b/tp/t/results/def/all_commands_printindex.pl
index 51c53c2..153c52d 100644
--- a/tp/t/results/def/all_commands_printindex.pl
+++ b/tp/t/results/def/all_commands_printindex.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -3880,6 +3880,34 @@ $result_errors{'all_commands_printindex'} = [];
 $result_floats{'all_commands_printindex'} = {};
 
 
+$result_sort_strings{'all_commands_printindex'} = {
+  'fn' => [
+    'd--efmac_name',
+    'd--efmethod_name on c--lass',
+    'd--efop_name on c--lass',
+    'd--efspec_name',
+    'd--eftypefn_name',
+    'd--eftypefun_name',
+    'd--eftypemethod_name on c--lass',
+    'd--eftypeop_name on c--lass',
+    'd--efun_name'
+  ],
+  'tp' => [
+    'd--eftp_name'
+  ],
+  'vr' => [
+    'd--efcv_name',
+    'd--efivar_name of c--lass',
+    'd--efopt_name',
+    'd--eftypeivar_name of c--lass',
+    'd--eftypevar_name',
+    'd--eftypevr_name',
+    'd--efvar_name',
+    'd--efvr_name'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'all_commands_printindex'} = 'This is , produced 
from .
 
diff --git a/tp/t/results/def/all_empty_def.pl 
b/tp/t/results/def/all_empty_def.pl
index 3a7b961..5623891 100644
--- a/tp/t/results/def/all_empty_def.pl
+++ b/tp/t/results/def/all_empty_def.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/def/ampchar.pl b/tp/t/results/def/ampchar.pl
index 626eac7..8ecbeee 100644
--- a/tp/t/results/def/ampchar.pl
+++ b/tp/t/results/def/ampchar.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -342,6 +342,13 @@ $result_errors{'ampchar'} = [
 $result_floats{'ampchar'} = {};
 
 
+$result_sort_strings{'ampchar'} = {
+  'fn' => [
+    'b on a'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'ampchar'} = ' -- Constructor on a: b (const 
std::vector<int>&)
    & & & { } @
diff --git a/tp/t/results/def/code_in_def.pl b/tp/t/results/def/code_in_def.pl
index 50cbe61..b57318f 100644
--- a/tp/t/results/def/code_in_def.pl
+++ b/tp/t/results/def/code_in_def.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -314,6 +314,13 @@ $result_errors{'code_in_def'} = [
 $result_floats{'code_in_def'} = {};
 
 
+$result_sort_strings{'code_in_def'} = {
+  'fn' => [
+    'foo'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'code_in_def'} = ' -- Function: int foo 
(const std::vector<int>& bar)
      Documentation of \'foo\'.
diff --git a/tp/t/results/def/def_defx_mismatch.pl 
b/tp/t/results/def/def_defx_mismatch.pl
index 4a9d21f..1cb5ae8 100644
--- a/tp/t/results/def/def_defx_mismatch.pl
+++ b/tp/t/results/def/def_defx_mismatch.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -506,4 +506,12 @@ $result_errors{'def_defx_mismatch'} = [
 $result_floats{'def_defx_mismatch'} = {};
 
 
+$result_sort_strings{'def_defx_mismatch'} = {
+  'fn' => [
+    'my def',
+    'name'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/def/defx_after_comment.pl 
b/tp/t/results/def/defx_after_comment.pl
index 8aedd5c..cf1768a 100644
--- a/tp/t/results/def/defx_after_comment.pl
+++ b/tp/t/results/def/defx_after_comment.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -366,6 +366,14 @@ $result_errors{'defx_after_comment'} = [
 $result_floats{'defx_after_comment'} = {};
 
 
+$result_sort_strings{'defx_after_comment'} = {
+  'fn' => [
+    'bidulr',
+    'i'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'defx_after_comment'} = ' -- fset: I a g
  -- truc: bidulr machin...
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 9cb316b..a467f08 100644
--- a/tp/t/results/def/defx_after_comment_in_example.pl
+++ b/tp/t/results/def/defx_after_comment_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -440,6 +440,14 @@ $result_errors{'defx_after_comment_in_example'} = [
 $result_floats{'defx_after_comment_in_example'} = {};
 
 
+$result_sort_strings{'defx_after_comment_in_example'} = {
+  'fn' => [
+    'bidulr',
+    'i'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'defx_after_comment_in_example'} = '      -- 
fset: I a g
       -- truc: bidulr machin...
diff --git a/tp/t/results/def/defx_after_empty_line.pl 
b/tp/t/results/def/defx_after_empty_line.pl
index 3e06868..68e6668 100644
--- a/tp/t/results/def/defx_after_empty_line.pl
+++ b/tp/t/results/def/defx_after_empty_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -354,6 +354,14 @@ $result_errors{'defx_after_empty_line'} = [
 $result_floats{'defx_after_empty_line'} = {};
 
 
+$result_sort_strings{'defx_after_empty_line'} = {
+  'fn' => [
+    'bidulr',
+    'i'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'defx_after_empty_line'} = ' -- fset: I a g
 
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 2485334..96fd1af 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
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -479,6 +479,14 @@ $result_errors{'defx_after_empty_line_in_example'} = [
 $result_floats{'defx_after_empty_line_in_example'} = {};
 
 
+$result_sort_strings{'defx_after_empty_line_in_example'} = {
+  'fn' => [
+    'bidulr',
+    'i'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'defx_after_empty_line_in_example'} = '      
-- fset: I a g
 
diff --git a/tp/t/results/def/defx_after_paragraph_end.pl 
b/tp/t/results/def/defx_after_paragraph_end.pl
index 724e8ac..cf53b78 100644
--- a/tp/t/results/def/defx_after_paragraph_end.pl
+++ b/tp/t/results/def/defx_after_paragraph_end.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -379,4 +379,12 @@ $result_errors{'defx_after_paragraph_end'} = [
 $result_floats{'defx_after_paragraph_end'} = {};
 
 
+$result_sort_strings{'defx_after_paragraph_end'} = {
+  'fn' => [
+    'bidulr',
+    'i'
+  ]
+};
+
+
 1;
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 b394906..0c813dd 100644
--- a/tp/t/results/def/defx_after_preformatted_with_text.pl
+++ b/tp/t/results/def/defx_after_preformatted_with_text.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -446,4 +446,12 @@ $result_errors{'defx_after_preformatted_with_text'} = [
 $result_floats{'defx_after_preformatted_with_text'} = {};
 
 
+$result_sort_strings{'defx_after_preformatted_with_text'} = {
+  'fn' => [
+    'bidulr',
+    'i'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/def/defx_after_text.pl 
b/tp/t/results/def/defx_after_text.pl
index 26e95d4..f6083b9 100644
--- a/tp/t/results/def/defx_after_text.pl
+++ b/tp/t/results/def/defx_after_text.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -370,4 +370,12 @@ $result_errors{'defx_after_text'} = [
 $result_floats{'defx_after_text'} = {};
 
 
+$result_sort_strings{'defx_after_text'} = {
+  'fn' => [
+    'bidulr',
+    'i'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/def/defx_in_example.pl 
b/tp/t/results/def/defx_in_example.pl
index 42d4be2..042601b 100644
--- a/tp/t/results/def/defx_in_example.pl
+++ b/tp/t/results/def/defx_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -405,6 +405,14 @@ $result_errors{'defx_in_example'} = [
 $result_floats{'defx_in_example'} = {};
 
 
+$result_sort_strings{'defx_in_example'} = {
+  'fn' => [
+    'bidulr',
+    'i'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'defx_in_example'} = '      -- fset: I a g
       -- truc: bidulr machin...
diff --git a/tp/t/results/def/double_command.pl 
b/tp/t/results/def/double_command.pl
index 928111b..d5d2fd4 100644
--- a/tp/t/results/def/double_command.pl
+++ b/tp/t/results/def/double_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -885,4 +885,16 @@ $result_errors{'double_command'} = [
 $result_floats{'double_command'} = {};
 
 
+$result_sort_strings{'double_command'} = {
+  'fn' => [
+    'aaaa',
+    'plot',
+    'plot2'
+  ],
+  'vr' => [
+    'd--efvr_name'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/def/empty_def_arguments.pl 
b/tp/t/results/def/empty_def_arguments.pl
index cb50edf..b63122c 100644
--- a/tp/t/results/def/empty_def_arguments.pl
+++ b/tp/t/results/def/empty_def_arguments.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -835,4 +835,11 @@ $result_errors{'empty_def_arguments'} = [
 $result_floats{'empty_def_arguments'} = {};
 
 
+$result_sort_strings{'empty_def_arguments'} = {
+  'fn' => [
+    'i'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/def/empty_def_command.pl 
b/tp/t/results/def/empty_def_command.pl
index 2462182..6ae90e7 100644
--- a/tp/t/results/def/empty_def_command.pl
+++ b/tp/t/results/def/empty_def_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -446,6 +446,15 @@ $result_errors{'empty_def_command'} = [
 $result_floats{'empty_def_command'} = {};
 
 
+$result_sort_strings{'empty_def_command'} = {
+  'fn' => [
+    'deffn',
+    'deffn',
+    'deffnx'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'empty_def_command'} = ' -- empty: deffn
 
diff --git a/tp/t/results/def/empty_deftype.pl 
b/tp/t/results/def/empty_deftype.pl
index 076ae14..4f11cf2 100644
--- a/tp/t/results/def/empty_deftype.pl
+++ b/tp/t/results/def/empty_deftype.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1114,4 +1114,14 @@ $result_errors{'empty_deftype'} = [
 $result_floats{'empty_deftype'} = {};
 
 
+$result_sort_strings{'empty_deftype'} = {
+  'fn' => [
+    'f',
+    'f',
+    'f on c',
+    'f on c'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/def/empty_deftypeop_name.pl 
b/tp/t/results/def/empty_deftypeop_name.pl
index 1242ed7..80c4e34 100644
--- a/tp/t/results/def/empty_deftypeop_name.pl
+++ b/tp/t/results/def/empty_deftypeop_name.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/def/end_of_line_end_file.pl 
b/tp/t/results/def/end_of_line_end_file.pl
index d28cba3..0402e34 100644
--- a/tp/t/results/def/end_of_line_end_file.pl
+++ b/tp/t/results/def/end_of_line_end_file.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/def/end_of_line_protect_at_end.pl 
b/tp/t/results/def/end_of_line_protect_at_end.pl
index 653a208..cbffea7 100644
--- a/tp/t/results/def/end_of_line_protect_at_end.pl
+++ b/tp/t/results/def/end_of_line_protect_at_end.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -172,4 +172,11 @@ $result_errors{'end_of_line_protect_at_end'} = [
 $result_floats{'end_of_line_protect_at_end'} = {};
 
 
+$result_sort_strings{'end_of_line_protect_at_end'} = {
+  'fn' => [
+    'deffn_name2'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/def/end_of_lines_protected.pl 
b/tp/t/results/def/end_of_lines_protected.pl
index 7ac256b..458fa0e 100644
--- a/tp/t/results/def/end_of_lines_protected.pl
+++ b/tp/t/results/def/end_of_lines_protected.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -348,6 +348,13 @@ $result_errors{'end_of_lines_protected'} = [
 $result_floats{'end_of_lines_protected'} = {};
 
 
+$result_sort_strings{'end_of_lines_protected'} = {
+  'fn' => [
+    'deffn_name'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'end_of_lines_protected'} = ' -- category: 
deffn_name arguments more args with end of line within
           with 3 @ @ one last arg
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 7c29008..1046c08 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
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -403,6 +403,13 @@ $result_errors{'end_of_lines_protected_in_footnote'} = [
 $result_floats{'end_of_lines_protected_in_footnote'} = {};
 
 
+$result_sort_strings{'end_of_lines_protected_in_footnote'} = {
+  'fn' => [
+    'deffn_name'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'end_of_lines_protected_in_footnote'} = '(1)
 
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 078c0bc..99979c1 100644
--- a/tp/t/results/def/inter_item_commands_in_def.pl
+++ b/tp/t/results/def/inter_item_commands_in_def.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -696,6 +696,19 @@ $result_errors{'inter_item_commands_in_def'} = [
 $result_floats{'inter_item_commands_in_def'} = {};
 
 
+$result_sort_strings{'inter_item_commands_in_def'} = {
+  'cp' => [
+    'between deffnx',
+    'cindex in deff item'
+  ],
+  'fn' => [
+    'i',
+    'id i ule',
+    'log trap1'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'inter_item_commands_in_def'} = ' -- fset: I 
a g
 
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 e3f44d5..9be243e 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
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -772,6 +772,19 @@ $result_errors{'inter_item_commands_in_def_in_example'} = [
 $result_floats{'inter_item_commands_in_def_in_example'} = {};
 
 
+$result_sort_strings{'inter_item_commands_in_def_in_example'} = {
+  'cp' => [
+    'between deffnx',
+    'cindex in deff item'
+  ],
+  'fn' => [
+    'i',
+    'id i ule',
+    'log trap1'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'inter_item_commands_in_def_in_example'} = '  
    -- fset: I a g
 
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 d26546f..cfb32f4 100644
--- a/tp/t/results/def/leading_space_in_def_arg.pl
+++ b/tp/t/results/def/leading_space_in_def_arg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -196,6 +196,13 @@ $result_errors{'leading_space_in_def_arg'} = [
 $result_floats{'leading_space_in_def_arg'} = {};
 
 
+$result_sort_strings{'leading_space_in_def_arg'} = {
+  'fn' => [
+    'name'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'leading_space_in_def_arg'} = ' -- category: 
name arg
 ';
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 9e2387a..d026281 100644
--- a/tp/t/results/def/no_category_or_no_name.pl
+++ b/tp/t/results/def/no_category_or_no_name.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -600,4 +600,11 @@ $result_errors{'no_category_or_no_name'} = [
 $result_floats{'no_category_or_no_name'} = {};
 
 
+$result_sort_strings{'no_category_or_no_name'} = {
+  'fn' => [
+    'b'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/def/not_closed.pl b/tp/t/results/def/not_closed.pl
index 041d492..e926ade 100644
--- a/tp/t/results/def/not_closed.pl
+++ b/tp/t/results/def/not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -431,4 +431,15 @@ $result_errors{'not_closed'} = [
 $result_floats{'not_closed'} = {};
 
 
+$result_sort_strings{'not_closed'} = {
+  'fn' => [
+    'bidule',
+    'chose'
+  ],
+  'vr' => [
+    'type1'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/def/protected_brace.pl 
b/tp/t/results/def/protected_brace.pl
index b841c46..e593a2f 100644
--- a/tp/t/results/def/protected_brace.pl
+++ b/tp/t/results/def/protected_brace.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -166,6 +166,13 @@ $result_errors{'protected_brace'} = [
 $result_floats{'protected_brace'} = {};
 
 
+$result_sort_strings{'protected_brace'} = {
+  'fn' => [
+    '{'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'protected_brace'} = ' -- c: {
 ';
diff --git a/tp/t/results/def/ref_in_def.pl b/tp/t/results/def/ref_in_def.pl
index d1ddb1c..0a2e754 100644
--- a/tp/t/results/def/ref_in_def.pl
+++ b/tp/t/results/def/ref_in_def.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -827,6 +827,14 @@ $result_errors{'ref_in_def'} = [];
 $result_floats{'ref_in_def'} = {};
 
 
+$result_sort_strings{'ref_in_def'} = {
+  'fn' => [
+    'myanchor',
+    'myanchor'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'ref_in_def'} = ' -- *note myanchor::: *note 
myanchor:: *note myanchor:: *note myanchor::
           *note myanchor::
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 58a5783..92508a0 100644
--- a/tp/t/results/def/space_in_def_for_index.pl
+++ b/tp/t/results/def/space_in_def_for_index.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -490,6 +490,14 @@ $result_errors{'space_in_def_for_index'} = [];
 $result_floats{'space_in_def_for_index'} = {};
 
 
+$result_sort_strings{'space_in_def_for_index'} = {
+  'fn' => [
+    'AAA2',
+    'name'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'space_in_def_for_index'} = 'This is , produced 
from .
 
diff --git a/tp/t/results/def/wrong_braces_simple.pl 
b/tp/t/results/def/wrong_braces_simple.pl
index cb9fef6..e1df692 100644
--- a/tp/t/results/def/wrong_braces_simple.pl
+++ b/tp/t/results/def/wrong_braces_simple.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1789,4 +1789,19 @@ $result_errors{'wrong_braces_simple'} = [
 $result_floats{'wrong_braces_simple'} = {};
 
 
+$result_sort_strings{'wrong_braces_simple'} = {
+  'fn' => [
+    'b',
+    'machin',
+    'machin',
+    'machin',
+    'machin',
+    'machin',
+    'machin',
+    'machin',
+    'machin'
+  ]
+};
+
+
 1;
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 4950609..3891f16 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
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -490,4 +490,12 @@ $result_errors{'wrong_braces_with_end_of_lines'} = [
 $result_floats{'wrong_braces_with_end_of_lines'} = {};
 
 
+$result_sort_strings{'wrong_braces_with_end_of_lines'} = {
+  'fn' => [
+    'name',
+    'name'
+  ]
+};
+
+
 1;
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 383c64b..6083f44 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
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/docbook_tests/special_docbook_unnumbered.pl 
b/tp/t/results/docbook_tests/special_docbook_unnumbered.pl
index c91ff22..73d0ba7 100644
--- a/tp/t/results/docbook_tests/special_docbook_unnumbered.pl
+++ b/tp/t/results/docbook_tests/special_docbook_unnumbered.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/float/anchor_in_caption.pl 
b/tp/t/results/float/anchor_in_caption.pl
index d2989c2..1cb743d 100644
--- a/tp/t/results/float/anchor_in_caption.pl
+++ b/tp/t/results/float/anchor_in_caption.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/float/cindex_in_caption.pl 
b/tp/t/results/float/cindex_in_caption.pl
index 4807096..b3c4e20 100644
--- a/tp/t/results/float/cindex_in_caption.pl
+++ b/tp/t/results/float/cindex_in_caption.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -449,6 +449,13 @@ $result_floats{'cindex_in_caption'} = {
 
$result_floats{'cindex_in_caption'}{'fl'}[0]{'extra'}{'caption'}{'extra'}{'float'}
 = $result_floats{'cindex_in_caption'}{'fl'}[0];
 
 
+$result_sort_strings{'cindex_in_caption'} = {
+  'cp' => [
+    'index entry'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'cindex_in_caption'} = '* Menu:
 
diff --git a/tp/t/results/float/comment_space_comand_in_float.pl 
b/tp/t/results/float/comment_space_comand_in_float.pl
index 1134dfc..2775822 100644
--- a/tp/t/results/float/comment_space_comand_in_float.pl
+++ b/tp/t/results/float/comment_space_comand_in_float.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/float/complex_float.pl 
b/tp/t/results/float/complex_float.pl
index 348ed62..191d5ad 100644
--- a/tp/t/results/float/complex_float.pl
+++ b/tp/t/results/float/complex_float.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -4770,6 +4770,15 @@ 
$result_floats{'complex_float'}{'Text'}[0]{'extra'}{'shortcaption'}{'extra'}{'fl
 
$result_floats{'complex_float'}{'Text'}[1]{'extra'}{'caption'}{'extra'}{'float'}
 = $result_floats{'complex_float'}{'Text'}[1];
 
 
+$result_sort_strings{'complex_float'} = {
+  'cp' => [
+    'float example',
+    'float example in caption',
+    'float example in caption 2'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'complex_float'} = 'Test floats
 ***********
diff --git a/tp/t/results/float/empty_listoffloats.pl 
b/tp/t/results/float/empty_listoffloats.pl
index fb010f9..affa83e 100644
--- a/tp/t/results/float/empty_listoffloats.pl
+++ b/tp/t/results/float/empty_listoffloats.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/float/empty_listoffloats_with_floats.pl 
b/tp/t/results/float/empty_listoffloats_with_floats.pl
index 9450cf4..6f04f69 100644
--- a/tp/t/results/float/empty_listoffloats_with_floats.pl
+++ b/tp/t/results/float/empty_listoffloats_with_floats.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/float/float_copying.pl 
b/tp/t/results/float/float_copying.pl
index 953e2ea..5c941d5 100644
--- a/tp/t/results/float/float_copying.pl
+++ b/tp/t/results/float/float_copying.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1377,6 +1377,18 @@ $result_floats{'float_copying'} = {
 $result_floats{'float_copying'}{'Copyright 
notice'}[0]{'extra'}{'caption'}{'extra'}{'float'} = 
$result_floats{'float_copying'}{'Copyright notice'}[0];
 
 
+$result_sort_strings{'float_copying'} = {
+  'cp' => [
+    'indexed caption',
+    'indexed caption copying footnote'
+  ],
+  'fn' => [
+    'indexed caption function',
+    'public domain function'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'float_copying'} = 'Top
 ***
diff --git a/tp/t/results/float/float_with_at_commands.pl 
b/tp/t/results/float/float_with_at_commands.pl
index b2a2cf4..2b9d305 100644
--- a/tp/t/results/float/float_with_at_commands.pl
+++ b/tp/t/results/float/float_with_at_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/float/footnote_in_caption.pl 
b/tp/t/results/float/footnote_in_caption.pl
index b79cddb..a343df6 100644
--- a/tp/t/results/float/footnote_in_caption.pl
+++ b/tp/t/results/float/footnote_in_caption.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/float/footnote_in_caption_and_error.pl 
b/tp/t/results/float/footnote_in_caption_and_error.pl
index 74c664a..1fdff50 100644
--- a/tp/t/results/float/footnote_in_caption_and_error.pl
+++ b/tp/t/results/float/footnote_in_caption_and_error.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/float/listoffloats_with_commands.pl 
b/tp/t/results/float/listoffloats_with_commands.pl
index 439157f..f98f573 100644
--- a/tp/t/results/float/listoffloats_with_commands.pl
+++ b/tp/t/results/float/listoffloats_with_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/float/numbering_captions_listoffloats.pl 
b/tp/t/results/float/numbering_captions_listoffloats.pl
index a73a23f..cd47274 100644
--- a/tp/t/results/float/numbering_captions_listoffloats.pl
+++ b/tp/t/results/float/numbering_captions_listoffloats.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/float/ref_to_float.pl 
b/tp/t/results/float/ref_to_float.pl
index 48c9b2f..02c8cec 100644
--- a/tp/t/results/float/ref_to_float.pl
+++ b/tp/t/results/float/ref_to_float.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/float/simple.pl b/tp/t/results/float/simple.pl
index 6fdee26..23f0175 100644
--- a/tp/t/results/float/simple.pl
+++ b/tp/t/results/float/simple.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/cond.pl b/tp/t/results/formatting/cond.pl
index c521510..17f318b 100644
--- a/tp/t/results/formatting/cond.pl
+++ b/tp/t/results/formatting/cond.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/cond_ifhtml_ifinfo_iftex.pl 
b/tp/t/results/formatting/cond_ifhtml_ifinfo_iftex.pl
index 2983985..d117b49 100644
--- a/tp/t/results/formatting/cond_ifhtml_ifinfo_iftex.pl
+++ b/tp/t/results/formatting/cond_ifhtml_ifinfo_iftex.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/cond_info.pl 
b/tp/t/results/formatting/cond_info.pl
index d71964f..fb172ec 100644
--- a/tp/t/results/formatting/cond_info.pl
+++ b/tp/t/results/formatting/cond_info.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/cond_info_ifhtml_ifinfo_iftex.pl 
b/tp/t/results/formatting/cond_info_ifhtml_ifinfo_iftex.pl
index f945d74..cc7c92c 100644
--- a/tp/t/results/formatting/cond_info_ifhtml_ifinfo_iftex.pl
+++ b/tp/t/results/formatting/cond_info_ifhtml_ifinfo_iftex.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/cond_info_no-ifhtml_no-ifinfo_no-iftex.pl 
b/tp/t/results/formatting/cond_info_no-ifhtml_no-ifinfo_no-iftex.pl
index 7c8fa5d..f770f80 100644
--- a/tp/t/results/formatting/cond_info_no-ifhtml_no-ifinfo_no-iftex.pl
+++ b/tp/t/results/formatting/cond_info_no-ifhtml_no-ifinfo_no-iftex.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/cond_no-ifhtml_no-ifinfo_no-iftex.pl 
b/tp/t/results/formatting/cond_no-ifhtml_no-ifinfo_no-iftex.pl
index cb8501b..b25b511 100644
--- a/tp/t/results/formatting/cond_no-ifhtml_no-ifinfo_no-iftex.pl
+++ b/tp/t/results/formatting/cond_no-ifhtml_no-ifinfo_no-iftex.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/cond_xml.pl 
b/tp/t/results/formatting/cond_xml.pl
index dab7ff1..d391ce5 100644
--- a/tp/t/results/formatting/cond_xml.pl
+++ b/tp/t/results/formatting/cond_xml.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/defcondx_Dbar.pl 
b/tp/t/results/formatting/defcondx_Dbar.pl
index 9c48706..5caa142 100644
--- a/tp/t/results/formatting/defcondx_Dbar.pl
+++ b/tp/t/results/formatting/defcondx_Dbar.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/defcondx_Ubar.pl 
b/tp/t/results/formatting/defcondx_Ubar.pl
index dc6f710..86024e1 100644
--- a/tp/t/results/formatting/defcondx_Ubar.pl
+++ b/tp/t/results/formatting/defcondx_Ubar.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/direntry_dircategory_info_split.pl 
b/tp/t/results/formatting/direntry_dircategory_info_split.pl
index 87c3858..02a6df9 100644
--- a/tp/t/results/formatting/direntry_dircategory_info_split.pl
+++ b/tp/t/results/formatting/direntry_dircategory_info_split.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/documentlanguage_set_option.pl 
b/tp/t/results/formatting/documentlanguage_set_option.pl
index 21a835c..6d860ac 100644
--- a/tp/t/results/formatting/documentlanguage_set_option.pl
+++ b/tp/t/results/formatting/documentlanguage_set_option.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/documentlanguage_set_option_info.pl 
b/tp/t/results/formatting/documentlanguage_set_option_info.pl
index 8289330..72ce258 100644
--- a/tp/t/results/formatting/documentlanguage_set_option_info.pl
+++ b/tp/t/results/formatting/documentlanguage_set_option_info.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/documentlanguage_set_unknown.pl 
b/tp/t/results/formatting/documentlanguage_set_unknown.pl
index 7b7e698..47539de 100644
--- a/tp/t/results/formatting/documentlanguage_set_unknown.pl
+++ b/tp/t/results/formatting/documentlanguage_set_unknown.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/empty.pl b/tp/t/results/formatting/empty.pl
index 2fa99a1..948d79c 100644
--- a/tp/t/results/formatting/empty.pl
+++ b/tp/t/results/formatting/empty.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/float_copying.pl 
b/tp/t/results/formatting/float_copying.pl
index 666e37a..364ec87 100644
--- a/tp/t/results/formatting/float_copying.pl
+++ b/tp/t/results/formatting/float_copying.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1949,4 +1949,18 @@ $result_floats{'float_copying'} = {
 $result_floats{'float_copying'}{'Copyright 
notice'}[0]{'extra'}{'caption'}{'extra'}{'float'} = 
$result_floats{'float_copying'}{'Copyright notice'}[0];
 
 
+$result_sort_strings{'float_copying'} = {
+  'cp' => [
+    'indexed caption',
+    'indexed caption copying footnote',
+    'listofloats',
+    'Top'
+  ],
+  'fn' => [
+    'indexed caption function',
+    'public domain function'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/formatting/one_line.pl 
b/tp/t/results/formatting/one_line.pl
index a72b41a..5e9c4e2 100644
--- a/tp/t/results/formatting/one_line.pl
+++ b/tp/t/results/formatting/one_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/one_line_no_content.pl 
b/tp/t/results/formatting/one_line_no_content.pl
index 8ff963b..284a429 100644
--- a/tp/t/results/formatting/one_line_no_content.pl
+++ b/tp/t/results/formatting/one_line_no_content.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/simplest_test_date_in_header.pl 
b/tp/t/results/formatting/simplest_test_date_in_header.pl
index 5d0c5e2..0af2ae5 100644
--- a/tp/t/results/formatting/simplest_test_date_in_header.pl
+++ b/tp/t/results/formatting/simplest_test_date_in_header.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/simplest_test_prefix.pl 
b/tp/t/results/formatting/simplest_test_prefix.pl
index 9905eaf..a611104 100644
--- a/tp/t/results/formatting/simplest_test_prefix.pl
+++ b/tp/t/results/formatting/simplest_test_prefix.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/simplest_test_prefix_info.pl 
b/tp/t/results/formatting/simplest_test_prefix_info.pl
index 1838382..9a65047 100644
--- a/tp/t/results/formatting/simplest_test_prefix_info.pl
+++ b/tp/t/results/formatting/simplest_test_prefix_info.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/split_for_format_not_split.pl 
b/tp/t/results/formatting/split_for_format_not_split.pl
index 6f6ca04..77c82dd 100644
--- a/tp/t/results/formatting/split_for_format_not_split.pl
+++ b/tp/t/results/formatting/split_for_format_not_split.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/split_nocopying.pl 
b/tp/t/results/formatting/split_nocopying.pl
index 2d00e72..10d06e1 100644
--- a/tp/t/results/formatting/split_nocopying.pl
+++ b/tp/t/results/formatting/split_nocopying.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/split_nocopying_split.pl 
b/tp/t/results/formatting/split_nocopying_split.pl
index d5f27dd..bdd2df1 100644
--- a/tp/t/results/formatting/split_nocopying_split.pl
+++ b/tp/t/results/formatting/split_nocopying_split.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/texi_bib_example.pl 
b/tp/t/results/formatting/texi_bib_example.pl
index a73ef63..cf47943 100644
--- a/tp/t/results/formatting/texi_bib_example.pl
+++ b/tp/t/results/formatting/texi_bib_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/texi_cond.pl 
b/tp/t/results/formatting/texi_cond.pl
index 77add38..a8f1ce0 100644
--- a/tp/t/results/formatting/texi_cond.pl
+++ b/tp/t/results/formatting/texi_cond.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/formatting/texi_glossary.pl 
b/tp/t/results/formatting/texi_glossary.pl
index 4f3ce9d..1082f4f 100644
--- a/tp/t/results/formatting/texi_glossary.pl
+++ b/tp/t/results/formatting/texi_glossary.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/heading/heading_in_copying.pl 
b/tp/t/results/heading/heading_in_copying.pl
index fd7a966..8d9b8c9 100644
--- a/tp/t/results/heading/heading_in_copying.pl
+++ b/tp/t/results/heading/heading_in_copying.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -395,6 +395,13 @@ $result_errors{'heading_in_copying'} = [];
 $result_floats{'heading_in_copying'} = {};
 
 
+$result_sort_strings{'heading_in_copying'} = {
+  'cp' => [
+    'cindex copying'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'heading_in_copying'} = 'in copying @ 
_heading_
 ======================
diff --git a/tp/t/results/heading/heading_in_example.pl 
b/tp/t/results/heading/heading_in_example.pl
index 2b61af0..c7e14f9 100644
--- a/tp/t/results/heading/heading_in_example.pl
+++ b/tp/t/results/heading/heading_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/heading/heading_in_quotation.pl 
b/tp/t/results/heading/heading_in_quotation.pl
index c6b6cfd..7353026 100644
--- a/tp/t/results/heading/heading_in_quotation.pl
+++ b/tp/t/results/heading/heading_in_quotation.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/character_number_leading_toc_stoc.pl 
b/tp/t/results/html_tests/character_number_leading_toc_stoc.pl
index 42e7ee6..4b70e85 100644
--- a/tp/t/results/html_tests/character_number_leading_toc_stoc.pl
+++ b/tp/t/results/html_tests/character_number_leading_toc_stoc.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/check_htmlxref.pl 
b/tp/t/results/html_tests/check_htmlxref.pl
index a47ead5..eced6b8 100644
--- a/tp/t/results/html_tests/check_htmlxref.pl
+++ b/tp/t/results/html_tests/check_htmlxref.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/commands_in_abbr.pl 
b/tp/t/results/html_tests/commands_in_abbr.pl
index 0484879..227381f 100644
--- a/tp/t/results/html_tests/commands_in_abbr.pl
+++ b/tp/t/results/html_tests/commands_in_abbr.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/commands_in_alt.pl 
b/tp/t/results/html_tests/commands_in_alt.pl
index e5db480..41e3351 100644
--- a/tp/t/results/html_tests/commands_in_alt.pl
+++ b/tp/t/results/html_tests/commands_in_alt.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/commands_in_email.pl 
b/tp/t/results/html_tests/commands_in_email.pl
index 42fcd36..9c39ff2 100644
--- a/tp/t/results/html_tests/commands_in_email.pl
+++ b/tp/t/results/html_tests/commands_in_email.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/documentdescription.pl 
b/tp/t/results/html_tests/documentdescription.pl
index 2fa27fc..44852bd 100644
--- a/tp/t/results/html_tests/documentdescription.pl
+++ b/tp/t/results/html_tests/documentdescription.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/empty_lines_at_beginning_no_setfilename.pl 
b/tp/t/results/html_tests/empty_lines_at_beginning_no_setfilename.pl
index b9e9d41..a6daccd 100644
--- a/tp/t/results/html_tests/empty_lines_at_beginning_no_setfilename.pl
+++ b/tp/t/results/html_tests/empty_lines_at_beginning_no_setfilename.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/html_tests/empty_lines_at_beginning_no_setfilename_no_element.pl 
b/tp/t/results/html_tests/empty_lines_at_beginning_no_setfilename_no_element.pl
index 4c78311..36c0493 100644
--- 
a/tp/t/results/html_tests/empty_lines_at_beginning_no_setfilename_no_element.pl
+++ 
b/tp/t/results/html_tests/empty_lines_at_beginning_no_setfilename_no_element.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/example_at_commands_arguments.pl 
b/tp/t/results/html_tests/example_at_commands_arguments.pl
index 17decbb..2395254 100644
--- a/tp/t/results/html_tests/example_at_commands_arguments.pl
+++ b/tp/t/results/html_tests/example_at_commands_arguments.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/example_class.pl 
b/tp/t/results/html_tests/example_class.pl
index 8c083d6..210dc20 100644
--- a/tp/t/results/html_tests/example_class.pl
+++ b/tp/t/results/html_tests/example_class.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/example_empty_arguments.pl 
b/tp/t/results/html_tests/example_empty_arguments.pl
index 593651f..dfe27b4 100644
--- a/tp/t/results/html_tests/example_empty_arguments.pl
+++ b/tp/t/results/html_tests/example_empty_arguments.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/example_multi_class.pl 
b/tp/t/results/html_tests/example_multi_class.pl
index 6ea003e..aa11d8b 100644
--- a/tp/t/results/html_tests/example_multi_class.pl
+++ b/tp/t/results/html_tests/example_multi_class.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/html_in_copying.pl 
b/tp/t/results/html_tests/html_in_copying.pl
index c194bbd..3b6a611 100644
--- a/tp/t/results/html_tests/html_in_copying.pl
+++ b/tp/t/results/html_tests/html_in_copying.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/image_link_prefix.pl 
b/tp/t/results/html_tests/image_link_prefix.pl
index 48e6ccb..8d5e241 100644
--- a/tp/t/results/html_tests/image_link_prefix.pl
+++ b/tp/t/results/html_tests/image_link_prefix.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/index_and_node_same_name.pl 
b/tp/t/results/html_tests/index_and_node_same_name.pl
index 76858c8..253dd14 100644
--- a/tp/t/results/html_tests/index_and_node_same_name.pl
+++ b/tp/t/results/html_tests/index_and_node_same_name.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -247,6 +247,13 @@ $result_errors{'index_and_node_same_name'} = [];
 $result_floats{'index_and_node_same_name'} = {};
 
 
+$result_sort_strings{'index_and_node_same_name'} = {
+  'cp' => [
+    'node'
+  ]
+};
+
+
 
 $result_converted{'html'}->{'index_and_node_same_name'} = '<!DOCTYPE html 
PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
 <html>
diff --git a/tp/t/results/html_tests/index_below.pl 
b/tp/t/results/html_tests/index_below.pl
index f183bc1..be02a65 100644
--- a/tp/t/results/html_tests/index_below.pl
+++ b/tp/t/results/html_tests/index_below.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -326,6 +326,13 @@ $result_errors{'index_below'} = [];
 $result_floats{'index_below'} = {};
 
 
+$result_sort_strings{'index_below'} = {
+  'cp' => [
+    'entry'
+  ]
+};
+
+
 $result_elements{'index_below'} = [
   {
     'extra' => {
diff --git a/tp/t/results/html_tests/no_use_iso.pl 
b/tp/t/results/html_tests/no_use_iso.pl
index f171de0..c29afe1 100644
--- a/tp/t/results/html_tests/no_use_iso.pl
+++ b/tp/t/results/html_tests/no_use_iso.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/raw_html.pl 
b/tp/t/results/html_tests/raw_html.pl
index e985cb2..f4edaa1 100644
--- a/tp/t/results/html_tests/raw_html.pl
+++ b/tp/t/results/html_tests/raw_html.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/redirection_same_labels.pl 
b/tp/t/results/html_tests/redirection_same_labels.pl
index e86041e..c100f51 100644
--- a/tp/t/results/html_tests/redirection_same_labels.pl
+++ b/tp/t/results/html_tests/redirection_same_labels.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/ref_in_preformatted.pl 
b/tp/t/results/html_tests/ref_in_preformatted.pl
index 30d17da..a9b8eb1 100644
--- a/tp/t/results/html_tests/ref_in_preformatted.pl
+++ b/tp/t/results/html_tests/ref_in_preformatted.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/shortcontents_no_top.pl 
b/tp/t/results/html_tests/shortcontents_no_top.pl
index 1d7f3a4..65c862d 100644
--- a/tp/t/results/html_tests/shortcontents_no_top.pl
+++ b/tp/t/results/html_tests/shortcontents_no_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/simple_menu.pl 
b/tp/t/results/html_tests/simple_menu.pl
index e915c3c..5589107 100644
--- a/tp/t/results/html_tests/simple_menu.pl
+++ b/tp/t/results/html_tests/simple_menu.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/test_xrefautomaticsectiontitle.pl 
b/tp/t/results/html_tests/test_xrefautomaticsectiontitle.pl
index efb8098..583bc79 100644
--- a/tp/t/results/html_tests/test_xrefautomaticsectiontitle.pl
+++ b/tp/t/results/html_tests/test_xrefautomaticsectiontitle.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/tex_expanded_in_copying.pl 
b/tp/t/results/html_tests/tex_expanded_in_copying.pl
index d3b44be..f903d4a 100644
--- a/tp/t/results/html_tests/tex_expanded_in_copying.pl
+++ b/tp/t/results/html_tests/tex_expanded_in_copying.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/html_tests/text_before_top_and_contents_after_title.pl 
b/tp/t/results/html_tests/text_before_top_and_contents_after_title.pl
index 306ed6d..b099c49 100644
--- a/tp/t/results/html_tests/text_before_top_and_contents_after_title.pl
+++ b/tp/t/results/html_tests/text_before_top_and_contents_after_title.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/titles.pl 
b/tp/t/results/html_tests/titles.pl
index de6c1ba..0c2fc7d 100644
--- a/tp/t/results/html_tests/titles.pl
+++ b/tp/t/results/html_tests/titles.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/utf8_enable_encoding.pl 
b/tp/t/results/html_tests/utf8_enable_encoding.pl
index 8ab0753..02f0efe 100644
--- a/tp/t/results/html_tests/utf8_enable_encoding.pl
+++ b/tp/t/results/html_tests/utf8_enable_encoding.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/utf8_enable_encoding_no_use_iso.pl 
b/tp/t/results/html_tests/utf8_enable_encoding_no_use_iso.pl
index 153ae90..50555ef 100644
--- a/tp/t/results/html_tests/utf8_enable_encoding_no_use_iso.pl
+++ b/tp/t/results/html_tests/utf8_enable_encoding_no_use_iso.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/utf8_no_use_entity.pl 
b/tp/t/results/html_tests/utf8_no_use_entity.pl
index c84d752..bcd08cb 100644
--- a/tp/t/results/html_tests/utf8_no_use_entity.pl
+++ b/tp/t/results/html_tests/utf8_no_use_entity.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/utf8_no_use_entity_enable_encoding.pl 
b/tp/t/results/html_tests/utf8_no_use_entity_enable_encoding.pl
index 9447723..26dec7e 100644
--- a/tp/t/results/html_tests/utf8_no_use_entity_enable_encoding.pl
+++ b/tp/t/results/html_tests/utf8_no_use_entity_enable_encoding.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/html_tests/utf8_no_use_entity_enable_encoding_no_use_iso.pl 
b/tp/t/results/html_tests/utf8_no_use_entity_enable_encoding_no_use_iso.pl
index 54c32cd..32bff67 100644
--- a/tp/t/results/html_tests/utf8_no_use_entity_enable_encoding_no_use_iso.pl
+++ b/tp/t/results/html_tests/utf8_no_use_entity_enable_encoding_no_use_iso.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/utf8_no_use_entity_no_use_iso.pl 
b/tp/t/results/html_tests/utf8_no_use_entity_no_use_iso.pl
index 1e8ddfc..38b5534 100644
--- a/tp/t/results/html_tests/utf8_no_use_entity_no_use_iso.pl
+++ b/tp/t/results/html_tests/utf8_no_use_entity_no_use_iso.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/verbatim_in_multitable_in_example.pl 
b/tp/t/results/html_tests/verbatim_in_multitable_in_example.pl
index df1a0b1..dd967b1 100644
--- a/tp/t/results/html_tests/verbatim_in_multitable_in_example.pl
+++ b/tp/t/results/html_tests/verbatim_in_multitable_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/html_tests/xml_protected_in_verb.pl 
b/tp/t/results/html_tests/xml_protected_in_verb.pl
index ead1297..44b994d 100644
--- a/tp/t/results/html_tests/xml_protected_in_verb.pl
+++ b/tp/t/results/html_tests/xml_protected_in_verb.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/htmlxref/htmlxref.pl 
b/tp/t/results/htmlxref/htmlxref.pl
index dfa040a..be790e7 100644
--- a/tp/t/results/htmlxref/htmlxref.pl
+++ b/tp/t/results/htmlxref/htmlxref.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/htmlxref/htmlxref_nodes.pl 
b/tp/t/results/htmlxref/htmlxref_nodes.pl
index c91ebe2..87bd4c3 100644
--- a/tp/t/results/htmlxref/htmlxref_nodes.pl
+++ b/tp/t/results/htmlxref/htmlxref_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/htmlxref/htmlxref_only_mono.pl 
b/tp/t/results/htmlxref/htmlxref_only_mono.pl
index c6837a0..79f61d0 100644
--- a/tp/t/results/htmlxref/htmlxref_only_mono.pl
+++ b/tp/t/results/htmlxref/htmlxref_only_mono.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/htmlxref/htmlxref_only_mono_nodes.pl 
b/tp/t/results/htmlxref/htmlxref_only_mono_nodes.pl
index 3b916de..78f997b 100644
--- a/tp/t/results/htmlxref/htmlxref_only_mono_nodes.pl
+++ b/tp/t/results/htmlxref/htmlxref_only_mono_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/htmlxref/htmlxref_only_split.pl 
b/tp/t/results/htmlxref/htmlxref_only_split.pl
index 3d2d983..44abc43 100644
--- a/tp/t/results/htmlxref/htmlxref_only_split.pl
+++ b/tp/t/results/htmlxref/htmlxref_only_split.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/htmlxref/htmlxref_only_split_nodes.pl 
b/tp/t/results/htmlxref/htmlxref_only_split_nodes.pl
index cadab1a..a62f9f2 100644
--- a/tp/t/results/htmlxref/htmlxref_only_split_nodes.pl
+++ b/tp/t/results/htmlxref/htmlxref_only_split_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/include/cpp_lines.pl 
b/tp/t/results/include/cpp_lines.pl
index 3dea1fb..e0de88c 100644
--- a/tp/t/results/include/cpp_lines.pl
+++ b/tp/t/results/include/cpp_lines.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/include/double_include.pl 
b/tp/t/results/include/double_include.pl
index d99790d..c0d48f7 100644
--- a/tp/t/results/include/double_include.pl
+++ b/tp/t/results/include/double_include.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/include/include_at_end_line.pl 
b/tp/t/results/include/include_at_end_line.pl
index 6dcdbe8..b155d9e 100644
--- a/tp/t/results/include/include_at_end_line.pl
+++ b/tp/t/results/include/include_at_end_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/include/include_comment.pl 
b/tp/t/results/include/include_comment.pl
index a4eba5b..be33f21 100644
--- a/tp/t/results/include/include_comment.pl
+++ b/tp/t/results/include/include_comment.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/include/include_setfilename_on_setfilename_line.pl 
b/tp/t/results/include/include_setfilename_on_setfilename_line.pl
index 5f2968c..d12e8f8 100644
--- a/tp/t/results/include/include_setfilename_on_setfilename_line.pl
+++ b/tp/t/results/include/include_setfilename_on_setfilename_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/include/include_space.pl 
b/tp/t/results/include/include_space.pl
index 3a5e68f..c7fbad1 100644
--- a/tp/t/results/include/include_space.pl
+++ b/tp/t/results/include/include_space.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/include/include_space_comment.pl 
b/tp/t/results/include/include_space_comment.pl
index 4201ff1..2e62a79 100644
--- a/tp/t/results/include/include_space_comment.pl
+++ b/tp/t/results/include/include_space_comment.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/include/include_with_setfilename.pl 
b/tp/t/results/include/include_with_setfilename.pl
index 5495152..bc869bd 100644
--- a/tp/t/results/include/include_with_setfilename.pl
+++ b/tp/t/results/include/include_with_setfilename.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/include/macro_and_commands_in_early_commands.pl 
b/tp/t/results/include/macro_and_commands_in_early_commands.pl
index f97b2eb..e37a5dd 100644
--- a/tp/t/results/include/macro_and_commands_in_early_commands.pl
+++ b/tp/t/results/include/macro_and_commands_in_early_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/include/macro_definition_in_include.pl 
b/tp/t/results/include/macro_definition_in_include.pl
index c8bce65..fa256de 100644
--- a/tp/t/results/include/macro_definition_in_include.pl
+++ b/tp/t/results/include/macro_definition_in_include.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/include/macro_in_early_commands.pl 
b/tp/t/results/include/macro_in_early_commands.pl
index 5da3947..f24f40f 100644
--- a/tp/t/results/include/macro_in_early_commands.pl
+++ b/tp/t/results/include/macro_in_early_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/include/no_eol_in_included_file.pl 
b/tp/t/results/include/no_eol_in_included_file.pl
index 717c110..ebb4bef 100644
--- a/tp/t/results/include/no_eol_in_included_file.pl
+++ b/tp/t/results/include/no_eol_in_included_file.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/include/simple.pl b/tp/t/results/include/simple.pl
index 8491fb3..1f5a178 100644
--- a/tp/t/results/include/simple.pl
+++ b/tp/t/results/include/simple.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/include/simple_no_eol.pl 
b/tp/t/results/include/simple_no_eol.pl
index f8fc886..e69d9c5 100644
--- a/tp/t/results/include/simple_no_eol.pl
+++ b/tp/t/results/include/simple_no_eol.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/include/value_expansion_in_include.pl 
b/tp/t/results/include/value_expansion_in_include.pl
index e54d5e0..ecf2cb8 100644
--- a/tp/t/results/include/value_expansion_in_include.pl
+++ b/tp/t/results/include/value_expansion_in_include.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/include/verbatiminclude_and_encoding.pl 
b/tp/t/results/include/verbatiminclude_and_encoding.pl
index 2419ed8..9a607ef 100644
--- a/tp/t/results/include/verbatiminclude_and_encoding.pl
+++ b/tp/t/results/include/verbatiminclude_and_encoding.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/include/verbatiminclude_and_encoding_latin1.pl 
b/tp/t/results/include/verbatiminclude_and_encoding_latin1.pl
index c687285..27e64c7 100644
--- a/tp/t/results/include/verbatiminclude_and_encoding_latin1.pl
+++ b/tp/t/results/include/verbatiminclude_and_encoding_latin1.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/indices/complex_recursive_synindex.pl 
b/tp/t/results/indices/complex_recursive_synindex.pl
index cae6961..19d38ad 100644
--- a/tp/t/results/indices/complex_recursive_synindex.pl
+++ b/tp/t/results/indices/complex_recursive_synindex.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1242,4 +1242,16 @@ $result_indices{'complex_recursive_synindex'} = {
 $result_floats{'complex_recursive_synindex'} = {};
 
 
+$result_sort_strings{'complex_recursive_synindex'} = {
+  'bbb' => [
+    'a entry',
+    'b entry',
+    'c index',
+    'd index',
+    'e before synindex',
+    'e index'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/indices/def_existing_index.pl 
b/tp/t/results/indices/def_existing_index.pl
index cfd06f7..6f6d764 100644
--- a/tp/t/results/indices/def_existing_index.pl
+++ b/tp/t/results/indices/def_existing_index.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/indices/def_syn_indices.pl 
b/tp/t/results/indices/def_syn_indices.pl
index 85d309e..b31bffa 100644
--- a/tp/t/results/indices/def_syn_indices.pl
+++ b/tp/t/results/indices/def_syn_indices.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1906,6 +1906,23 @@ $result_indices{'def_syn_indices'} = {
 $result_floats{'def_syn_indices'} = {};
 
 
+$result_sort_strings{'def_syn_indices'} = {
+  'codeidx' => [
+    'a index entry te~ i^'
+  ],
+  'fn' => [
+    'cindex entry',
+    'index truc'
+  ],
+  'pg' => [
+    'abc index entry',
+    'defg index entry',
+    'pindex codeidx',
+    'truc kindex'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'def_syn_indices'} = 'This is 
def_syn_indices.info, produced from .
 
diff --git 
a/tp/t/results/indices/default_cp_index_and_one_letter_syncodeindex.pl 
b/tp/t/results/indices/default_cp_index_and_one_letter_syncodeindex.pl
index 6e42acd..446e34c 100644
--- a/tp/t/results/indices/default_cp_index_and_one_letter_syncodeindex.pl
+++ b/tp/t/results/indices/default_cp_index_and_one_letter_syncodeindex.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -338,6 +338,14 @@ 
$result_indices{'default_cp_index_and_one_letter_syncodeindex'} = {
 $result_floats{'default_cp_index_and_one_letter_syncodeindex'} = {};
 
 
+$result_sort_strings{'default_cp_index_and_one_letter_syncodeindex'} = {
+  'fn' => [
+    '--cindex',
+    '--cpindex'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'default_cp_index_and_one_letter_syncodeindex'} = 
'This is , produced from .
 
diff --git a/tp/t/results/indices/double_index_entry.pl 
b/tp/t/results/indices/double_index_entry.pl
index ed57f50..89661db 100644
--- a/tp/t/results/indices/double_index_entry.pl
+++ b/tp/t/results/indices/double_index_entry.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -606,6 +606,15 @@ $result_errors{'double_index_entry'} = [];
 $result_floats{'double_index_entry'} = {};
 
 
+$result_sort_strings{'double_index_entry'} = {
+  'cp' => [
+    'aaa',
+    'aaa',
+    'aaa'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'double_index_entry'} = 'This is , produced from .
 
diff --git a/tp/t/results/indices/double_seeentry_seealso.pl 
b/tp/t/results/indices/double_seeentry_seealso.pl
index fa40739..3f9e54b 100644
--- a/tp/t/results/indices/double_seeentry_seealso.pl
+++ b/tp/t/results/indices/double_seeentry_seealso.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -862,6 +862,11 @@ $result_errors{'double_seeentry_seealso'} = [];
 $result_floats{'double_seeentry_seealso'} = {};
 
 
+$result_sort_strings{'double_seeentry_seealso'} = {
+  'cp' => []
+};
+
+
 
 $result_converted{'docbook'}->{'double_seeentry_seealso'} = '
 <chapter label="" id="Top">
diff --git a/tp/t/results/indices/double_syncodeindex.pl 
b/tp/t/results/indices/double_syncodeindex.pl
index 583a500..2b084f7 100644
--- a/tp/t/results/indices/double_syncodeindex.pl
+++ b/tp/t/results/indices/double_syncodeindex.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -420,6 +420,14 @@ $result_indices{'double_syncodeindex'} = {
 $result_floats{'double_syncodeindex'} = {};
 
 
+$result_sort_strings{'double_syncodeindex'} = {
+  'fn' => [
+    'cindex entry',
+    'findex entry'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'double_syncodeindex'} = 'This is , produced from .
 
diff --git a/tp/t/results/indices/empty_cindex_entry.pl 
b/tp/t/results/indices/empty_cindex_entry.pl
index 42f199e..9ae4f1c 100644
--- a/tp/t/results/indices/empty_cindex_entry.pl
+++ b/tp/t/results/indices/empty_cindex_entry.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/indices/empty_index_entry.pl 
b/tp/t/results/indices/empty_index_entry.pl
index 88d9aab..1264f1a 100644
--- a/tp/t/results/indices/empty_index_entry.pl
+++ b/tp/t/results/indices/empty_index_entry.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/indices/empty_string_index_entry.pl 
b/tp/t/results/indices/empty_string_index_entry.pl
index 70ffc6f..f3dfdf2 100644
--- a/tp/t/results/indices/empty_string_index_entry.pl
+++ b/tp/t/results/indices/empty_string_index_entry.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -803,6 +803,11 @@ $result_errors{'empty_string_index_entry'} = [
 $result_floats{'empty_string_index_entry'} = {};
 
 
+$result_sort_strings{'empty_string_index_entry'} = {
+  'fn' => []
+};
+
+
 
 $result_converted{'info'}->{'empty_string_index_entry'} = 'This is , produced 
from .
 
diff --git a/tp/t/results/indices/encoding_index_ascii.pl 
b/tp/t/results/indices/encoding_index_ascii.pl
index bf2eb14..a9d7a9b 100644
--- a/tp/t/results/indices/encoding_index_ascii.pl
+++ b/tp/t/results/indices/encoding_index_ascii.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -3534,4 +3534,65 @@ $result_errors{'encoding_index_ascii'} = [];
 $result_floats{'encoding_index_ascii'} = {};
 
 
+$result_sort_strings{'encoding_index_ascii'} = {
+  'cp' => [
+    '!',
+    '"',
+    '"',
+    '"',
+    '\'',
+    ',',
+    '-',
+    '--',
+    '0',
+    '9',
+    '>=',
+    '@',
+    '`',
+    '``',
+    'a',
+    'A',
+    'AE',
+    'b',
+    'B',
+    'c',
+    'd',
+    'D',
+    'e',
+    'e\' e\'',
+    'Euro',
+    'f',
+    'g',
+    'h',
+    'i',
+    'i i (dotless)',
+    'i" i"i"i"',
+    'i^ i^ (dotless)',
+    'i^ i^i^i^i^',
+    'j',
+    'k',
+    'l',
+    'l',
+    'L',
+    'm',
+    'n',
+    'o',
+    'o',
+    'p',
+    'q',
+    'r',
+    's',
+    'ss',
+    't',
+    'TH',
+    'u',
+    'v',
+    'w',
+    'x',
+    'y',
+    'z'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/indices/encoding_index_ascii_enable_encoding.pl 
b/tp/t/results/indices/encoding_index_ascii_enable_encoding.pl
index f1ded93..31a8c7b 100644
--- a/tp/t/results/indices/encoding_index_ascii_enable_encoding.pl
+++ b/tp/t/results/indices/encoding_index_ascii_enable_encoding.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -3534,4 +3534,65 @@ $result_errors{'encoding_index_ascii_enable_encoding'} = 
[];
 $result_floats{'encoding_index_ascii_enable_encoding'} = {};
 
 
+$result_sort_strings{'encoding_index_ascii_enable_encoding'} = {
+  'cp' => [
+    '!',
+    '"',
+    '"',
+    '"',
+    '\'',
+    ',',
+    '-',
+    '--',
+    '0',
+    '9',
+    '>=',
+    '@',
+    '`',
+    '``',
+    'a',
+    'A',
+    'AE',
+    'b',
+    'B',
+    'c',
+    'd',
+    'D',
+    'e',
+    'e\' e\'',
+    'Euro',
+    'f',
+    'g',
+    'h',
+    'i',
+    'i i (dotless)',
+    'i" i"i"i"',
+    'i^ i^ (dotless)',
+    'i^ i^i^i^i^',
+    'j',
+    'k',
+    'l',
+    'l',
+    'L',
+    'm',
+    'n',
+    'o',
+    'o',
+    'p',
+    'q',
+    'r',
+    's',
+    'ss',
+    't',
+    'TH',
+    'u',
+    'v',
+    'w',
+    'x',
+    'y',
+    'z'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/indices/encoding_index_latin1.pl 
b/tp/t/results/indices/encoding_index_latin1.pl
index af1abb4..4648db3 100644
--- a/tp/t/results/indices/encoding_index_latin1.pl
+++ b/tp/t/results/indices/encoding_index_latin1.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -3512,4 +3512,65 @@ $result_errors{'encoding_index_latin1'} = [];
 $result_floats{'encoding_index_latin1'} = {};
 
 
+$result_sort_strings{'encoding_index_latin1'} = {
+  'cp' => [
+    '!',
+    '"',
+    '"',
+    '"',
+    '\'',
+    ',',
+    '-',
+    '--',
+    '0',
+    '9',
+    '>=',
+    '@',
+    '`',
+    '``',
+    'a',
+    'A',
+    'AE',
+    'b',
+    'B',
+    'c',
+    'd',
+    'D',
+    'e',
+    'Euro',
+    'f',
+    'g',
+    'h',
+    'i',
+    'i i (dotless)',
+    'i" i"i"i"',
+    'i^ i^ (dotless)',
+    'i^ i^i^i^i^',
+    'j',
+    'k',
+    'l',
+    'l',
+    'L',
+    'm',
+    'n',
+    'o',
+    'o',
+    'p',
+    'q',
+    'r',
+    's',
+    'ss',
+    't',
+    'TH',
+    'u',
+    'v',
+    'w',
+    'x',
+    'y',
+    'z',
+    "\x{e9} \x{e9}"
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/indices/encoding_index_latin1_enable_encoding.pl 
b/tp/t/results/indices/encoding_index_latin1_enable_encoding.pl
index 07644f2..2b553c2 100644
--- a/tp/t/results/indices/encoding_index_latin1_enable_encoding.pl
+++ b/tp/t/results/indices/encoding_index_latin1_enable_encoding.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -3512,4 +3512,65 @@ $result_errors{'encoding_index_latin1_enable_encoding'} 
= [];
 $result_floats{'encoding_index_latin1_enable_encoding'} = {};
 
 
+$result_sort_strings{'encoding_index_latin1_enable_encoding'} = {
+  'cp' => [
+    '"',
+    '"',
+    '"',
+    '\'',
+    ',',
+    '-',
+    '--',
+    '0',
+    '9',
+    '>=',
+    '@',
+    '`',
+    '``',
+    "\x{a1}",
+    "\x{b0}",
+    'a',
+    'A',
+    'b',
+    'B',
+    'c',
+    'd',
+    'e',
+    'Euro',
+    'f',
+    'g',
+    'h',
+    'i',
+    'i i (dotless)',
+    'j',
+    'k',
+    'l',
+    'l',
+    'L',
+    'm',
+    'n',
+    'o',
+    'p',
+    'q',
+    'r',
+    's',
+    "\x{df}",
+    't',
+    'u',
+    'v',
+    'w',
+    'x',
+    'y',
+    'z',
+    "\x{c6}",
+    "\x{e9} \x{e9}",
+    "\x{ee} \x{ee} (dotless)",
+    "\x{ee} \x{ee}\x{ee}\x{ee}\x{ee}",
+    "\x{ef} \x{ef}\x{ef}\x{ef}",
+    "\x{d0}",
+    "\x{de}"
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/indices/encoding_index_utf8.pl 
b/tp/t/results/indices/encoding_index_utf8.pl
index 2833a8b..50811ce 100644
--- a/tp/t/results/indices/encoding_index_utf8.pl
+++ b/tp/t/results/indices/encoding_index_utf8.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -3512,4 +3512,65 @@ $result_errors{'encoding_index_utf8'} = [];
 $result_floats{'encoding_index_utf8'} = {};
 
 
+$result_sort_strings{'encoding_index_utf8'} = {
+  'cp' => [
+    '!',
+    '"',
+    '"',
+    '"',
+    '\'',
+    ',',
+    '-',
+    '--',
+    '0',
+    '9',
+    '>=',
+    '@',
+    '`',
+    '``',
+    'a',
+    'A',
+    'AE',
+    'b',
+    'B',
+    'c',
+    'd',
+    'D',
+    'e',
+    'Euro',
+    'f',
+    'g',
+    'h',
+    'i',
+    'i i (dotless)',
+    'i" i"i"i"',
+    'i^ i^ (dotless)',
+    'i^ i^i^i^i^',
+    'j',
+    'k',
+    'l',
+    'l',
+    'L',
+    'm',
+    'n',
+    'o',
+    'o',
+    'p',
+    'q',
+    'r',
+    's',
+    'ss',
+    't',
+    'TH',
+    'u',
+    'v',
+    'w',
+    'x',
+    'y',
+    'z',
+    "\x{e9} \x{e9}"
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/indices/encoding_index_utf8_enable_encoding.pl 
b/tp/t/results/indices/encoding_index_utf8_enable_encoding.pl
index 90e706f..dc72f49 100644
--- a/tp/t/results/indices/encoding_index_utf8_enable_encoding.pl
+++ b/tp/t/results/indices/encoding_index_utf8_enable_encoding.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -3512,4 +3512,65 @@ $result_errors{'encoding_index_utf8_enable_encoding'} = 
[];
 $result_floats{'encoding_index_utf8_enable_encoding'} = {};
 
 
+$result_sort_strings{'encoding_index_utf8_enable_encoding'} = {
+  'cp' => [
+    '"',
+    '"',
+    '"',
+    '\'',
+    ',',
+    '-',
+    '--',
+    '0',
+    '9',
+    '@',
+    '`',
+    "\x{a1}",
+    "\x{b0}",
+    "\x{201c}",
+    "\x{20ac}",
+    "\x{2265}",
+    'a',
+    'A',
+    'b',
+    'B',
+    'c',
+    'd',
+    'e',
+    'f',
+    'g',
+    'h',
+    'i',
+    "\x{131} \x{131} (dotless)",
+    'j',
+    'k',
+    'l',
+    'm',
+    'n',
+    'o',
+    'p',
+    'q',
+    'r',
+    's',
+    "\x{df}",
+    't',
+    'u',
+    'v',
+    'w',
+    'x',
+    'y',
+    'z',
+    "\x{c6}",
+    "\x{e9} \x{e9}",
+    "\x{ee} \x{ee} (dotless)",
+    "\x{ee} \x{ee}\x{ee}\x{ee}\x{ee}",
+    "\x{ef} \x{ef}\x{ef}\x{ef}",
+    "\x{d0}",
+    "\x{de}",
+    "\x{142}",
+    "\x{141}"
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/indices/explicit_sort_key.pl 
b/tp/t/results/indices/explicit_sort_key.pl
index f0b9e2b..b938a60 100644
--- a/tp/t/results/indices/explicit_sort_key.pl
+++ b/tp/t/results/indices/explicit_sort_key.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -947,6 +947,16 @@ $result_indices{'explicit_sort_key'} = {
 $result_floats{'explicit_sort_key'} = {};
 
 
+$result_sort_strings{'explicit_sort_key'} = {
+  'SK' => [
+    '0',
+    'A',
+    'aaa',
+    'B'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'explicit_sort_key'} = 'This is , produced from .
 
diff --git a/tp/t/results/indices/ftable_vtable.pl 
b/tp/t/results/indices/ftable_vtable.pl
index c6b19f1..daf5aad 100644
--- a/tp/t/results/indices/ftable_vtable.pl
+++ b/tp/t/results/indices/ftable_vtable.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -844,6 +844,21 @@ $result_errors{'ftable_vtable'} = [];
 $result_floats{'ftable_vtable'} = {};
 
 
+$result_sort_strings{'ftable_vtable'} = {
+  'fn' => [
+    'fun3',
+    'function1',
+    'function1',
+    'function2x'
+  ],
+  'vr' => [
+    'var1 error-->',
+    'var3',
+    'varx2'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'ftable_vtable'} = 'This is , produced from .
 
diff --git a/tp/t/results/indices/image_lines_count.pl 
b/tp/t/results/indices/image_lines_count.pl
index dbd5f7c..6658eef 100644
--- a/tp/t/results/indices/image_lines_count.pl
+++ b/tp/t/results/indices/image_lines_count.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -243,6 +243,13 @@ $result_errors{'image_lines_count'} = [];
 $result_floats{'image_lines_count'} = {};
 
 
+$result_sort_strings{'image_lines_count'} = {
+  'cp' => [
+    'index entry'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'image_lines_count'} = 'This is , produced from .
 
diff --git a/tp/t/results/indices/image_text_lines_count.pl 
b/tp/t/results/indices/image_text_lines_count.pl
index 304569c..8946031 100644
--- a/tp/t/results/indices/image_text_lines_count.pl
+++ b/tp/t/results/indices/image_text_lines_count.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -243,6 +243,13 @@ $result_errors{'image_text_lines_count'} = [];
 $result_floats{'image_text_lines_count'} = {};
 
 
+$result_sort_strings{'image_text_lines_count'} = {
+  'cp' => [
+    'index entry'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'image_text_lines_count'} = 'This is , produced 
from .
 
diff --git a/tp/t/results/indices/index_entries_locations.pl 
b/tp/t/results/indices/index_entries_locations.pl
index 9c83b3d..20e0f06 100644
--- a/tp/t/results/indices/index_entries_locations.pl
+++ b/tp/t/results/indices/index_entries_locations.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -480,6 +480,16 @@ $result_errors{'index_entries_locations'} = [];
 $result_floats{'index_entries_locations'} = {};
 
 
+$result_sort_strings{'index_entries_locations'} = {
+  'cp' => [
+    'entry at end of paragraph.',
+    'Entry before paragraph',
+    'entry in paragraph',
+    'lone entry'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'index_entries_locations'} = 'This is , produced 
from .
 
diff --git a/tp/t/results/indices/index_entry_before_first_node.pl 
b/tp/t/results/indices/index_entry_before_first_node.pl
index 58c0449..be1ed39 100644
Binary files a/tp/t/results/indices/index_entry_before_first_node.pl and 
b/tp/t/results/indices/index_entry_before_first_node.pl differ
diff --git a/tp/t/results/indices/index_entry_before_node.pl 
b/tp/t/results/indices/index_entry_before_node.pl
index 922fff5..4aba1b8 100644
--- a/tp/t/results/indices/index_entry_before_node.pl
+++ b/tp/t/results/indices/index_entry_before_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -700,6 +700,13 @@ $result_errors{'index_entry_before_node'} = [];
 $result_floats{'index_entry_before_node'} = {};
 
 
+$result_sort_strings{'index_entry_before_node'} = {
+  'cp' => [
+    'lone entry'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'index_entry_before_node'} = 'This is , produced 
from .
 
diff --git a/tp/t/results/indices/index_entry_in_footnote.pl 
b/tp/t/results/indices/index_entry_in_footnote.pl
index 26b586c..eab5938 100644
--- a/tp/t/results/indices/index_entry_in_footnote.pl
+++ b/tp/t/results/indices/index_entry_in_footnote.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -252,6 +252,13 @@ $result_errors{'index_entry_in_footnote'} = [];
 $result_floats{'index_entry_in_footnote'} = {};
 
 
+$result_sort_strings{'index_entry_in_footnote'} = {
+  'cp' => [
+    'index entry in footnote'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'index_entry_in_footnote'} = 'This is , produced 
from .
 
diff --git a/tp/t/results/indices/index_entry_in_footnote_different_node_end.pl 
b/tp/t/results/indices/index_entry_in_footnote_different_node_end.pl
index 27dfc7b..97b3cb8 100644
--- a/tp/t/results/indices/index_entry_in_footnote_different_node_end.pl
+++ b/tp/t/results/indices/index_entry_in_footnote_different_node_end.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -589,6 +589,14 @@ 
$result_errors{'index_entry_in_footnote_different_node_end'} = [];
 $result_floats{'index_entry_in_footnote_different_node_end'} = {};
 
 
+$result_sort_strings{'index_entry_in_footnote_different_node_end'} = {
+  'cp' => [
+    'counting entry',
+    'index entry in footnote'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'index_entry_in_footnote_different_node_end'} = 
'This is , produced from .
 
diff --git a/tp/t/results/indices/index_entry_in_footnote_separate.pl 
b/tp/t/results/indices/index_entry_in_footnote_separate.pl
index 14e5735..e556be1 100644
--- a/tp/t/results/indices/index_entry_in_footnote_separate.pl
+++ b/tp/t/results/indices/index_entry_in_footnote_separate.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -625,6 +625,14 @@ $result_errors{'index_entry_in_footnote_separate'} = [];
 $result_floats{'index_entry_in_footnote_separate'} = {};
 
 
+$result_sort_strings{'index_entry_in_footnote_separate'} = {
+  'cp' => [
+    'counting entry',
+    'index entry in footnote'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'index_entry_in_footnote_separate'} = 'This is , 
produced from .
 
diff --git a/tp/t/results/indices/print_merged_index.pl 
b/tp/t/results/indices/print_merged_index.pl
index 0c52493..9f57d95 100644
--- a/tp/t/results/indices/print_merged_index.pl
+++ b/tp/t/results/indices/print_merged_index.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/indices/printindex_before_document.pl 
b/tp/t/results/indices/printindex_before_document.pl
index dee97cb..d27ef38 100644
--- a/tp/t/results/indices/printindex_before_document.pl
+++ b/tp/t/results/indices/printindex_before_document.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/indices/printindex_index_entry_in_copying.pl 
b/tp/t/results/indices/printindex_index_entry_in_copying.pl
index 0c9d4ec..aa1e08c 100644
--- a/tp/t/results/indices/printindex_index_entry_in_copying.pl
+++ b/tp/t/results/indices/printindex_index_entry_in_copying.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1264,6 +1264,17 @@ $result_errors{'printindex_index_entry_in_copying'} = [];
 $result_floats{'printindex_index_entry_in_copying'} = {};
 
 
+$result_sort_strings{'printindex_index_entry_in_copying'} = {
+  'fn' => [
+    'Copying this document',
+    'ftable item',
+    'fun',
+    'xf',
+    'xftable xitem'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'printindex_index_entry_in_copying'} = 'This is , 
produced from .
 
diff --git 
a/tp/t/results/indices/printindex_index_entry_in_copying_in_footnote.pl 
b/tp/t/results/indices/printindex_index_entry_in_copying_in_footnote.pl
index fe6abb4..b327cce 100644
--- a/tp/t/results/indices/printindex_index_entry_in_copying_in_footnote.pl
+++ b/tp/t/results/indices/printindex_index_entry_in_copying_in_footnote.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -789,6 +789,13 @@ 
$result_errors{'printindex_index_entry_in_copying_in_footnote'} = [];
 $result_floats{'printindex_index_entry_in_copying_in_footnote'} = {};
 
 
+$result_sort_strings{'printindex_index_entry_in_copying_in_footnote'} = {
+  'cp' => [
+    'Copying this document'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'printindex_index_entry_in_copying_in_footnote'} = 
'This is , produced from .
 
diff --git 
a/tp/t/results/indices/printindex_index_entry_in_copying_no_insertcopying.pl 
b/tp/t/results/indices/printindex_index_entry_in_copying_no_insertcopying.pl
index 6470468..b1a84ce 100644
--- a/tp/t/results/indices/printindex_index_entry_in_copying_no_insertcopying.pl
+++ b/tp/t/results/indices/printindex_index_entry_in_copying_no_insertcopying.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1224,6 +1224,17 @@ 
$result_errors{'printindex_index_entry_in_copying_no_insertcopying'} = [];
 $result_floats{'printindex_index_entry_in_copying_no_insertcopying'} = {};
 
 
+$result_sort_strings{'printindex_index_entry_in_copying_no_insertcopying'} = {
+  'fn' => [
+    'Copying this document',
+    'ftable item',
+    'fun',
+    'xf',
+    'xftable xitem'
+  ]
+};
+
+
 
 
$result_converted{'info'}->{'printindex_index_entry_in_copying_no_insertcopying'}
 = 'This is , produced from .
 
diff --git a/tp/t/results/indices/printindex_with_space_before.pl 
b/tp/t/results/indices/printindex_with_space_before.pl
index f2aca3d..16e4f38 100644
Binary files a/tp/t/results/indices/printindex_with_space_before.pl and 
b/tp/t/results/indices/printindex_with_space_before.pl differ
diff --git a/tp/t/results/indices/recursive_synindex.pl 
b/tp/t/results/indices/recursive_synindex.pl
index 9c297bb..b2665f5 100644
--- a/tp/t/results/indices/recursive_synindex.pl
+++ b/tp/t/results/indices/recursive_synindex.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/indices/same_index_entry_merged_indices.pl 
b/tp/t/results/indices/same_index_entry_merged_indices.pl
index 192a369..4b7aa98 100644
--- a/tp/t/results/indices/same_index_entry_merged_indices.pl
+++ b/tp/t/results/indices/same_index_entry_merged_indices.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -687,6 +687,14 @@ $result_indices{'same_index_entry_merged_indices'} = {
 $result_floats{'same_index_entry_merged_indices'} = {};
 
 
+$result_sort_strings{'same_index_entry_merged_indices'} = {
+  'fn' => [
+    'mmm-mode',
+    'mmm-mode'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'same_index_entry_merged_indices'} = 'This is , 
produced from .
 
diff --git a/tp/t/results/indices/seealso_duplicate.pl 
b/tp/t/results/indices/seealso_duplicate.pl
index af0afa9..8cba2ff 100644
--- a/tp/t/results/indices/seealso_duplicate.pl
+++ b/tp/t/results/indices/seealso_duplicate.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -410,6 +410,14 @@ $result_errors{'seealso_duplicate'} = [];
 $result_floats{'seealso_duplicate'} = {};
 
 
+$result_sort_strings{'seealso_duplicate'} = {
+  'cp' => [
+    'awk',
+    'awk'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'seealso_duplicate'} = 'This is , produced from .
 
diff --git a/tp/t/results/indices/seeentry.pl b/tp/t/results/indices/seeentry.pl
index 45f9cec..7c2ca00 100644
--- a/tp/t/results/indices/seeentry.pl
+++ b/tp/t/results/indices/seeentry.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -743,6 +743,12 @@ $result_errors{'seeentry'} = [];
 $result_floats{'seeentry'} = {};
 
 
+$result_sort_strings{'seeentry'} = {
+  'cp' => [],
+  'fn' => []
+};
+
+
 
 $result_converted{'docbook'}->{'seeentry'} = '
 <chapter label="" id="Top">
diff --git a/tp/t/results/indices/subentries.pl 
b/tp/t/results/indices/subentries.pl
index 6356967..9072a27 100644
--- a/tp/t/results/indices/subentries.pl
+++ b/tp/t/results/indices/subentries.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1222,6 +1222,22 @@ $result_errors{'subentries'} = [
 $result_floats{'subentries'} = {};
 
 
+$result_sort_strings{'subentries'} = {
+  'cp' => [
+    'a--a',
+    'b--b',
+    'd--dd',
+    'g--gg'
+  ],
+  'fn' => [
+    'f---aa',
+    'f---bb',
+    'f---ddd',
+    'f---ggg'
+  ]
+};
+
+
 
 $result_converted{'docbook'}->{'subentries'} = '
 <chapter label="" id="Top">
diff --git a/tp/t/results/indices/subentry_and_sortas.pl 
b/tp/t/results/indices/subentry_and_sortas.pl
index 57189b6..22a363c 100644
--- a/tp/t/results/indices/subentry_and_sortas.pl
+++ b/tp/t/results/indices/subentry_and_sortas.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -715,6 +715,16 @@ $result_errors{'subentry_and_sortas'} = [];
 $result_floats{'subentry_and_sortas'} = {};
 
 
+$result_sort_strings{'subentry_and_sortas'} = {
+  'cp' => [
+    'A---S'
+  ],
+  'fn' => [
+    'X---S'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'subentry_and_sortas'} = '1 Index
 *******
diff --git a/tp/t/results/indices/syncode_index_print_both.pl 
b/tp/t/results/indices/syncode_index_print_both.pl
index 91bb2e8..9ddb28e 100644
--- a/tp/t/results/indices/syncode_index_print_both.pl
+++ b/tp/t/results/indices/syncode_index_print_both.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -700,6 +700,14 @@ $result_indices{'syncode_index_print_both'} = {
 $result_floats{'syncode_index_print_both'} = {};
 
 
+$result_sort_strings{'syncode_index_print_both'} = {
+  'cp' => [
+    'c--oncept',
+    'f---un'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'syncode_index_print_both'} = 'This is 
syncode_index_print_both.info, produced from .
 
diff --git a/tp/t/results/indices/syncodeindex_to_plain.pl 
b/tp/t/results/indices/syncodeindex_to_plain.pl
index e24b874..8afeb01 100644
--- a/tp/t/results/indices/syncodeindex_to_plain.pl
+++ b/tp/t/results/indices/syncodeindex_to_plain.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -461,6 +461,17 @@ $result_indices{'syncodeindex_to_plain'} = {
 $result_floats{'syncodeindex_to_plain'} = {};
 
 
+$result_sort_strings{'syncodeindex_to_plain'} = {
+  'cp' => [
+    '--k1',
+    '-c'
+  ],
+  'vr' => [
+    '--v'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'syncodeindex_to_plain'} = 'This is , produced 
from .
 
diff --git a/tp/t/results/indices/transparent_sort_chars.pl 
b/tp/t/results/indices/transparent_sort_chars.pl
index 6b45b8b..169e2c0 100644
--- a/tp/t/results/indices/transparent_sort_chars.pl
+++ b/tp/t/results/indices/transparent_sort_chars.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -433,6 +433,15 @@ $result_errors{'transparent_sort_chars'} = [];
 $result_floats{'transparent_sort_chars'} = {};
 
 
+$result_sort_strings{'transparent_sort_chars'} = {
+  'cp' => [
+    'Semantic markup',
+    'Source file format',
+    'version, for installinfo'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'transparent_sort_chars'} = 'This is , produced 
from .
 
diff --git a/tp/t/results/indices/unknown_index_entry.pl 
b/tp/t/results/indices/unknown_index_entry.pl
index d70a5fa..38f14b2 100644
--- a/tp/t/results/indices/unknown_index_entry.pl
+++ b/tp/t/results/indices/unknown_index_entry.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/indices/unknown_printindex.pl 
b/tp/t/results/indices/unknown_printindex.pl
index b9b7672..adc0cac 100644
--- a/tp/t/results/indices/unknown_printindex.pl
+++ b/tp/t/results/indices/unknown_printindex.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/indices/unknown_synindex.pl 
b/tp/t/results/indices/unknown_synindex.pl
index def9e56..89e9293 100644
--- a/tp/t/results/indices/unknown_synindex.pl
+++ b/tp/t/results/indices/unknown_synindex.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/indices/unknown_then_known_index_entry.pl 
b/tp/t/results/indices/unknown_then_known_index_entry.pl
index cf449c1..18d398e 100644
--- a/tp/t/results/indices/unknown_then_known_index_entry.pl
+++ b/tp/t/results/indices/unknown_then_known_index_entry.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -192,4 +192,11 @@ $result_indices{'unknown_then_known_index_entry'} = {
 $result_floats{'unknown_then_known_index_entry'} = {};
 
 
+$result_sort_strings{'unknown_then_known_index_entry'} = {
+  'some' => [
+    'someindex entry.'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/indices/w_lines_count.pl 
b/tp/t/results/indices/w_lines_count.pl
index bc61aa2..fb3b634 100644
--- a/tp/t/results/indices/w_lines_count.pl
+++ b/tp/t/results/indices/w_lines_count.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -396,6 +396,13 @@ $result_errors{'w_lines_count'} = [];
 $result_floats{'w_lines_count'} = {};
 
 
+$result_sort_strings{'w_lines_count'} = {
+  'fn' => [
+    'compilation-next-error'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'w_lines_count'} = 'This is , produced from .
 
diff --git a/tp/t/results/indices/wrong_synindex.pl 
b/tp/t/results/indices/wrong_synindex.pl
index 30ad59d..edfdb53 100644
--- a/tp/t/results/indices/wrong_synindex.pl
+++ b/tp/t/results/indices/wrong_synindex.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/anchor_and_spaces.pl 
b/tp/t/results/info_tests/anchor_and_spaces.pl
index b1195af..ae44b4f 100644
--- a/tp/t/results/info_tests/anchor_and_spaces.pl
+++ b/tp/t/results/info_tests/anchor_and_spaces.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/anchor_in_command.pl 
b/tp/t/results/info_tests/anchor_in_command.pl
index 25c2722..0dacc7e 100644
--- a/tp/t/results/info_tests/anchor_in_command.pl
+++ b/tp/t/results/info_tests/anchor_in_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/before_node_and_section.pl 
b/tp/t/results/info_tests/before_node_and_section.pl
index 141d035..ca4fdba 100644
--- a/tp/t/results/info_tests/before_node_and_section.pl
+++ b/tp/t/results/info_tests/before_node_and_section.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1007,6 +1007,13 @@ $result_errors{'before_node_and_section'} = [
 $result_floats{'before_node_and_section'} = {};
 
 
+$result_sort_strings{'before_node_and_section'} = {
+  'cp' => [
+    'index entry before anything'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'before_node_and_section'} = 'This is , produced 
from .
 
diff --git a/tp/t/results/info_tests/center_flush.pl 
b/tp/t/results/info_tests/center_flush.pl
index 85b0126..ed5c5d5 100644
--- a/tp/t/results/info_tests/center_flush.pl
+++ b/tp/t/results/info_tests/center_flush.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/colon_in_index_entry.pl 
b/tp/t/results/info_tests/colon_in_index_entry.pl
index 74a9b4d..efc54d1 100644
--- a/tp/t/results/info_tests/colon_in_index_entry.pl
+++ b/tp/t/results/info_tests/colon_in_index_entry.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -805,6 +805,16 @@ $result_indices{'colon_in_index_entry'} = {
 $result_floats{'colon_in_index_entry'} = {};
 
 
+$result_sort_strings{'colon_in_index_entry'} = {
+  'cp' => [
+    '%main::value',
+    'a:b',
+    'c:d',
+    'z:t'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'colon_in_index_entry'} = 'This is , produced from 
.
 
diff --git a/tp/t/results/info_tests/def_in_copying.pl 
b/tp/t/results/info_tests/def_in_copying.pl
index 9fd85b5..940343a 100644
--- a/tp/t/results/info_tests/def_in_copying.pl
+++ b/tp/t/results/info_tests/def_in_copying.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -950,6 +950,16 @@ $result_errors{'def_in_copying'} = [];
 $result_floats{'def_in_copying'} = {};
 
 
+$result_sort_strings{'def_in_copying'} = {
+  'fn' => [
+    'bb',
+    'bb',
+    'bbx',
+    'bbx'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'def_in_copying'} = 'This is , produced from .
 
diff --git a/tp/t/results/info_tests/direntry_dircategory_and_commands.pl 
b/tp/t/results/info_tests/direntry_dircategory_and_commands.pl
index 85ee2d6..ee10690 100644
--- a/tp/t/results/info_tests/direntry_dircategory_and_commands.pl
+++ b/tp/t/results/info_tests/direntry_dircategory_and_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/encoding_us_ascii.pl 
b/tp/t/results/info_tests/encoding_us_ascii.pl
index c0e22d1..1762266 100644
--- a/tp/t/results/info_tests/encoding_us_ascii.pl
+++ b/tp/t/results/info_tests/encoding_us_ascii.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/error_in_footnote.pl 
b/tp/t/results/info_tests/error_in_footnote.pl
index 2a3ecee..9c89e63 100644
--- a/tp/t/results/info_tests/error_in_footnote.pl
+++ b/tp/t/results/info_tests/error_in_footnote.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/file_only_png.pl 
b/tp/t/results/info_tests/file_only_png.pl
index 5f57594..6e76e8a 100644
Binary files a/tp/t/results/info_tests/file_only_png.pl and 
b/tp/t/results/info_tests/file_only_png.pl differ
diff --git a/tp/t/results/info_tests/float_long_captions.pl 
b/tp/t/results/info_tests/float_long_captions.pl
index d0e20e2..fe6b2fd 100644
--- a/tp/t/results/info_tests/float_long_captions.pl
+++ b/tp/t/results/info_tests/float_long_captions.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/image_and_punctuation.pl 
b/tp/t/results/info_tests/image_and_punctuation.pl
index 8e6db0f..9235e63 100644
--- a/tp/t/results/info_tests/image_and_punctuation.pl
+++ b/tp/t/results/info_tests/image_and_punctuation.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/image_and_spaces_formatting.pl 
b/tp/t/results/info_tests/image_and_spaces_formatting.pl
index 5306df1..2ad5cb9 100644
--- a/tp/t/results/info_tests/image_and_spaces_formatting.pl
+++ b/tp/t/results/info_tests/image_and_spaces_formatting.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/image_extension.pl 
b/tp/t/results/info_tests/image_extension.pl
index 2690b29..8c88321 100644
--- a/tp/t/results/info_tests/image_extension.pl
+++ b/tp/t/results/info_tests/image_extension.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/image_in_paragraph.pl 
b/tp/t/results/info_tests/image_in_paragraph.pl
index 8a15c9f..0d8b389 100644
Binary files a/tp/t/results/info_tests/image_in_paragraph.pl and 
b/tp/t/results/info_tests/image_in_paragraph.pl differ
diff --git a/tp/t/results/info_tests/image_not_found.pl 
b/tp/t/results/info_tests/image_not_found.pl
index a36814d..0c7ff5e 100644
--- a/tp/t/results/info_tests/image_not_found.pl
+++ b/tp/t/results/info_tests/image_not_found.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/image_quotes.pl 
b/tp/t/results/info_tests/image_quotes.pl
index ccda106..e593c5d 100644
Binary files a/tp/t/results/info_tests/image_quotes.pl and 
b/tp/t/results/info_tests/image_quotes.pl differ
diff --git a/tp/t/results/info_tests/image_text_encoded.pl 
b/tp/t/results/info_tests/image_text_encoded.pl
index f6da6a6..00a32b3 100644
--- a/tp/t/results/info_tests/image_text_encoded.pl
+++ b/tp/t/results/info_tests/image_text_encoded.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/index_entry_at_end_node.pl 
b/tp/t/results/info_tests/index_entry_at_end_node.pl
index 3047af9..26eb971 100644
--- a/tp/t/results/info_tests/index_entry_at_end_node.pl
+++ b/tp/t/results/info_tests/index_entry_at_end_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -813,6 +813,13 @@ $result_errors{'index_entry_at_end_node'} = [];
 $result_floats{'index_entry_at_end_node'} = {};
 
 
+$result_sort_strings{'index_entry_at_end_node'} = {
+  'cp' => [
+    'index entry'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'index_entry_at_end_node'} = 'This is , produced 
from .
 
diff --git a/tp/t/results/info_tests/invalid_node_name_no_warning.pl 
b/tp/t/results/info_tests/invalid_node_name_no_warning.pl
index 972850f..3bdf9d5 100644
--- a/tp/t/results/info_tests/invalid_node_name_no_warning.pl
+++ b/tp/t/results/info_tests/invalid_node_name_no_warning.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/invalid_node_name_warning.pl 
b/tp/t/results/info_tests/invalid_node_name_warning.pl
index 37a4533..5180269 100644
--- a/tp/t/results/info_tests/invalid_node_name_warning.pl
+++ b/tp/t/results/info_tests/invalid_node_name_warning.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/known_encoding.pl 
b/tp/t/results/info_tests/known_encoding.pl
index 52a52e3..38492f6 100644
--- a/tp/t/results/info_tests/known_encoding.pl
+++ b/tp/t/results/info_tests/known_encoding.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/multiline_image_and_align.pl 
b/tp/t/results/info_tests/multiline_image_and_align.pl
index 9d106ad..904d662 100644
--- a/tp/t/results/info_tests/multiline_image_and_align.pl
+++ b/tp/t/results/info_tests/multiline_image_and_align.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/multitable_anchor_and_index_entry.pl 
b/tp/t/results/info_tests/multitable_anchor_and_index_entry.pl
index d676d2f..ac87feb 100644
--- a/tp/t/results/info_tests/multitable_anchor_and_index_entry.pl
+++ b/tp/t/results/info_tests/multitable_anchor_and_index_entry.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1201,6 +1201,14 @@ $result_errors{'multitable_anchor_and_index_entry'} = [];
 $result_floats{'multitable_anchor_and_index_entry'} = {};
 
 
+$result_sort_strings{'multitable_anchor_and_index_entry'} = {
+  'cp' => [
+    'index entry',
+    'index entry within multitable'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'multitable_anchor_and_index_entry'} = 'This is , 
produced from .
 
diff --git a/tp/t/results/info_tests/nested_footnotes_separate.pl 
b/tp/t/results/info_tests/nested_footnotes_separate.pl
index a54c429..a3c8e8f 100644
--- a/tp/t/results/info_tests/nested_footnotes_separate.pl
+++ b/tp/t/results/info_tests/nested_footnotes_separate.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/nested_multitable_anchor_index.pl 
b/tp/t/results/info_tests/nested_multitable_anchor_index.pl
index 1e0f969..9b6c833 100644
--- a/tp/t/results/info_tests/nested_multitable_anchor_index.pl
+++ b/tp/t/results/info_tests/nested_multitable_anchor_index.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -872,6 +872,14 @@ $result_errors{'nested_multitable_anchor_index'} = [];
 $result_floats{'nested_multitable_anchor_index'} = {};
 
 
+$result_sort_strings{'nested_multitable_anchor_index'} = {
+  'cp' => [
+    'index entry',
+    'index entry inside'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'nested_multitable_anchor_index'} = 'This is , 
produced from .
 
diff --git a/tp/t/results/info_tests/no_node_but_top.pl 
b/tp/t/results/info_tests/no_node_but_top.pl
index b6bd0de..48634ad 100644
--- a/tp/t/results/info_tests/no_node_but_top.pl
+++ b/tp/t/results/info_tests/no_node_but_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/no_nodes.pl 
b/tp/t/results/info_tests/no_nodes.pl
index 8657d0c..fed6d68 100644
--- a/tp/t/results/info_tests/no_nodes.pl
+++ b/tp/t/results/info_tests/no_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/no_top_node.pl 
b/tp/t/results/info_tests/no_top_node.pl
index 8b6ff3d..33c6ed3 100644
--- a/tp/t/results/info_tests/no_top_node.pl
+++ b/tp/t/results/info_tests/no_top_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/note_in_strong.pl 
b/tp/t/results/info_tests/note_in_strong.pl
index e8681f3..6ac2996 100644
--- a/tp/t/results/info_tests/note_in_strong.pl
+++ b/tp/t/results/info_tests/note_in_strong.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/note_in_strong_end_of_line.pl 
b/tp/t/results/info_tests/note_in_strong_end_of_line.pl
index 70a2cdb..15190da 100644
--- a/tp/t/results/info_tests/note_in_strong_end_of_line.pl
+++ b/tp/t/results/info_tests/note_in_strong_end_of_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/novalidate_empty_refs.pl 
b/tp/t/results/info_tests/novalidate_empty_refs.pl
index 39e2f2e..888de77 100644
--- a/tp/t/results/info_tests/novalidate_empty_refs.pl
+++ b/tp/t/results/info_tests/novalidate_empty_refs.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/only_documentencoding.pl 
b/tp/t/results/info_tests/only_documentencoding.pl
index b67e532..4f534af 100644
--- a/tp/t/results/info_tests/only_documentencoding.pl
+++ b/tp/t/results/info_tests/only_documentencoding.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/paragraphindent_and_preamble.pl 
b/tp/t/results/info_tests/paragraphindent_and_preamble.pl
index c66affb..6424ebc 100644
--- a/tp/t/results/info_tests/paragraphindent_and_preamble.pl
+++ b/tp/t/results/info_tests/paragraphindent_and_preamble.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/paragraphindent_asis_first.pl 
b/tp/t/results/info_tests/paragraphindent_asis_first.pl
index 34e0a98..0fb668c 100644
--- a/tp/t/results/info_tests/paragraphindent_asis_first.pl
+++ b/tp/t/results/info_tests/paragraphindent_asis_first.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/paragraphindent_none_first.pl 
b/tp/t/results/info_tests/paragraphindent_none_first.pl
index d80623e..6a36058 100644
--- a/tp/t/results/info_tests/paragraphindent_none_first.pl
+++ b/tp/t/results/info_tests/paragraphindent_none_first.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/pxref_test.pl 
b/tp/t/results/info_tests/pxref_test.pl
index 3d698a1..91974c1 100644
--- a/tp/t/results/info_tests/pxref_test.pl
+++ b/tp/t/results/info_tests/pxref_test.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/ref_tests.pl 
b/tp/t/results/info_tests/ref_tests.pl
index c0c2cad..e4dcb32 100644
--- a/tp/t/results/info_tests/ref_tests.pl
+++ b/tp/t/results/info_tests/ref_tests.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/space_at_menu_end.pl 
b/tp/t/results/info_tests/space_at_menu_end.pl
index 484cf88..2074657 100644
--- a/tp/t/results/info_tests/space_at_menu_end.pl
+++ b/tp/t/results/info_tests/space_at_menu_end.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/space_in_menu.pl 
b/tp/t/results/info_tests/space_in_menu.pl
index 43b88c5..4cfad41 100644
--- a/tp/t/results/info_tests/space_in_menu.pl
+++ b/tp/t/results/info_tests/space_in_menu.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/space_in_setfilename.pl 
b/tp/t/results/info_tests/space_in_setfilename.pl
index 748666e..490567c 100644
--- a/tp/t/results/info_tests/space_in_setfilename.pl
+++ b/tp/t/results/info_tests/space_in_setfilename.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/split_no_copying.pl 
b/tp/t/results/info_tests/split_no_copying.pl
index 0161071..94d0c03 100644
--- a/tp/t/results/info_tests/split_no_copying.pl
+++ b/tp/t/results/info_tests/split_no_copying.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/split_test_before_first_node.pl 
b/tp/t/results/info_tests/split_test_before_first_node.pl
index 7855f00..4ab9d2a 100644
--- a/tp/t/results/info_tests/split_test_before_first_node.pl
+++ b/tp/t/results/info_tests/split_test_before_first_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/info_tests/split_test_before_first_node_no_empty_line.pl 
b/tp/t/results/info_tests/split_test_before_first_node_no_empty_line.pl
index c66ef70..bfd0885 100644
--- a/tp/t/results/info_tests/split_test_before_first_node_no_empty_line.pl
+++ b/tp/t/results/info_tests/split_test_before_first_node_no_empty_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/test_index.pl 
b/tp/t/results/info_tests/test_index.pl
index 966be95..afb9e03 100644
--- a/tp/t/results/info_tests/test_index.pl
+++ b/tp/t/results/info_tests/test_index.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -4569,6 +4569,31 @@ $result_errors{'test_index'} = [
 $result_floats{'test_index'} = {};
 
 
+$result_sort_strings{'test_index'} = {
+  'cp' => [
+    '!',
+    '"',
+    '@',
+    'in Top',
+    'index entry in appendix before para',
+    'index entry looooooooooooooooooooooooooooooooooooooooooooooooooooooooong',
+    'index in chapter end'
+  ],
+  'fn' => [
+    'a fun',
+    'after lines.',
+    'after more than 100 lines',
+    'function index entry',
+    'i',
+    'index entry between indices',
+    'itemx fun',
+    'machin',
+    'other function',
+    'second fun'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'test_index'} = 'This is , produced from .
 
diff --git a/tp/t/results/info_tests/text_before_node.pl 
b/tp/t/results/info_tests/text_before_node.pl
index 1e2cef8..68ed2ca 100644
--- a/tp/t/results/info_tests/text_before_node.pl
+++ b/tp/t/results/info_tests/text_before_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/top_node_normalization.pl 
b/tp/t/results/info_tests/top_node_normalization.pl
index dbb0f05..4527514 100644
--- a/tp/t/results/info_tests/top_node_normalization.pl
+++ b/tp/t/results/info_tests/top_node_normalization.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/unknown_encoding.pl 
b/tp/t/results/info_tests/unknown_encoding.pl
index 8505823..233fec5 100644
--- a/tp/t/results/info_tests/unknown_encoding.pl
+++ b/tp/t/results/info_tests/unknown_encoding.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/info_tests/xref_test.pl 
b/tp/t/results/info_tests/xref_test.pl
index d52cc56..12a5216 100644
--- a/tp/t/results/info_tests/xref_test.pl
+++ b/tp/t/results/info_tests/xref_test.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/init_files_tests/macro_defined_txiinternalvalue_in_translation.pl
 
b/tp/t/results/init_files_tests/macro_defined_txiinternalvalue_in_translation.pl
index 59702a2..6a11954 100644
--- 
a/tp/t/results/init_files_tests/macro_defined_txiinternalvalue_in_translation.pl
+++ 
b/tp/t/results/init_files_tests/macro_defined_txiinternalvalue_in_translation.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/init_files_tests/modified_translation.pl 
b/tp/t/results/init_files_tests/modified_translation.pl
index 9fd9145..62b23e6 100644
--- a/tp/t/results/init_files_tests/modified_translation.pl
+++ b/tp/t/results/init_files_tests/modified_translation.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/init_files_tests/redefined_need.pl 
b/tp/t/results/init_files_tests/redefined_need.pl
index 5ff192b..b499ef6 100644
--- a/tp/t/results/init_files_tests/redefined_need.pl
+++ b/tp/t/results/init_files_tests/redefined_need.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/accents.pl 
b/tp/t/results/invalid_nestings/accents.pl
index 458dda4..51f7678 100644
--- a/tp/t/results/invalid_nestings/accents.pl
+++ b/tp/t/results/invalid_nestings/accents.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/bad_style_nesting.pl 
b/tp/t/results/invalid_nestings/bad_style_nesting.pl
index 311628e..4803689 100644
--- a/tp/t/results/invalid_nestings/bad_style_nesting.pl
+++ b/tp/t/results/invalid_nestings/bad_style_nesting.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/bad_tab_nesting.pl 
b/tp/t/results/invalid_nestings/bad_tab_nesting.pl
index 44e91e7..baf7ed6 100644
--- a/tp/t/results/invalid_nestings/bad_tab_nesting.pl
+++ b/tp/t/results/invalid_nestings/bad_tab_nesting.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/block_not_matching.pl 
b/tp/t/results/invalid_nestings/block_not_matching.pl
index c053189..d7bd16e 100644
--- a/tp/t/results/invalid_nestings/block_not_matching.pl
+++ b/tp/t/results/invalid_nestings/block_not_matching.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -849,4 +849,11 @@ $result_errors{'block_not_matching'} = [
 $result_floats{'block_not_matching'} = {};
 
 
+$result_sort_strings{'block_not_matching'} = {
+  'fn' => [
+    'print_navigation'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/invalid_nestings/cartouche_in_style_command.pl 
b/tp/t/results/invalid_nestings/cartouche_in_style_command.pl
index 827c209..e87af5e 100644
--- a/tp/t/results/invalid_nestings/cartouche_in_style_command.pl
+++ b/tp/t/results/invalid_nestings/cartouche_in_style_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/center.pl 
b/tp/t/results/invalid_nestings/center.pl
index 7f57386..2b7301d 100644
--- a/tp/t/results/invalid_nestings/center.pl
+++ b/tp/t/results/invalid_nestings/center.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -2081,4 +2081,11 @@ $result_errors{'center'} = [
 $result_floats{'center'} = {};
 
 
+$result_sort_strings{'center'} = {
+  'cp' => [
+    'cindex'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/invalid_nestings/def_in_style_command.pl 
b/tp/t/results/invalid_nestings/def_in_style_command.pl
index 4434939..0e5c8e7 100644
--- a/tp/t/results/invalid_nestings/def_in_style_command.pl
+++ b/tp/t/results/invalid_nestings/def_in_style_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -274,4 +274,11 @@ $result_errors{'def_in_style_command'} = [
 $result_floats{'def_in_style_command'} = {};
 
 
+$result_sort_strings{'def_in_style_command'} = {
+  'fn' => [
+    'name'
+  ]
+};
+
+
 1;
diff --git 
a/tp/t/results/invalid_nestings/def_not_closed_in_menu_description.pl 
b/tp/t/results/invalid_nestings/def_not_closed_in_menu_description.pl
index 4c8563a..b130c5a 100644
--- a/tp/t/results/invalid_nestings/def_not_closed_in_menu_description.pl
+++ b/tp/t/results/invalid_nestings/def_not_closed_in_menu_description.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -333,4 +333,11 @@ $result_errors{'def_not_closed_in_menu_description'} = [
 $result_floats{'def_not_closed_in_menu_description'} = {};
 
 
+$result_sort_strings{'def_not_closed_in_menu_description'} = {
+  'fn' => [
+    'truc'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/invalid_nestings/enumerate_in_style_command.pl 
b/tp/t/results/invalid_nestings/enumerate_in_style_command.pl
index a081a7e..c001cc0 100644
--- a/tp/t/results/invalid_nestings/enumerate_in_style_command.pl
+++ b/tp/t/results/invalid_nestings/enumerate_in_style_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/example_in_style_command.pl 
b/tp/t/results/invalid_nestings/example_in_style_command.pl
index f5eaad8..ed49b28 100644
--- a/tp/t/results/invalid_nestings/example_in_style_command.pl
+++ b/tp/t/results/invalid_nestings/example_in_style_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/float_in_style_command.pl 
b/tp/t/results/invalid_nestings/float_in_style_command.pl
index 667d528..60e95ab 100644
--- a/tp/t/results/invalid_nestings/float_in_style_command.pl
+++ b/tp/t/results/invalid_nestings/float_in_style_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/flushright_in_style_command.pl 
b/tp/t/results/invalid_nestings/flushright_in_style_command.pl
index b3a9904..5409ca5 100644
--- a/tp/t/results/invalid_nestings/flushright_in_style_command.pl
+++ b/tp/t/results/invalid_nestings/flushright_in_style_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/footnote_in_ref.pl 
b/tp/t/results/invalid_nestings/footnote_in_ref.pl
index 1937630..b496a1e 100644
--- a/tp/t/results/invalid_nestings/footnote_in_ref.pl
+++ b/tp/t/results/invalid_nestings/footnote_in_ref.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/formats_not_closed_in_example.pl 
b/tp/t/results/invalid_nestings/formats_not_closed_in_example.pl
index 17f2d07..fe0dfb3 100644
--- a/tp/t/results/invalid_nestings/formats_not_closed_in_example.pl
+++ b/tp/t/results/invalid_nestings/formats_not_closed_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/ignore_in_xref.pl 
b/tp/t/results/invalid_nestings/ignore_in_xref.pl
index c368c3f..af7f931 100644
--- a/tp/t/results/invalid_nestings/ignore_in_xref.pl
+++ b/tp/t/results/invalid_nestings/ignore_in_xref.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/ignored_text.pl 
b/tp/t/results/invalid_nestings/ignored_text.pl
index c10c6af..4f988c9 100644
--- a/tp/t/results/invalid_nestings/ignored_text.pl
+++ b/tp/t/results/invalid_nestings/ignored_text.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/in_errormsg.pl 
b/tp/t/results/invalid_nestings/in_errormsg.pl
index 24e339b..3f7bb58 100644
--- a/tp/t/results/invalid_nestings/in_errormsg.pl
+++ b/tp/t/results/invalid_nestings/in_errormsg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/in_table.pl 
b/tp/t/results/invalid_nestings/in_table.pl
index 6c7fc14..66f956e 100644
--- a/tp/t/results/invalid_nestings/in_table.pl
+++ b/tp/t/results/invalid_nestings/in_table.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1386,4 +1386,14 @@ $result_errors{'in_table'} = [
 $result_floats{'in_table'} = {};
 
 
+$result_sort_strings{'in_table'} = {
+  'cp' => [
+    '2 index',
+    'index',
+    'index'
+  ],
+  'vr' => []
+};
+
+
 1;
diff --git a/tp/t/results/invalid_nestings/item_in_ref.pl 
b/tp/t/results/invalid_nestings/item_in_ref.pl
index a12d815..35a014f 100644
--- a/tp/t/results/invalid_nestings/item_in_ref.pl
+++ b/tp/t/results/invalid_nestings/item_in_ref.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/item_tab_outside_of_table_lists.pl 
b/tp/t/results/invalid_nestings/item_tab_outside_of_table_lists.pl
index 02ded2a..d9292e1 100644
--- a/tp/t/results/invalid_nestings/item_tab_outside_of_table_lists.pl
+++ b/tp/t/results/invalid_nestings/item_tab_outside_of_table_lists.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/invalid_nestings/itemx_in_itemize_enumerate_in_table.pl 
b/tp/t/results/invalid_nestings/itemx_in_itemize_enumerate_in_table.pl
index 72b74f4..6600d63 100644
--- a/tp/t/results/invalid_nestings/itemx_in_itemize_enumerate_in_table.pl
+++ b/tp/t/results/invalid_nestings/itemx_in_itemize_enumerate_in_table.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/menu_in_style_command.pl 
b/tp/t/results/invalid_nestings/menu_in_style_command.pl
index bd6fd28..62acc02 100644
--- a/tp/t/results/invalid_nestings/menu_in_style_command.pl
+++ b/tp/t/results/invalid_nestings/menu_in_style_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/multitable_in_style_command.pl 
b/tp/t/results/invalid_nestings/multitable_in_style_command.pl
index 569304d..bf74f94 100644
--- a/tp/t/results/invalid_nestings/multitable_in_style_command.pl
+++ b/tp/t/results/invalid_nestings/multitable_in_style_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/multitable_item_in_index.pl 
b/tp/t/results/invalid_nestings/multitable_item_in_index.pl
index 3a792f1..2ec21f5 100644
--- a/tp/t/results/invalid_nestings/multitable_item_in_index.pl
+++ b/tp/t/results/invalid_nestings/multitable_item_in_index.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -229,4 +229,11 @@ $result_errors{'multitable_item_in_index'} = [
 $result_floats{'multitable_item_in_index'} = {};
 
 
+$result_sort_strings{'multitable_item_in_index'} = {
+  'vr' => [
+    'on item line'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/invalid_nestings/node_in_copying.pl 
b/tp/t/results/invalid_nestings/node_in_copying.pl
index 7e69d8a..f46df5c 100644
--- a/tp/t/results/invalid_nestings/node_in_copying.pl
+++ b/tp/t/results/invalid_nestings/node_in_copying.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/node_in_copying_not_closed.pl 
b/tp/t/results/invalid_nestings/node_in_copying_not_closed.pl
index 447b54c..b5f69a3 100644
--- a/tp/t/results/invalid_nestings/node_in_copying_not_closed.pl
+++ b/tp/t/results/invalid_nestings/node_in_copying_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/node_on_index_entry_line.pl 
b/tp/t/results/invalid_nestings/node_on_index_entry_line.pl
index 41cba0a..d85495c 100644
--- a/tp/t/results/invalid_nestings/node_on_index_entry_line.pl
+++ b/tp/t/results/invalid_nestings/node_on_index_entry_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/on_block_command_line.pl 
b/tp/t/results/invalid_nestings/on_block_command_line.pl
index 10dcef9..8796da9 100644
--- a/tp/t/results/invalid_nestings/on_block_command_line.pl
+++ b/tp/t/results/invalid_nestings/on_block_command_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/on_def_line.pl 
b/tp/t/results/invalid_nestings/on_def_line.pl
index b7dd11e..9144c87 100644
--- a/tp/t/results/invalid_nestings/on_def_line.pl
+++ b/tp/t/results/invalid_nestings/on_def_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -620,4 +620,12 @@ $result_errors{'on_def_line'} = [
 $result_floats{'on_def_line'} = {};
 
 
+$result_sort_strings{'on_def_line'} = {
+  'fn' => [
+    'in titlefont',
+    'in titlefontx'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/invalid_nestings/on_index_entry_line.pl 
b/tp/t/results/invalid_nestings/on_index_entry_line.pl
index 0d679b8..a8f195c 100644
--- a/tp/t/results/invalid_nestings/on_index_entry_line.pl
+++ b/tp/t/results/invalid_nestings/on_index_entry_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -273,4 +273,12 @@ $result_errors{'on_index_entry_line'} = [
 $result_floats{'on_index_entry_line'} = {};
 
 
+$result_sort_strings{'on_index_entry_line'} = {
+  'cp' => [
+    'in titlefont  exdent
+'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/invalid_nestings/on_itemize_line.pl 
b/tp/t/results/invalid_nestings/on_itemize_line.pl
index 7f0c0d7..a2e8748 100644
--- a/tp/t/results/invalid_nestings/on_itemize_line.pl
+++ b/tp/t/results/invalid_nestings/on_itemize_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/on_node_line.pl 
b/tp/t/results/invalid_nestings/on_node_line.pl
index 67063fd..7b80136 100644
--- a/tp/t/results/invalid_nestings/on_node_line.pl
+++ b/tp/t/results/invalid_nestings/on_node_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/on_section_line.pl 
b/tp/t/results/invalid_nestings/on_section_line.pl
index 7a39661..c3dcf68 100644
--- a/tp/t/results/invalid_nestings/on_section_line.pl
+++ b/tp/t/results/invalid_nestings/on_section_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/on_subheading_line.pl 
b/tp/t/results/invalid_nestings/on_subheading_line.pl
index e268d13..438b306 100644
--- a/tp/t/results/invalid_nestings/on_subheading_line.pl
+++ b/tp/t/results/invalid_nestings/on_subheading_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/quotation_in_ref.pl 
b/tp/t/results/invalid_nestings/quotation_in_ref.pl
index fb2da39..6744ef7 100644
--- a/tp/t/results/invalid_nestings/quotation_in_ref.pl
+++ b/tp/t/results/invalid_nestings/quotation_in_ref.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/quotation_in_style_command.pl 
b/tp/t/results/invalid_nestings/quotation_in_style_command.pl
index 22a3764..7f8767e 100644
--- a/tp/t/results/invalid_nestings/quotation_in_style_command.pl
+++ b/tp/t/results/invalid_nestings/quotation_in_style_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/raw_block_on_line.pl 
b/tp/t/results/invalid_nestings/raw_block_on_line.pl
index fcfcec6..211cec1 100644
--- a/tp/t/results/invalid_nestings/raw_block_on_line.pl
+++ b/tp/t/results/invalid_nestings/raw_block_on_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/recursive_copying.pl 
b/tp/t/results/invalid_nestings/recursive_copying.pl
index 66ae45c..e6d5b6c 100644
--- a/tp/t/results/invalid_nestings/recursive_copying.pl
+++ b/tp/t/results/invalid_nestings/recursive_copying.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/ref_in_anchor.pl 
b/tp/t/results/invalid_nestings/ref_in_anchor.pl
index d298121..8df67db 100644
--- a/tp/t/results/invalid_nestings/ref_in_anchor.pl
+++ b/tp/t/results/invalid_nestings/ref_in_anchor.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/ref_in_ref.pl 
b/tp/t/results/invalid_nestings/ref_in_ref.pl
index bcc6464..2e7bcef 100644
--- a/tp/t/results/invalid_nestings/ref_in_ref.pl
+++ b/tp/t/results/invalid_nestings/ref_in_ref.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/section_in_copying.pl 
b/tp/t/results/invalid_nestings/section_in_copying.pl
index facd6a4..20ad288 100644
--- a/tp/t/results/invalid_nestings/section_in_copying.pl
+++ b/tp/t/results/invalid_nestings/section_in_copying.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/section_in_flushright.pl 
b/tp/t/results/invalid_nestings/section_in_flushright.pl
index 5fc2754..6a6c5de 100644
--- a/tp/t/results/invalid_nestings/section_in_flushright.pl
+++ b/tp/t/results/invalid_nestings/section_in_flushright.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/section_in_footnote.pl 
b/tp/t/results/invalid_nestings/section_in_footnote.pl
index eb47a06..e815b32 100644
--- a/tp/t/results/invalid_nestings/section_in_footnote.pl
+++ b/tp/t/results/invalid_nestings/section_in_footnote.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/section_in_math.pl 
b/tp/t/results/invalid_nestings/section_in_math.pl
index d38c8f5..06aad6b 100644
--- a/tp/t/results/invalid_nestings/section_in_math.pl
+++ b/tp/t/results/invalid_nestings/section_in_math.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/section_in_nested_block_commands.pl 
b/tp/t/results/invalid_nestings/section_in_nested_block_commands.pl
index e842235..72b7a92 100644
--- a/tp/t/results/invalid_nestings/section_in_nested_block_commands.pl
+++ b/tp/t/results/invalid_nestings/section_in_nested_block_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/section_in_table.pl 
b/tp/t/results/invalid_nestings/section_in_table.pl
index 3bcec34..1f2b76b 100644
--- a/tp/t/results/invalid_nestings/section_in_table.pl
+++ b/tp/t/results/invalid_nestings/section_in_table.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/section_on_def_line.pl 
b/tp/t/results/invalid_nestings/section_on_def_line.pl
index 1e8e654..efb4ede 100644
--- a/tp/t/results/invalid_nestings/section_on_def_line.pl
+++ b/tp/t/results/invalid_nestings/section_on_def_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/section_on_defx_line.pl 
b/tp/t/results/invalid_nestings/section_on_defx_line.pl
index 59afe08..efa1d56 100644
--- a/tp/t/results/invalid_nestings/section_on_defx_line.pl
+++ b/tp/t/results/invalid_nestings/section_on_defx_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -324,4 +324,11 @@ $result_errors{'section_on_defx_line'} = [
 $result_floats{'section_on_defx_line'} = {};
 
 
+$result_sort_strings{'section_on_defx_line'} = {
+  'fn' => [
+    'j'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/invalid_nestings/section_on_index_entry_line.pl 
b/tp/t/results/invalid_nestings/section_on_index_entry_line.pl
index d564c6d..0f03ff0 100644
--- a/tp/t/results/invalid_nestings/section_on_index_entry_line.pl
+++ b/tp/t/results/invalid_nestings/section_on_index_entry_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/invalid_nestings/style_not_closed_before_first_node.pl 
b/tp/t/results/invalid_nestings/style_not_closed_before_first_node.pl
index 45f1acd..2318052 100644
--- a/tp/t/results/invalid_nestings/style_not_closed_before_first_node.pl
+++ b/tp/t/results/invalid_nestings/style_not_closed_before_first_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/style_not_closed_in_block_command.pl 
b/tp/t/results/invalid_nestings/style_not_closed_in_block_command.pl
index 1bc8740..5678d1f 100644
--- a/tp/t/results/invalid_nestings/style_not_closed_in_block_command.pl
+++ b/tp/t/results/invalid_nestings/style_not_closed_in_block_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/style_not_closed_in_table_line.pl 
b/tp/t/results/invalid_nestings/style_not_closed_in_table_line.pl
index 0b68199..ac00166 100644
--- a/tp/t/results/invalid_nestings/style_not_closed_in_table_line.pl
+++ b/tp/t/results/invalid_nestings/style_not_closed_in_table_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/invalid_nestings/style_not_closed_no_newline_root_commands.pl 
b/tp/t/results/invalid_nestings/style_not_closed_no_newline_root_commands.pl
index 72de66a..9869931 100644
--- a/tp/t/results/invalid_nestings/style_not_closed_no_newline_root_commands.pl
+++ b/tp/t/results/invalid_nestings/style_not_closed_no_newline_root_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/style_not_closed_root_commands.pl 
b/tp/t/results/invalid_nestings/style_not_closed_root_commands.pl
index 440c0ee..fb70884 100644
--- a/tp/t/results/invalid_nestings/style_not_closed_root_commands.pl
+++ b/tp/t/results/invalid_nestings/style_not_closed_root_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/tab_in_index.pl 
b/tp/t/results/invalid_nestings/tab_in_index.pl
index 15d56db..caf0fef 100644
--- a/tp/t/results/invalid_nestings/tab_in_index.pl
+++ b/tp/t/results/invalid_nestings/tab_in_index.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -294,4 +294,11 @@ $result_errors{'tab_in_index'} = [
 $result_floats{'tab_in_index'} = {};
 
 
+$result_sort_strings{'tab_in_index'} = {
+  'vr' => [
+    'in index entry in tab'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/invalid_nestings/table_in_code.pl 
b/tp/t/results/invalid_nestings/table_in_code.pl
index 4e67d10..1ed8104 100644
--- a/tp/t/results/invalid_nestings/table_in_code.pl
+++ b/tp/t/results/invalid_nestings/table_in_code.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/table_not_closed_in_menu_comment.pl 
b/tp/t/results/invalid_nestings/table_not_closed_in_menu_comment.pl
index 4a91e23..e4ea899 100644
--- a/tp/t/results/invalid_nestings/table_not_closed_in_menu_comment.pl
+++ b/tp/t/results/invalid_nestings/table_not_closed_in_menu_comment.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/invalid_nestings/table_not_closed_in_menu_description.pl 
b/tp/t/results/invalid_nestings/table_not_closed_in_menu_description.pl
index 42b04d6..97507a5 100644
--- a/tp/t/results/invalid_nestings/table_not_closed_in_menu_description.pl
+++ b/tp/t/results/invalid_nestings/table_not_closed_in_menu_description.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/table_on_item_line.pl 
b/tp/t/results/invalid_nestings/table_on_item_line.pl
index 3527069..7f5a089 100644
--- a/tp/t/results/invalid_nestings/table_on_item_line.pl
+++ b/tp/t/results/invalid_nestings/table_on_item_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/invalid_nestings/unclosed_verb_end_of_line_on_misc_line.pl 
b/tp/t/results/invalid_nestings/unclosed_verb_end_of_line_on_misc_line.pl
index 29c93e5..82513e1 100644
--- a/tp/t/results/invalid_nestings/unclosed_verb_end_of_line_on_misc_line.pl
+++ b/tp/t/results/invalid_nestings/unclosed_verb_end_of_line_on_misc_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/unclosed_verb_on_misc_line.pl 
b/tp/t/results/invalid_nestings/unclosed_verb_on_misc_line.pl
index 1dc7c88..8bd159f 100644
--- a/tp/t/results/invalid_nestings/unclosed_verb_on_misc_line.pl
+++ b/tp/t/results/invalid_nestings/unclosed_verb_on_misc_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/unclosed_verb_on_section_line.pl 
b/tp/t/results/invalid_nestings/unclosed_verb_on_section_line.pl
index 28c9bac..7d99d8d 100644
--- a/tp/t/results/invalid_nestings/unclosed_verb_on_section_line.pl
+++ b/tp/t/results/invalid_nestings/unclosed_verb_on_section_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/invalid_nestings/verbatim_in_ref.pl 
b/tp/t/results/invalid_nestings/verbatim_in_ref.pl
index 6664991..1a4f6aa 100644
--- a/tp/t/results/invalid_nestings/verbatim_in_ref.pl
+++ b/tp/t/results/invalid_nestings/verbatim_in_ref.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/accent_argument.pl 
b/tp/t/results/itemize/accent_argument.pl
index 8685f02..3ebe4c9 100644
--- a/tp/t/results/itemize/accent_argument.pl
+++ b/tp/t/results/itemize/accent_argument.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/asis_as_itemize_argument.pl 
b/tp/t/results/itemize/asis_as_itemize_argument.pl
index 46bf553..50a7a7b 100644
--- a/tp/t/results/itemize/asis_as_itemize_argument.pl
+++ b/tp/t/results/itemize/asis_as_itemize_argument.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/bad_enumerate_arguments.pl 
b/tp/t/results/itemize/bad_enumerate_arguments.pl
index 306e6e8..a6ac4f6 100644
--- a/tp/t/results/itemize/bad_enumerate_arguments.pl
+++ b/tp/t/results/itemize/bad_enumerate_arguments.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/comment_first_on_enumerate_line.pl 
b/tp/t/results/itemize/comment_first_on_enumerate_line.pl
index 6e96222..931bbb2 100644
--- a/tp/t/results/itemize/comment_first_on_enumerate_line.pl
+++ b/tp/t/results/itemize/comment_first_on_enumerate_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/comment_first_on_itemize_line.pl 
b/tp/t/results/itemize/comment_first_on_itemize_line.pl
index eedddc8..bceb5d2 100644
--- a/tp/t/results/itemize/comment_first_on_itemize_line.pl
+++ b/tp/t/results/itemize/comment_first_on_itemize_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/enumerate_and_empty_lines.pl 
b/tp/t/results/itemize/enumerate_and_empty_lines.pl
index 1b63aa2..fa139b6 100644
--- a/tp/t/results/itemize/enumerate_and_empty_lines.pl
+++ b/tp/t/results/itemize/enumerate_and_empty_lines.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/enumerate_argument.pl 
b/tp/t/results/itemize/enumerate_argument.pl
index 7938b5a..19c0054 100644
--- a/tp/t/results/itemize/enumerate_argument.pl
+++ b/tp/t/results/itemize/enumerate_argument.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/enumerate_argument_item.pl 
b/tp/t/results/itemize/enumerate_argument_item.pl
index 68af013..7ee54ae 100644
--- a/tp/t/results/itemize/enumerate_argument_item.pl
+++ b/tp/t/results/itemize/enumerate_argument_item.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/enumerate_in_example.pl 
b/tp/t/results/itemize/enumerate_in_example.pl
index 3e02053..57ca50f 100644
--- a/tp/t/results/itemize/enumerate_in_example.pl
+++ b/tp/t/results/itemize/enumerate_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/enumerate_letters.pl 
b/tp/t/results/itemize/enumerate_letters.pl
index f9627d1..d5149f3 100644
--- a/tp/t/results/itemize/enumerate_letters.pl
+++ b/tp/t/results/itemize/enumerate_letters.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/headitem_itemx_in_enumerate.pl 
b/tp/t/results/itemize/headitem_itemx_in_enumerate.pl
index 3ebeb06..e652391 100644
--- a/tp/t/results/itemize/headitem_itemx_in_enumerate.pl
+++ b/tp/t/results/itemize/headitem_itemx_in_enumerate.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/headitem_itemx_in_itemize.pl 
b/tp/t/results/itemize/headitem_itemx_in_itemize.pl
index a19ad11..a2ac748 100644
--- a/tp/t/results/itemize/headitem_itemx_in_itemize.pl
+++ b/tp/t/results/itemize/headitem_itemx_in_itemize.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/inter_item_commands_in_enumerate.pl 
b/tp/t/results/itemize/inter_item_commands_in_enumerate.pl
index 1c648f8..9a11077 100644
--- a/tp/t/results/itemize/inter_item_commands_in_enumerate.pl
+++ b/tp/t/results/itemize/inter_item_commands_in_enumerate.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1443,6 +1443,19 @@ $result_errors{'inter_item_commands_in_enumerate'} = [];
 $result_floats{'inter_item_commands_in_enumerate'} = {};
 
 
+$result_sort_strings{'inter_item_commands_in_enumerate'} = {
+  'cp' => [
+    'another',
+    'cindex',
+    'first idx',
+    'index inter in enumerate after line',
+    'index inter in enumerate before line',
+    'index inter in enumerate between lines',
+    'sedond idx'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'inter_item_commands_in_enumerate'} = 'top
 ***
diff --git a/tp/t/results/itemize/inter_item_commands_in_itemize.pl 
b/tp/t/results/itemize/inter_item_commands_in_itemize.pl
index 8852bf5..fd5bcd3 100644
--- a/tp/t/results/itemize/inter_item_commands_in_itemize.pl
+++ b/tp/t/results/itemize/inter_item_commands_in_itemize.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -998,6 +998,16 @@ $result_errors{'inter_item_commands_in_itemize'} = [];
 $result_floats{'inter_item_commands_in_itemize'} = {};
 
 
+$result_sort_strings{'inter_item_commands_in_itemize'} = {
+  'cp' => [
+    'also a cindex in itemize',
+    'also a cindex in itemize',
+    'index entry right after @item',
+    'index entry within itemize'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'inter_item_commands_in_itemize'} = 'top
 ***
diff --git a/tp/t/results/itemize/itemize_and_empty_lines.pl 
b/tp/t/results/itemize/itemize_and_empty_lines.pl
index b476111..6f1156e 100644
--- a/tp/t/results/itemize/itemize_and_empty_lines.pl
+++ b/tp/t/results/itemize/itemize_and_empty_lines.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/itemize_in_example.pl 
b/tp/t/results/itemize/itemize_in_example.pl
index b110eb1..8be2817 100644
--- a/tp/t/results/itemize/itemize_in_example.pl
+++ b/tp/t/results/itemize/itemize_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/itemize_line_commands_with_brace.pl 
b/tp/t/results/itemize/itemize_line_commands_with_brace.pl
index 218a31d..d8e7da0 100644
--- a/tp/t/results/itemize/itemize_line_commands_with_brace.pl
+++ b/tp/t/results/itemize/itemize_line_commands_with_brace.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/itemize_long_item.pl 
b/tp/t/results/itemize/itemize_long_item.pl
index 00030aa..a9072e6 100644
--- a/tp/t/results/itemize/itemize_long_item.pl
+++ b/tp/t/results/itemize/itemize_long_item.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/lone_end_itemize.pl 
b/tp/t/results/itemize/lone_end_itemize.pl
index e4280e0..68d35e7 100644
--- a/tp/t/results/itemize/lone_end_itemize.pl
+++ b/tp/t/results/itemize/lone_end_itemize.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/not_closed_item.pl 
b/tp/t/results/itemize/not_closed_item.pl
index 48670f2..7ee7d96 100644
--- a/tp/t/results/itemize/not_closed_item.pl
+++ b/tp/t/results/itemize/not_closed_item.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/not_closed_itemize.pl 
b/tp/t/results/itemize/not_closed_itemize.pl
index 0b9c0fe..1b214af 100644
--- a/tp/t/results/itemize/not_closed_itemize.pl
+++ b/tp/t/results/itemize/not_closed_itemize.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/table_in_itemize.pl 
b/tp/t/results/itemize/table_in_itemize.pl
index 939015b..94b1bb3 100644
--- a/tp/t/results/itemize/table_in_itemize.pl
+++ b/tp/t/results/itemize/table_in_itemize.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/itemize/w_argument.pl 
b/tp/t/results/itemize/w_argument.pl
index 46795ba..5101d8b 100644
--- a/tp/t/results/itemize/w_argument.pl
+++ b/tp/t/results/itemize/w_argument.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/languages/appendix_translated.pl 
b/tp/t/results/languages/appendix_translated.pl
index 978cccf..05d5a8c 100644
--- a/tp/t/results/languages/appendix_translated.pl
+++ b/tp/t/results/languages/appendix_translated.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/languages/command_translated.pl 
b/tp/t/results/languages/command_translated.pl
index 78842a6..3973e48 100644
--- a/tp/t/results/languages/command_translated.pl
+++ b/tp/t/results/languages/command_translated.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/languages/multiple.pl 
b/tp/t/results/languages/multiple.pl
index df6542b..4a308c7 100644
--- a/tp/t/results/languages/multiple.pl
+++ b/tp/t/results/languages/multiple.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -892,6 +892,15 @@ $result_errors{'multiple'} = [];
 $result_floats{'multiple'} = {};
 
 
+$result_sort_strings{'multiple'} = {
+  'vr' => [
+    'a de copying',
+    'BBB da pt',
+    'BBB de fr'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'multiple'} = ' -- Variable d\'instance de fr 
: BBB CCC
 
diff --git a/tp/t/results/languages/multiple_lang_chapters.pl 
b/tp/t/results/languages/multiple_lang_chapters.pl
index 8c483a2..f73f4a9 100644
--- a/tp/t/results/languages/multiple_lang_chapters.pl
+++ b/tp/t/results/languages/multiple_lang_chapters.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -2415,4 +2415,13 @@ $result_errors{'multiple_lang_chapters'} = [];
 $result_floats{'multiple_lang_chapters'} = {};
 
 
+$result_sort_strings{'multiple_lang_chapters'} = {
+  'vr' => [
+    'BBB de AAA',
+    'BBB of AAA',
+    'BBB of AAA'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/languages/multiple_lang_chapters_latex.pl 
b/tp/t/results/languages/multiple_lang_chapters_latex.pl
index 916adeb..9c0297b 100644
--- a/tp/t/results/languages/multiple_lang_chapters_latex.pl
+++ b/tp/t/results/languages/multiple_lang_chapters_latex.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -2415,4 +2415,13 @@ $result_errors{'multiple_lang_chapters_latex'} = [];
 $result_floats{'multiple_lang_chapters_latex'} = {};
 
 
+$result_sort_strings{'multiple_lang_chapters_latex'} = {
+  'vr' => [
+    'BBB de AAA',
+    'BBB of AAA',
+    'BBB of AAA'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/languages/multiple_lang_chapters_texi2html.pl 
b/tp/t/results/languages/multiple_lang_chapters_texi2html.pl
index 383a1cd..2e57905 100644
--- a/tp/t/results/languages/multiple_lang_chapters_texi2html.pl
+++ b/tp/t/results/languages/multiple_lang_chapters_texi2html.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -2382,4 +2382,13 @@ $result_errors{'multiple_lang_chapters_texi2html'} = [];
 $result_floats{'multiple_lang_chapters_texi2html'} = {};
 
 
+$result_sort_strings{'multiple_lang_chapters_texi2html'} = {
+  'vr' => [
+    'BBB de AAA',
+    'BBB of AAA',
+    'BBB of AAA'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/languages/simple.pl b/tp/t/results/languages/simple.pl
index 4849a17..62175bc 100644
--- a/tp/t/results/languages/simple.pl
+++ b/tp/t/results/languages/simple.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -335,6 +335,13 @@ $result_errors{'simple'} = [];
 $result_floats{'simple'} = {};
 
 
+$result_sort_strings{'simple'} = {
+  'vr' => [
+    'BBB de AAA'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'simple'} = ' -- Variable d\'instance de AAA 
: BBB CCC
 ';
diff --git a/tp/t/results/languages/unknown_language.pl 
b/tp/t/results/languages/unknown_language.pl
index 8ee5d7a..cc29859 100644
--- a/tp/t/results/languages/unknown_language.pl
+++ b/tp/t/results/languages/unknown_language.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/languages/unknown_region.pl 
b/tp/t/results/languages/unknown_region.pl
index 48222c2..a1e94e5 100644
--- a/tp/t/results/languages/unknown_region.pl
+++ b/tp/t/results/languages/unknown_region.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -345,6 +345,13 @@ $result_errors{'unknown_region'} = [
 $result_floats{'unknown_region'} = {};
 
 
+$result_sort_strings{'unknown_region'} = {
+  'vr' => [
+    'BBB de AAA'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'unknown_region'} = ' -- Variable d\'instance 
de AAA : BBB CCC
 ';
diff --git 
a/tp/t/results/latex_tests/anchor_links_xref_xrefautomaticsectiontitle.pl 
b/tp/t/results/latex_tests/anchor_links_xref_xrefautomaticsectiontitle.pl
index 3cfc90a..46893e9 100644
--- a/tp/t/results/latex_tests/anchor_links_xref_xrefautomaticsectiontitle.pl
+++ b/tp/t/results/latex_tests/anchor_links_xref_xrefautomaticsectiontitle.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/enumerate_arguments.pl 
b/tp/t/results/latex_tests/enumerate_arguments.pl
index bfdbe3c..57792a5 100644
--- a/tp/t/results/latex_tests/enumerate_arguments.pl
+++ b/tp/t/results/latex_tests/enumerate_arguments.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/example_in_cartouche.pl 
b/tp/t/results/latex_tests/example_in_cartouche.pl
index 2a128ad..e8dae91 100644
--- a/tp/t/results/latex_tests/example_in_cartouche.pl
+++ b/tp/t/results/latex_tests/example_in_cartouche.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/float_and_refs.pl 
b/tp/t/results/latex_tests/float_and_refs.pl
index 8d5e054..3eef387 100644
--- a/tp/t/results/latex_tests/float_and_refs.pl
+++ b/tp/t/results/latex_tests/float_and_refs.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/fonttextsize.pl 
b/tp/t/results/latex_tests/fonttextsize.pl
index 94cc144..b19f652 100644
--- a/tp/t/results/latex_tests/fonttextsize.pl
+++ b/tp/t/results/latex_tests/fonttextsize.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/indices.pl 
b/tp/t/results/latex_tests/indices.pl
index 38ce0e2..9c101dc 100644
--- a/tp/t/results/latex_tests/indices.pl
+++ b/tp/t/results/latex_tests/indices.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1325,6 +1325,19 @@ $result_errors{'indices'} = [
 $result_floats{'indices'} = {};
 
 
+$result_sort_strings{'indices'} = {
+  'cp' => [
+    '\\cmd',
+    '\\cmd',
+    '\\some\\command for file',
+    'a!"@b "!@ a" o"'
+  ],
+  'fn' => [
+    'the person index aa'
+  ]
+};
+
+
 
 $result_converted{'latex'}->{'indices'} = '
 
diff --git a/tp/t/results/latex_tests/kbdinputstyle_and_kbd.pl 
b/tp/t/results/latex_tests/kbdinputstyle_and_kbd.pl
index 65782c4..7cceb4a 100644
--- a/tp/t/results/latex_tests/kbdinputstyle_and_kbd.pl
+++ b/tp/t/results/latex_tests/kbdinputstyle_and_kbd.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/nested_enumerate.pl 
b/tp/t/results/latex_tests/nested_enumerate.pl
index 4df8bfd..e808d7a 100644
--- a/tp/t/results/latex_tests/nested_enumerate.pl
+++ b/tp/t/results/latex_tests/nested_enumerate.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/nested_itemize.pl 
b/tp/t/results/latex_tests/nested_itemize.pl
index 69ec207..967e067 100644
--- a/tp/t/results/latex_tests/nested_itemize.pl
+++ b/tp/t/results/latex_tests/nested_itemize.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_odd.pl 
b/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_odd.pl
index 39d9fbb..9a7d5e2 100644
--- a/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_odd.pl
+++ b/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_odd.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_on.pl 
b/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_on.pl
index 42db432..87b07ee 100644
--- a/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_on.pl
+++ b/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_on.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/pagesizes.pl 
b/tp/t/results/latex_tests/pagesizes.pl
index 0122b3c..d6469f7 100644
--- a/tp/t/results/latex_tests/pagesizes.pl
+++ b/tp/t/results/latex_tests/pagesizes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/pagetype.pl 
b/tp/t/results/latex_tests/pagetype.pl
index 85a4a27..e70bff8 100644
--- a/tp/t/results/latex_tests/pagetype.pl
+++ b/tp/t/results/latex_tests/pagetype.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/setchapternewpage_on_odd_titlepage.pl 
b/tp/t/results/latex_tests/setchapternewpage_on_odd_titlepage.pl
index 20bb809..4eb8bc1 100644
--- a/tp/t/results/latex_tests/setchapternewpage_on_odd_titlepage.pl
+++ b/tp/t/results/latex_tests/setchapternewpage_on_odd_titlepage.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/settitle_and_headings.pl 
b/tp/t/results/latex_tests/settitle_and_headings.pl
index b360333..218ed3d 100644
--- a/tp/t/results/latex_tests/settitle_and_headings.pl
+++ b/tp/t/results/latex_tests/settitle_and_headings.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/shorttitlepage.pl 
b/tp/t/results/latex_tests/shorttitlepage.pl
index 96f2ce1..53eabd0 100644
--- a/tp/t/results/latex_tests/shorttitlepage.pl
+++ b/tp/t/results/latex_tests/shorttitlepage.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/three_setchapternewpage_on_odd_off.pl 
b/tp/t/results/latex_tests/three_setchapternewpage_on_odd_off.pl
index c0d6f45..84aaa69 100644
--- a/tp/t/results/latex_tests/three_setchapternewpage_on_odd_off.pl
+++ b/tp/t/results/latex_tests/three_setchapternewpage_on_odd_off.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/titlepage_and_headings.pl 
b/tp/t/results/latex_tests/titlepage_and_headings.pl
index 56de5d4..54caa28 100644
--- a/tp/t/results/latex_tests/titlepage_and_headings.pl
+++ b/tp/t/results/latex_tests/titlepage_and_headings.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/titlepage_and_setchapternewpage_odd.pl 
b/tp/t/results/latex_tests/titlepage_and_setchapternewpage_odd.pl
index d745f40..9c9a5bf 100644
--- a/tp/t/results/latex_tests/titlepage_and_setchapternewpage_odd.pl
+++ b/tp/t/results/latex_tests/titlepage_and_setchapternewpage_odd.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/titlepage_and_setchapternewpage_on.pl 
b/tp/t/results/latex_tests/titlepage_and_setchapternewpage_on.pl
index 5d21f3f..b2bb7a6 100644
--- a/tp/t/results/latex_tests/titlepage_and_setchapternewpage_on.pl
+++ b/tp/t/results/latex_tests/titlepage_and_setchapternewpage_on.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/titlepage_classical.pl 
b/tp/t/results/latex_tests/titlepage_classical.pl
index aba3ea1..6816325 100644
--- a/tp/t/results/latex_tests/titlepage_classical.pl
+++ b/tp/t/results/latex_tests/titlepage_classical.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/titlepage_in_top_node.pl 
b/tp/t/results/latex_tests/titlepage_in_top_node.pl
index 212048a..3bc574b 100644
--- a/tp/t/results/latex_tests/titlepage_in_top_node.pl
+++ b/tp/t/results/latex_tests/titlepage_in_top_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/titlepage_long_title.pl 
b/tp/t/results/latex_tests/titlepage_long_title.pl
index 5ac0d9d..2fa0867 100644
--- a/tp/t/results/latex_tests/titlepage_long_title.pl
+++ b/tp/t/results/latex_tests/titlepage_long_title.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/titlepage_no_author.pl 
b/tp/t/results/latex_tests/titlepage_no_author.pl
index 2dceec8..b209f55 100644
--- a/tp/t/results/latex_tests/titlepage_no_author.pl
+++ b/tp/t/results/latex_tests/titlepage_no_author.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/titlepage_no_title.pl 
b/tp/t/results/latex_tests/titlepage_no_title.pl
index 7062662..4d77ad4 100644
--- a/tp/t/results/latex_tests/titlepage_no_title.pl
+++ b/tp/t/results/latex_tests/titlepage_no_title.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/titlepage_with_commands_classical.pl 
b/tp/t/results/latex_tests/titlepage_with_commands_classical.pl
index a0c9d44..ed176df 100644
--- a/tp/t/results/latex_tests/titlepage_with_commands_classical.pl
+++ b/tp/t/results/latex_tests/titlepage_with_commands_classical.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/two_setchapternewpage_odd_on.pl 
b/tp/t/results/latex_tests/two_setchapternewpage_odd_on.pl
index 46d9317..1ebffcc 100644
--- a/tp/t/results/latex_tests/two_setchapternewpage_odd_on.pl
+++ b/tp/t/results/latex_tests/two_setchapternewpage_odd_on.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/two_setchapternewpage_on_odd.pl 
b/tp/t/results/latex_tests/two_setchapternewpage_on_odd.pl
index b0744f1..d7267e0 100644
--- a/tp/t/results/latex_tests/two_setchapternewpage_on_odd.pl
+++ b/tp/t/results/latex_tests/two_setchapternewpage_on_odd.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/latex_tests/verbatim_in_smallformat.pl 
b/tp/t/results/latex_tests/verbatim_in_smallformat.pl
index c53a221..6214a18 100644
--- a/tp/t/results/latex_tests/verbatim_in_smallformat.pl
+++ b/tp/t/results/latex_tests/verbatim_in_smallformat.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/layout/navigation.pl 
b/tp/t/results/layout/navigation.pl
index 3df9a17..7258350 100644
--- a/tp/t/results/layout/navigation.pl
+++ b/tp/t/results/layout/navigation.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/layout/navigation_chapter.pl 
b/tp/t/results/layout/navigation_chapter.pl
index 9a1ff45..53e88b3 100644
--- a/tp/t/results/layout/navigation_chapter.pl
+++ b/tp/t/results/layout/navigation_chapter.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/layout/navigation_chapter_no_header.pl 
b/tp/t/results/layout/navigation_chapter_no_header.pl
index 6bf3e95..2633ed5 100644
--- a/tp/t/results/layout/navigation_chapter_no_header.pl
+++ b/tp/t/results/layout/navigation_chapter_no_header.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/layout/navigation_chapter_no_header_vertical.pl 
b/tp/t/results/layout/navigation_chapter_no_header_vertical.pl
index 90f9fc2..fc24243 100644
--- a/tp/t/results/layout/navigation_chapter_no_header_vertical.pl
+++ b/tp/t/results/layout/navigation_chapter_no_header_vertical.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/layout/navigation_chapter_vertical.pl 
b/tp/t/results/layout/navigation_chapter_vertical.pl
index 07fee5f..f5243a7 100644
--- a/tp/t/results/layout/navigation_chapter_vertical.pl
+++ b/tp/t/results/layout/navigation_chapter_vertical.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/layout/navigation_no_header.pl 
b/tp/t/results/layout/navigation_no_header.pl
index cbf8213..0eb1fdc 100644
--- a/tp/t/results/layout/navigation_no_header.pl
+++ b/tp/t/results/layout/navigation_no_header.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/layout/navigation_no_header_vertical.pl 
b/tp/t/results/layout/navigation_no_header_vertical.pl
index 01a0be9..92c9203 100644
--- a/tp/t/results/layout/navigation_no_header_vertical.pl
+++ b/tp/t/results/layout/navigation_no_header_vertical.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/layout/navigation_node.pl 
b/tp/t/results/layout/navigation_node.pl
index 970ca24..3cdf03e 100644
--- a/tp/t/results/layout/navigation_node.pl
+++ b/tp/t/results/layout/navigation_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/layout/navigation_node_no_header.pl 
b/tp/t/results/layout/navigation_node_no_header.pl
index 2e7184e..f163855 100644
--- a/tp/t/results/layout/navigation_node_no_header.pl
+++ b/tp/t/results/layout/navigation_node_no_header.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/layout/navigation_node_no_header_vertical.pl 
b/tp/t/results/layout/navigation_node_no_header_vertical.pl
index 2d1d8b0..081746e 100644
--- a/tp/t/results/layout/navigation_node_no_header_vertical.pl
+++ b/tp/t/results/layout/navigation_node_no_header_vertical.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/layout/navigation_node_vertical.pl 
b/tp/t/results/layout/navigation_node_vertical.pl
index 627983f..049097f 100644
--- a/tp/t/results/layout/navigation_node_vertical.pl
+++ b/tp/t/results/layout/navigation_node_vertical.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/layout/navigation_section.pl 
b/tp/t/results/layout/navigation_section.pl
index 66c4543..61cda45 100644
--- a/tp/t/results/layout/navigation_section.pl
+++ b/tp/t/results/layout/navigation_section.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/layout/navigation_section_no_header.pl 
b/tp/t/results/layout/navigation_section_no_header.pl
index 9a863b4..bf83c47 100644
--- a/tp/t/results/layout/navigation_section_no_header.pl
+++ b/tp/t/results/layout/navigation_section_no_header.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/layout/navigation_section_no_header_vertical.pl 
b/tp/t/results/layout/navigation_section_no_header_vertical.pl
index 90c4abc..aaa05c4 100644
--- a/tp/t/results/layout/navigation_section_no_header_vertical.pl
+++ b/tp/t/results/layout/navigation_section_no_header_vertical.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/layout/navigation_section_vertical.pl 
b/tp/t/results/layout/navigation_section_vertical.pl
index 22b1ec9..dfa84e7 100644
--- a/tp/t/results/layout/navigation_section_vertical.pl
+++ b/tp/t/results/layout/navigation_section_vertical.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/layout/navigation_vertical.pl 
b/tp/t/results/layout/navigation_vertical.pl
index ff44322..8f61c14 100644
--- a/tp/t/results/layout/navigation_vertical.pl
+++ b/tp/t/results/layout/navigation_vertical.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/layout/no_monolithic.pl 
b/tp/t/results/layout/no_monolithic.pl
index ee42480..aa6239b 100644
--- a/tp/t/results/layout/no_monolithic.pl
+++ b/tp/t/results/layout/no_monolithic.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -789,4 +789,11 @@ $result_errors{'no_monolithic'} = [];
 $result_floats{'no_monolithic'} = {};
 
 
+$result_sort_strings{'no_monolithic'} = {
+  'cp' => [
+    'top'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/macro/arg_body_expansion_order.pl 
b/tp/t/results/macro/arg_body_expansion_order.pl
index 2111f45..2991ab0 100644
--- a/tp/t/results/macro/arg_body_expansion_order.pl
+++ b/tp/t/results/macro/arg_body_expansion_order.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/arg_not_closed.pl 
b/tp/t/results/macro/arg_not_closed.pl
index 2d2c391..ee40401 100644
--- a/tp/t/results/macro/arg_not_closed.pl
+++ b/tp/t/results/macro/arg_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/backslash_in_arg.pl 
b/tp/t/results/macro/backslash_in_arg.pl
index 5a8f9ae..be0469d 100644
--- a/tp/t/results/macro/backslash_in_arg.pl
+++ b/tp/t/results/macro/backslash_in_arg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -395,4 +395,14 @@ $result_errors{'backslash_in_arg'} = [];
 $result_floats{'backslash_in_arg'} = {};
 
 
+$result_sort_strings{'backslash_in_arg'} = {
+  'fn' => [
+    '\\q',
+    '\\r',
+    '\\r',
+    '\\\\q'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/macro/bad_argument.pl 
b/tp/t/results/macro/bad_argument.pl
index ecff552..0bb5c98 100644
--- a/tp/t/results/macro/bad_argument.pl
+++ b/tp/t/results/macro/bad_argument.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/bad_formal_arg.pl 
b/tp/t/results/macro/bad_formal_arg.pl
index 9a473ef..141e417 100644
--- a/tp/t/results/macro/bad_formal_arg.pl
+++ b/tp/t/results/macro/bad_formal_arg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/bad_macro_name_with_underscore.pl 
b/tp/t/results/macro/bad_macro_name_with_underscore.pl
index 0b31022..97727a2 100644
--- a/tp/t/results/macro/bad_macro_name_with_underscore.pl
+++ b/tp/t/results/macro/bad_macro_name_with_underscore.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/complete_macro_for_end.pl 
b/tp/t/results/macro/complete_macro_for_end.pl
index 84af05b..8b846ae 100644
--- a/tp/t/results/macro/complete_macro_for_end.pl
+++ b/tp/t/results/macro/complete_macro_for_end.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/complex_argument.pl 
b/tp/t/results/macro/complex_argument.pl
index cf4a845..81a215b 100644
--- a/tp/t/results/macro/complex_argument.pl
+++ b/tp/t/results/macro/complex_argument.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/double_macro_definition.pl 
b/tp/t/results/macro/double_macro_definition.pl
index 498aff1..7099a8d 100644
--- a/tp/t/results/macro/double_macro_definition.pl
+++ b/tp/t/results/macro/double_macro_definition.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/double_recursive_macro_call.pl 
b/tp/t/results/macro/double_recursive_macro_call.pl
index b4abd6b..3bf02ab 100644
--- a/tp/t/results/macro/double_recursive_macro_call.pl
+++ b/tp/t/results/macro/double_recursive_macro_call.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/empty_end.pl b/tp/t/results/macro/empty_end.pl
index adf9159..c860ce6 100644
--- a/tp/t/results/macro/empty_end.pl
+++ b/tp/t/results/macro/empty_end.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/empty_macro_argument.pl 
b/tp/t/results/macro/empty_macro_argument.pl
index fc5d97b..8f15f86 100644
--- a/tp/t/results/macro/empty_macro_argument.pl
+++ b/tp/t/results/macro/empty_macro_argument.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/empty_macro_in_text_no_arg.pl 
b/tp/t/results/macro/empty_macro_in_text_no_arg.pl
index fa23c09..f3231ac 100644
--- a/tp/t/results/macro/empty_macro_in_text_no_arg.pl
+++ b/tp/t/results/macro/empty_macro_in_text_no_arg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/empty_macro_no_arg.pl 
b/tp/t/results/macro/empty_macro_no_arg.pl
index ea9d9bf..98c0be5 100644
--- a/tp/t/results/macro/empty_macro_no_arg.pl
+++ b/tp/t/results/macro/empty_macro_no_arg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/expand_two_same.pl 
b/tp/t/results/macro/expand_two_same.pl
index c108c26..75048e5 100644
--- a/tp/t/results/macro/expand_two_same.pl
+++ b/tp/t/results/macro/expand_two_same.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/expansion_order.pl 
b/tp/t/results/macro/expansion_order.pl
index 666f482..19ad937 100644
--- a/tp/t/results/macro/expansion_order.pl
+++ b/tp/t/results/macro/expansion_order.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/form_feeds.pl b/tp/t/results/macro/form_feeds.pl
index 3c6ab9e..d300c2b 100644
--- a/tp/t/results/macro/form_feeds.pl
+++ b/tp/t/results/macro/form_feeds.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/ifclear_in_macro.pl 
b/tp/t/results/macro/ifclear_in_macro.pl
index 2024777..3031326 100644
--- a/tp/t/results/macro/ifclear_in_macro.pl
+++ b/tp/t/results/macro/ifclear_in_macro.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/ifset_and_end_isef_in_macro.pl 
b/tp/t/results/macro/ifset_and_end_isef_in_macro.pl
index c1e4fdb..ab141f8 100644
--- a/tp/t/results/macro/ifset_and_end_isef_in_macro.pl
+++ b/tp/t/results/macro/ifset_and_end_isef_in_macro.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/ifset_in_macro.pl 
b/tp/t/results/macro/ifset_in_macro.pl
index 580c5bb..f1c841c 100644
--- a/tp/t/results/macro/ifset_in_macro.pl
+++ b/tp/t/results/macro/ifset_in_macro.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/ifset_in_macro_set.pl 
b/tp/t/results/macro/ifset_in_macro_set.pl
index b04bcac..80ff76a 100644
--- a/tp/t/results/macro/ifset_in_macro_set.pl
+++ b/tp/t/results/macro/ifset_in_macro_set.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/ignored_macro_definition.pl 
b/tp/t/results/macro/ignored_macro_definition.pl
index f568837..2d5ac37 100644
--- a/tp/t/results/macro/ignored_macro_definition.pl
+++ b/tp/t/results/macro/ignored_macro_definition.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/implicit_quoting_one_arg.pl 
b/tp/t/results/macro/implicit_quoting_one_arg.pl
index e923a68..df6fe9b 100644
--- a/tp/t/results/macro/implicit_quoting_one_arg.pl
+++ b/tp/t/results/macro/implicit_quoting_one_arg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/implicit_quoting_recursion.pl 
b/tp/t/results/macro/implicit_quoting_recursion.pl
index 1c6ed34..930c617 100644
--- a/tp/t/results/macro/implicit_quoting_recursion.pl
+++ b/tp/t/results/macro/implicit_quoting_recursion.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/include_after_empty_line_arg.pl 
b/tp/t/results/macro/include_after_empty_line_arg.pl
index da35b45..2581219 100644
--- a/tp/t/results/macro/include_after_empty_line_arg.pl
+++ b/tp/t/results/macro/include_after_empty_line_arg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/leading_spaces_no_ignore.pl 
b/tp/t/results/macro/leading_spaces_no_ignore.pl
index 6f99adc..75e0766 100644
--- a/tp/t/results/macro/leading_spaces_no_ignore.pl
+++ b/tp/t/results/macro/leading_spaces_no_ignore.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/line_after_recursive_call.pl 
b/tp/t/results/macro/line_after_recursive_call.pl
index f049a20..9efcdba 100644
--- a/tp/t/results/macro/line_after_recursive_call.pl
+++ b/tp/t/results/macro/line_after_recursive_call.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_expands_to_empty.pl 
b/tp/t/results/macro/macro_expands_to_empty.pl
index 0067525..d1b9195 100644
--- a/tp/t/results/macro/macro_expands_to_empty.pl
+++ b/tp/t/results/macro/macro_expands_to_empty.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_expansion.pl 
b/tp/t/results/macro/macro_expansion.pl
index 516be03..42f1e59 100644
--- a/tp/t/results/macro/macro_expansion.pl
+++ b/tp/t/results/macro/macro_expansion.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_for_end.pl 
b/tp/t/results/macro/macro_for_end.pl
index 93282c2..08a18dc 100644
--- a/tp/t/results/macro/macro_for_end.pl
+++ b/tp/t/results/macro/macro_for_end.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_for_ignored_line_command.pl 
b/tp/t/results/macro/macro_for_ignored_line_command.pl
index f583f89..febe662 100644
--- a/tp/t/results/macro/macro_for_ignored_line_command.pl
+++ b/tp/t/results/macro/macro_for_ignored_line_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_in_accent.pl 
b/tp/t/results/macro/macro_in_accent.pl
index 7d6767b..52f4bd1 100644
--- a/tp/t/results/macro/macro_in_accent.pl
+++ b/tp/t/results/macro/macro_in_accent.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_in_brace_command.pl 
b/tp/t/results/macro/macro_in_brace_command.pl
index 17fb427..ea4326b 100644
--- a/tp/t/results/macro/macro_in_brace_command.pl
+++ b/tp/t/results/macro/macro_in_brace_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_in_end_argument.pl 
b/tp/t/results/macro/macro_in_end_argument.pl
index d19adc4..a9e3674 100644
--- a/tp/t/results/macro/macro_in_end_argument.pl
+++ b/tp/t/results/macro/macro_in_end_argument.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_in_ifset.pl 
b/tp/t/results/macro/macro_in_ifset.pl
index ad6d020..d5e1230 100644
--- a/tp/t/results/macro/macro_in_ifset.pl
+++ b/tp/t/results/macro/macro_in_ifset.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_in_ifset_end_in_arg.pl 
b/tp/t/results/macro/macro_in_ifset_end_in_arg.pl
index d108e4d..7aaf1ca 100644
--- a/tp/t/results/macro/macro_in_ifset_end_in_arg.pl
+++ b/tp/t/results/macro/macro_in_ifset_end_in_arg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_in_index_commands.pl 
b/tp/t/results/macro/macro_in_index_commands.pl
index 1355cfe..daa0de5 100644
--- a/tp/t/results/macro/macro_in_index_commands.pl
+++ b/tp/t/results/macro/macro_in_index_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1186,4 +1186,20 @@ $result_indices{'macro_in_index_commands'} = {
 $result_floats{'macro_in_index_commands'} = {};
 
 
+$result_sort_strings{'macro_in_index_commands'} = {
+  'codeidx' => [
+    'a index entry te\' i^'
+  ],
+  'ky' => [
+    'truc kindex'
+  ],
+  'pg' => [
+    'pindex codeidx'
+  ],
+  'truc' => [
+    'index truc'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/macro/macro_in_invalid_documentencoding.pl 
b/tp/t/results/macro/macro_in_invalid_documentencoding.pl
index 1c83b55..0daf890 100644
--- a/tp/t/results/macro/macro_in_invalid_documentencoding.pl
+++ b/tp/t/results/macro/macro_in_invalid_documentencoding.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_in_macro_arg.pl 
b/tp/t/results/macro/macro_in_macro_arg.pl
index b3d3a6d..868581d 100644
--- a/tp/t/results/macro/macro_in_macro_arg.pl
+++ b/tp/t/results/macro/macro_in_macro_arg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_in_macro_arg_simpler.pl 
b/tp/t/results/macro/macro_in_macro_arg_simpler.pl
index 3ee0faa..3034416 100644
--- a/tp/t/results/macro/macro_in_macro_arg_simpler.pl
+++ b/tp/t/results/macro/macro_in_macro_arg_simpler.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_in_menu.pl 
b/tp/t/results/macro/macro_in_menu.pl
index 00a4505..ec7d9c2 100644
--- a/tp/t/results/macro/macro_in_menu.pl
+++ b/tp/t/results/macro/macro_in_menu.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_in_misc_commands.pl 
b/tp/t/results/macro/macro_in_misc_commands.pl
index 87e0948..c0c8eee 100644
--- a/tp/t/results/macro/macro_in_misc_commands.pl
+++ b/tp/t/results/macro/macro_in_misc_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_name_with_digit.pl 
b/tp/t/results/macro/macro_name_with_digit.pl
index 924a467..042ca59 100644
--- a/tp/t/results/macro/macro_name_with_digit.pl
+++ b/tp/t/results/macro/macro_name_with_digit.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_name_with_hyphen.pl 
b/tp/t/results/macro/macro_name_with_hyphen.pl
index 3baad0e..d22d9b9 100644
--- a/tp/t/results/macro/macro_name_with_hyphen.pl
+++ b/tp/t/results/macro/macro_name_with_hyphen.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_no_arg_bad_expansion.pl 
b/tp/t/results/macro/macro_no_arg_bad_expansion.pl
index 0ef979a..ca73d85 100644
--- a/tp/t/results/macro/macro_no_arg_bad_expansion.pl
+++ b/tp/t/results/macro/macro_no_arg_bad_expansion.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_no_arg_expansion.pl 
b/tp/t/results/macro/macro_no_arg_expansion.pl
index 89c5bfb..b302a96 100644
--- a/tp/t/results/macro/macro_no_arg_expansion.pl
+++ b/tp/t/results/macro/macro_no_arg_expansion.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_no_argument.pl 
b/tp/t/results/macro/macro_no_argument.pl
index 0da3f07..0b62d40 100644
--- a/tp/t/results/macro/macro_no_argument.pl
+++ b/tp/t/results/macro/macro_no_argument.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_not_closed.pl 
b/tp/t/results/macro/macro_not_closed.pl
index c47f3dd..576aad7 100644
--- a/tp/t/results/macro/macro_not_closed.pl
+++ b/tp/t/results/macro/macro_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_one_arg_end_of_file.pl 
b/tp/t/results/macro/macro_one_arg_end_of_file.pl
index a549759..b276b35 100644
--- a/tp/t/results/macro/macro_one_arg_end_of_file.pl
+++ b/tp/t/results/macro/macro_one_arg_end_of_file.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_with_error_at_end_line_after_macro.pl 
b/tp/t/results/macro/macro_with_error_at_end_line_after_macro.pl
index f09c230..9b0d2d2 100644
--- a/tp/t/results/macro/macro_with_error_at_end_line_after_macro.pl
+++ b/tp/t/results/macro/macro_with_error_at_end_line_after_macro.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/macro_zero.pl b/tp/t/results/macro/macro_zero.pl
index 2a683d6..4cbeaf3 100644
--- a/tp/t/results/macro/macro_zero.pl
+++ b/tp/t/results/macro/macro_zero.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/nested_macro_call.pl 
b/tp/t/results/macro/nested_macro_call.pl
index 93aa228..573dcbf 100644
--- a/tp/t/results/macro/nested_macro_call.pl
+++ b/tp/t/results/macro/nested_macro_call.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/no_macrobody.pl 
b/tp/t/results/macro/no_macrobody.pl
index 51b6124..8c4806b 100644
--- a/tp/t/results/macro/no_macrobody.pl
+++ b/tp/t/results/macro/no_macrobody.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/paragraph_and_macro.pl 
b/tp/t/results/macro/paragraph_and_macro.pl
index b0b7e37..19b22c9 100644
--- a/tp/t/results/macro/paragraph_and_macro.pl
+++ b/tp/t/results/macro/paragraph_and_macro.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/protect_comma_macro_line.pl 
b/tp/t/results/macro/protect_comma_macro_line.pl
index 5c0034a..31e5125 100644
--- a/tp/t/results/macro/protect_comma_macro_line.pl
+++ b/tp/t/results/macro/protect_comma_macro_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/protect_in_body.pl 
b/tp/t/results/macro/protect_in_body.pl
index c5ae827..53f8a7e 100644
--- a/tp/t/results/macro/protect_in_body.pl
+++ b/tp/t/results/macro/protect_in_body.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/protect_in_body_line_arg.pl 
b/tp/t/results/macro/protect_in_body_line_arg.pl
index c75411b..336490e 100644
--- a/tp/t/results/macro/protect_in_body_line_arg.pl
+++ b/tp/t/results/macro/protect_in_body_line_arg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/protect_in_body_one_arg.pl 
b/tp/t/results/macro/protect_in_body_one_arg.pl
index 512b31b..b64ccc0 100644
--- a/tp/t/results/macro/protect_in_body_one_arg.pl
+++ b/tp/t/results/macro/protect_in_body_one_arg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/recursive_call_in_argument.pl 
b/tp/t/results/macro/recursive_call_in_argument.pl
index 4bf0cc1..442441f 100644
--- a/tp/t/results/macro/recursive_call_in_argument.pl
+++ b/tp/t/results/macro/recursive_call_in_argument.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/recursive_call_in_macro.pl 
b/tp/t/results/macro/recursive_call_in_macro.pl
index 72ce18c..dce1757 100644
--- a/tp/t/results/macro/recursive_call_in_macro.pl
+++ b/tp/t/results/macro/recursive_call_in_macro.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/redefine_texinfo_macro.pl 
b/tp/t/results/macro/redefine_texinfo_macro.pl
index b72f4c6..541e78b 100644
--- a/tp/t/results/macro/redefine_texinfo_macro.pl
+++ b/tp/t/results/macro/redefine_texinfo_macro.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/simple_imbricated_macro.pl 
b/tp/t/results/macro/simple_imbricated_macro.pl
index 53c0c60..4db1b51 100644
--- a/tp/t/results/macro/simple_imbricated_macro.pl
+++ b/tp/t/results/macro/simple_imbricated_macro.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/space_macro_after_end.pl 
b/tp/t/results/macro/space_macro_after_end.pl
index 57acf9d..83553c1 100644
--- a/tp/t/results/macro/space_macro_after_end.pl
+++ b/tp/t/results/macro/space_macro_after_end.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/space_macro_after_end_verbatim.pl 
b/tp/t/results/macro/space_macro_after_end_verbatim.pl
index b90882d..3488ef8 100644
--- a/tp/t/results/macro/space_macro_after_end_verbatim.pl
+++ b/tp/t/results/macro/space_macro_after_end_verbatim.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/text_before_after.pl 
b/tp/t/results/macro/text_before_after.pl
index 1072071..bb94bca 100644
--- a/tp/t/results/macro/text_before_after.pl
+++ b/tp/t/results/macro/text_before_after.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/too_much_args.pl 
b/tp/t/results/macro/too_much_args.pl
index 573264b..9d09010 100644
--- a/tp/t/results/macro/too_much_args.pl
+++ b/tp/t/results/macro/too_much_args.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/two_macros_on_a_line.pl 
b/tp/t/results/macro/two_macros_on_a_line.pl
index 11799ba..e52f5a6 100644
--- a/tp/t/results/macro/two_macros_on_a_line.pl
+++ b/tp/t/results/macro/two_macros_on_a_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/unknown_macro_on_line_command.pl 
b/tp/t/results/macro/unknown_macro_on_line_command.pl
index b6399a2..e4c0b20 100644
--- a/tp/t/results/macro/unknown_macro_on_line_command.pl
+++ b/tp/t/results/macro/unknown_macro_on_line_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/macro/zero_argument.pl 
b/tp/t/results/macro/zero_argument.pl
index 4de7f9a..77f8104 100644
--- a/tp/t/results/macro/zero_argument.pl
+++ b/tp/t/results/macro/zero_argument.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/bad_beginning.pl 
b/tp/t/results/menu/bad_beginning.pl
index 0a1844a..b18be15 100644
--- a/tp/t/results/menu/bad_beginning.pl
+++ b/tp/t/results/menu/bad_beginning.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/block_commands_in_menu_description.pl 
b/tp/t/results/menu/block_commands_in_menu_description.pl
index bd54bd6..6c508a1 100644
--- a/tp/t/results/menu/block_commands_in_menu_description.pl
+++ b/tp/t/results/menu/block_commands_in_menu_description.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/comment_on_menu_line.pl 
b/tp/t/results/menu/comment_on_menu_line.pl
index fe7734b..11a6f37 100644
--- a/tp/t/results/menu/comment_on_menu_line.pl
+++ b/tp/t/results/menu/comment_on_menu_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/dash_in_menu.pl 
b/tp/t/results/menu/dash_in_menu.pl
index 0f8c4af..0f67dc8 100644
--- a/tp/t/results/menu/dash_in_menu.pl
+++ b/tp/t/results/menu/dash_in_menu.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/detailmenu.pl b/tp/t/results/menu/detailmenu.pl
index 4295bac..ebe3457 100644
--- a/tp/t/results/menu/detailmenu.pl
+++ b/tp/t/results/menu/detailmenu.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/detailmenu_in_description.pl 
b/tp/t/results/menu/detailmenu_in_description.pl
index 3b274e2..647293f 100644
--- a/tp/t/results/menu/detailmenu_in_description.pl
+++ b/tp/t/results/menu/detailmenu_in_description.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/detailmenu_on_subnodes.pl 
b/tp/t/results/menu/detailmenu_on_subnodes.pl
index d8a52ff..f67826d 100644
--- a/tp/t/results/menu/detailmenu_on_subnodes.pl
+++ b/tp/t/results/menu/detailmenu_on_subnodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/detailmenu_unknown_node.pl 
b/tp/t/results/menu/detailmenu_unknown_node.pl
index cfb0e58..874c746 100644
--- a/tp/t/results/menu/detailmenu_unknown_node.pl
+++ b/tp/t/results/menu/detailmenu_unknown_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/direntry_dircategory_after_first_node.pl 
b/tp/t/results/menu/direntry_dircategory_after_first_node.pl
index 72d91d0..bd45614 100644
--- a/tp/t/results/menu/direntry_dircategory_after_first_node.pl
+++ b/tp/t/results/menu/direntry_dircategory_after_first_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/empty_menu_entry_name.pl 
b/tp/t/results/menu/empty_menu_entry_name.pl
index 248bc44..ef1d9e3 100644
--- a/tp/t/results/menu/empty_menu_entry_name.pl
+++ b/tp/t/results/menu/empty_menu_entry_name.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/entry_after_detailmenu.pl 
b/tp/t/results/menu/entry_after_detailmenu.pl
index 2d8ee01..3a63d59 100644
--- a/tp/t/results/menu/entry_after_detailmenu.pl
+++ b/tp/t/results/menu/entry_after_detailmenu.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/example_in_menu_comment.pl 
b/tp/t/results/menu/example_in_menu_comment.pl
index ebc5ed6..3ed6ea6 100644
--- a/tp/t/results/menu/example_in_menu_comment.pl
+++ b/tp/t/results/menu/example_in_menu_comment.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/example_in_menu_description.pl 
b/tp/t/results/menu/example_in_menu_description.pl
index eeaebaa..4909ab3 100644
--- a/tp/t/results/menu/example_in_menu_description.pl
+++ b/tp/t/results/menu/example_in_menu_description.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/formats_in_menu.pl 
b/tp/t/results/menu/formats_in_menu.pl
index 422e87d..e5ef0d6 100644
--- a/tp/t/results/menu/formats_in_menu.pl
+++ b/tp/t/results/menu/formats_in_menu.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/inlineraw_in_menu_description.pl 
b/tp/t/results/menu/inlineraw_in_menu_description.pl
index 206fb2b..b1c496a 100644
--- a/tp/t/results/menu/inlineraw_in_menu_description.pl
+++ b/tp/t/results/menu/inlineraw_in_menu_description.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/invalid_info_menu_entry.pl 
b/tp/t/results/menu/invalid_info_menu_entry.pl
index 8b56742..56757f4 100644
--- a/tp/t/results/menu/invalid_info_menu_entry.pl
+++ b/tp/t/results/menu/invalid_info_menu_entry.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/menu_entry_name.pl 
b/tp/t/results/menu/menu_entry_name.pl
index 7c744a5..a5c425b 100644
--- a/tp/t/results/menu/menu_entry_name.pl
+++ b/tp/t/results/menu/menu_entry_name.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/menu_entry_name_comment.pl 
b/tp/t/results/menu/menu_entry_name_comment.pl
index 734dfa3..3a69f3c 100644
--- a/tp/t/results/menu/menu_entry_name_comment.pl
+++ b/tp/t/results/menu/menu_entry_name_comment.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/menu_entry_no_entry.pl 
b/tp/t/results/menu/menu_entry_no_entry.pl
index 28390f8..dd50e0b 100644
--- a/tp/t/results/menu/menu_entry_no_entry.pl
+++ b/tp/t/results/menu/menu_entry_no_entry.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/menu_entry_no_entry_location.pl 
b/tp/t/results/menu/menu_entry_no_entry_location.pl
index 30945cc..c44b037 100644
--- a/tp/t/results/menu/menu_entry_no_entry_location.pl
+++ b/tp/t/results/menu/menu_entry_no_entry_location.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/menu_entry_node.pl 
b/tp/t/results/menu/menu_entry_node.pl
index 74f7b6d..408f9f3 100644
--- a/tp/t/results/menu/menu_entry_node.pl
+++ b/tp/t/results/menu/menu_entry_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/menu_entry_node_comments.pl 
b/tp/t/results/menu/menu_entry_node_comments.pl
index 21a6a31..23e786f 100644
--- a/tp/t/results/menu/menu_entry_node_comments.pl
+++ b/tp/t/results/menu/menu_entry_node_comments.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/menu_in_deffn.pl 
b/tp/t/results/menu/menu_in_deffn.pl
index 96f56bc..cd2bc66 100644
--- a/tp/t/results/menu/menu_in_deffn.pl
+++ b/tp/t/results/menu/menu_in_deffn.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -413,4 +413,11 @@ $result_errors{'menu_in_deffn'} = [
 $result_floats{'menu_in_deffn'} = {};
 
 
+$result_sort_strings{'menu_in_deffn'} = {
+  'fn' => [
+    'b'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/menu/menu_in_example.pl 
b/tp/t/results/menu/menu_in_example.pl
index 3fe789e..298e887 100644
--- a/tp/t/results/menu/menu_in_example.pl
+++ b/tp/t/results/menu/menu_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/menu_no_closed_after_empty_line.pl 
b/tp/t/results/menu/menu_no_closed_after_empty_line.pl
index 22d6bbc..38dc34c 100644
--- a/tp/t/results/menu/menu_no_closed_after_empty_line.pl
+++ b/tp/t/results/menu/menu_no_closed_after_empty_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/menu_no_closed_entry_beginning.pl 
b/tp/t/results/menu/menu_no_closed_entry_beginning.pl
index bf0b426..978d7e5 100644
--- a/tp/t/results/menu/menu_no_closed_entry_beginning.pl
+++ b/tp/t/results/menu/menu_no_closed_entry_beginning.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/menu_no_closed_in_description.pl 
b/tp/t/results/menu/menu_no_closed_in_description.pl
index c2f11ca..18244c0 100644
--- a/tp/t/results/menu/menu_no_closed_in_description.pl
+++ b/tp/t/results/menu/menu_no_closed_in_description.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/menu_no_closed_in_entry.pl 
b/tp/t/results/menu/menu_no_closed_in_entry.pl
index 14c26ae..13a6a46 100644
--- a/tp/t/results/menu/menu_no_closed_in_entry.pl
+++ b/tp/t/results/menu/menu_no_closed_in_entry.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/menu_no_closed_star.pl 
b/tp/t/results/menu/menu_no_closed_star.pl
index 9500aa2..bc95d3e 100644
--- a/tp/t/results/menu/menu_no_closed_star.pl
+++ b/tp/t/results/menu/menu_no_closed_star.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/menu_node_unterminated.pl 
b/tp/t/results/menu/menu_node_unterminated.pl
index bc638a8..bc9cfb7 100644
--- a/tp/t/results/menu/menu_node_unterminated.pl
+++ b/tp/t/results/menu/menu_node_unterminated.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/menu_pointing_to_anchor.pl 
b/tp/t/results/menu/menu_pointing_to_anchor.pl
index 5f9889b..96741f2 100644
--- a/tp/t/results/menu/menu_pointing_to_anchor.pl
+++ b/tp/t/results/menu/menu_pointing_to_anchor.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/menu_title_before_entries.pl 
b/tp/t/results/menu/menu_title_before_entries.pl
index e7a9529..54bf76a 100644
--- a/tp/t/results/menu/menu_title_before_entries.pl
+++ b/tp/t/results/menu/menu_title_before_entries.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/multiple_menus.pl 
b/tp/t/results/menu/multiple_menus.pl
index ebfa993..9187136 100644
--- a/tp/t/results/menu/multiple_menus.pl
+++ b/tp/t/results/menu/multiple_menus.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/no_colon_in_menu.pl 
b/tp/t/results/menu/no_colon_in_menu.pl
index fec65eb..892fc96 100644
--- a/tp/t/results/menu/no_colon_in_menu.pl
+++ b/tp/t/results/menu/no_colon_in_menu.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/reference_to_external_manual.pl 
b/tp/t/results/menu/reference_to_external_manual.pl
index a4164dc..4dd87ac 100644
--- a/tp/t/results/menu/reference_to_external_manual.pl
+++ b/tp/t/results/menu/reference_to_external_manual.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/sc_in_menu.pl b/tp/t/results/menu/sc_in_menu.pl
index 1e2574c..9a23997 100644
--- a/tp/t/results/menu/sc_in_menu.pl
+++ b/tp/t/results/menu/sc_in_menu.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/simple.pl b/tp/t/results/menu/simple.pl
index fb609a1..4e2a80e 100644
--- a/tp/t/results/menu/simple.pl
+++ b/tp/t/results/menu/simple.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/simple_no_menu.pl 
b/tp/t/results/menu/simple_no_menu.pl
index 410ba89..8d33eb6 100644
--- a/tp/t/results/menu/simple_no_menu.pl
+++ b/tp/t/results/menu/simple_no_menu.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/menu/verb_in_menu_description.pl 
b/tp/t/results/menu/verb_in_menu_description.pl
index f1e8ce9..c1ea73a 100644
--- a/tp/t/results/menu/verb_in_menu_description.pl
+++ b/tp/t/results/menu/verb_in_menu_description.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/also_not_line.pl 
b/tp/t/results/misc_commands/also_not_line.pl
index 4088fab..af7bc81 100644
--- a/tp/t/results/misc_commands/also_not_line.pl
+++ b/tp/t/results/misc_commands/also_not_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/author_outside_titlepage_quotation.pl 
b/tp/t/results/misc_commands/author_outside_titlepage_quotation.pl
index 74b813b..8d8b564 100644
--- a/tp/t/results/misc_commands/author_outside_titlepage_quotation.pl
+++ b/tp/t/results/misc_commands/author_outside_titlepage_quotation.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/bad_documentlanguage.pl 
b/tp/t/results/misc_commands/bad_documentlanguage.pl
index a40fc91..e97d600 100644
--- a/tp/t/results/misc_commands/bad_documentlanguage.pl
+++ b/tp/t/results/misc_commands/bad_documentlanguage.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/bye.pl 
b/tp/t/results/misc_commands/bye.pl
index 0a155fe..06d965b 100644
--- a/tp/t/results/misc_commands/bye.pl
+++ b/tp/t/results/misc_commands/bye.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/clickstyle.pl 
b/tp/t/results/misc_commands/clickstyle.pl
index 988ad97..a15f6bf 100644
--- a/tp/t/results/misc_commands/clickstyle.pl
+++ b/tp/t/results/misc_commands/clickstyle.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/misc_commands/codequoteundirected_codequotebacktick.pl 
b/tp/t/results/misc_commands/codequoteundirected_codequotebacktick.pl
index 95ebb84..3d2d452 100644
--- a/tp/t/results/misc_commands/codequoteundirected_codequotebacktick.pl
+++ b/tp/t/results/misc_commands/codequoteundirected_codequotebacktick.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/command_in_heading_footing.pl 
b/tp/t/results/misc_commands/command_in_heading_footing.pl
index 82845f7..4a5abab 100644
--- a/tp/t/results/misc_commands/command_in_heading_footing.pl
+++ b/tp/t/results/misc_commands/command_in_heading_footing.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/command_line_in_paragraph.pl 
b/tp/t/results/misc_commands/command_line_in_paragraph.pl
index b5b60b2..64a0a39 100644
--- a/tp/t/results/misc_commands/command_line_in_paragraph.pl
+++ b/tp/t/results/misc_commands/command_line_in_paragraph.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/misc_commands/command_not_closed_in_documentencoding.pl 
b/tp/t/results/misc_commands/command_not_closed_in_documentencoding.pl
index d82dcf3..50f4650 100644
--- a/tp/t/results/misc_commands/command_not_closed_in_documentencoding.pl
+++ b/tp/t/results/misc_commands/command_not_closed_in_documentencoding.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/comment_space_command_on_line.pl 
b/tp/t/results/misc_commands/comment_space_command_on_line.pl
index 9fc190c..eb5877f 100644
--- a/tp/t/results/misc_commands/comment_space_command_on_line.pl
+++ b/tp/t/results/misc_commands/comment_space_command_on_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -817,6 +817,13 @@ $result_floats{'comment_space_command_on_line'} = {
 };
 
 
+$result_sort_strings{'comment_space_command_on_line'} = {
+  'cp' => [
+    'index entry  '
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'comment_space_command_on_line'} = 'top 
element 
 ************
diff --git a/tp/t/results/misc_commands/comments_in_text.pl 
b/tp/t/results/misc_commands/comments_in_text.pl
index abcad90..cafa9df 100644
--- a/tp/t/results/misc_commands/comments_in_text.pl
+++ b/tp/t/results/misc_commands/comments_in_text.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/contents.pl 
b/tp/t/results/misc_commands/contents.pl
index 56138e4..f1bb0e7 100644
--- a/tp/t/results/misc_commands/contents.pl
+++ b/tp/t/results/misc_commands/contents.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/defindex_too_much_args.pl 
b/tp/t/results/misc_commands/defindex_too_much_args.pl
index 0d5cec7..1aa1b0d 100644
--- a/tp/t/results/misc_commands/defindex_too_much_args.pl
+++ b/tp/t/results/misc_commands/defindex_too_much_args.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/definfoenclose.pl 
b/tp/t/results/misc_commands/definfoenclose.pl
index 1b80445..3575f16 100644
--- a/tp/t/results/misc_commands/definfoenclose.pl
+++ b/tp/t/results/misc_commands/definfoenclose.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/definfoenclose_with_empty_arg.pl 
b/tp/t/results/misc_commands/definfoenclose_with_empty_arg.pl
index 9ff4e57..da46ffa 100644
--- a/tp/t/results/misc_commands/definfoenclose_with_empty_arg.pl
+++ b/tp/t/results/misc_commands/definfoenclose_with_empty_arg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/double_exdent.pl 
b/tp/t/results/misc_commands/double_exdent.pl
index cef354a..eb165de 100644
--- a/tp/t/results/misc_commands/double_exdent.pl
+++ b/tp/t/results/misc_commands/double_exdent.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/empty_center.pl 
b/tp/t/results/misc_commands/empty_center.pl
index 116c2ee..7da80f2 100644
--- a/tp/t/results/misc_commands/empty_center.pl
+++ b/tp/t/results/misc_commands/empty_center.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/empty_center_with_arg.pl 
b/tp/t/results/misc_commands/empty_center_with_arg.pl
index 6fa371e..25c6ffe 100644
--- a/tp/t/results/misc_commands/empty_center_with_arg.pl
+++ b/tp/t/results/misc_commands/empty_center_with_arg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/empty_documentencoding.pl 
b/tp/t/results/misc_commands/empty_documentencoding.pl
index 41b74d4..dc049cd 100644
--- a/tp/t/results/misc_commands/empty_documentencoding.pl
+++ b/tp/t/results/misc_commands/empty_documentencoding.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/footnote_in_center.pl 
b/tp/t/results/misc_commands/footnote_in_center.pl
index d5ad7fd..de97627 100644
--- a/tp/t/results/misc_commands/footnote_in_center.pl
+++ b/tp/t/results/misc_commands/footnote_in_center.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/incorrect_allowcodebreaks_argument.pl 
b/tp/t/results/misc_commands/incorrect_allowcodebreaks_argument.pl
index 3c486c5..87af87d 100644
--- a/tp/t/results/misc_commands/incorrect_allowcodebreaks_argument.pl
+++ b/tp/t/results/misc_commands/incorrect_allowcodebreaks_argument.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/indent_in_quotation.pl 
b/tp/t/results/misc_commands/indent_in_quotation.pl
index 943a9cc..3be6c13 100644
--- a/tp/t/results/misc_commands/indent_in_quotation.pl
+++ b/tp/t/results/misc_commands/indent_in_quotation.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/index_entries.pl 
b/tp/t/results/misc_commands/index_entries.pl
index 133aaba..06f967b 100644
--- a/tp/t/results/misc_commands/index_entries.pl
+++ b/tp/t/results/misc_commands/index_entries.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -241,4 +241,14 @@ $result_indices{'index_entries'} = {
 $result_floats{'index_entries'} = {};
 
 
+$result_sort_strings{'index_entries'} = {
+  'cp' => [
+    'cindex entry'
+  ],
+  'truc' => [
+    'index truc'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/misc_commands/invalid_clickstyle.pl 
b/tp/t/results/misc_commands/invalid_clickstyle.pl
index 1b2e6e7..d5c75b6 100644
--- a/tp/t/results/misc_commands/invalid_clickstyle.pl
+++ b/tp/t/results/misc_commands/invalid_clickstyle.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/invalid_documentencoding.pl 
b/tp/t/results/misc_commands/invalid_documentencoding.pl
index 3722332..9884386 100644
--- a/tp/t/results/misc_commands/invalid_documentencoding.pl
+++ b/tp/t/results/misc_commands/invalid_documentencoding.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/invalid_kbdinputstyle.pl 
b/tp/t/results/misc_commands/invalid_kbdinputstyle.pl
index 51a8b1d..9755080 100644
--- a/tp/t/results/misc_commands/invalid_kbdinputstyle.pl
+++ b/tp/t/results/misc_commands/invalid_kbdinputstyle.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/kbdinputstyle.pl 
b/tp/t/results/misc_commands/kbdinputstyle.pl
index b3995d1..eac5f89 100644
--- a/tp/t/results/misc_commands/kbdinputstyle.pl
+++ b/tp/t/results/misc_commands/kbdinputstyle.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/many_lines.pl 
b/tp/t/results/misc_commands/many_lines.pl
index e51016f..e39d962 100644
--- a/tp/t/results/misc_commands/many_lines.pl
+++ b/tp/t/results/misc_commands/many_lines.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/no_empty_line_between_headings.pl 
b/tp/t/results/misc_commands/no_empty_line_between_headings.pl
index f96a7a8..9dc37ae 100644
--- a/tp/t/results/misc_commands/no_empty_line_between_headings.pl
+++ b/tp/t/results/misc_commands/no_empty_line_between_headings.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/noindent_after_smallexample.pl 
b/tp/t/results/misc_commands/noindent_after_smallexample.pl
index 30309fa..2496150 100644
--- a/tp/t/results/misc_commands/noindent_after_smallexample.pl
+++ b/tp/t/results/misc_commands/noindent_after_smallexample.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/noindent_empty_para.pl 
b/tp/t/results/misc_commands/noindent_empty_para.pl
index 6cb927a..7d8e386 100644
--- a/tp/t/results/misc_commands/noindent_empty_para.pl
+++ b/tp/t/results/misc_commands/noindent_empty_para.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/noindent_in_paragraph.pl 
b/tp/t/results/misc_commands/noindent_in_paragraph.pl
index f428572..962331e 100644
--- a/tp/t/results/misc_commands/noindent_in_paragraph.pl
+++ b/tp/t/results/misc_commands/noindent_in_paragraph.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/noindent_indent.pl 
b/tp/t/results/misc_commands/noindent_indent.pl
index 1d53304..58ccb28 100644
--- a/tp/t/results/misc_commands/noindent_indent.pl
+++ b/tp/t/results/misc_commands/noindent_indent.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/ref_in_center.pl 
b/tp/t/results/misc_commands/ref_in_center.pl
index e117f90..fe7b297 100644
--- a/tp/t/results/misc_commands/ref_in_center.pl
+++ b/tp/t/results/misc_commands/ref_in_center.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/setfilename.pl 
b/tp/t/results/misc_commands/setfilename.pl
index 8860f66..202e7cf 100644
--- a/tp/t/results/misc_commands/setfilename.pl
+++ b/tp/t/results/misc_commands/setfilename.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/simple.pl 
b/tp/t/results/misc_commands/simple.pl
index 837033c..c777ba7 100644
--- a/tp/t/results/misc_commands/simple.pl
+++ b/tp/t/results/misc_commands/simple.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/sp.pl b/tp/t/results/misc_commands/sp.pl
index 583cb9d..56fb5f5 100644
--- a/tp/t/results/misc_commands/sp.pl
+++ b/tp/t/results/misc_commands/sp.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/synindex_too_much_args.pl 
b/tp/t/results/misc_commands/synindex_too_much_args.pl
index de8fba2..d091737 100644
--- a/tp/t/results/misc_commands/synindex_too_much_args.pl
+++ b/tp/t/results/misc_commands/synindex_too_much_args.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/test_allowcodebreaks.pl 
b/tp/t/results/misc_commands/test_allowcodebreaks.pl
index 65e184f..6f410ba 100644
--- a/tp/t/results/misc_commands/test_allowcodebreaks.pl
+++ b/tp/t/results/misc_commands/test_allowcodebreaks.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/text_before_and_after_bye.pl 
b/tp/t/results/misc_commands/text_before_and_after_bye.pl
index 584adee..9eed7fc 100644
--- a/tp/t/results/misc_commands/text_before_and_after_bye.pl
+++ b/tp/t/results/misc_commands/text_before_and_after_bye.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/text_before_line_command.pl 
b/tp/t/results/misc_commands/text_before_line_command.pl
index b5c53ea..d097522 100644
--- a/tp/t/results/misc_commands/text_before_line_command.pl
+++ b/tp/t/results/misc_commands/text_before_line_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/misc_commands/vskip.pl 
b/tp/t/results/misc_commands/vskip.pl
index 9be2d9e..0e4aaed 100644
--- a/tp/t/results/misc_commands/vskip.pl
+++ b/tp/t/results/misc_commands/vskip.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/morecoverage/formatting_fr.pl 
b/tp/t/results/morecoverage/formatting_fr.pl
index df28c60..36843f7 100644
--- a/tp/t/results/morecoverage/formatting_fr.pl
+++ b/tp/t/results/morecoverage/formatting_fr.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -4675,6 +4675,24 @@ $result_errors{'formatting_fr'} = [
 $result_floats{'formatting_fr'} = {};
 
 
+$result_sort_strings{'formatting_fr'} = {
+  'cp' => [
+    '.',
+    '?',
+    'a',
+    't-ruc',
+    'T-ruc'
+  ],
+  'fn' => [
+    '.',
+    '?',
+    'a',
+    't--ruc',
+    'T--ruc'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'formatting_fr'} = 'This is formatting.info, 
produced from formatting.texi.
 
diff --git a/tp/t/results/morecoverage/texi_formatting.pl 
b/tp/t/results/morecoverage/texi_formatting.pl
index c2225d3..c4c60ffa 100644
--- a/tp/t/results/morecoverage/texi_formatting.pl
+++ b/tp/t/results/morecoverage/texi_formatting.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -4675,6 +4675,24 @@ $result_errors{'texi_formatting'} = [
 $result_floats{'texi_formatting'} = {};
 
 
+$result_sort_strings{'texi_formatting'} = {
+  'cp' => [
+    '.',
+    '?',
+    'a',
+    't-ruc',
+    'T-ruc'
+  ],
+  'fn' => [
+    '.',
+    '?',
+    'a',
+    't--ruc',
+    'T--ruc'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'texi_formatting'} = 'This is formatting.info, 
produced from formatting.texi.
 
diff --git a/tp/t/results/moreindices/double_index_entry.pl 
b/tp/t/results/moreindices/double_index_entry.pl
index 3d78389..87be13c 100644
--- a/tp/t/results/moreindices/double_index_entry.pl
+++ b/tp/t/results/moreindices/double_index_entry.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -631,6 +631,15 @@ $result_errors{'double_index_entry'} = [];
 $result_floats{'double_index_entry'} = {};
 
 
+$result_sort_strings{'double_index_entry'} = {
+  'cp' => [
+    'aaa',
+    'aaa',
+    'aaa'
+  ]
+};
+
+
 $result_converted_errors{'file_html'}->{'double_index_entry'} = [
   {
     'error_line' => 'double_index_entry.texi: warning: must specify a title 
with a title command or @top
diff --git a/tp/t/results/moreindices/index_no_node.pl 
b/tp/t/results/moreindices/index_no_node.pl
index 2355519..6bb08d7 100644
--- a/tp/t/results/moreindices/index_no_node.pl
+++ b/tp/t/results/moreindices/index_no_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1531,4 +1531,24 @@ $result_errors{'index_no_node'} = [
 $result_floats{'index_no_node'} = {};
 
 
+$result_sort_strings{'index_no_node'} = {
+  'cp' => [
+    'chapter',
+    'Chapter2',
+    'second',
+    'second',
+    'top section',
+    'top section',
+    'top section',
+    'top section',
+    'top section',
+    'top section',
+    'top section1',
+    'truc',
+    'unnumbered',
+    'unnumbered after text'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/moreindices/index_split.pl 
b/tp/t/results/moreindices/index_split.pl
index 1ea2434..94158e1 100644
--- a/tp/t/results/moreindices/index_split.pl
+++ b/tp/t/results/moreindices/index_split.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -4319,4 +4319,31 @@ $result_errors{'index_split'} = [
 $result_floats{'index_split'} = {};
 
 
+$result_sort_strings{'index_split'} = {
+  'cp' => [
+    '! entry in node',
+    'a concept in first',
+    'after second printindex node in section 3',
+    'another',
+    'between printindex node in section 3',
+    'entry a',
+    'entry after printindex',
+    'entry in node',
+    'entry in node',
+    'node 2 in section 3',
+    'node 3 in section 3',
+    'node in section 3',
+    'printindex subsection 2',
+    'section 3',
+    'something',
+    'subsection 2'
+  ],
+  'fn' => [
+    'a function',
+    'fun in node',
+    'somewhere'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/moreindices/index_split_nodes.pl 
b/tp/t/results/moreindices/index_split_nodes.pl
index cfe4001..f02fb03 100644
--- a/tp/t/results/moreindices/index_split_nodes.pl
+++ b/tp/t/results/moreindices/index_split_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -4309,4 +4309,31 @@ $result_errors{'index_split_nodes'} = [];
 $result_floats{'index_split_nodes'} = {};
 
 
+$result_sort_strings{'index_split_nodes'} = {
+  'cp' => [
+    '! entry in node',
+    'a concept in first',
+    'after second printindex node in section 3',
+    'another',
+    'between printindex node in section 3',
+    'entry a',
+    'entry after printindex',
+    'entry in node',
+    'entry in node',
+    'node 2 in section 3',
+    'node 3 in section 3',
+    'node in section 3',
+    'printindex subsection 2',
+    'section 3',
+    'something',
+    'subsection 2'
+  ],
+  'fn' => [
+    'a function',
+    'fun in node',
+    'somewhere'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/moreindices/nodes_before_top.pl 
b/tp/t/results/moreindices/nodes_before_top.pl
index b3ebfba..35b2d48 100644
--- a/tp/t/results/moreindices/nodes_before_top.pl
+++ b/tp/t/results/moreindices/nodes_before_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -2766,6 +2766,27 @@ $result_errors{'nodes_before_top'} = [];
 $result_floats{'nodes_before_top'} = {};
 
 
+$result_sort_strings{'nodes_before_top'} = {
+  'cp' => [
+    '! entry in node',
+    'a concept a node',
+    'another',
+    'entry a',
+    'entry after printindex',
+    'entry in node',
+    'first before top',
+    'node in menu before top',
+    'printindex node in menu before top',
+    'something'
+  ],
+  'fn' => [
+    'a function',
+    'fun in node',
+    'somewhere'
+  ]
+};
+
+
 $result_converted_errors{'file_html'}->{'nodes_before_top'} = [
   {
     'error_line' => 'nodes_before_top.texi: warning: must specify a title with 
a title command or @top
diff --git 
a/tp/t/results/moreindices/nodes_before_top_and_sections_monolithic.pl 
b/tp/t/results/moreindices/nodes_before_top_and_sections_monolithic.pl
index 2937b87..92ba380 100644
--- a/tp/t/results/moreindices/nodes_before_top_and_sections_monolithic.pl
+++ b/tp/t/results/moreindices/nodes_before_top_and_sections_monolithic.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -3544,4 +3544,27 @@ 
$result_errors{'nodes_before_top_and_sections_monolithic'} = [];
 $result_floats{'nodes_before_top_and_sections_monolithic'} = {};
 
 
+$result_sort_strings{'nodes_before_top_and_sections_monolithic'} = {
+  'cp' => [
+    '! entry in node',
+    'a concept a node',
+    'another',
+    'entry a',
+    'entry after printindex',
+    'entry in node',
+    'first before top',
+    'node in chapter',
+    'node in menu before top',
+    'printindex node in menu before top',
+    'something',
+    'top section'
+  ],
+  'fn' => [
+    'a function',
+    'fun in node',
+    'somewhere'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/moreindices/nodes_before_top_no_nodes.pl 
b/tp/t/results/moreindices/nodes_before_top_no_nodes.pl
index 2e65757..633721c 100644
--- a/tp/t/results/moreindices/nodes_before_top_no_nodes.pl
+++ b/tp/t/results/moreindices/nodes_before_top_no_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -2766,6 +2766,27 @@ $result_errors{'nodes_before_top_no_nodes'} = [];
 $result_floats{'nodes_before_top_no_nodes'} = {};
 
 
+$result_sort_strings{'nodes_before_top_no_nodes'} = {
+  'cp' => [
+    '! entry in node',
+    'a concept a node',
+    'another',
+    'entry a',
+    'entry after printindex',
+    'entry in node',
+    'first before top',
+    'node in menu before top',
+    'printindex node in menu before top',
+    'something'
+  ],
+  'fn' => [
+    'a function',
+    'fun in node',
+    'somewhere'
+  ]
+};
+
+
 $result_converted_errors{'file_html'}->{'nodes_before_top_no_nodes'} = [
   {
     'error_line' => 'nodes_before_top.texi: warning: must specify a title with 
a title command or @top
diff --git a/tp/t/results/moreindices/nodes_before_top_nodes.pl 
b/tp/t/results/moreindices/nodes_before_top_nodes.pl
index 79eb9a8..6725e5a 100644
--- a/tp/t/results/moreindices/nodes_before_top_nodes.pl
+++ b/tp/t/results/moreindices/nodes_before_top_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -2766,6 +2766,27 @@ $result_errors{'nodes_before_top_nodes'} = [];
 $result_floats{'nodes_before_top_nodes'} = {};
 
 
+$result_sort_strings{'nodes_before_top_nodes'} = {
+  'cp' => [
+    '! entry in node',
+    'a concept a node',
+    'another',
+    'entry a',
+    'entry after printindex',
+    'entry in node',
+    'first before top',
+    'node in menu before top',
+    'printindex node in menu before top',
+    'something'
+  ],
+  'fn' => [
+    'a function',
+    'fun in node',
+    'somewhere'
+  ]
+};
+
+
 $result_converted_errors{'file_html'}->{'nodes_before_top_nodes'} = [
   {
     'error_line' => 'nodes_before_top.texi: warning: must specify a title with 
a title command or @top
diff --git a/tp/t/results/moreindices/split_chapter_index.pl 
b/tp/t/results/moreindices/split_chapter_index.pl
index e89baeb..7cabda8 100644
--- a/tp/t/results/moreindices/split_chapter_index.pl
+++ b/tp/t/results/moreindices/split_chapter_index.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1903,4 +1903,24 @@ $result_errors{'split_chapter_index'} = [];
 $result_floats{'split_chapter_index'} = {};
 
 
+$result_sort_strings{'split_chapter_index'} = {
+  'cp' => [
+    '! entry in node',
+    'a concept in first',
+    'another',
+    'entry a',
+    'entry after printindex',
+    'entry in node',
+    'entry in node',
+    'printindex subsection 2',
+    'something'
+  ],
+  'fn' => [
+    'a function',
+    'fun in node',
+    'somewhere'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/moresectioning/equivalent_nodes.pl 
b/tp/t/results/moresectioning/equivalent_nodes.pl
index 33f4064..632ff9c 100644
--- a/tp/t/results/moresectioning/equivalent_nodes.pl
+++ b/tp/t/results/moresectioning/equivalent_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/moresectioning/equivalent_nodes_no_node.pl 
b/tp/t/results/moresectioning/equivalent_nodes_no_node.pl
index bec3f1c..f6c7a16 100644
--- a/tp/t/results/moresectioning/equivalent_nodes_no_node.pl
+++ b/tp/t/results/moresectioning/equivalent_nodes_no_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/moresectioning/more_sections_than_nodes.pl 
b/tp/t/results/moresectioning/more_sections_than_nodes.pl
index 1db6743..a536255 100644
--- a/tp/t/results/moresectioning/more_sections_than_nodes.pl
+++ b/tp/t/results/moresectioning/more_sections_than_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/moresectioning/node_footnote_end.pl 
b/tp/t/results/moresectioning/node_footnote_end.pl
index 2d50786..c77910d 100644
--- a/tp/t/results/moresectioning/node_footnote_end.pl
+++ b/tp/t/results/moresectioning/node_footnote_end.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/moresectioning/node_footnote_separated.pl 
b/tp/t/results/moresectioning/node_footnote_separated.pl
index b3eace7..e5f0ffa 100644
--- a/tp/t/results/moresectioning/node_footnote_separated.pl
+++ b/tp/t/results/moresectioning/node_footnote_separated.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/moresectioning/node_footnote_use_node.pl 
b/tp/t/results/moresectioning/node_footnote_use_node.pl
index 3a855d7..1e9a554 100644
--- a/tp/t/results/moresectioning/node_footnote_use_node.pl
+++ b/tp/t/results/moresectioning/node_footnote_use_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/moresectioning/nodes_after_top_before_chapter.pl 
b/tp/t/results/moresectioning/nodes_after_top_before_chapter.pl
index dc3b96d..5ab0cdf 100644
--- a/tp/t/results/moresectioning/nodes_after_top_before_chapter.pl
+++ b/tp/t/results/moresectioning/nodes_after_top_before_chapter.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/moresectioning/nodes_after_top_before_chapter_use_nodes_chapter.pl
 
b/tp/t/results/moresectioning/nodes_after_top_before_chapter_use_nodes_chapter.pl
index 09719f7..024b3ea 100644
--- 
a/tp/t/results/moresectioning/nodes_after_top_before_chapter_use_nodes_chapter.pl
+++ 
b/tp/t/results/moresectioning/nodes_after_top_before_chapter_use_nodes_chapter.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/moresectioning/nodes_after_top_before_section.pl 
b/tp/t/results/moresectioning/nodes_after_top_before_section.pl
index f568060..a5738c5 100644
--- a/tp/t/results/moresectioning/nodes_after_top_before_section.pl
+++ b/tp/t/results/moresectioning/nodes_after_top_before_section.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/moresectioning/nodes_after_top_before_section_use_nodes.pl 
b/tp/t/results/moresectioning/nodes_after_top_before_section_use_nodes.pl
index d5e9252..eb67776 100644
--- a/tp/t/results/moresectioning/nodes_after_top_before_section_use_nodes.pl
+++ b/tp/t/results/moresectioning/nodes_after_top_before_section_use_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/moresectioning/nodes_after_top_before_section_use_nodes_chapter.pl
 
b/tp/t/results/moresectioning/nodes_after_top_before_section_use_nodes_chapter.pl
index 6ab17da..4952f8e 100644
--- 
a/tp/t/results/moresectioning/nodes_after_top_before_section_use_nodes_chapter.pl
+++ 
b/tp/t/results/moresectioning/nodes_after_top_before_section_use_nodes_chapter.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/moresectioning/placed_things_before_element.pl 
b/tp/t/results/moresectioning/placed_things_before_element.pl
index 9ac07c9..f105e71 100644
--- a/tp/t/results/moresectioning/placed_things_before_element.pl
+++ b/tp/t/results/moresectioning/placed_things_before_element.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1110,4 +1110,11 @@ $result_floats{'placed_things_before_element'} = {
 };
 
 
+$result_sort_strings{'placed_things_before_element'} = {
+  'cp' => [
+    'index entry'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/moresectioning/sectioning_frames.pl 
b/tp/t/results/moresectioning/sectioning_frames.pl
index 7a60112..fb1ae2d 100644
--- a/tp/t/results/moresectioning/sectioning_frames.pl
+++ b/tp/t/results/moresectioning/sectioning_frames.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/moresectioning/top_node_up_explicit.pl 
b/tp/t/results/moresectioning/top_node_up_explicit.pl
index bc38559..535da3e 100644
--- a/tp/t/results/moresectioning/top_node_up_explicit.pl
+++ b/tp/t/results/moresectioning/top_node_up_explicit.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/moresectioning/top_node_up_implicit.pl 
b/tp/t/results/moresectioning/top_node_up_implicit.pl
index 022e8c3..ccb8a55 100644
--- a/tp/t/results/moresectioning/top_node_up_implicit.pl
+++ b/tp/t/results/moresectioning/top_node_up_implicit.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/moresectioning/two_footnotes_in_nodes.pl 
b/tp/t/results/moresectioning/two_footnotes_in_nodes.pl
index 5d34f54..eeb45da 100644
--- a/tp/t/results/moresectioning/two_footnotes_in_nodes.pl
+++ b/tp/t/results/moresectioning/two_footnotes_in_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/moresectioning/two_footnotes_in_nodes_separated.pl 
b/tp/t/results/moresectioning/two_footnotes_in_nodes_separated.pl
index 0f94016..aa7dd70 100644
--- a/tp/t/results/moresectioning/two_footnotes_in_nodes_separated.pl
+++ b/tp/t/results/moresectioning/two_footnotes_in_nodes_separated.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/multitable/empty_headitem.pl 
b/tp/t/results/multitable/empty_headitem.pl
index 2765dc5..5dd8764 100644
--- a/tp/t/results/multitable/empty_headitem.pl
+++ b/tp/t/results/multitable/empty_headitem.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/multitable/empty_item_tab.pl 
b/tp/t/results/multitable/empty_item_tab.pl
index 9e37b98..a23f7c8 100644
--- a/tp/t/results/multitable/empty_item_tab.pl
+++ b/tp/t/results/multitable/empty_item_tab.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/multitable/empty_multitable_with_cells.pl 
b/tp/t/results/multitable/empty_multitable_with_cells.pl
index a7d93f7..29b0a01 100644
--- a/tp/t/results/multitable/empty_multitable_with_cells.pl
+++ b/tp/t/results/multitable/empty_multitable_with_cells.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/multitable/inter_item_commands_in_multitable.pl 
b/tp/t/results/multitable/inter_item_commands_in_multitable.pl
index ff1ccca..82a49ae 100644
--- a/tp/t/results/multitable/inter_item_commands_in_multitable.pl
+++ b/tp/t/results/multitable/inter_item_commands_in_multitable.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1014,6 +1014,15 @@ $result_errors{'inter_item_commands_in_multitable'} = [
 $result_floats{'inter_item_commands_in_multitable'} = {};
 
 
+$result_sort_strings{'inter_item_commands_in_multitable'} = {
+  'cp' => [
+    'cindex',
+    'index entry between empty lines',
+    'index entry within multitable'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'inter_item_commands_in_multitable'} = 'truc
 
diff --git a/tp/t/results/multitable/multitable_begin_with_tab.pl 
b/tp/t/results/multitable/multitable_begin_with_tab.pl
index eea6897..8d1336e 100644
--- a/tp/t/results/multitable/multitable_begin_with_tab.pl
+++ b/tp/t/results/multitable/multitable_begin_with_tab.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/multitable/multitable_in_example.pl 
b/tp/t/results/multitable/multitable_in_example.pl
index 24bfbeb..7514e63 100644
--- a/tp/t/results/multitable/multitable_in_example.pl
+++ b/tp/t/results/multitable/multitable_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/multitable/multitable_not_closed.pl 
b/tp/t/results/multitable/multitable_not_closed.pl
index 23e4aed..15e27c1 100644
--- a/tp/t/results/multitable/multitable_not_closed.pl
+++ b/tp/t/results/multitable/multitable_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/multitable/multitable_not_closed_item.pl 
b/tp/t/results/multitable/multitable_not_closed_item.pl
index f633ffa..ef89f21 100644
--- a/tp/t/results/multitable/multitable_not_closed_item.pl
+++ b/tp/t/results/multitable/multitable_not_closed_item.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/multitable/multitable_not_closed_item_tab.pl 
b/tp/t/results/multitable/multitable_not_closed_item_tab.pl
index e6fe6a0..6c41921 100644
--- a/tp/t/results/multitable/multitable_not_closed_item_tab.pl
+++ b/tp/t/results/multitable/multitable_not_closed_item_tab.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/multitable/multitable_one_column_too_much_cells.pl 
b/tp/t/results/multitable/multitable_one_column_too_much_cells.pl
index b9fc9f0..c073db5 100644
--- a/tp/t/results/multitable/multitable_one_column_too_much_cells.pl
+++ b/tp/t/results/multitable/multitable_one_column_too_much_cells.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/multitable/multitable_two_columns_too_much_cells.pl 
b/tp/t/results/multitable/multitable_two_columns_too_much_cells.pl
index 424225a..d80fbf8 100644
--- a/tp/t/results/multitable/multitable_two_columns_too_much_cells.pl
+++ b/tp/t/results/multitable/multitable_two_columns_too_much_cells.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/multitable/multitable_with_empty_item_tab.pl 
b/tp/t/results/multitable/multitable_with_empty_item_tab.pl
index 3df02d2..c30e494 100644
--- a/tp/t/results/multitable/multitable_with_empty_item_tab.pl
+++ b/tp/t/results/multitable/multitable_with_empty_item_tab.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/multitable/not_letters_in_prototype.pl 
b/tp/t/results/multitable/not_letters_in_prototype.pl
index 1830eba..2dcc45b 100644
--- a/tp/t/results/multitable/not_letters_in_prototype.pl
+++ b/tp/t/results/multitable/not_letters_in_prototype.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/multitable/paragraph_in_cells.pl 
b/tp/t/results/multitable/paragraph_in_cells.pl
index 1e5de35..cdf1612 100644
--- a/tp/t/results/multitable/paragraph_in_cells.pl
+++ b/tp/t/results/multitable/paragraph_in_cells.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/multitable/prototype_brace_no_brace.pl 
b/tp/t/results/multitable/prototype_brace_no_brace.pl
index d1e98ac..9ce46ce 100644
--- a/tp/t/results/multitable/prototype_brace_no_brace.pl
+++ b/tp/t/results/multitable/prototype_brace_no_brace.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/multitable/prototype_brace_no_brace_comment.pl 
b/tp/t/results/multitable/prototype_brace_no_brace_comment.pl
index b814862..60bfd17 100644
--- a/tp/t/results/multitable/prototype_brace_no_brace_comment.pl
+++ b/tp/t/results/multitable/prototype_brace_no_brace_comment.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/multitable/prototype_no_brace.pl 
b/tp/t/results/multitable/prototype_no_brace.pl
index de12cb2..ada6df2 100644
--- a/tp/t/results/multitable/prototype_no_brace.pl
+++ b/tp/t/results/multitable/prototype_no_brace.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/multitable/ref_in_multitable.pl 
b/tp/t/results/multitable/ref_in_multitable.pl
index 028f99d..2f546dd 100644
--- a/tp/t/results/multitable/ref_in_multitable.pl
+++ b/tp/t/results/multitable/ref_in_multitable.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/multitable/w_in_multitable.pl 
b/tp/t/results/multitable/w_in_multitable.pl
index 4adf9ed..73789ed 100644
--- a/tp/t/results/multitable/w_in_multitable.pl
+++ b/tp/t/results/multitable/w_in_multitable.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/paragraph/close_paragraph_command.pl 
b/tp/t/results/paragraph/close_paragraph_command.pl
index 99f087c..4dbeea7 100644
--- a/tp/t/results/paragraph/close_paragraph_command.pl
+++ b/tp/t/results/paragraph/close_paragraph_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/paragraph/commands_in_flushright.pl 
b/tp/t/results/paragraph/commands_in_flushright.pl
index d8312e7..f05ce52 100644
--- a/tp/t/results/paragraph/commands_in_flushright.pl
+++ b/tp/t/results/paragraph/commands_in_flushright.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/paragraph/comment_between_text.pl 
b/tp/t/results/paragraph/comment_between_text.pl
index 4c86613..35c1a09 100644
--- a/tp/t/results/paragraph/comment_between_text.pl
+++ b/tp/t/results/paragraph/comment_between_text.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/paragraph/comment_in_quotation.pl 
b/tp/t/results/paragraph/comment_in_quotation.pl
index db264d6..929e324 100644
--- a/tp/t/results/paragraph/comment_in_quotation.pl
+++ b/tp/t/results/paragraph/comment_in_quotation.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/paragraph/double_style_paragraph.pl 
b/tp/t/results/paragraph/double_style_paragraph.pl
index 0bee7e0..67bebab 100644
--- a/tp/t/results/paragraph/double_style_paragraph.pl
+++ b/tp/t/results/paragraph/double_style_paragraph.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/paragraph/image_in_paragraph.pl 
b/tp/t/results/paragraph/image_in_paragraph.pl
index 9f527ba..5a7c618 100644
--- a/tp/t/results/paragraph/image_in_paragraph.pl
+++ b/tp/t/results/paragraph/image_in_paragraph.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/paragraph/no_paragraph_commands.pl 
b/tp/t/results/paragraph/no_paragraph_commands.pl
index ad4e758..cc08bd1 100644
--- a/tp/t/results/paragraph/no_paragraph_commands.pl
+++ b/tp/t/results/paragraph/no_paragraph_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/paragraph/paragraph_command.pl 
b/tp/t/results/paragraph/paragraph_command.pl
index 3dd01c8..fd7f387 100644
--- a/tp/t/results/paragraph/paragraph_command.pl
+++ b/tp/t/results/paragraph/paragraph_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/paragraph/paragraph_count_and_example.pl 
b/tp/t/results/paragraph/paragraph_count_and_example.pl
index 50008db..09dd4d6 100644
--- a/tp/t/results/paragraph/paragraph_count_and_example.pl
+++ b/tp/t/results/paragraph/paragraph_count_and_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/paragraph/paragraph_in_style_command.pl 
b/tp/t/results/paragraph/paragraph_in_style_command.pl
index 5009844..f0e24fa 100644
--- a/tp/t/results/paragraph/paragraph_in_style_command.pl
+++ b/tp/t/results/paragraph/paragraph_in_style_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/paragraph/paragraph_indent_asis.pl 
b/tp/t/results/paragraph/paragraph_indent_asis.pl
index 1c559d7..0535207 100644
--- a/tp/t/results/paragraph/paragraph_indent_asis.pl
+++ b/tp/t/results/paragraph/paragraph_indent_asis.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/paragraph/sole_image.pl 
b/tp/t/results/paragraph/sole_image.pl
index 84f01e2..1d92563 100644
--- a/tp/t/results/paragraph/sole_image.pl
+++ b/tp/t/results/paragraph/sole_image.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/paragraph/text.pl b/tp/t/results/paragraph/text.pl
index 137d37e..6c13b52 100644
--- a/tp/t/results/paragraph/text.pl
+++ b/tp/t/results/paragraph/text.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/paragraph/text_comment.pl 
b/tp/t/results/paragraph/text_comment.pl
index ea31d4d..96dcc71 100644
--- a/tp/t/results/paragraph/text_comment.pl
+++ b/tp/t/results/paragraph/text_comment.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/paragraph/text_line.pl 
b/tp/t/results/paragraph/text_line.pl
index 5fc714c..d2e0728 100644
--- a/tp/t/results/paragraph/text_line.pl
+++ b/tp/t/results/paragraph/text_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/paragraph/text_space_comment.pl 
b/tp/t/results/paragraph/text_space_comment.pl
index 7b2d2ad..acba7c6 100644
--- a/tp/t/results/paragraph/text_space_comment.pl
+++ b/tp/t/results/paragraph/text_space_comment.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/paragraph/two_lines.pl 
b/tp/t/results/paragraph/two_lines.pl
index de07aac..b03940d 100644
--- a/tp/t/results/paragraph/two_lines.pl
+++ b/tp/t/results/paragraph/two_lines.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/U_with_utf8_enable_encoding.pl 
b/tp/t/results/plaintext_tests/U_with_utf8_enable_encoding.pl
index 49a49ea..c67260d 100644
--- a/tp/t/results/plaintext_tests/U_with_utf8_enable_encoding.pl
+++ b/tp/t/results/plaintext_tests/U_with_utf8_enable_encoding.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/accent_command_punctuation.pl 
b/tp/t/results/plaintext_tests/accent_command_punctuation.pl
index c2c7275..ed04a6b 100644
--- a/tp/t/results/plaintext_tests/accent_command_punctuation.pl
+++ b/tp/t/results/plaintext_tests/accent_command_punctuation.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/accents_in_var_enable_encoding.pl 
b/tp/t/results/plaintext_tests/accents_in_var_enable_encoding.pl
index 8e9c2a6..c0d2e99 100644
--- a/tp/t/results/plaintext_tests/accents_in_var_enable_encoding.pl
+++ b/tp/t/results/plaintext_tests/accents_in_var_enable_encoding.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/plaintext_tests/after_punctuation_character_in_command.pl 
b/tp/t/results/plaintext_tests/after_punctuation_character_in_command.pl
index 5cff3c4..b6e9169 100644
--- a/tp/t/results/plaintext_tests/after_punctuation_character_in_command.pl
+++ b/tp/t/results/plaintext_tests/after_punctuation_character_in_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/all_spaces.pl 
b/tp/t/results/plaintext_tests/all_spaces.pl
index 5f195fa..d848dc2 100644
--- a/tp/t/results/plaintext_tests/all_spaces.pl
+++ b/tp/t/results/plaintext_tests/all_spaces.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/anchor_and_empty_lines.pl 
b/tp/t/results/plaintext_tests/anchor_and_empty_lines.pl
index 9256c1e..d13dc07 100644
--- a/tp/t/results/plaintext_tests/anchor_and_empty_lines.pl
+++ b/tp/t/results/plaintext_tests/anchor_and_empty_lines.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/at_commands_glued_in_example.pl 
b/tp/t/results/plaintext_tests/at_commands_glued_in_example.pl
index 3996382..19e4512 100644
--- a/tp/t/results/plaintext_tests/at_commands_glued_in_example.pl
+++ b/tp/t/results/plaintext_tests/at_commands_glued_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -693,6 +693,13 @@ $result_errors{'at_commands_glued_in_example'} = [
 $result_floats{'at_commands_glued_in_example'} = {};
 
 
+$result_sort_strings{'at_commands_glued_in_example'} = {
+  'cp' => [
+    'index'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'at_commands_glued_in_example'} = '     at@.
      TeXTeXTeX.
diff --git a/tp/t/results/plaintext_tests/at_commands_glued_in_paragraph.pl 
b/tp/t/results/plaintext_tests/at_commands_glued_in_paragraph.pl
index 95b0d8e..aef7e05 100644
--- a/tp/t/results/plaintext_tests/at_commands_glued_in_paragraph.pl
+++ b/tp/t/results/plaintext_tests/at_commands_glued_in_paragraph.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -638,6 +638,13 @@ $result_errors{'at_commands_glued_in_paragraph'} = [
 $result_floats{'at_commands_glued_in_paragraph'} = {};
 
 
+$result_sort_strings{'at_commands_glued_in_paragraph'} = {
+  'cp' => [
+    'index'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'at_commands_glued_in_paragraph'} = 'at@.  
TeXTeXTeX. code\'in code\'code.  acronymABC (aaa bb cc)acronym.
 acronym2ABCacronym.  emailmali <somebody>email.  ref*note Top::ref.
diff --git a/tp/t/results/plaintext_tests/before_accent_punctuation.pl 
b/tp/t/results/plaintext_tests/before_accent_punctuation.pl
index 3e7a541..a734a23 100644
--- a/tp/t/results/plaintext_tests/before_accent_punctuation.pl
+++ b/tp/t/results/plaintext_tests/before_accent_punctuation.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/characters_and_commands_in_var.pl 
b/tp/t/results/plaintext_tests/characters_and_commands_in_var.pl
index e399476..bbfb42e 100644
--- a/tp/t/results/plaintext_tests/characters_and_commands_in_var.pl
+++ b/tp/t/results/plaintext_tests/characters_and_commands_in_var.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/chinese_mixed_with_en.pl 
b/tp/t/results/plaintext_tests/chinese_mixed_with_en.pl
index 361d780..5d2b37f 100644
--- a/tp/t/results/plaintext_tests/chinese_mixed_with_en.pl
+++ b/tp/t/results/plaintext_tests/chinese_mixed_with_en.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/code_commands_and_punctuation.pl 
b/tp/t/results/plaintext_tests/code_commands_and_punctuation.pl
index 72eb437..153c770 100644
--- a/tp/t/results/plaintext_tests/code_commands_and_punctuation.pl
+++ b/tp/t/results/plaintext_tests/code_commands_and_punctuation.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/command_brace_no_arg_punctuation.pl 
b/tp/t/results/plaintext_tests/command_brace_no_arg_punctuation.pl
index 8f2a984..68aca3c 100644
--- a/tp/t/results/plaintext_tests/command_brace_no_arg_punctuation.pl
+++ b/tp/t/results/plaintext_tests/command_brace_no_arg_punctuation.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/commands_and_punctuation.pl 
b/tp/t/results/plaintext_tests/commands_and_punctuation.pl
index c4d9bf1..c2b5f2f 100644
--- a/tp/t/results/plaintext_tests/commands_and_punctuation.pl
+++ b/tp/t/results/plaintext_tests/commands_and_punctuation.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/east_asian_in_w.pl 
b/tp/t/results/plaintext_tests/east_asian_in_w.pl
index 2d1cd03..64d6551 100644
--- a/tp/t/results/plaintext_tests/east_asian_in_w.pl
+++ b/tp/t/results/plaintext_tests/east_asian_in_w.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/empty_line_in_example_end.pl 
b/tp/t/results/plaintext_tests/empty_line_in_example_end.pl
index 45cb4ed..760b5f1 100644
--- a/tp/t/results/plaintext_tests/empty_line_in_example_end.pl
+++ b/tp/t/results/plaintext_tests/empty_line_in_example_end.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/empty_multitable_in_itemize.pl 
b/tp/t/results/plaintext_tests/empty_multitable_in_itemize.pl
index 1492bbb..3e33a0d 100644
--- a/tp/t/results/plaintext_tests/empty_multitable_in_itemize.pl
+++ b/tp/t/results/plaintext_tests/empty_multitable_in_itemize.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/end_sentence_space_protected.pl 
b/tp/t/results/plaintext_tests/end_sentence_space_protected.pl
index db1ec8a..8779896 100644
--- a/tp/t/results/plaintext_tests/end_sentence_space_protected.pl
+++ b/tp/t/results/plaintext_tests/end_sentence_space_protected.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/expanded_tex.pl 
b/tp/t/results/plaintext_tests/expanded_tex.pl
index 39ce74d..626aa75 100644
--- a/tp/t/results/plaintext_tests/expanded_tex.pl
+++ b/tp/t/results/plaintext_tests/expanded_tex.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/flushright_not_closed_and_format.pl 
b/tp/t/results/plaintext_tests/flushright_not_closed_and_format.pl
index 02b4df8..c86d4c3 100644
--- a/tp/t/results/plaintext_tests/flushright_not_closed_and_format.pl
+++ b/tp/t/results/plaintext_tests/flushright_not_closed_and_format.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/html_expanded.pl 
b/tp/t/results/plaintext_tests/html_expanded.pl
index 6f748a4..be0e773 100644
--- a/tp/t/results/plaintext_tests/html_expanded.pl
+++ b/tp/t/results/plaintext_tests/html_expanded.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/inhibit_punctuation.pl 
b/tp/t/results/plaintext_tests/inhibit_punctuation.pl
index 66e7826..8a17ce6 100644
--- a/tp/t/results/plaintext_tests/inhibit_punctuation.pl
+++ b/tp/t/results/plaintext_tests/inhibit_punctuation.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/insert_copying_and_paragraph.pl 
b/tp/t/results/plaintext_tests/insert_copying_and_paragraph.pl
index e6cd825..e432254 100644
--- a/tp/t/results/plaintext_tests/insert_copying_and_paragraph.pl
+++ b/tp/t/results/plaintext_tests/insert_copying_and_paragraph.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/invalid_accent_punctuation.pl 
b/tp/t/results/plaintext_tests/invalid_accent_punctuation.pl
index 59da57f..d8d937f 100644
--- a/tp/t/results/plaintext_tests/invalid_accent_punctuation.pl
+++ b/tp/t/results/plaintext_tests/invalid_accent_punctuation.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/isolated_html_expanded.pl 
b/tp/t/results/plaintext_tests/isolated_html_expanded.pl
index d529195..25c40ed 100644
--- a/tp/t/results/plaintext_tests/isolated_html_expanded.pl
+++ b/tp/t/results/plaintext_tests/isolated_html_expanded.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/itemize_in_headitem_in_example.pl 
b/tp/t/results/plaintext_tests/itemize_in_headitem_in_example.pl
index f25ab00..9ebda70 100644
--- a/tp/t/results/plaintext_tests/itemize_in_headitem_in_example.pl
+++ b/tp/t/results/plaintext_tests/itemize_in_headitem_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/japanese_utf8.pl 
b/tp/t/results/plaintext_tests/japanese_utf8.pl
index 1034027..7b188d8 100644
--- a/tp/t/results/plaintext_tests/japanese_utf8.pl
+++ b/tp/t/results/plaintext_tests/japanese_utf8.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/line_passed_and_formats.pl 
b/tp/t/results/plaintext_tests/line_passed_and_formats.pl
index 1e166ae..5ff831e 100644
--- a/tp/t/results/plaintext_tests/line_passed_and_formats.pl
+++ b/tp/t/results/plaintext_tests/line_passed_and_formats.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/lone_braces_in_inlineraw.pl 
b/tp/t/results/plaintext_tests/lone_braces_in_inlineraw.pl
index 0c91f73..4bf70c4 100644
--- a/tp/t/results/plaintext_tests/lone_braces_in_inlineraw.pl
+++ b/tp/t/results/plaintext_tests/lone_braces_in_inlineraw.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/long_line.pl 
b/tp/t/results/plaintext_tests/long_line.pl
index d8eaeab..b3b5dbb 100644
--- a/tp/t/results/plaintext_tests/long_line.pl
+++ b/tp/t/results/plaintext_tests/long_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/long_uref_after_item.pl 
b/tp/t/results/plaintext_tests/long_uref_after_item.pl
index e8de415..6ae5c27 100644
--- a/tp/t/results/plaintext_tests/long_uref_after_item.pl
+++ b/tp/t/results/plaintext_tests/long_uref_after_item.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/multiline_image_and_align.pl 
b/tp/t/results/plaintext_tests/multiline_image_and_align.pl
index 45dd8d0..72c19c7 100644
--- a/tp/t/results/plaintext_tests/multiline_image_and_align.pl
+++ b/tp/t/results/plaintext_tests/multiline_image_and_align.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/multiline_verb_after_space.pl 
b/tp/t/results/plaintext_tests/multiline_verb_after_space.pl
index 06166e1..1d937e1 100644
--- a/tp/t/results/plaintext_tests/multiline_verb_after_space.pl
+++ b/tp/t/results/plaintext_tests/multiline_verb_after_space.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/multitable.pl 
b/tp/t/results/plaintext_tests/multitable.pl
index adcafea..6f02273 100644
--- a/tp/t/results/plaintext_tests/multitable.pl
+++ b/tp/t/results/plaintext_tests/multitable.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/plaintext_tests/multitable_in_example_extraneous_tab.pl 
b/tp/t/results/plaintext_tests/multitable_in_example_extraneous_tab.pl
index 94f4cf1..0d7abc9 100644
--- a/tp/t/results/plaintext_tests/multitable_in_example_extraneous_tab.pl
+++ b/tp/t/results/plaintext_tests/multitable_in_example_extraneous_tab.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/nested_code_commands.pl 
b/tp/t/results/plaintext_tests/nested_code_commands.pl
index c44e682..f1d62a7 100644
--- a/tp/t/results/plaintext_tests/nested_code_commands.pl
+++ b/tp/t/results/plaintext_tests/nested_code_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/nested_indentedblock.pl 
b/tp/t/results/plaintext_tests/nested_indentedblock.pl
index e3ace4b..7097288 100644
--- a/tp/t/results/plaintext_tests/nested_indentedblock.pl
+++ b/tp/t/results/plaintext_tests/nested_indentedblock.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/nested_multitable.pl 
b/tp/t/results/plaintext_tests/nested_multitable.pl
index ce701f9..76b4b3c 100644
--- a/tp/t/results/plaintext_tests/nested_multitable.pl
+++ b/tp/t/results/plaintext_tests/nested_multitable.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/no_empty_line_after_section.pl 
b/tp/t/results/plaintext_tests/no_empty_line_after_section.pl
index 929d23f..37be64b 100644
--- a/tp/t/results/plaintext_tests/no_empty_line_after_section.pl
+++ b/tp/t/results/plaintext_tests/no_empty_line_after_section.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/no_punctuation_commands.pl 
b/tp/t/results/plaintext_tests/no_punctuation_commands.pl
index ebb0aa1..a6ba978 100644
--- a/tp/t/results/plaintext_tests/no_punctuation_commands.pl
+++ b/tp/t/results/plaintext_tests/no_punctuation_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/plaintext_tests/no_punctuation_commands_frenchspacing.pl 
b/tp/t/results/plaintext_tests/no_punctuation_commands_frenchspacing.pl
index d947e8e..b184d7f 100644
--- a/tp/t/results/plaintext_tests/no_punctuation_commands_frenchspacing.pl
+++ b/tp/t/results/plaintext_tests/no_punctuation_commands_frenchspacing.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/non_break_spaces.pl 
b/tp/t/results/plaintext_tests/non_break_spaces.pl
index d597b32..59a4a09 100644
--- a/tp/t/results/plaintext_tests/non_break_spaces.pl
+++ b/tp/t/results/plaintext_tests/non_break_spaces.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/paragraphindent.pl 
b/tp/t/results/plaintext_tests/paragraphindent.pl
index 6fbed83..2c96cfe 100644
--- a/tp/t/results/plaintext_tests/paragraphindent.pl
+++ b/tp/t/results/plaintext_tests/paragraphindent.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/protect_spaces_on_line.pl 
b/tp/t/results/plaintext_tests/protect_spaces_on_line.pl
index b842911..a35f25d 100644
--- a/tp/t/results/plaintext_tests/protect_spaces_on_line.pl
+++ b/tp/t/results/plaintext_tests/protect_spaces_on_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/protected_space_end_line.pl 
b/tp/t/results/plaintext_tests/protected_space_end_line.pl
index 77c8de4..6856c7a 100644
--- a/tp/t/results/plaintext_tests/protected_space_end_line.pl
+++ b/tp/t/results/plaintext_tests/protected_space_end_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/punctuation.pl 
b/tp/t/results/plaintext_tests/punctuation.pl
index 153e971..c97bb78 100644
--- a/tp/t/results/plaintext_tests/punctuation.pl
+++ b/tp/t/results/plaintext_tests/punctuation.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/punctuation_abbr_acronym.pl 
b/tp/t/results/plaintext_tests/punctuation_abbr_acronym.pl
index 91ec62c..d25dd45 100644
--- a/tp/t/results/plaintext_tests/punctuation_abbr_acronym.pl
+++ b/tp/t/results/plaintext_tests/punctuation_abbr_acronym.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/plaintext_tests/punctuation_and_code_style_commands.pl 
b/tp/t/results/plaintext_tests/punctuation_and_code_style_commands.pl
index da84a31..285d8b7 100644
--- a/tp/t/results/plaintext_tests/punctuation_and_code_style_commands.pl
+++ b/tp/t/results/plaintext_tests/punctuation_and_code_style_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/plaintext_tests/punctuation_and_code_style_commands_utf8.pl 
b/tp/t/results/plaintext_tests/punctuation_and_code_style_commands_utf8.pl
index 6b5458a..00ac98f 100644
--- a/tp/t/results/plaintext_tests/punctuation_and_code_style_commands_utf8.pl
+++ b/tp/t/results/plaintext_tests/punctuation_and_code_style_commands_utf8.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/punctuation_and_footnotes.pl 
b/tp/t/results/plaintext_tests/punctuation_and_footnotes.pl
index 0c09134..989e1f4 100644
--- a/tp/t/results/plaintext_tests/punctuation_and_footnotes.pl
+++ b/tp/t/results/plaintext_tests/punctuation_and_footnotes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/plaintext_tests/punctuation_and_footnotes_frenchspacing.pl 
b/tp/t/results/plaintext_tests/punctuation_and_footnotes_frenchspacing.pl
index 50ec65d..3ad876b 100644
--- a/tp/t/results/plaintext_tests/punctuation_and_footnotes_frenchspacing.pl
+++ b/tp/t/results/plaintext_tests/punctuation_and_footnotes_frenchspacing.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/plaintext_tests/punctuation_and_upper_case_commands.pl 
b/tp/t/results/plaintext_tests/punctuation_and_upper_case_commands.pl
index 21bfa2e..d7568a9 100644
--- a/tp/t/results/plaintext_tests/punctuation_and_upper_case_commands.pl
+++ b/tp/t/results/plaintext_tests/punctuation_and_upper_case_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/plaintext_tests/punctuation_and_upper_case_commands_utf8.pl 
b/tp/t/results/plaintext_tests/punctuation_and_upper_case_commands_utf8.pl
index d62cb05..7be469e 100644
--- a/tp/t/results/plaintext_tests/punctuation_and_upper_case_commands_utf8.pl
+++ b/tp/t/results/plaintext_tests/punctuation_and_upper_case_commands_utf8.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/punctuation_at_end_command.pl 
b/tp/t/results/plaintext_tests/punctuation_at_end_command.pl
index d08de05..33eb1d2 100644
--- a/tp/t/results/plaintext_tests/punctuation_at_end_command.pl
+++ b/tp/t/results/plaintext_tests/punctuation_at_end_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/punctuation_commands.pl 
b/tp/t/results/plaintext_tests/punctuation_commands.pl
index d0639e4..d866ee7 100644
--- a/tp/t/results/plaintext_tests/punctuation_commands.pl
+++ b/tp/t/results/plaintext_tests/punctuation_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/punctuation_commands_frenchspacing.pl 
b/tp/t/results/plaintext_tests/punctuation_commands_frenchspacing.pl
index e480226..644817a 100644
--- a/tp/t/results/plaintext_tests/punctuation_commands_frenchspacing.pl
+++ b/tp/t/results/plaintext_tests/punctuation_commands_frenchspacing.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/punctuation_frenchspacing.pl 
b/tp/t/results/plaintext_tests/punctuation_frenchspacing.pl
index 49ef6a7..5124926 100644
--- a/tp/t/results/plaintext_tests/punctuation_frenchspacing.pl
+++ b/tp/t/results/plaintext_tests/punctuation_frenchspacing.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/punctuation_in_command.pl 
b/tp/t/results/plaintext_tests/punctuation_in_command.pl
index e2461b5..648e53a 100644
--- a/tp/t/results/plaintext_tests/punctuation_in_command.pl
+++ b/tp/t/results/plaintext_tests/punctuation_in_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/punctuation_in_command_end_line.pl 
b/tp/t/results/plaintext_tests/punctuation_in_command_end_line.pl
index 83f0982..fb419a3 100644
--- a/tp/t/results/plaintext_tests/punctuation_in_command_end_line.pl
+++ b/tp/t/results/plaintext_tests/punctuation_in_command_end_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/punctuation_in_sc.pl 
b/tp/t/results/plaintext_tests/punctuation_in_sc.pl
index 4128875..47d2b1d 100644
--- a/tp/t/results/plaintext_tests/punctuation_in_sc.pl
+++ b/tp/t/results/plaintext_tests/punctuation_in_sc.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/quote_node_names.pl 
b/tp/t/results/plaintext_tests/quote_node_names.pl
index 42ac7c9..4cb426c 100644
--- a/tp/t/results/plaintext_tests/quote_node_names.pl
+++ b/tp/t/results/plaintext_tests/quote_node_names.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/sc_with_utf8_enable_encoding.pl 
b/tp/t/results/plaintext_tests/sc_with_utf8_enable_encoding.pl
index 5f51ec2..13ef43f 100644
--- a/tp/t/results/plaintext_tests/sc_with_utf8_enable_encoding.pl
+++ b/tp/t/results/plaintext_tests/sc_with_utf8_enable_encoding.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/settitle_and_empty_top.pl 
b/tp/t/results/plaintext_tests/settitle_and_empty_top.pl
index c0d6e15..1cedb62 100644
--- a/tp/t/results/plaintext_tests/settitle_and_empty_top.pl
+++ b/tp/t/results/plaintext_tests/settitle_and_empty_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/sp_with_text_before_in_example.pl 
b/tp/t/results/plaintext_tests/sp_with_text_before_in_example.pl
index 50858b4..f4ef517 100644
--- a/tp/t/results/plaintext_tests/sp_with_text_before_in_example.pl
+++ b/tp/t/results/plaintext_tests/sp_with_text_before_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/star_at_command_formatting.pl 
b/tp/t/results/plaintext_tests/star_at_command_formatting.pl
index 29a46fd..27ec930 100644
--- a/tp/t/results/plaintext_tests/star_at_command_formatting.pl
+++ b/tp/t/results/plaintext_tests/star_at_command_formatting.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/tab_in_table_in_example.pl 
b/tp/t/results/plaintext_tests/tab_in_table_in_example.pl
index b0452c0..6f4eb2d 100644
--- a/tp/t/results/plaintext_tests/tab_in_table_in_example.pl
+++ b/tp/t/results/plaintext_tests/tab_in_table_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/tab_item_in_example.pl 
b/tp/t/results/plaintext_tests/tab_item_in_example.pl
index e2b936c..b955bef 100644
--- a/tp/t/results/plaintext_tests/tab_item_in_example.pl
+++ b/tp/t/results/plaintext_tests/tab_item_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/plaintext_tests/transparent_text.pl 
b/tp/t/results/plaintext_tests/transparent_text.pl
index 3fd7254..75d02df 100644
--- a/tp/t/results/plaintext_tests/transparent_text.pl
+++ b/tp/t/results/plaintext_tests/transparent_text.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/preformatted/caption_in_example.pl 
b/tp/t/results/preformatted/caption_in_example.pl
index ed54dad..a57a49f 100644
--- a/tp/t/results/preformatted/caption_in_example.pl
+++ b/tp/t/results/preformatted/caption_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/preformatted/comment_example_and_blank_lines.pl 
b/tp/t/results/preformatted/comment_example_and_blank_lines.pl
index 7c97b1d..f61fbc8 100644
--- a/tp/t/results/preformatted/comment_example_and_blank_lines.pl
+++ b/tp/t/results/preformatted/comment_example_and_blank_lines.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/preformatted/comments_in_example.pl 
b/tp/t/results/preformatted/comments_in_example.pl
index 4064e3c..4a14455 100644
--- a/tp/t/results/preformatted/comments_in_example.pl
+++ b/tp/t/results/preformatted/comments_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/preformatted/def_in_example.pl 
b/tp/t/results/preformatted/def_in_example.pl
index df4588a..a1cbe44 100644
--- a/tp/t/results/preformatted/def_in_example.pl
+++ b/tp/t/results/preformatted/def_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -274,6 +274,13 @@ $result_errors{'def_in_example'} = [
 $result_floats{'def_in_example'} = {};
 
 
+$result_sort_strings{'def_in_example'} = {
+  'fn' => [
+    'name'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'def_in_example'} = '      -- Function: name 
arg
           in defun
diff --git a/tp/t/results/preformatted/empty_line.pl 
b/tp/t/results/preformatted/empty_line.pl
index ed566c4..e9c449d 100644
--- a/tp/t/results/preformatted/empty_line.pl
+++ b/tp/t/results/preformatted/empty_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/preformatted/empty_line_style_command.pl 
b/tp/t/results/preformatted/empty_line_style_command.pl
index 3209526..ed30145 100644
--- a/tp/t/results/preformatted/empty_line_style_command.pl
+++ b/tp/t/results/preformatted/empty_line_style_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/preformatted/insertcopying_in_example.pl 
b/tp/t/results/preformatted/insertcopying_in_example.pl
index 30f6068..d76a46f 100644
--- a/tp/t/results/preformatted/insertcopying_in_example.pl
+++ b/tp/t/results/preformatted/insertcopying_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/preformatted/nested_example_and_comment.pl 
b/tp/t/results/preformatted/nested_example_and_comment.pl
index 4fbc850..55166be 100644
--- a/tp/t/results/preformatted/nested_example_and_comment.pl
+++ b/tp/t/results/preformatted/nested_example_and_comment.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/preformatted/nested_formats.pl 
b/tp/t/results/preformatted/nested_formats.pl
index e2789b9..b2b7f41 100644
--- a/tp/t/results/preformatted/nested_formats.pl
+++ b/tp/t/results/preformatted/nested_formats.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/preformatted/page_in_example.pl 
b/tp/t/results/preformatted/page_in_example.pl
index da8b2bc..f63e739 100644
--- a/tp/t/results/preformatted/page_in_example.pl
+++ b/tp/t/results/preformatted/page_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/preformatted/quote_dash_in_display.pl 
b/tp/t/results/preformatted/quote_dash_in_display.pl
index 6d7c92a..aba8374 100644
--- a/tp/t/results/preformatted/quote_dash_in_display.pl
+++ b/tp/t/results/preformatted/quote_dash_in_display.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/preformatted/quote_dash_in_example.pl 
b/tp/t/results/preformatted/quote_dash_in_example.pl
index 5840665..309f206 100644
--- a/tp/t/results/preformatted/quote_dash_in_example.pl
+++ b/tp/t/results/preformatted/quote_dash_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/preformatted/text_on_display_command_line.pl 
b/tp/t/results/preformatted/text_on_display_command_line.pl
index aab08c3..b8254a8 100644
--- a/tp/t/results/preformatted/text_on_display_command_line.pl
+++ b/tp/t/results/preformatted/text_on_display_command_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/preformatted/text_on_example_command_line.pl 
b/tp/t/results/preformatted/text_on_example_command_line.pl
index 1d8d8e5..70456ee 100644
--- a/tp/t/results/preformatted/text_on_example_command_line.pl
+++ b/tp/t/results/preformatted/text_on_example_command_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/preformatted/titlefont_in_example.pl 
b/tp/t/results/preformatted/titlefont_in_example.pl
index 901dfab..e283f98 100644
--- a/tp/t/results/preformatted/titlefont_in_example.pl
+++ b/tp/t/results/preformatted/titlefont_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/quotation/comment_on_quotation_line.pl 
b/tp/t/results/quotation/comment_on_quotation_line.pl
index e2d75d9..f48bc0e 100644
--- a/tp/t/results/quotation/comment_on_quotation_line.pl
+++ b/tp/t/results/quotation/comment_on_quotation_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/quotation/empty_quotation.pl 
b/tp/t/results/quotation/empty_quotation.pl
index 65cf6bc..0ea1a3c 100644
--- a/tp/t/results/quotation/empty_quotation.pl
+++ b/tp/t/results/quotation/empty_quotation.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/quotation/only_comment_on_quotation_line.pl 
b/tp/t/results/quotation/only_comment_on_quotation_line.pl
index 6476bde..bad6884 100644
--- a/tp/t/results/quotation/only_comment_on_quotation_line.pl
+++ b/tp/t/results/quotation/only_comment_on_quotation_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/quotation/quotation_and_author.pl 
b/tp/t/results/quotation/quotation_and_author.pl
index f625ed0..e3a7319 100644
--- a/tp/t/results/quotation/quotation_and_author.pl
+++ b/tp/t/results/quotation/quotation_and_author.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/quotation/quotation_author_in_example.pl 
b/tp/t/results/quotation/quotation_author_in_example.pl
index ec5e69e..d2984d8 100644
--- a/tp/t/results/quotation/quotation_author_in_example.pl
+++ b/tp/t/results/quotation/quotation_author_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/quotation/quotation_beginning_and_end_on_line.pl 
b/tp/t/results/quotation/quotation_beginning_and_end_on_line.pl
index 9a6ed4f..838dd94 100644
--- a/tp/t/results/quotation/quotation_beginning_and_end_on_line.pl
+++ b/tp/t/results/quotation/quotation_beginning_and_end_on_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/quotation/space_at_commands_end_quotation_line.pl 
b/tp/t/results/quotation/space_at_commands_end_quotation_line.pl
index 172de3e..2ef540d 100644
--- a/tp/t/results/quotation/space_at_commands_end_quotation_line.pl
+++ b/tp/t/results/quotation/space_at_commands_end_quotation_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/quotation/standard_quotations.pl 
b/tp/t/results/quotation/standard_quotations.pl
index d7f795e..e14f916 100644
--- a/tp/t/results/quotation/standard_quotations.pl
+++ b/tp/t/results/quotation/standard_quotations.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/beginning_and_end_on_line.pl 
b/tp/t/results/raw/beginning_and_end_on_line.pl
index 4cdacda..539bf34 100644
--- a/tp/t/results/raw/beginning_and_end_on_line.pl
+++ b/tp/t/results/raw/beginning_and_end_on_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/braces_in_tex.pl 
b/tp/t/results/raw/braces_in_tex.pl
index 167572b..e7d9342 100644
--- a/tp/t/results/raw/braces_in_tex.pl
+++ b/tp/t/results/raw/braces_in_tex.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/displaymath.pl b/tp/t/results/raw/displaymath.pl
index 7bcd020..a39ac6f 100644
--- a/tp/t/results/raw/displaymath.pl
+++ b/tp/t/results/raw/displaymath.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/inline_in_example.pl 
b/tp/t/results/raw/inline_in_example.pl
index 3915e2e..2ef14af 100644
--- a/tp/t/results/raw/inline_in_example.pl
+++ b/tp/t/results/raw/inline_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/inline_missing_first_arg.pl 
b/tp/t/results/raw/inline_missing_first_arg.pl
index f759b42..3ab2f5c 100644
--- a/tp/t/results/raw/inline_missing_first_arg.pl
+++ b/tp/t/results/raw/inline_missing_first_arg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/inlinefmt.pl b/tp/t/results/raw/inlinefmt.pl
index 890352f..20b1daf 100644
--- a/tp/t/results/raw/inlinefmt.pl
+++ b/tp/t/results/raw/inlinefmt.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/inlinefmt_with_empty_line.pl 
b/tp/t/results/raw/inlinefmt_with_empty_line.pl
index 2399923..4c9fdaa 100644
--- a/tp/t/results/raw/inlinefmt_with_empty_line.pl
+++ b/tp/t/results/raw/inlinefmt_with_empty_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/inlineraw.pl b/tp/t/results/raw/inlineraw.pl
index b9dff58..6c17595 100644
--- a/tp/t/results/raw/inlineraw.pl
+++ b/tp/t/results/raw/inlineraw.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/inlineraw_with_empty_line.pl 
b/tp/t/results/raw/inlineraw_with_empty_line.pl
index c65e58c..b2fb0fb 100644
--- a/tp/t/results/raw/inlineraw_with_empty_line.pl
+++ b/tp/t/results/raw/inlineraw_with_empty_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/lone_braces_in_html.pl 
b/tp/t/results/raw/lone_braces_in_html.pl
index 73c8b08..df0061a 100644
--- a/tp/t/results/raw/lone_braces_in_html.pl
+++ b/tp/t/results/raw/lone_braces_in_html.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/misc_raw.pl b/tp/t/results/raw/misc_raw.pl
index 51e6b92..1721f01 100644
--- a/tp/t/results/raw/misc_raw.pl
+++ b/tp/t/results/raw/misc_raw.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/misc_raw_comments.pl 
b/tp/t/results/raw/misc_raw_comments.pl
index b943355..b46ba2d 100644
--- a/tp/t/results/raw/misc_raw_comments.pl
+++ b/tp/t/results/raw/misc_raw_comments.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/nested_macros.pl 
b/tp/t/results/raw/nested_macros.pl
index d864123..8dcb821 100644
--- a/tp/t/results/raw/nested_macros.pl
+++ b/tp/t/results/raw/nested_macros.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/raw_commands_and_end_of_lines.pl 
b/tp/t/results/raw/raw_commands_and_end_of_lines.pl
index d5a7219..451c3db 100644
--- a/tp/t/results/raw/raw_commands_and_end_of_lines.pl
+++ b/tp/t/results/raw/raw_commands_and_end_of_lines.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/raw_expanded_in_style.pl 
b/tp/t/results/raw/raw_expanded_in_style.pl
index c9e67d6..d75a66a 100644
--- a/tp/t/results/raw/raw_expanded_in_style.pl
+++ b/tp/t/results/raw/raw_expanded_in_style.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/raw_in_example.pl 
b/tp/t/results/raw/raw_in_example.pl
index 5f59280..26f745e 100644
--- a/tp/t/results/raw/raw_in_example.pl
+++ b/tp/t/results/raw/raw_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/raw_in_para.pl b/tp/t/results/raw/raw_in_para.pl
index 3045bfb..df6a8de 100644
--- a/tp/t/results/raw/raw_in_para.pl
+++ b/tp/t/results/raw/raw_in_para.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/raw_in_style.pl b/tp/t/results/raw/raw_in_style.pl
index e53d1d5..80200be 100644
--- a/tp/t/results/raw/raw_in_style.pl
+++ b/tp/t/results/raw/raw_in_style.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/raw_not_closed.pl 
b/tp/t/results/raw/raw_not_closed.pl
index d0cb6c2..45b2ebd 100644
--- a/tp/t/results/raw/raw_not_closed.pl
+++ b/tp/t/results/raw/raw_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/tex_not_closed.pl 
b/tp/t/results/raw/tex_not_closed.pl
index 98ee0b8..023ec7b 100644
--- a/tp/t/results/raw/tex_not_closed.pl
+++ b/tp/t/results/raw/tex_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/verbatim_and_verbatiminclude.pl 
b/tp/t/results/raw/verbatim_and_verbatiminclude.pl
index dd06863..a9dea27 100644
--- a/tp/t/results/raw/verbatim_and_verbatiminclude.pl
+++ b/tp/t/results/raw/verbatim_and_verbatiminclude.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/verbatim_in_brace_command.pl 
b/tp/t/results/raw/verbatim_in_brace_command.pl
index c247d2d..40610cc 100644
--- a/tp/t/results/raw/verbatim_in_brace_command.pl
+++ b/tp/t/results/raw/verbatim_in_brace_command.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/raw/verbatim_not_closed.pl 
b/tp/t/results/raw/verbatim_not_closed.pl
index 90988e7..1606344 100644
--- a/tp/t/results/raw/verbatim_not_closed.pl
+++ b/tp/t/results/raw/verbatim_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/regions/anchor_in_copying.pl 
b/tp/t/results/regions/anchor_in_copying.pl
index 90aa5ad..efe4a57 100644
--- a/tp/t/results/regions/anchor_in_copying.pl
+++ b/tp/t/results/regions/anchor_in_copying.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/regions/anchor_in_copying_in_footnote.pl 
b/tp/t/results/regions/anchor_in_copying_in_footnote.pl
index bb0d7b8..caee9e9 100644
--- a/tp/t/results/regions/anchor_in_copying_in_footnote.pl
+++ b/tp/t/results/regions/anchor_in_copying_in_footnote.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/regions/anchor_in_titlepage.pl 
b/tp/t/results/regions/anchor_in_titlepage.pl
index 47de7a2..e92274d 100644
--- a/tp/t/results/regions/anchor_in_titlepage.pl
+++ b/tp/t/results/regions/anchor_in_titlepage.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/regions/anchor_in_titlepage_titlepage.pl 
b/tp/t/results/regions/anchor_in_titlepage_titlepage.pl
index afaba47..000125c 100644
--- a/tp/t/results/regions/anchor_in_titlepage_titlepage.pl
+++ b/tp/t/results/regions/anchor_in_titlepage_titlepage.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/regions/copying_not_closed.pl 
b/tp/t/results/regions/copying_not_closed.pl
index 8250cfd..b93a930 100644
--- a/tp/t/results/regions/copying_not_closed.pl
+++ b/tp/t/results/regions/copying_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/regions/double_copying.pl 
b/tp/t/results/regions/double_copying.pl
index 777bc94..9269455 100644
--- a/tp/t/results/regions/double_copying.pl
+++ b/tp/t/results/regions/double_copying.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/regions/double_titlepage_not_closed.pl 
b/tp/t/results/regions/double_titlepage_not_closed.pl
index 0433d79..8a83f2e 100644
--- a/tp/t/results/regions/double_titlepage_not_closed.pl
+++ b/tp/t/results/regions/double_titlepage_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/regions/format_in_titlepage.pl 
b/tp/t/results/regions/format_in_titlepage.pl
index 245d0ad..8eef334 100644
--- a/tp/t/results/regions/format_in_titlepage.pl
+++ b/tp/t/results/regions/format_in_titlepage.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/regions/format_in_titlepage_titlepage.pl 
b/tp/t/results/regions/format_in_titlepage_titlepage.pl
index 316fe54..39950a0 100644
--- a/tp/t/results/regions/format_in_titlepage_titlepage.pl
+++ b/tp/t/results/regions/format_in_titlepage_titlepage.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/regions/ref_in_copying.pl 
b/tp/t/results/regions/ref_in_copying.pl
index 2582961..028232a 100644
--- a/tp/t/results/regions/ref_in_copying.pl
+++ b/tp/t/results/regions/ref_in_copying.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/regions/today_in_copying.pl 
b/tp/t/results/regions/today_in_copying.pl
index b3ab409..dd5b566 100644
--- a/tp/t/results/regions/today_in_copying.pl
+++ b/tp/t/results/regions/today_in_copying.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/a_comma_after_node.pl 
b/tp/t/results/sectioning/a_comma_after_node.pl
index 7d77698..745bdd0 100644
--- a/tp/t/results/sectioning/a_comma_after_node.pl
+++ b/tp/t/results/sectioning/a_comma_after_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/anchor_in_footnote.pl 
b/tp/t/results/sectioning/anchor_in_footnote.pl
index 9dc98f4..14d184f 100644
--- a/tp/t/results/sectioning/anchor_in_footnote.pl
+++ b/tp/t/results/sectioning/anchor_in_footnote.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/anchor_in_footnote_separate.pl 
b/tp/t/results/sectioning/anchor_in_footnote_separate.pl
index f34a458..6a11bce 100644
--- a/tp/t/results/sectioning/anchor_in_footnote_separate.pl
+++ b/tp/t/results/sectioning/anchor_in_footnote_separate.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/anchor_zero.pl 
b/tp/t/results/sectioning/anchor_zero.pl
index 77eea9f..540f29d 100644
--- a/tp/t/results/sectioning/anchor_zero.pl
+++ b/tp/t/results/sectioning/anchor_zero.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/at_commands_in_node.pl 
b/tp/t/results/sectioning/at_commands_in_node.pl
index 470b3de..7caca9f 100644
--- a/tp/t/results/sectioning/at_commands_in_node.pl
+++ b/tp/t/results/sectioning/at_commands_in_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/chapter_before_and_after_part.pl 
b/tp/t/results/sectioning/chapter_before_and_after_part.pl
index d9abf89..944206e 100644
--- a/tp/t/results/sectioning/chapter_before_and_after_part.pl
+++ b/tp/t/results/sectioning/chapter_before_and_after_part.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/chapter_before_part.pl 
b/tp/t/results/sectioning/chapter_before_part.pl
index b0d9135..ccf5a83 100644
--- a/tp/t/results/sectioning/chapter_before_part.pl
+++ b/tp/t/results/sectioning/chapter_before_part.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/chapter_between_nodes.pl 
b/tp/t/results/sectioning/chapter_between_nodes.pl
index 4118720..cfb2c62 100644
--- a/tp/t/results/sectioning/chapter_between_nodes.pl
+++ b/tp/t/results/sectioning/chapter_between_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/chapter_node_before_and_after_part.pl 
b/tp/t/results/sectioning/chapter_node_before_and_after_part.pl
index 06f3be8..ac220f7 100644
--- a/tp/t/results/sectioning/chapter_node_before_and_after_part.pl
+++ b/tp/t/results/sectioning/chapter_node_before_and_after_part.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/chapter_sections.pl 
b/tp/t/results/sectioning/chapter_sections.pl
index 0aa2808..92931cc 100644
--- a/tp/t/results/sectioning/chapter_sections.pl
+++ b/tp/t/results/sectioning/chapter_sections.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/character_and_spaces_in_node.pl 
b/tp/t/results/sectioning/character_and_spaces_in_node.pl
index a4ffb1a..c6cdf1c 100644
--- a/tp/t/results/sectioning/character_and_spaces_in_node.pl
+++ b/tp/t/results/sectioning/character_and_spaces_in_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/character_and_spaces_in_refs.pl 
b/tp/t/results/sectioning/character_and_spaces_in_refs.pl
index 1c5724e..d26cf3e 100644
--- a/tp/t/results/sectioning/character_and_spaces_in_refs.pl
+++ b/tp/t/results/sectioning/character_and_spaces_in_refs.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/character_and_spaces_in_refs_out.pl 
b/tp/t/results/sectioning/character_and_spaces_in_refs_out.pl
index 4ad0110..4c0172f 100644
--- a/tp/t/results/sectioning/character_and_spaces_in_refs_out.pl
+++ b/tp/t/results/sectioning/character_and_spaces_in_refs_out.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/complex.pl 
b/tp/t/results/sectioning/complex.pl
index 3ecb0c6..0d7f176 100644
--- a/tp/t/results/sectioning/complex.pl
+++ b/tp/t/results/sectioning/complex.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/complex_split_at_node.pl 
b/tp/t/results/sectioning/complex_split_at_node.pl
index 42816e4..efac218 100644
--- a/tp/t/results/sectioning/complex_split_at_node.pl
+++ b/tp/t/results/sectioning/complex_split_at_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/contents.pl 
b/tp/t/results/sectioning/contents.pl
index 10b112c..6c7d40c 100644
--- a/tp/t/results/sectioning/contents.pl
+++ b/tp/t/results/sectioning/contents.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/contents_and_shortcontents.pl 
b/tp/t/results/sectioning/contents_and_shortcontents.pl
index 6e8ccf1..81a4075 100644
--- a/tp/t/results/sectioning/contents_and_shortcontents.pl
+++ b/tp/t/results/sectioning/contents_and_shortcontents.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/contents_at_document_begin.pl 
b/tp/t/results/sectioning/contents_at_document_begin.pl
index 89de97b..7edf330 100644
--- a/tp/t/results/sectioning/contents_at_document_begin.pl
+++ b/tp/t/results/sectioning/contents_at_document_begin.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/contents_at_end_document.pl 
b/tp/t/results/sectioning/contents_at_end_document.pl
index d46fbb2..23ccd8c 100644
--- a/tp/t/results/sectioning/contents_at_end_document.pl
+++ b/tp/t/results/sectioning/contents_at_end_document.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/contents_at_end_document_after_node.pl 
b/tp/t/results/sectioning/contents_at_end_document_after_node.pl
index 0481c71a..1176915 100644
--- a/tp/t/results/sectioning/contents_at_end_document_after_node.pl
+++ b/tp/t/results/sectioning/contents_at_end_document_after_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/contents_in_document.pl 
b/tp/t/results/sectioning/contents_in_document.pl
index 5b49f53..f6a296e 100644
--- a/tp/t/results/sectioning/contents_in_document.pl
+++ b/tp/t/results/sectioning/contents_in_document.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/contents_in_html_text.pl 
b/tp/t/results/sectioning/contents_in_html_text.pl
index 074024f..14e3bfb 100644
--- a/tp/t/results/sectioning/contents_in_html_text.pl
+++ b/tp/t/results/sectioning/contents_in_html_text.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/contents_no_section.pl 
b/tp/t/results/sectioning/contents_no_section.pl
index 401c2af..eb1f990 100644
--- a/tp/t/results/sectioning/contents_no_section.pl
+++ b/tp/t/results/sectioning/contents_no_section.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/contents_with_only_top_node.pl 
b/tp/t/results/sectioning/contents_with_only_top_node.pl
index aa7a8d9..e862680 100644
--- a/tp/t/results/sectioning/contents_with_only_top_node.pl
+++ b/tp/t/results/sectioning/contents_with_only_top_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/double_node_anchor_float.pl 
b/tp/t/results/sectioning/double_node_anchor_float.pl
index 5ba1a99..f4e6bd5 100644
--- a/tp/t/results/sectioning/double_node_anchor_float.pl
+++ b/tp/t/results/sectioning/double_node_anchor_float.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/double_part.pl 
b/tp/t/results/sectioning/double_part.pl
index ac37c81..6e93cc4 100644
--- a/tp/t/results/sectioning/double_part.pl
+++ b/tp/t/results/sectioning/double_part.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/double_top.pl 
b/tp/t/results/sectioning/double_top.pl
index 9213e5b..50a9913 100644
--- a/tp/t/results/sectioning/double_top.pl
+++ b/tp/t/results/sectioning/double_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/double_top_in_menu.pl 
b/tp/t/results/sectioning/double_top_in_menu.pl
index db42ab0..b3eeb46 100644
--- a/tp/t/results/sectioning/double_top_in_menu.pl
+++ b/tp/t/results/sectioning/double_top_in_menu.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/double_top_section.pl 
b/tp/t/results/sectioning/double_top_section.pl
index 7abe6bd..31a9395 100644
--- a/tp/t/results/sectioning/double_top_section.pl
+++ b/tp/t/results/sectioning/double_top_section.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/email_in_node.pl 
b/tp/t/results/sectioning/email_in_node.pl
index cfbf29b..24d4f72 100644
--- a/tp/t/results/sectioning/email_in_node.pl
+++ b/tp/t/results/sectioning/email_in_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/empty_anchor.pl 
b/tp/t/results/sectioning/empty_anchor.pl
index 31f877c..e695359 100644
--- a/tp/t/results/sectioning/empty_anchor.pl
+++ b/tp/t/results/sectioning/empty_anchor.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/empty_node.pl 
b/tp/t/results/sectioning/empty_node.pl
index a34c259..901ff8e 100644
--- a/tp/t/results/sectioning/empty_node.pl
+++ b/tp/t/results/sectioning/empty_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/empty_nodes_with_commands.pl 
b/tp/t/results/sectioning/empty_nodes_with_commands.pl
index e9e0f75..00e928d 100644
--- a/tp/t/results/sectioning/empty_nodes_with_commands.pl
+++ b/tp/t/results/sectioning/empty_nodes_with_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/empty_ref_arg.pl 
b/tp/t/results/sectioning/empty_ref_arg.pl
index e89ae48..ffd952f 100644
--- a/tp/t/results/sectioning/empty_ref_arg.pl
+++ b/tp/t/results/sectioning/empty_ref_arg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/empty_refs.pl 
b/tp/t/results/sectioning/empty_refs.pl
index 4e05b9e..a14d339 100644
--- a/tp/t/results/sectioning/empty_refs.pl
+++ b/tp/t/results/sectioning/empty_refs.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/empty_top_node_up.pl 
b/tp/t/results/sectioning/empty_top_node_up.pl
index 5980d75..9b8e325 100644
--- a/tp/t/results/sectioning/empty_top_node_up.pl
+++ b/tp/t/results/sectioning/empty_top_node_up.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/equivalent_labels.pl 
b/tp/t/results/sectioning/equivalent_labels.pl
index b6af62c..b7e70f3 100644
--- a/tp/t/results/sectioning/equivalent_labels.pl
+++ b/tp/t/results/sectioning/equivalent_labels.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/equivalent_nodes.pl 
b/tp/t/results/sectioning/equivalent_nodes.pl
index d805b2e..9047e71 100644
--- a/tp/t/results/sectioning/equivalent_nodes.pl
+++ b/tp/t/results/sectioning/equivalent_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/explicit_node_directions.pl 
b/tp/t/results/sectioning/explicit_node_directions.pl
index 791c3d7..c87f37a 100644
--- a/tp/t/results/sectioning/explicit_node_directions.pl
+++ b/tp/t/results/sectioning/explicit_node_directions.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/external_node_in_menu.pl 
b/tp/t/results/sectioning/external_node_in_menu.pl
index 191f64f..753f452 100644
--- a/tp/t/results/sectioning/external_node_in_menu.pl
+++ b/tp/t/results/sectioning/external_node_in_menu.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/hole_in_sectioning.pl 
b/tp/t/results/sectioning/hole_in_sectioning.pl
index 3097909..2003f51 100644
--- a/tp/t/results/sectioning/hole_in_sectioning.pl
+++ b/tp/t/results/sectioning/hole_in_sectioning.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/internal_top_node_up.pl 
b/tp/t/results/sectioning/internal_top_node_up.pl
index 753170d..195b12a 100644
--- a/tp/t/results/sectioning/internal_top_node_up.pl
+++ b/tp/t/results/sectioning/internal_top_node_up.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/lone_Top_node.pl 
b/tp/t/results/sectioning/lone_Top_node.pl
index ca55ad8..976998a 100644
--- a/tp/t/results/sectioning/lone_Top_node.pl
+++ b/tp/t/results/sectioning/lone_Top_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/lone_contents.pl 
b/tp/t/results/sectioning/lone_contents.pl
index cd84820..2958e52 100644
--- a/tp/t/results/sectioning/lone_contents.pl
+++ b/tp/t/results/sectioning/lone_contents.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/loop_nodes.pl 
b/tp/t/results/sectioning/loop_nodes.pl
index c66df87..1005882 100644
--- a/tp/t/results/sectioning/loop_nodes.pl
+++ b/tp/t/results/sectioning/loop_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/lowered_subsubsection.pl 
b/tp/t/results/sectioning/lowered_subsubsection.pl
index 98c1bcd..98e5e36 100644
--- a/tp/t/results/sectioning/lowered_subsubsection.pl
+++ b/tp/t/results/sectioning/lowered_subsubsection.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/loweredheading.pl 
b/tp/t/results/sectioning/loweredheading.pl
index d616d8f..c38f811 100644
--- a/tp/t/results/sectioning/loweredheading.pl
+++ b/tp/t/results/sectioning/loweredheading.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/menutextorder.pl 
b/tp/t/results/sectioning/menutextorder.pl
index 9fb1236..2e2d303 100644
--- a/tp/t/results/sectioning/menutextorder.pl
+++ b/tp/t/results/sectioning/menutextorder.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/more_sections_than_nodes.pl 
b/tp/t/results/sectioning/more_sections_than_nodes.pl
index f558460..c4ac14e 100644
--- a/tp/t/results/sectioning/more_sections_than_nodes.pl
+++ b/tp/t/results/sectioning/more_sections_than_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/next_in_menu_is_below.pl 
b/tp/t/results/sectioning/next_in_menu_is_below.pl
index d03e4c6..66d24e0 100644
--- a/tp/t/results/sectioning/next_in_menu_is_below.pl
+++ b/tp/t/results/sectioning/next_in_menu_is_below.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/next_no_prev_to_node.pl 
b/tp/t/results/sectioning/next_no_prev_to_node.pl
index 8f7efaf..b39e6e0 100644
--- a/tp/t/results/sectioning/next_no_prev_to_node.pl
+++ b/tp/t/results/sectioning/next_no_prev_to_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/no_argument_and_contents.pl 
b/tp/t/results/sectioning/no_argument_and_contents.pl
index 8b387f3..3c7ce24 100644
--- a/tp/t/results/sectioning/no_argument_and_contents.pl
+++ b/tp/t/results/sectioning/no_argument_and_contents.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/no_element.pl 
b/tp/t/results/sectioning/no_element.pl
index e76127d..8aff1b7 100644
--- a/tp/t/results/sectioning/no_element.pl
+++ b/tp/t/results/sectioning/no_element.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -860,6 +860,13 @@ $result_floats{'no_element'} = {
 };
 
 
+$result_sort_strings{'no_element'} = {
+  'cp' => [
+    'index entry'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'no_element'} = 'This is , produced from .
 
diff --git a/tp/t/results/sectioning/no_menu.pl 
b/tp/t/results/sectioning/no_menu.pl
index d2a7410..dd88ab0 100644
--- a/tp/t/results/sectioning/no_menu.pl
+++ b/tp/t/results/sectioning/no_menu.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/node_empty_direction.pl 
b/tp/t/results/sectioning/node_empty_direction.pl
index 58cf0a8..e92d640 100644
--- a/tp/t/results/sectioning/node_empty_direction.pl
+++ b/tp/t/results/sectioning/node_empty_direction.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/node_line_arguments.pl 
b/tp/t/results/sectioning/node_line_arguments.pl
index e8d55da..a661205 100644
--- a/tp/t/results/sectioning/node_line_arguments.pl
+++ b/tp/t/results/sectioning/node_line_arguments.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/node_nested_parentheses.pl 
b/tp/t/results/sectioning/node_nested_parentheses.pl
index 9b7c4d0..d92c3f2 100644
--- a/tp/t/results/sectioning/node_nested_parentheses.pl
+++ b/tp/t/results/sectioning/node_nested_parentheses.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/node_part_chapter_after_chapter.pl 
b/tp/t/results/sectioning/node_part_chapter_after_chapter.pl
index c16dbf0..ed5dd92 100644
--- a/tp/t/results/sectioning/node_part_chapter_after_chapter.pl
+++ b/tp/t/results/sectioning/node_part_chapter_after_chapter.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/node_part_chapter_after_top.pl 
b/tp/t/results/sectioning/node_part_chapter_after_top.pl
index c78389f..a154e80 100644
--- a/tp/t/results/sectioning/node_part_chapter_after_top.pl
+++ b/tp/t/results/sectioning/node_part_chapter_after_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/node_referenced_in_ref.pl 
b/tp/t/results/sectioning/node_referenced_in_ref.pl
index f9cec3a..bc41baa 100644
--- a/tp/t/results/sectioning/node_referenced_in_ref.pl
+++ b/tp/t/results/sectioning/node_referenced_in_ref.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/node_sectop_before_chapter_no_node.pl 
b/tp/t/results/sectioning/node_sectop_before_chapter_no_node.pl
index 533b28e..1034a56 100644
--- a/tp/t/results/sectioning/node_sectop_before_chapter_no_node.pl
+++ b/tp/t/results/sectioning/node_sectop_before_chapter_no_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/node_sectop_before_lone_node_Top.pl 
b/tp/t/results/sectioning/node_sectop_before_lone_node_Top.pl
index 2c58756..2c03c2f 100644
--- a/tp/t/results/sectioning/node_sectop_before_lone_node_Top.pl
+++ b/tp/t/results/sectioning/node_sectop_before_lone_node_Top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/node_too_much_args.pl 
b/tp/t/results/sectioning/node_too_much_args.pl
index a2b9364..cc04d80 100644
--- a/tp/t/results/sectioning/node_too_much_args.pl
+++ b/tp/t/results/sectioning/node_too_much_args.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/node_up_direction_for_top_with_manual.pl 
b/tp/t/results/sectioning/node_up_direction_for_top_with_manual.pl
index 67d0298..0b3f69c 100644
--- a/tp/t/results/sectioning/node_up_direction_for_top_with_manual.pl
+++ b/tp/t/results/sectioning/node_up_direction_for_top_with_manual.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/node_up_external_node.pl 
b/tp/t/results/sectioning/node_up_external_node.pl
index 539a4a5..b2957d2 100644
--- a/tp/t/results/sectioning/node_up_external_node.pl
+++ b/tp/t/results/sectioning/node_up_external_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/nodename_parentheses.pl 
b/tp/t/results/sectioning/nodename_parentheses.pl
index 2bfc23c..19e9aaf 100644
--- a/tp/t/results/sectioning/nodename_parentheses.pl
+++ b/tp/t/results/sectioning/nodename_parentheses.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/nodes_after_top_before_chapter_nodes.pl 
b/tp/t/results/sectioning/nodes_after_top_before_chapter_nodes.pl
index 3560f16..4492ad4 100644
--- a/tp/t/results/sectioning/nodes_after_top_before_chapter_nodes.pl
+++ b/tp/t/results/sectioning/nodes_after_top_before_chapter_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/sectioning/nodes_after_top_before_chapter_not_split.pl 
b/tp/t/results/sectioning/nodes_after_top_before_chapter_not_split.pl
index 68f0ef2..4e0c7d4 100644
--- a/tp/t/results/sectioning/nodes_after_top_before_chapter_not_split.pl
+++ b/tp/t/results/sectioning/nodes_after_top_before_chapter_not_split.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/sectioning/nodes_after_top_before_chapter_not_split_no_use_node_directions.pl
 
b/tp/t/results/sectioning/nodes_after_top_before_chapter_not_split_no_use_node_directions.pl
index 2b825c8..d346f5f 100644
--- 
a/tp/t/results/sectioning/nodes_after_top_before_chapter_not_split_no_use_node_directions.pl
+++ 
b/tp/t/results/sectioning/nodes_after_top_before_chapter_not_split_no_use_node_directions.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/nodes_after_top_before_chapter_sections.pl 
b/tp/t/results/sectioning/nodes_after_top_before_chapter_sections.pl
index 0e0a546..9976115 100644
--- a/tp/t/results/sectioning/nodes_after_top_before_chapter_sections.pl
+++ b/tp/t/results/sectioning/nodes_after_top_before_chapter_sections.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/nodes_after_top_before_section_nodes.pl 
b/tp/t/results/sectioning/nodes_after_top_before_section_nodes.pl
index c3c5285..95a1aca 100644
--- a/tp/t/results/sectioning/nodes_after_top_before_section_nodes.pl
+++ b/tp/t/results/sectioning/nodes_after_top_before_section_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/nodes_after_top_before_section_sections.pl 
b/tp/t/results/sectioning/nodes_after_top_before_section_sections.pl
index 092acdb..d066a92 100644
--- a/tp/t/results/sectioning/nodes_after_top_before_section_sections.pl
+++ b/tp/t/results/sectioning/nodes_after_top_before_section_sections.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/nodes_before_after_top.pl 
b/tp/t/results/sectioning/nodes_before_after_top.pl
index 03c44a9..32ee7f2 100644
--- a/tp/t/results/sectioning/nodes_before_after_top.pl
+++ b/tp/t/results/sectioning/nodes_before_after_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/nodes_before_after_top_xref.pl 
b/tp/t/results/sectioning/nodes_before_after_top_xref.pl
index 72a79a9..50143e5 100644
--- a/tp/t/results/sectioning/nodes_before_after_top_xref.pl
+++ b/tp/t/results/sectioning/nodes_before_after_top_xref.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/nodes_before_top.pl 
b/tp/t/results/sectioning/nodes_before_top.pl
index 3d552f4..31b79c1 100644
--- a/tp/t/results/sectioning/nodes_before_top.pl
+++ b/tp/t/results/sectioning/nodes_before_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/nodes_no_node_top_explicit_directions.pl 
b/tp/t/results/sectioning/nodes_no_node_top_explicit_directions.pl
index 55b4b3b..b6a0fa7 100644
--- a/tp/t/results/sectioning/nodes_no_node_top_explicit_directions.pl
+++ b/tp/t/results/sectioning/nodes_no_node_top_explicit_directions.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/non_automatic_internal_top_node_up.pl 
b/tp/t/results/sectioning/non_automatic_internal_top_node_up.pl
index 0007821..68f1688 100644
--- a/tp/t/results/sectioning/non_automatic_internal_top_node_up.pl
+++ b/tp/t/results/sectioning/non_automatic_internal_top_node_up.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/non_automatic_top_node_up_and_url.pl 
b/tp/t/results/sectioning/non_automatic_top_node_up_and_url.pl
index 1b18554..f068693 100644
--- a/tp/t/results/sectioning/non_automatic_top_node_up_and_url.pl
+++ b/tp/t/results/sectioning/non_automatic_top_node_up_and_url.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/non_automatic_top_node_up_url.pl 
b/tp/t/results/sectioning/non_automatic_top_node_up_url.pl
index 3e3be14..d1fd789 100644
--- a/tp/t/results/sectioning/non_automatic_top_node_up_url.pl
+++ b/tp/t/results/sectioning/non_automatic_top_node_up_url.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/novalidate.pl 
b/tp/t/results/sectioning/novalidate.pl
index db33bb4..4e56c67 100644
--- a/tp/t/results/sectioning/novalidate.pl
+++ b/tp/t/results/sectioning/novalidate.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/one_node_explicit_directions_anchor.pl 
b/tp/t/results/sectioning/one_node_explicit_directions_anchor.pl
index 0e4af09..ba8a24b 100644
--- a/tp/t/results/sectioning/one_node_explicit_directions_anchor.pl
+++ b/tp/t/results/sectioning/one_node_explicit_directions_anchor.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/one_subsection.pl 
b/tp/t/results/sectioning/one_subsection.pl
index f004907..7a8e503 100644
--- a/tp/t/results/sectioning/one_subsection.pl
+++ b/tp/t/results/sectioning/one_subsection.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/one_subsection_and_node.pl 
b/tp/t/results/sectioning/one_subsection_and_node.pl
index 9267d37..178f541 100644
--- a/tp/t/results/sectioning/one_subsection_and_node.pl
+++ b/tp/t/results/sectioning/one_subsection_and_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/part_before_chapter.pl 
b/tp/t/results/sectioning/part_before_chapter.pl
index 43c5312..b41a161 100644
--- a/tp/t/results/sectioning/part_before_chapter.pl
+++ b/tp/t/results/sectioning/part_before_chapter.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/part_before_section.pl 
b/tp/t/results/sectioning/part_before_section.pl
index b9804da..892b34d 100644
--- a/tp/t/results/sectioning/part_before_section.pl
+++ b/tp/t/results/sectioning/part_before_section.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/part_before_top.pl 
b/tp/t/results/sectioning/part_before_top.pl
index 43b170b..8aa2cc2 100644
--- a/tp/t/results/sectioning/part_before_top.pl
+++ b/tp/t/results/sectioning/part_before_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/part_chapter_after_top.pl 
b/tp/t/results/sectioning/part_chapter_after_top.pl
index 33d3576..e45508f 100644
--- a/tp/t/results/sectioning/part_chapter_after_top.pl
+++ b/tp/t/results/sectioning/part_chapter_after_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/part_chapter_appendix.pl 
b/tp/t/results/sectioning/part_chapter_appendix.pl
index e33539a..33b6811 100644
--- a/tp/t/results/sectioning/part_chapter_appendix.pl
+++ b/tp/t/results/sectioning/part_chapter_appendix.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/part_node_after_top.pl 
b/tp/t/results/sectioning/part_node_after_top.pl
index b48e3eb..13801f7 100644
--- a/tp/t/results/sectioning/part_node_after_top.pl
+++ b/tp/t/results/sectioning/part_node_after_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/part_node_before_top.pl 
b/tp/t/results/sectioning/part_node_before_top.pl
index 8a593d1..dfe5abb 100644
--- a/tp/t/results/sectioning/part_node_before_top.pl
+++ b/tp/t/results/sectioning/part_node_before_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/part_node_chapter_after_top.pl 
b/tp/t/results/sectioning/part_node_chapter_after_top.pl
index 0b9123d..27df3cd 100644
--- a/tp/t/results/sectioning/part_node_chapter_after_top.pl
+++ b/tp/t/results/sectioning/part_node_chapter_after_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/part_node_chapter_appendix.pl 
b/tp/t/results/sectioning/part_node_chapter_appendix.pl
index d07d02f..06d8892 100644
--- a/tp/t/results/sectioning/part_node_chapter_appendix.pl
+++ b/tp/t/results/sectioning/part_node_chapter_appendix.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/part_node_chapter_node_appendix.pl 
b/tp/t/results/sectioning/part_node_chapter_node_appendix.pl
index 9702249..f7ffd24 100644
--- a/tp/t/results/sectioning/part_node_chapter_node_appendix.pl
+++ b/tp/t/results/sectioning/part_node_chapter_node_appendix.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/part_node_node_part_appendix.pl 
b/tp/t/results/sectioning/part_node_node_part_appendix.pl
index 75ca089..3403612 100644
--- a/tp/t/results/sectioning/part_node_node_part_appendix.pl
+++ b/tp/t/results/sectioning/part_node_node_part_appendix.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/part_node_part_appendix.pl 
b/tp/t/results/sectioning/part_node_part_appendix.pl
index 4e67166..4f954e9 100644
--- a/tp/t/results/sectioning/part_node_part_appendix.pl
+++ b/tp/t/results/sectioning/part_node_part_appendix.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/part_node_part_node_appendix.pl 
b/tp/t/results/sectioning/part_node_part_node_appendix.pl
index b79ab43..63e2007 100644
--- a/tp/t/results/sectioning/part_node_part_node_appendix.pl
+++ b/tp/t/results/sectioning/part_node_part_node_appendix.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/placed_things_before_element.pl 
b/tp/t/results/sectioning/placed_things_before_element.pl
index 6cf7a3b..d8d6022 100644
--- a/tp/t/results/sectioning/placed_things_before_element.pl
+++ b/tp/t/results/sectioning/placed_things_before_element.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -981,6 +981,13 @@ $result_floats{'placed_things_before_element'} = {
 };
 
 
+$result_sort_strings{'placed_things_before_element'} = {
+  'cp' => [
+    'index entry'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'placed_things_before_element'} = 'This is , 
produced from .
 
diff --git a/tp/t/results/sectioning/placed_things_before_node.pl 
b/tp/t/results/sectioning/placed_things_before_node.pl
index ec2dae7..e86338a 100644
--- a/tp/t/results/sectioning/placed_things_before_node.pl
+++ b/tp/t/results/sectioning/placed_things_before_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1056,6 +1056,13 @@ $result_floats{'placed_things_before_node'} = {
 };
 
 
+$result_sort_strings{'placed_things_before_node'} = {
+  'cp' => [
+    'index entry'
+  ]
+};
+
+
 
 $result_converted{'info'}->{'placed_things_before_node'} = 'This is , produced 
from .
 
diff --git a/tp/t/results/sectioning/protected_node_parentheses.pl 
b/tp/t/results/sectioning/protected_node_parentheses.pl
index a8396b7..d6d1dd4 100644
--- a/tp/t/results/sectioning/protected_node_parentheses.pl
+++ b/tp/t/results/sectioning/protected_node_parentheses.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/raiselowersections.pl 
b/tp/t/results/sectioning/raiselowersections.pl
index d3280aa..f4ab8ed 100644
--- a/tp/t/results/sectioning/raiselowersections.pl
+++ b/tp/t/results/sectioning/raiselowersections.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/rec_nodes.pl 
b/tp/t/results/sectioning/rec_nodes.pl
index ec8395a..02466af 100644
--- a/tp/t/results/sectioning/rec_nodes.pl
+++ b/tp/t/results/sectioning/rec_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/ref_to_top.pl 
b/tp/t/results/sectioning/ref_to_top.pl
index e01feb2..740005d 100644
--- a/tp/t/results/sectioning/ref_to_top.pl
+++ b/tp/t/results/sectioning/ref_to_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/ref_to_unknown_node.pl 
b/tp/t/results/sectioning/ref_to_unknown_node.pl
index 228bbfe..c4335bc 100644
--- a/tp/t/results/sectioning/ref_to_unknown_node.pl
+++ b/tp/t/results/sectioning/ref_to_unknown_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/section_before_after_top_node.pl 
b/tp/t/results/sectioning/section_before_after_top_node.pl
index 47db7a7..1ea733d 100644
--- a/tp/t/results/sectioning/section_before_after_top_node.pl
+++ b/tp/t/results/sectioning/section_before_after_top_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/section_before_after_top_node_last_node.pl 
b/tp/t/results/sectioning/section_before_after_top_node_last_node.pl
index 826fab9..6b385ff 100644
--- a/tp/t/results/sectioning/section_before_after_top_node_last_node.pl
+++ b/tp/t/results/sectioning/section_before_after_top_node_last_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/section_before_chapter.pl 
b/tp/t/results/sectioning/section_before_chapter.pl
index 470b394..d40c9f7 100644
--- a/tp/t/results/sectioning/section_before_chapter.pl
+++ b/tp/t/results/sectioning/section_before_chapter.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/section_before_part.pl 
b/tp/t/results/sectioning/section_before_part.pl
index c564063..0adae20 100644
--- a/tp/t/results/sectioning/section_before_part.pl
+++ b/tp/t/results/sectioning/section_before_part.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/section_before_top.pl 
b/tp/t/results/sectioning/section_before_top.pl
index 28bcf2d..20e7132 100644
--- a/tp/t/results/sectioning/section_before_top.pl
+++ b/tp/t/results/sectioning/section_before_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/section_before_top_no_node.pl 
b/tp/t/results/sectioning/section_before_top_no_node.pl
index 490ee68..905ce3f 100644
--- a/tp/t/results/sectioning/section_before_top_no_node.pl
+++ b/tp/t/results/sectioning/section_before_top_no_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/section_below_unnumbered.pl 
b/tp/t/results/sectioning/section_below_unnumbered.pl
index 08dc173..57af152 100644
--- a/tp/t/results/sectioning/section_below_unnumbered.pl
+++ b/tp/t/results/sectioning/section_below_unnumbered.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/section_below_unnumbered_no_top.pl 
b/tp/t/results/sectioning/section_below_unnumbered_no_top.pl
index 8832e41..135b7d7 100644
--- a/tp/t/results/sectioning/section_below_unnumbered_no_top.pl
+++ b/tp/t/results/sectioning/section_below_unnumbered_no_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/section_chapter_before_top.pl 
b/tp/t/results/sectioning/section_chapter_before_top.pl
index 432ab2a..def2b11 100644
--- a/tp/t/results/sectioning/section_chapter_before_top.pl
+++ b/tp/t/results/sectioning/section_chapter_before_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/section_chapter_before_top_nodes.pl 
b/tp/t/results/sectioning/section_chapter_before_top_nodes.pl
index e02d6b5..a0fe5e0 100644
--- a/tp/t/results/sectioning/section_chapter_before_top_nodes.pl
+++ b/tp/t/results/sectioning/section_chapter_before_top_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/section_in_unnumbered_info.pl 
b/tp/t/results/sectioning/section_in_unnumbered_info.pl
index 1cbc7b0..0ba1d21 100644
--- a/tp/t/results/sectioning/section_in_unnumbered_info.pl
+++ b/tp/t/results/sectioning/section_in_unnumbered_info.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/section_in_unnumbered_plaintext.pl 
b/tp/t/results/sectioning/section_in_unnumbered_plaintext.pl
index 2cb936f..0c7c7cf 100644
--- a/tp/t/results/sectioning/section_in_unnumbered_plaintext.pl
+++ b/tp/t/results/sectioning/section_in_unnumbered_plaintext.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/section_node_before_part.pl 
b/tp/t/results/sectioning/section_node_before_part.pl
index 642904e..419a3ff 100644
--- a/tp/t/results/sectioning/section_node_before_part.pl
+++ b/tp/t/results/sectioning/section_node_before_part.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/sectioning_part_appendix.pl 
b/tp/t/results/sectioning/sectioning_part_appendix.pl
index eeb3da8..ad3dcd7 100644
--- a/tp/t/results/sectioning/sectioning_part_appendix.pl
+++ b/tp/t/results/sectioning/sectioning_part_appendix.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/sectioning_part_appendix_no_top.pl 
b/tp/t/results/sectioning/sectioning_part_appendix_no_top.pl
index 301b91e..e3797f2 100644
--- a/tp/t/results/sectioning/sectioning_part_appendix_no_top.pl
+++ b/tp/t/results/sectioning/sectioning_part_appendix_no_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/sections.pl 
b/tp/t/results/sectioning/sections.pl
index b1dd701..49667ce 100644
--- a/tp/t/results/sectioning/sections.pl
+++ b/tp/t/results/sectioning/sections.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/sections_test.pl 
b/tp/t/results/sectioning/sections_test.pl
index 2b8eba4..b8f5441 100644
--- a/tp/t/results/sectioning/sections_test.pl
+++ b/tp/t/results/sectioning/sections_test.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/sections_test_no_use_nodes.pl 
b/tp/t/results/sectioning/sections_test_no_use_nodes.pl
index bf88eaf..30ed892 100644
--- a/tp/t/results/sectioning/sections_test_no_use_nodes.pl
+++ b/tp/t/results/sectioning/sections_test_no_use_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git 
a/tp/t/results/sectioning/sections_test_no_use_nodes_use_node_directions.pl 
b/tp/t/results/sectioning/sections_test_no_use_nodes_use_node_directions.pl
index 09764b6..f69fac7 100644
--- a/tp/t/results/sectioning/sections_test_no_use_nodes_use_node_directions.pl
+++ b/tp/t/results/sectioning/sections_test_no_use_nodes_use_node_directions.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/semi_auto.pl 
b/tp/t/results/sectioning/semi_auto.pl
index 2a54379..642ede6 100644
--- a/tp/t/results/sectioning/semi_auto.pl
+++ b/tp/t/results/sectioning/semi_auto.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/setfilename_on_top_and_after_node.pl 
b/tp/t/results/sectioning/setfilename_on_top_and_after_node.pl
index c047b3f..db1cc93 100644
--- a/tp/t/results/sectioning/setfilename_on_top_and_after_node.pl
+++ b/tp/t/results/sectioning/setfilename_on_top_and_after_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/shortcontents.pl 
b/tp/t/results/sectioning/shortcontents.pl
index 92e9d32..d0b9795 100644
--- a/tp/t/results/sectioning/shortcontents.pl
+++ b/tp/t/results/sectioning/shortcontents.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/space_in_node.pl 
b/tp/t/results/sectioning/space_in_node.pl
index 04ed87b..6059006 100644
--- a/tp/t/results/sectioning/space_in_node.pl
+++ b/tp/t/results/sectioning/space_in_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/top_chapter_sections.pl 
b/tp/t/results/sectioning/top_chapter_sections.pl
index 975e6c3..7129232 100644
--- a/tp/t/results/sectioning/top_chapter_sections.pl
+++ b/tp/t/results/sectioning/top_chapter_sections.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/top_no_argument_and_content.pl 
b/tp/t/results/sectioning/top_no_argument_and_content.pl
index 14fd6e4..63eff5f 100644
--- a/tp/t/results/sectioning/top_no_argument_and_content.pl
+++ b/tp/t/results/sectioning/top_no_argument_and_content.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/top_no_argument_and_node.pl 
b/tp/t/results/sectioning/top_no_argument_and_node.pl
index 490768d..21da7f9 100644
--- a/tp/t/results/sectioning/top_no_argument_and_node.pl
+++ b/tp/t/results/sectioning/top_no_argument_and_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/top_no_argument_and_top_node.pl 
b/tp/t/results/sectioning/top_no_argument_and_top_node.pl
index e4f2e2f..de4464f 100644
--- a/tp/t/results/sectioning/top_no_argument_and_top_node.pl
+++ b/tp/t/results/sectioning/top_no_argument_and_top_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/top_node_no_menu_direction.pl 
b/tp/t/results/sectioning/top_node_no_menu_direction.pl
index b84c0ea..82e1e40 100644
--- a/tp/t/results/sectioning/top_node_no_menu_direction.pl
+++ b/tp/t/results/sectioning/top_node_no_menu_direction.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/top_node_part_top.pl 
b/tp/t/results/sectioning/top_node_part_top.pl
index 3706f3f..03e6017 100644
--- a/tp/t/results/sectioning/top_node_part_top.pl
+++ b/tp/t/results/sectioning/top_node_part_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/top_node_up_url.pl 
b/tp/t/results/sectioning/top_node_up_url.pl
index 4d7b478..fd44134 100644
--- a/tp/t/results/sectioning/top_node_up_url.pl
+++ b/tp/t/results/sectioning/top_node_up_url.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/top_part_chapter.pl 
b/tp/t/results/sectioning/top_part_chapter.pl
index 5f97a40..9193533 100644
--- a/tp/t/results/sectioning/top_part_chapter.pl
+++ b/tp/t/results/sectioning/top_part_chapter.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/top_without_node_nodes.pl 
b/tp/t/results/sectioning/top_without_node_nodes.pl
index d486cd4..ee7074c 100644
--- a/tp/t/results/sectioning/top_without_node_nodes.pl
+++ b/tp/t/results/sectioning/top_without_node_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/top_without_node_sections.pl 
b/tp/t/results/sectioning/top_without_node_sections.pl
index 9916a4c..f97c754 100644
--- a/tp/t/results/sectioning/top_without_node_sections.pl
+++ b/tp/t/results/sectioning/top_without_node_sections.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/transliterated_split_equivalent_nodes.pl 
b/tp/t/results/sectioning/transliterated_split_equivalent_nodes.pl
index 3f950c1..012d7df 100644
--- a/tp/t/results/sectioning/transliterated_split_equivalent_nodes.pl
+++ b/tp/t/results/sectioning/transliterated_split_equivalent_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/two_nodes_at_the_end.pl 
b/tp/t/results/sectioning/two_nodes_at_the_end.pl
index 3c09414..5484e8c 100644
--- a/tp/t/results/sectioning/two_nodes_at_the_end.pl
+++ b/tp/t/results/sectioning/two_nodes_at_the_end.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/two_nodes_between_chapters.pl 
b/tp/t/results/sectioning/two_nodes_between_chapters.pl
index dcec417..0d5b281 100644
--- a/tp/t/results/sectioning/two_nodes_between_chapters.pl
+++ b/tp/t/results/sectioning/two_nodes_between_chapters.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/two_unnumbered_no_argument.pl 
b/tp/t/results/sectioning/two_unnumbered_no_argument.pl
index 379b89a..71a153ba 100644
--- a/tp/t/results/sectioning/two_unnumbered_no_argument.pl
+++ b/tp/t/results/sectioning/two_unnumbered_no_argument.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/unknown_node_in_menu.pl 
b/tp/t/results/sectioning/unknown_node_in_menu.pl
index 1fbef99..e148b89 100644
--- a/tp/t/results/sectioning/unknown_node_in_menu.pl
+++ b/tp/t/results/sectioning/unknown_node_in_menu.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/unnumbered_before_node_top_top.pl 
b/tp/t/results/sectioning/unnumbered_before_node_top_top.pl
index b6f70a4..6b21e6e 100644
--- a/tp/t/results/sectioning/unnumbered_before_node_top_top.pl
+++ b/tp/t/results/sectioning/unnumbered_before_node_top_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/unnumbered_before_top.pl 
b/tp/t/results/sectioning/unnumbered_before_top.pl
index 7f408c3..6f57423 100644
--- a/tp/t/results/sectioning/unnumbered_before_top.pl
+++ b/tp/t/results/sectioning/unnumbered_before_top.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/unnumbered_before_top_node.pl 
b/tp/t/results/sectioning/unnumbered_before_top_node.pl
index eaae38a..c1c9faa 100644
--- a/tp/t/results/sectioning/unnumbered_before_top_node.pl
+++ b/tp/t/results/sectioning/unnumbered_before_top_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/unnumbered_no_argument.pl 
b/tp/t/results/sectioning/unnumbered_no_argument.pl
index efcfa88..ec62c83 100644
--- a/tp/t/results/sectioning/unnumbered_no_argument.pl
+++ b/tp/t/results/sectioning/unnumbered_no_argument.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/unnumbered_top_without_node_nodes.pl 
b/tp/t/results/sectioning/unnumbered_top_without_node_nodes.pl
index 1448df0..677b131 100644
--- a/tp/t/results/sectioning/unnumbered_top_without_node_nodes.pl
+++ b/tp/t/results/sectioning/unnumbered_top_without_node_nodes.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/sectioning/unnumbered_top_without_node_sections.pl 
b/tp/t/results/sectioning/unnumbered_top_without_node_sections.pl
index 1aaaa4c..f7624d2 100644
--- a/tp/t/results/sectioning/unnumbered_top_without_node_sections.pl
+++ b/tp/t/results/sectioning/unnumbered_top_without_node_sections.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value/bad_syntax.pl b/tp/t/results/value/bad_syntax.pl
index 47ab742..f92aa1b 100644
--- a/tp/t/results/value/bad_syntax.pl
+++ b/tp/t/results/value/bad_syntax.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value/comment_on_set_line.pl 
b/tp/t/results/value/comment_on_set_line.pl
index 196f4c4..bbe5592 100644
--- a/tp/t/results/value/comment_on_set_line.pl
+++ b/tp/t/results/value/comment_on_set_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value/empty_set.pl b/tp/t/results/value/empty_set.pl
index cf06ea1..28c15ad 100644
--- a/tp/t/results/value/empty_set.pl
+++ b/tp/t/results/value/empty_set.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value/empty_value_in_line.pl 
b/tp/t/results/value/empty_value_in_line.pl
index 164350e..0ae4f29 100644
--- a/tp/t/results/value/empty_value_in_line.pl
+++ b/tp/t/results/value/empty_value_in_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value/ignored_value_definition.pl 
b/tp/t/results/value/ignored_value_definition.pl
index 85db4f8..99c3683 100644
--- a/tp/t/results/value/ignored_value_definition.pl
+++ b/tp/t/results/value/ignored_value_definition.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value/not_only_characters.pl 
b/tp/t/results/value/not_only_characters.pl
index 86298f6..76ece4e 100644
--- a/tp/t/results/value/not_only_characters.pl
+++ b/tp/t/results/value/not_only_characters.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value/set_flag_command_equivalent.pl 
b/tp/t/results/value/set_flag_command_equivalent.pl
index 55923f1..861f9c3 100644
--- a/tp/t/results/value/set_flag_command_equivalent.pl
+++ b/tp/t/results/value/set_flag_command_equivalent.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value/set_form_feed.pl 
b/tp/t/results/value/set_form_feed.pl
index c2dd09c..1aff2be 100644
--- a/tp/t/results/value/set_form_feed.pl
+++ b/tp/t/results/value/set_form_feed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value/set_in_item_missing_line.pl 
b/tp/t/results/value/set_in_item_missing_line.pl
index be9606d..ce986fc 100644
--- a/tp/t/results/value/set_in_item_missing_line.pl
+++ b/tp/t/results/value/set_in_item_missing_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value/set_on_item_line.pl 
b/tp/t/results/value/set_on_item_line.pl
index 2eb72b9..f938832 100644
--- a/tp/t/results/value/set_on_item_line.pl
+++ b/tp/t/results/value/set_on_item_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value/simple.pl b/tp/t/results/value/simple.pl
index 439fb74..1e03d02 100644
--- a/tp/t/results/value/simple.pl
+++ b/tp/t/results/value/simple.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value/spaces_before_value.pl 
b/tp/t/results/value/spaces_before_value.pl
index ddbc5d5..62b3273 100644
--- a/tp/t/results/value/spaces_before_value.pl
+++ b/tp/t/results/value/spaces_before_value.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value/value_after_accent.pl 
b/tp/t/results/value/value_after_accent.pl
index 94604a7..7f8a456 100644
--- a/tp/t/results/value/value_after_accent.pl
+++ b/tp/t/results/value/value_after_accent.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value/value_in_index_commands.pl 
b/tp/t/results/value/value_in_index_commands.pl
index 4eec43e..fe5dede 100644
--- a/tp/t/results/value/value_in_index_commands.pl
+++ b/tp/t/results/value/value_in_index_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1044,4 +1044,20 @@ $result_indices{'value_in_index_commands'} = {
 $result_floats{'value_in_index_commands'} = {};
 
 
+$result_sort_strings{'value_in_index_commands'} = {
+  'codeidx' => [
+    'a index entry te\' i^'
+  ],
+  'ky' => [
+    'truc kindex'
+  ],
+  'pg' => [
+    'pindex codeidx'
+  ],
+  'truc' => [
+    'index truc'
+  ]
+};
+
+
 1;
diff --git a/tp/t/results/value/value_in_invalid_documentencoding.pl 
b/tp/t/results/value/value_in_invalid_documentencoding.pl
index 89d2a50..2e21909 100644
--- a/tp/t/results/value/value_in_invalid_documentencoding.pl
+++ b/tp/t/results/value/value_in_invalid_documentencoding.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value/value_in_misc_commands.pl 
b/tp/t/results/value/value_in_misc_commands.pl
index 6800f06..086d4ca 100644
--- a/tp/t/results/value/value_in_misc_commands.pl
+++ b/tp/t/results/value/value_in_misc_commands.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value/value_in_node.pl 
b/tp/t/results/value/value_in_node.pl
index 28ec7cb..e09bbfd 100644
--- a/tp/t/results/value/value_in_node.pl
+++ b/tp/t/results/value/value_in_node.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value/value_node_directions.pl 
b/tp/t/results/value/value_node_directions.pl
index 11bc27a..fd646f7 100644
--- a/tp/t/results/value/value_node_directions.pl
+++ b/tp/t/results/value/value_node_directions.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value/value_zero.pl b/tp/t/results/value/value_zero.pl
index ed33c1c..452608e 100644
--- a/tp/t/results/value/value_zero.pl
+++ b/tp/t/results/value/value_zero.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value_and_macro/comma_value_in_macro_arg.pl 
b/tp/t/results/value_and_macro/comma_value_in_macro_arg.pl
index ddd0138..696b61e 100644
--- a/tp/t/results/value_and_macro/comma_value_in_macro_arg.pl
+++ b/tp/t/results/value_and_macro/comma_value_in_macro_arg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value_and_macro/macro_in_value.pl 
b/tp/t/results/value_and_macro/macro_in_value.pl
index e4f3a6c..09b8d8a 100644
--- a/tp/t/results/value_and_macro/macro_in_value.pl
+++ b/tp/t/results/value_and_macro/macro_in_value.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value_and_macro/value_in_macro_body.pl 
b/tp/t/results/value_and_macro/value_in_macro_body.pl
index aea267c..5444a3a 100644
--- a/tp/t/results/value_and_macro/value_in_macro_body.pl
+++ b/tp/t/results/value_and_macro/value_in_macro_body.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/value_and_macro/value_in_macro_formal_arg.pl 
b/tp/t/results/value_and_macro/value_in_macro_formal_arg.pl
index 1d5e1d3..22ada5e 100644
--- a/tp/t/results/value_and_macro/value_in_macro_formal_arg.pl
+++ b/tp/t/results/value_and_macro/value_in_macro_formal_arg.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/verb/comments.pl b/tp/t/results/verb/comments.pl
index 2b85bc7..3cde7be 100644
--- a/tp/t/results/verb/comments.pl
+++ b/tp/t/results/verb/comments.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/verb/end_of_line.pl b/tp/t/results/verb/end_of_line.pl
index 096c1f0..51da4b7 100644
--- a/tp/t/results/verb/end_of_line.pl
+++ b/tp/t/results/verb/end_of_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/verb/multiline.pl b/tp/t/results/verb/multiline.pl
index ea7370e..19c6f67 100644
--- a/tp/t/results/verb/multiline.pl
+++ b/tp/t/results/verb/multiline.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/verb/nested.pl b/tp/t/results/verb/nested.pl
index 40c4d0c..5e5dd05 100644
--- a/tp/t/results/verb/nested.pl
+++ b/tp/t/results/verb/nested.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/verb/simple.pl b/tp/t/results/verb/simple.pl
index ddb9876..379ff4b 100644
--- a/tp/t/results/verb/simple.pl
+++ b/tp/t/results/verb/simple.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/verb/verb_and_char_end_of_line_not_closed.pl 
b/tp/t/results/verb/verb_and_char_end_of_line_not_closed.pl
index e1b5d77..454bf1d 100644
--- a/tp/t/results/verb/verb_and_char_end_of_line_not_closed.pl
+++ b/tp/t/results/verb/verb_and_char_end_of_line_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/verb/verb_at_end_of_line_not_closed.pl 
b/tp/t/results/verb/verb_at_end_of_line_not_closed.pl
index c9466f0..24e5269 100644
--- a/tp/t/results/verb/verb_at_end_of_line_not_closed.pl
+++ b/tp/t/results/verb/verb_at_end_of_line_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/verb/verb_not_closed.pl 
b/tp/t/results/verb/verb_not_closed.pl
index e71b0b2..944a7ed 100644
--- a/tp/t/results/verb/verb_not_closed.pl
+++ b/tp/t/results/verb/verb_not_closed.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/verb/verb_not_closed_with_char.pl 
b/tp/t/results/verb/verb_not_closed_with_char.pl
index dd62274..f240da0 100644
--- a/tp/t/results/verb/verb_not_closed_with_char.pl
+++ b/tp/t/results/verb/verb_not_closed_with_char.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xml_tests/brace_commands_spaces_end_of_lines.pl 
b/tp/t/results/xml_tests/brace_commands_spaces_end_of_lines.pl
index 5535354..3110adc 100644
--- a/tp/t/results/xml_tests/brace_commands_spaces_end_of_lines.pl
+++ b/tp/t/results/xml_tests/brace_commands_spaces_end_of_lines.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xml_tests/commands_and_spaces.pl 
b/tp/t/results/xml_tests/commands_and_spaces.pl
index 06a6d94..a672aef 100644
--- a/tp/t/results/xml_tests/commands_and_spaces.pl
+++ b/tp/t/results/xml_tests/commands_and_spaces.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -2303,6 +2303,13 @@ 
$result_floats{'commands_and_spaces'}{'ff'}[0]{'extra'}{'caption'}{'extra'}{'flo
 
$result_floats{'commands_and_spaces'}{'ff'}[0]{'extra'}{'shortcaption'}{'extra'}{'float'}
 = $result_floats{'commands_and_spaces'}{'ff'}[0];
 
 
+$result_sort_strings{'commands_and_spaces'} = {
+  'fn' => [
+    'machin'
+  ]
+};
+
+
 
 $result_converted{'xml'}->{'commands_and_spaces'} = '<set name="foo" line="  
foo   some @value">some @value</set>
 
diff --git a/tp/t/results/xml_tests/comments_end_lines.pl 
b/tp/t/results/xml_tests/comments_end_lines.pl
index fa52276..5a67208 100644
--- a/tp/t/results/xml_tests/comments_end_lines.pl
+++ b/tp/t/results/xml_tests/comments_end_lines.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xml_tests/comments_on_block_command_lines.pl 
b/tp/t/results/xml_tests/comments_on_block_command_lines.pl
index 258126d..4f973e9 100644
--- a/tp/t/results/xml_tests/comments_on_block_command_lines.pl
+++ b/tp/t/results/xml_tests/comments_on_block_command_lines.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xml_tests/comments_on_misc_command_line.pl 
b/tp/t/results/xml_tests/comments_on_misc_command_line.pl
index 551a692..f5002a9 100644
--- a/tp/t/results/xml_tests/comments_on_misc_command_line.pl
+++ b/tp/t/results/xml_tests/comments_on_misc_command_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xml_tests/image_inline_or_not.pl 
b/tp/t/results/xml_tests/image_inline_or_not.pl
index 5ed6f9f..b309fb0 100644
--- a/tp/t/results/xml_tests/image_inline_or_not.pl
+++ b/tp/t/results/xml_tests/image_inline_or_not.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xml_tests/lone_bye.pl 
b/tp/t/results/xml_tests/lone_bye.pl
index 4a8ac12..5f42551 100644
--- a/tp/t/results/xml_tests/lone_bye.pl
+++ b/tp/t/results/xml_tests/lone_bye.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xml_tests/macro_and_args.pl 
b/tp/t/results/xml_tests/macro_and_args.pl
index d56f2a3..e1b1b54 100644
--- a/tp/t/results/xml_tests/macro_and_args.pl
+++ b/tp/t/results/xml_tests/macro_and_args.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xml_tests/node_and_bye.pl 
b/tp/t/results/xml_tests/node_and_bye.pl
index a557eea..2d59c3a 100644
--- a/tp/t/results/xml_tests/node_and_bye.pl
+++ b/tp/t/results/xml_tests/node_and_bye.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xml_tests/node_no_section.pl 
b/tp/t/results/xml_tests/node_no_section.pl
index 6c134a2..6a368da 100644
--- a/tp/t/results/xml_tests/node_no_section.pl
+++ b/tp/t/results/xml_tests/node_no_section.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xml_tests/raw.pl b/tp/t/results/xml_tests/raw.pl
index 3a181f3..b9d26cf 100644
--- a/tp/t/results/xml_tests/raw.pl
+++ b/tp/t/results/xml_tests/raw.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xml_tests/raw_and_comments.pl 
b/tp/t/results/xml_tests/raw_and_comments.pl
index b2a35e5..afc412d 100644
--- a/tp/t/results/xml_tests/raw_and_comments.pl
+++ b/tp/t/results/xml_tests/raw_and_comments.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xml_tests/spaces_info_lost.pl 
b/tp/t/results/xml_tests/spaces_info_lost.pl
index bac2c48..94fc4dd 100644
--- a/tp/t/results/xml_tests/spaces_info_lost.pl
+++ b/tp/t/results/xml_tests/spaces_info_lost.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xtable/accent_on_table_line.pl 
b/tp/t/results/xtable/accent_on_table_line.pl
index 68381fa..c83aae4 100644
--- a/tp/t/results/xtable/accent_on_table_line.pl
+++ b/tp/t/results/xtable/accent_on_table_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xtable/block_commands_in_table.pl 
b/tp/t/results/xtable/block_commands_in_table.pl
index cadb60a..7cd0583 100644
--- a/tp/t/results/xtable/block_commands_in_table.pl
+++ b/tp/t/results/xtable/block_commands_in_table.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -1677,6 +1677,17 @@ $result_errors{'block_commands_in_table'} = [];
 $result_floats{'block_commands_in_table'} = {};
 
 
+$result_sort_strings{'block_commands_in_table'} = {
+  'vr' => [
+    'item',
+    'item before ignored lines',
+    'itemx after an empty line',
+    'itemx now',
+    'vindex'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'block_commands_in_table'} = 'Element
 *******
diff --git a/tp/t/results/xtable/comment_and_itemx_before_item.pl 
b/tp/t/results/xtable/comment_and_itemx_before_item.pl
index 8916f54..4e52fcb 100644
--- a/tp/t/results/xtable/comment_and_itemx_before_item.pl
+++ b/tp/t/results/xtable/comment_and_itemx_before_item.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xtable/definfoenclose_on_table_line.pl 
b/tp/t/results/xtable/definfoenclose_on_table_line.pl
index f5f1b45..2d60bb5 100644
--- a/tp/t/results/xtable/definfoenclose_on_table_line.pl
+++ b/tp/t/results/xtable/definfoenclose_on_table_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xtable/empty_item_itemx.pl 
b/tp/t/results/xtable/empty_item_itemx.pl
index 9b25aed..934bee2 100644
--- a/tp/t/results/xtable/empty_item_itemx.pl
+++ b/tp/t/results/xtable/empty_item_itemx.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -421,6 +421,15 @@ $result_errors{'empty_item_itemx'} = [
 $result_floats{'empty_item_itemx'} = {};
 
 
+$result_sort_strings{'empty_item_itemx'} = {
+  'vr' => [
+    'after an empty itemx, before an empty item',
+    'first item',
+    'in item before end table'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'empty_item_itemx'} = '     VTable
 
diff --git a/tp/t/results/xtable/headitem_in_table.pl 
b/tp/t/results/xtable/headitem_in_table.pl
index eec0896..9e64c3c 100644
--- a/tp/t/results/xtable/headitem_in_table.pl
+++ b/tp/t/results/xtable/headitem_in_table.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xtable/inter_item_commands_in_table.pl 
b/tp/t/results/xtable/inter_item_commands_in_table.pl
index e5a4f1b..63df398 100644
--- a/tp/t/results/xtable/inter_item_commands_in_table.pl
+++ b/tp/t/results/xtable/inter_item_commands_in_table.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -3101,6 +3101,34 @@ $result_errors{'inter_item_commands_in_table'} = [];
 $result_floats{'inter_item_commands_in_table'} = {};
 
 
+$result_sort_strings{'inter_item_commands_in_table'} = {
+  'cp' => [
+    'cindex after line',
+    'cindex before line',
+    'cindex between lines',
+    'cindex first',
+    'cindex in table',
+    'cindex in table',
+    'index entry between item and itemx',
+    'samp cindex in table',
+    'samp cindex in table',
+    'second',
+    'third'
+  ],
+  'fn' => [
+    'avar--b',
+    'b',
+    'c',
+    'd'
+  ],
+  'vr' => [
+    'aasis--b',
+    'acode--b',
+    'b'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'inter_item_commands_in_table'} = 'top
 ***
diff --git a/tp/t/results/xtable/inter_item_commands_in_table_in_example.pl 
b/tp/t/results/xtable/inter_item_commands_in_table_in_example.pl
index d76ae45..5449c6c 100644
--- a/tp/t/results/xtable/inter_item_commands_in_table_in_example.pl
+++ b/tp/t/results/xtable/inter_item_commands_in_table_in_example.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -522,6 +522,13 @@ $result_errors{'inter_item_commands_in_table_in_example'} 
= [
 $result_floats{'inter_item_commands_in_table_in_example'} = {};
 
 
+$result_sort_strings{'inter_item_commands_in_table_in_example'} = {
+  'cp' => [
+    'index entry between item and itemx'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'inter_item_commands_in_table_in_example'} = 
'     A-B
      B
diff --git a/tp/t/results/xtable/invalid_command_and_brace_in_table.pl 
b/tp/t/results/xtable/invalid_command_and_brace_in_table.pl
index c27082c..9e8bad6 100644
--- a/tp/t/results/xtable/invalid_command_and_brace_in_table.pl
+++ b/tp/t/results/xtable/invalid_command_and_brace_in_table.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xtable/itemx_before_item.pl 
b/tp/t/results/xtable/itemx_before_item.pl
index bc51938..d40b7da 100644
--- a/tp/t/results/xtable/itemx_before_item.pl
+++ b/tp/t/results/xtable/itemx_before_item.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xtable/lone_end_table.pl 
b/tp/t/results/xtable/lone_end_table.pl
index 852fee2..ae3fd62 100644
--- a/tp/t/results/xtable/lone_end_table.pl
+++ b/tp/t/results/xtable/lone_end_table.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xtable/long_item.pl b/tp/t/results/xtable/long_item.pl
index b9840f6..f03e1cc 100644
--- a/tp/t/results/xtable/long_item.pl
+++ b/tp/t/results/xtable/long_item.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xtable/no_arg_brace_command_on_table_line.pl 
b/tp/t/results/xtable/no_arg_brace_command_on_table_line.pl
index f5aef1d..a285418 100644
--- a/tp/t/results/xtable/no_arg_brace_command_on_table_line.pl
+++ b/tp/t/results/xtable/no_arg_brace_command_on_table_line.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xtable/no_argument_for_table.pl 
b/tp/t/results/xtable/no_argument_for_table.pl
index faa35ee..5269f19 100644
--- a/tp/t/results/xtable/no_argument_for_table.pl
+++ b/tp/t/results/xtable/no_argument_for_table.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xtable/table_nested.pl 
b/tp/t/results/xtable/table_nested.pl
index 4da32a6..02d48a8 100644
--- a/tp/t/results/xtable/table_nested.pl
+++ b/tp/t/results/xtable/table_nested.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
@@ -2581,6 +2581,24 @@ $result_errors{'table_nested'} = [
 $result_floats{'table_nested'} = {};
 
 
+$result_sort_strings{'table_nested'} = {
+  'vr' => [
+    'first item',
+    'first item',
+    'first item',
+    'last',
+    'last',
+    'last',
+    'second item',
+    'second item',
+    'second item',
+    'second itemx',
+    'second itemx',
+    'second itemx'
+  ]
+};
+
+
 
 $result_converted{'plaintext'}->{'table_nested'} = 'Quotation
      first item
diff --git a/tp/t/results/xtable/text_between_item_itemx.pl 
b/tp/t/results/xtable/text_between_item_itemx.pl
index 38a9185..6c12178 100644
--- a/tp/t/results/xtable/text_between_item_itemx.pl
+++ b/tp/t/results/xtable/text_between_item_itemx.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/results/xtable/title_and_itemx_before_item.pl 
b/tp/t/results/xtable/title_and_itemx_before_item.pl
index ca7ca76..e416abc 100644
--- a/tp/t/results/xtable/title_and_itemx_before_item.pl
+++ b/tp/t/results/xtable/title_and_itemx_before_item.pl
@@ -1,7 +1,7 @@
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 use utf8;
 
diff --git a/tp/t/test_utils.pl b/tp/t/test_utils.pl
index 12729b6..f248330 100644
--- a/tp/t/test_utils.pl
+++ b/tp/t/test_utils.pl
@@ -62,7 +62,7 @@ use Getopt::Long qw(GetOptions);
 use vars qw(%result_texis %result_texts %result_trees %result_errors 
    %result_indices %result_sectioning %result_nodes %result_menus
    %result_floats %result_converted %result_converted_errors 
-   %result_elements %result_directions_text);
+   %result_elements %result_directions_text %result_sort_strings);
 
 my $strings_textdomain = 'texinfo_document';
 Locale::Messages->select_package ('gettext_pp');
@@ -206,7 +206,7 @@ our $arg_generate;
 our $arg_debug;
 our $arg_complete;
 our $arg_output;
-our $nr_comparisons = 8;
+our $nr_comparisons = 9;
 
 Getopt::Long::Configure("gnu_getopt");
 GetOptions('g|generate' => \$arg_generate, 'd|debug=i' => \$arg_debug, 
@@ -911,11 +911,19 @@ sub test($$)
     unless (Data::Compare::Compare($trimmed_index_names, 
$initial_index_names));
 
   my ($sorted_index_entries, $index_entries_sort_strings);
+  my $indices_sorted_sort_strings;
   if ($merged_index_entries) {
     ($sorted_index_entries, $index_entries_sort_strings)
       = Texinfo::Structuring::sort_indices($parser, $registrar,
                                    $main_configuration,
-                                   $merged_index_entries, 'by_letter');
+                                   $merged_index_entries);
+    foreach my $index_name (keys(%$sorted_index_entries)) {
+      $indices_sorted_sort_strings->{$index_name} = [];
+      foreach my $index_entry (@{$sorted_index_entries->{$index_name}}) {
+        push @{$indices_sorted_sort_strings->{$index_name}},
+          $index_entries_sort_strings->{$index_entry};
+      }
+    }
   }
   if ($converter_options->{'SIMPLE_MENU'}) {
     # require instead of use for speed when this module is not needed
@@ -1069,7 +1077,7 @@ sub test($$)
     print OUT 'use vars qw(%result_texis %result_texts %result_trees 
%result_errors '."\n".
               '   %result_indices %result_sectioning %result_nodes 
%result_menus'."\n".
               '   %result_floats %result_converted %result_converted_errors 
'."\n".
-              '   %result_elements %result_directions_text);'."\n\n";
+              '   %result_elements %result_directions_text 
%result_sort_strings);'."\n\n";
     print OUT 'use utf8;'."\n\n";
 
     #print STDERR "Generate: ".Data::Dumper->Dump([$result], ['$res']);
@@ -1092,11 +1100,11 @@ sub test($$)
     if ($top_node) {
       {
         local $Data::Dumper::Sortkeys = \&filter_nodes_keys;
-         $out_result .=  Data::Dumper->Dump([$top_node], 
['$result_nodes{\''.$test_name.'\'}'])."\n";
+        $out_result .=  Data::Dumper->Dump([$top_node], 
['$result_nodes{\''.$test_name.'\'}'])."\n";
       }
       {
         local $Data::Dumper::Sortkeys = \&filter_menus_keys;
-         $out_result .=  Data::Dumper->Dump([$top_node], 
['$result_menus{\''.$test_name.'\'}'])."\n";
+        $out_result .=  Data::Dumper->Dump([$top_node], 
['$result_menus{\''.$test_name.'\'}'])."\n";
       }
     }
     {
@@ -1109,6 +1117,11 @@ sub test($$)
       local $Data::Dumper::Sortkeys = \&filter_floats_keys;
       $out_result .= Data::Dumper->Dump([$floats], 
['$result_floats{\''.$test_name.'\'}']) ."\n\n";
     }
+    if ($indices_sorted_sort_strings) {
+      local $Data::Dumper::Sortkeys = 1;
+      $out_result .= Data::Dumper->Dump([$indices_sorted_sort_strings], 
+                                    
['$result_sort_strings{\''.$test_name.'\'}']) ."\n\n";
+    }
     if ($elements) {
       local $Data::Dumper::Sortkeys = \&filter_elements_keys;
       $out_result .= Data::Dumper->Dump([$elements], 
['$result_elements{\''.$test_name.'\'}']) ."\n\n";
@@ -1151,6 +1164,8 @@ sub test($$)
         $test_name.' errors');
     ok (Data::Compare::Compare($indices, $result_indices{$test_name}), 
         $test_name.' indices');
+    ok (Data::Compare::Compare($indices_sorted_sort_strings, 
$result_sort_strings{$test_name}),
+        $test_name.' indices sort');
     ok (Texinfo::Convert::Texinfo::convert_to_texinfo($result) eq 
$result_texis{$test_name}, 
          $test_name.' texi');
     if ($todos{'text'}) {



reply via email to

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