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.



Reply via email to