Re: makeinfo 7.1 misses menu errors
Hi Patrice, then they can set CHECK_NORMAL_MENU_STRUCTURE on explicitely. It's easy to say that, but it creates an incompatibility for the 99.99% case. I can't set it for makeinfo 7.x without giving people using 6.x (which is most everyone, downstream) a useless warning. Nor can I omit it without great chance of messing up the manual. Also, it feels painful to have to set a config file variable at all to get a useful feature which has always been enabled by default. Indeed, having better error messages was one of the primary advantages of C makeinfo over Elisp texinfo-format-buffer, umpteen years ago. My point is that some users may want to have menus that do not follow the sectioning structure, it is perfectly correct, I understand. But my point is that, although it can be correct in theory, in practice it is 99.99% (at least) caused by a mistake, not intentional. Therefore it sure seems to me that makeinfo should follow the 99.99% case, not the .001% case, just because of some theoretical possibility. The new features to support normally-structured manuals are great, but because they are so new, they can't yet be used for manuals intended to be widely distributed. I could not use them for automake, for example, without causing tremendous trouble with all the distros and users using older makeinfos. Which will be the case for many years yet. I agree that setting CHECK_NORMAL_MENU_STRUCTURE on is best for most manuals. However, it would lead to emitting warnings for correct, even if rare cases, which I find very unfortunate. I understand the principle, but for me the lossage in practice is even more unfortunate (by far). It sure seems to me that the "rare" case should be the one to have to make the config file setting. Indeed, the very fact of making that config file setting would helpfully alert contributors and builders that "this is not a normally-structured manual". I dearly hope you will reconsider. --thanks, karl.
Re: makeinfo 7.1 misses menu errors
On Sat, Jan 20, 2024 at 07:06:44PM +, Gavin Smith wrote: > On Sat, Jan 20, 2024 at 06:45:06PM +0100, Patrice Dumas wrote: > > > That reply pertained to the case of a missing menu entry. Your case > > > is the opposite: a superfluous menu entry. > > > > To me, the manual with an entry leading to a node that do not > > corresponds to the sectioning structure is perfectly acceptable. I > > still do not see any issue in having the need to set > > CHECK_NORMAL_MENU_STRUCTURE to get warnings. I can't see why the user > > would not want to have a menu that do not follow the sectioning > > structure. > > I have difficulty following the last sentence here. Users may want > to have menus that follow the menu structure if they have existing > Texinfo documents that are structured that way, and they are not > ready or willing to delete all of their @menu blocks to generate all > menus automatically. Of course, but then they can set CHECK_NORMAL_MENU_STRUCTURE on explicitely. My point is that some users may want to have menus that do not follow the sectioning structure, it is perfectly correct, and it seems to me wrong to have warnings, in the default case, for a correct use of @menu. > > To me it was true before, menus were/are as much a list of links as > > structuring commands, and it is even more so today, as now fully > > automatic menus can be obtained with descriptions with @nodedescription. > > Explicit menus are now needed only if one want a structure not following > > the sectioning structure. > > This goes against the practice of the vast majority of existing Texinfo > manuals, so this existing practice should be well supported. I agree that setting CHECK_NORMAL_MENU_STRUCTURE on is best for most manuals. However, it would lead to emitting warnings for correct, even if rare cases, which I find very unfortunate. If a user knows that its manual menus are supposed to follow the sectioning structure, then he/she can set CHECK_NORMAL_MENU_STRUCTURE on. -- Pat