Subject: bug#54961: 28.1; info-display-manual completions issues

From: Howard Melman <[email-masked]>
Date: Sat, 16 Apr 2022 11:21:31 -0400

> On Apr 16, 2022, at 10:38 AM, Lars Ingebrigtsen <[email-masked]> wrote:
> 
> Howard Melman <[email-masked]> writes:
> 
>> First, they include manuals named "./" and "../" which
>> shouldn't be there.
>> 
>> Second I seem to see duplicates, if I complete with input
>> "emacs" I see candidates "emacs" and "emacs.info.gz" and
>> similar duplicates for emacs-mime and emacs-gnutls, so 3
>> candidates show as 6.  This may be an artifact of the
>> macport build I'm using.  It happens from emacs -q and I
>> can't easily test on vanilla gnu emacs.
> 
> I've now fixed this in Emacs 29.

Thank you.  I hope it can make it into an Emacs 28.2.

>> Third it would be really nice if there were an
>> affixation-function that added the one line description of
>> the manual for a completions framework to show when
>> completions-detailed is t.  Perhaps it could get the info
>> from Info-dir-contents?
> 
> But I'm not sure how to fix this in a scalable way.  Info-dir-contents
> may not exist, and may include fewer info files than what we want to
> have in this prompt, I think?  And as previously noted, I think it'd
> just be too slow to look in every file (I've got 133 files now, down
> from 300 before filtering duplicates).

I agree it's problematic.  I believe q in Info defaults to burying the buffer
so I think after first use Info-dir-contents could stick around, which
while not ideal, would be good enough for me

I'm also frustrated that packages I install put their manuals at the top, 
above Emacs and Elisp which are my most referenced manuals.  
I thought there was a bug about this, but I couldn't find it.  There 
are several others about duplicates in the dir dealing with the 
complexities of finding multiple versions of a manual in the info paths.

I think ideally there would be a function that did the scanning to find the 
manuals that stored the information persistently in some data format
(perhaps your new sqlite work).  It could be updated at package install
time or manually (say C-x x g in top level info).  But otherwise
this would be available (with the annotations) for a completion table. On 
first use Info would turn this data into the dir contents and perhaps at that
time could run the update (which is basically what it does now).  That's
certainly a larger project.

Howard