On Sat, Feb 20, 2021 at 10:05:16PM +0000, Gavin Smith wrote: > On Sat, Feb 20, 2021 at 05:18:18PM +0100, Patrice Dumas wrote: > > This is not easy to determine which warning to output since the node is > > automatically added during output. I think that we have two > > possibilities, > > * pass to Structuring.pm the information that nodes will be generated > > automatically and add a special case for nodes in generated menus. > > * modify the tree before or in Texinfo::Structuring::nodes_tree(). > > The warnings that are output are a > regression from texi2any 6.7 which managed files like these with > no problem.
I agree, this needs to be fixed. What about first removing those unreferenced warnings when FORMAT_MENU is mini_toc? We know that in that case there will be spurious warnings of menus are omitted. > Maybe CHECK_NORMAL_MENU_STRUCTURE would do most of the job? I just tested, and it doesn't seems to add new warnings. > A node could also be referenced through a cross-reference and I > don't think the existing code checks for this. I know we discussed > this a few months ago and I worry we are going over the same ground > again. We discussed a lot on that subject, but I do not remember going over that argument of cross references. I think that I can check if the node is the target of cross references and do not warn in that case. > I don't like the idea of transforming the entire tree to add menus > by default as this would be unnecessary processing. I forgot to say that my proposal would be to do that for Info output only, for which it is done anyway during the output. Would that be ok? > > > > For HTML output, they are referenced in the > > > sectional tables of contents. I didn't check with other values of > > > FORMAT_MENU. I will have to check what the default value of > > > FORMAT_MENU is and what errors are output for each setting. > > > > I checked that with FORMAT_MENU set to menu or nomenu in HTML, the > > node will actually be unreferenced. I am not sure what to do with > > nomenu, if FORMAT_MENU=mini_toc, it would make sense to consider that > > all the nodes associated with sectioning commands are referenced.
