On Mon, Dec 11, 2023 at 7:27 PM Ihor Radchenko <yanta...@posteo.net> wrote:
> > Indeed, it's unfortunate that imenu--make-index-alist and imenu--index-alist > > are named as internal. > > Should they be renamed to `imenu-make-index-alist' and `imenu-index-alist' > then? Maybe, but it's much more urgent IMO to review the representation they describe, since it's all over the place. Ideally do this before any rename. Incidentally, I just remembered why breadcrumb-jump uses the 'breadcrumb-region' text property cookie: it's because without it the current imenu tree structure has no way to for backends to store locations to non-leaf nodes, which are often among the places you want to jump to. text-properties + standard cons trees + "special elements" is a bit of a ugly mess, but OTOH it works and is backwards compatible to existing frontends and backends. So one of the possibilities that whoever conducts this review may consider is an 'imenu-region' text property similar to 'breadcrumb-region', describe it imenu--index-alist, and make M-x imenu take advantage of it. João