bug-texinfo
[Top][All Lists]
Advanced

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

Re: makeinfo no longer validates the menu structure


From: Gavin Smith
Subject: Re: makeinfo no longer validates the menu structure
Date: Tue, 11 Jul 2023 13:49:31 +0100

On Thu, Jun 22, 2023 at 06:07:20PM +0200, Bruno Haible wrote:
> > strings.texi:208: warning: node next pointer for `Strings with NUL 
> > characters' is `String Functions in C Locale' but next is `Comparison of 
> > string APIs' in menu
> > strings.texi:21: warning: node `Strings' lacks menu item for `String 
> > Functions in C Locale' despite being its Up target
> > strings.texi:233: warning: node prev pointer for `Comparison of string 
> > APIs' is `String Functions in C Locale' but prev is `Strings with NUL 
> > characters' in menu
> 
> The essential warning in this case is the second one. The other two are
> confusing, because they don't point at the root cause.

Getting a mass of error messages and warnings when getting the menu
structure wrong is completely overwhelming and can make restructuring
Texinfo files difficult if not doing it in Emacs where menus can be
updated automatically.  This is one reason I was happy to not output the
warnings by default.

However, as you point out, this can leave mistakes in manuals
undetected.  Running with CHECK_NORMAL_MENU_STRUCTURE=1 on texinfo.texi
(Texinfo's own manual) revealed several menu errors that should have
been fixed.

It might be a good idea to show some of the warnings by default but
not all of them.  I agree that the warning you identified as the essential
one.

If I disable the warnings about node and menu directions and only
keep the ones about missing menu items, there is usually still enough
information to know what the problem is and what should be fixed.
The only thing that is not warned about is if the menu entries are
in the wrong order, which is a less important mistake and one people
are less likely to make than missing the entry out.

So I've made a change to output this warning unconditionally, in commit
92600710f6.  Please let us know if it outputs the necessary warnings.



reply via email to

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