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.