On Mon, Dec 30, 2024 at 07:47:55PM +0100, Bruno Haible wrote: > This would make references in the index work. But what about references > generated by @ref or @pxref? It is better to design things in such a way > that all kinds of references work equally well.
Full stops in node names usually work in cross-references, like: *note config.status Invocation:: This breaks if there is a separate label for the cross-reference, like: *note Invocation: config.status Invocation. The quoting mechanism with DEL is useful for the latter case. It is not as common as index entries, which always have a separate label. > > If I insert the DEL quoting characters into the file, then the link > > works properly. > > Yes, 'info' understands this DEL as so-called INFO_QUOTE character. > This would be a more robust solution than having code decide ad-hoc > what is a terminator and what is not. > > But Emacs doesn't! If I use the attached modified info file in Emacs, > Emacs > 1. displays these characters as ^? instead of hiding them, > 2. complains when I select this reference in the index. > > It is a pity that Emacs and 'info' have gone out-of-sync in this way. They just never implemented it. Patrice made a report here: https://lists.gnu.org/archive/html/bug-gnu-emacs/2022-08/msg01756.html There was a related report about colons in index entries: https://lists.gnu.org/archive/html/bug-gnu-emacs/2019-01/msg00235.html > > Follow the menu entry name with a single colon, and follow the node > > name with tab, comma, newline, or the two characters period and space > > (@samp{. }). > > > > This text was added in commit 7d6ecb6d (Karl Berry, 2008-05-12), > > referencing node names containing "config.status". > > Does this apply only to menu entries, or also to @ref and @pxref ? Menu entries only. > > > +2024-12-30 Gavin Smith <gavinsmith0...@gmail.com> > > + > > + ". " terminator for index entry node name > > + > > + * info/scan.c (scan_reference_target): > > + First check for a ". " and ".\n" terminator for node name in menu, > > + rather than just a ".". This allows index entries referring to > > + nodes with "." in their names. Report from Bruno Haible. > > Thanks. That is likely the best solution if Emacs would not want to support > the ^?NODENAME^? syntax. We should only use the quoting where necessary to avoid making incompatible Info files.