Re: [BUG] False-positive warning @node name should not contain `,'
Gavin Smith <[email protected]>
| Newsgroups | gmane.comp.tex.texinfo.bugs |
|---|---|
| Message-ID | <aaRUo-did50McwH9@orangestar> |
On Sun, Mar 01, 2026 at 02:39:08PM +0000, Ihor Radchenko wrote: > Patrice Dumas <[email protected]> writes: > > > On Sun, Mar 01, 2026 at 01:45:41PM +0000, Ihor Radchenko wrote: > >> Hello, > >> > >> Consider the following .texi file. > >> When I try to compile it with makeinfo file.texi, I get > >> warning: @node name should not contain `,': This is test, yes > >> even though the comma is escaped with @comma{}, as suggested by the > >> manual https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Node-Line-Requirements.html > > > > As explained on this page, you need to set INFO_SPECIAL_CHARS_WARNING to > > 0 if you do not want to get the warnings about commas in node names. > > > > It seems to work (calling your texinfo file tbug.texi): > > $ ./texi2any.pl tbug.texi > > tbug.texi:4: warning: @settitle missing argument > > tbug.texi:16: warning: @title missing argument > > tbug.texi:31: warning: @node name should not contain `,': This is test, yes > > > > $ ./texi2any.pl -c INFO_SPECIAL_CHARS_WARNING=0 tbug.texi > > tbug.texi:4: warning: @settitle missing argument > > tbug.texi:16: warning: @title missing argument > > Doesn't it simply disable all the special char warnings? > > From my reading of the manual, > > texi2any warns about such problematic usage in node names, menu items, and cross-references. If you don’t want to see the warnings, you can set the customization variable INFO_SPECIAL_CHARS_WARNING to ‘0’ (see Info and Plaintext Customization Variables). > > If you insist on using these characters in node names, in order not to confuse the Texinfo processors you must still escape those characters, by using either special insertions (see Inserting ‘,’ with @comma{}) or @asis (see @asis). For example: > > @node foo@asis{::}bar@comma{} baz > > The first paragraph talks about disabling the warnings and the second > suggest alternative -- using escapes. > > I though that escaping should not trigger the warnings. > What do I miss? No, you still get the warnings with @comma{}. Escaping with @comma{} avoids it appearing that you are giving more arguments to the @node command. The warning is for the node pointers in Info nodes, like Next: This is test, yes, Up: Top The Next pointer here may be read as referring to a node called "This is test". texi2any outputs quoting characters for these node names, which is recognised by the "info" program but not as far as I know by Emacs Info mode.