> From: Gavin Smith <[email protected]>
> Date: Fri, 23 Oct 2026 12:50:18 +0100
> Cc: [email protected]
> 
> On Fri, Oct 23, 2026 at 09:27:53AM +0300, Eli Zaretskii wrote:
> > > One possibility is to double check what exactly Emacs supported before, 
> > > and
> > > only output the DELs for input that Emacs didn't support.  I belive if 
> > > there
> > > was only a single colon not followed by whitespace, Emacs managed to treat
> > > it as an index entry.
> > 
> > I don't think that's true, but maybe I'm thinking about a different
> > case.  Can you show an example of an entry with colons which you think
> > Emacs should be able to support? 
> 
> In one version of elisp.info (27.2), there are the following index entries:
> 
> 
> * :deferred, JSONRPC keyword:            JSONRPC deferred requests.
>                                                               (line  16)
> * :notification-dispatcher:              JSONRPC Overview.    (line  20)
> * :request-dispatcher:                   JSONRPC Overview.    (line  20)
> 
> Opening the file with a command like "C-u M-x info RET ./elisp.info RET",
> accessing these index entries works with "i:deferred" etc.  Pressing return
> on these menu entries when you are in the index node also works.
> 
> In emacs.info (from version 29.1.90), there are the following index entries:
> 
> * :d (Dired):                            Operating on Files.  (line 192)
> * :e (Dired):                            Operating on Files.  (line 204)
> * :s (Dired):                            Operating on Files.  (line 200)
> * :v (Dired):                            Operating on Files.  (line 196)
> 
> These all work as expected (tested with Emacs 29.3 (Debian)).

Yes, because the leading colon is explicitly supported in the relevant
regular expressions.  But not any following colons.

> Running 'i:s (Dired)<RET>' does work and finds the relevant index entry.
> 
> The only niggle is that the search appears to omit the leading colon,
> leading other index entries, such as "M-s a C-s (Dired)" to be found.
> 
> I asusme this is part of what the comment at the start of info.el
> was about:
> 
> ;; Note that nowadays we expect Info files to be made using makeinfo.
> ;; In particular we make these assumptions:
> ;;  - a menu item MAY contain colons but not colon-space ": "
> ;;  - a menu item ending with ": " (but not ":: ") is an index entry
> ;;  - a node name MAY NOT contain a colon
> ;; This distinction is to support indexing of computer programming
> ;; language terms that may contain ":" but not ": ".

Yes, and that means Emacs doesn't really support colons in Index
entries in arbitrary places.
> > The ones that Patrice provides in
> > his colons_in_index_entries_and_node.info file (which he sent to the
> > Emacs bug#57277) didn't work in Emacs, with the sole exception of the
> > first one, which says
> > 
> > * ::                                     ^?One::node, with entries.^?.
> > 
> 
> I don't think any of those will work because the node names are all
> quoted

If quoted nodes were the problem, I'd expect an error message saying
that the node ^?foo^? cannot be found.  But that's not what I see.  I
see errors about wrong-type-argument, meaning that Emacs expected to
have a string but ended up with nil.

Reply via email to