(switching to bug-texinfo mailing list) On Tue, Oct 20, 2020 at 10:46:06PM +0200, Patrice Dumas wrote: > On Tue, Oct 20, 2020 at 04:53:11PM +0100, Gavin Smith wrote: > > > > Possibly, @novalidate was supposed to do this, as well as checking > > cross-references: > > > > https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Pointer-Validation.html > > > > > Instead, makeinfo checks that the tree constructed from the > > > document’s menus matches the tree constructed from the sectioning > > > commands. For example, if a chapter-level menu mentions nodes n1 and > > > n2, in that order, nodes n1 and n2 must be associated with @section > > > commands in the chapter. > > > > However, it doesn't appear to work fully. All the warnings/errors > > are still present with @novalidate or --no-validate. @novalidate > > may also do something slightly different with texinfo.tex (stops > > auxiliary files from being opened). It might be worth checking what > > @novalidate did with older versions of makeinfo to see if there > > is a regression. > > I do not think that we should do that. I think implementing what is in > the documentation is more important than being in line with what was > before. And even more important is to specify correctly in the > documentation what it should do.
The other variable that affects whether warnings are given is SHOW_MENU, but this is not documented. I wonder if menu-related errors should always be given regardless of SHOW_MENU. At present @novalidate only turns off errors about wrong links (in cross-references or menus), but doesn't affect errors about the document structure. I think it would be simpler to keep it this way. (If I understand correctly, the structuring errors only came in with Texinfo 5.) > > @novalidate seems to have been intended as an ad hoc, temporary > > insertion in a file while it was being worked on, rather than to > > be a permanent part of the file. > > I am not so sure about that. If it is so, it should be documented. With TeX output it doesn't even output the page numbers for cross-references, so it couldn't be a permanent part of the file, at least when processing with TeX.
