Patrice Dumas wrote: > It is on purpose that CHECK_NORMAL_MENU_STRUCTURE is needed, because > with manually made menus and node directions, it is not really possible > to be sure that an irregular structure is not done on purpose.
Are you serious about that? Reading an info file should not be an experience like an adventure game, where each cave has an unknown number of hidden entrances, or where you can leave a room through the EAST exit and enter the next one through the SOUTH door. > Setting > customization variable is not done with environment variables but with > the -c option. With that option, for your reproducer, I get (with the > texinfo git head version): > > ~/tmp/gnulib/doc((HEAD detached at 458694e417))$ env LANG= LC_MESSAGES= > LC_ALL= LANGUAGE= ~/src/texinfo/tp/texi2any.pl -c > CHECK_NORMAL_MENU_STRUCTURE=1 --no-split --reference-limit=2000 gnulib.texi > 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. It's good that it's still possible to get this warning. But for my feeling it's way too hidden behind the bars of customization variables. How about adding an option '--validate' to makeinfo? Its effect - at least in 'info' mode - should be to enable this CHECK_NORMAL_MENU_STRUCTURE variable. Bruno