* tp/Texinfo/Common.pm (move_index_entries_after_items):
consider a @subentry to be part of the moved index entries.
Report from Thérèse Godefroy.
* tp/t/index_before_item.t (subentry): add test with @subentry
in @cindex.
diff --git a/ChangeLog b/ChangeLog
index f0bd116..4cbe9cb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2024-10-08 Patrice Dumas <pertusus@free.fr>
+
+ * tp/Texinfo/Common.pm (move_index_entries_after_items):
+ consider a @subentry to be part of the moved index entries.
+ Report from Thérèse Godefroy.
+
+ * tp/t/index_before_item.t (subentry): add test with @subentry
+ in @cindex.
+
2024-09-21 Patrice Dumas <pertusus@free.fr>
* tp/t/formats_encodings.t (japanese_shift_jis): assume that test
diff --git a/tp/Texinfo/Common.pm b/tp/Texinfo/Common.pm
index d7b146b..abc2b00 100644
--- a/tp/Texinfo/Common.pm
+++ b/tp/Texinfo/Common.pm
@@ -2356,7 +2356,10 @@
and $previous_ending_container->{'contents'}->[-1]->{'type'} eq 'index_entry_command')
or ($previous_ending_container->{'contents'}->[-1]->{'cmdname'}
and ($previous_ending_container->{'contents'}->[-1]->{'cmdname'} eq 'c'
- or $previous_ending_container->{'contents'}->[-1]->{'cmdname'} eq 'comment')))) {
+ or $previous_ending_container->{'contents'}->[-1]->{'cmdname'} eq 'comment'
+ # subentry is not within the index entry in the tree
+ or $previous_ending_container->{'contents'}->[-1]->{'cmdname'} eq 'subentry')
+ ))) {
unshift @gathered_index_entries, pop @{$previous_ending_container->{'contents'}};
}
#print STDERR "Gathered: @gathered_index_entries\n";
diff --git a/tp/t/index_before_item.t b/tp/t/index_before_item.t
index 89a74df..184b4ed 100644
--- a/tp/t/index_before_item.t
+++ b/tp/t/index_before_item.t
@@ -5,7 +5,7 @@
use Test::More;
-BEGIN { plan tests => 6; }
+BEGIN { plan tests => 7; }
use Texinfo::Parser qw(parse_texi_piece);
use Texinfo::Common qw(move_index_entries_after_items_in_tree);
@@ -164,3 +164,16 @@
@item e--mph item
@end itemize
', 'only comment');
+
+run_test('@enumerate
+@cindex pattern @subentry variable
+@item
+Set the variable
+@end enumerate
+', '@enumerate
+@item
+@cindex pattern @subentry variable
+Set the variable
+@end enumerate
+', 'subentry');
+