GNU bug report logs - #29833
icomplete re-build the completion table after each key press

Previous Next

Package: emacs;

Reported by: Shuguang Sun <shuguang <at> gmail.com>

Date: Sun, 24 Dec 2017 08:59:01 UTC

Severity: minor

Tags: patch

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #16 received at 29833 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Shuguang Sun <shuguang <at> gmail.com>
Cc: 29833 <at> debbugs.gnu.org, Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: Re: bug#29833: icomplete re-build the completion table after each
 key press
Date: Mon, 21 Sep 2020 16:27:38 +0200
Shuguang Sun <shuguang <at> gmail.com> writes:

> I tired to find out the issues and provide patches to minibuffer.el and icomplete.el.
>
> What is the issue?
> 1. The function completion--flush-all-sorted-completions defined in minibuffer.el is
> always called without parameters which make it flush the cached table every
> time.
> 2. The function completion--flush-all-sorted-completions is added to the hook of
> after-change-functions, however, (jit-lock-after-change t) in the hook will trigger
> flush every time
> 3. The local cached table completion-all-sorted-completions is not used actually.
> The minibuffer-completion-table is called in a lot of function which will rebuild the
> table instead of the chached table.

[...]

> The patches try to use the cached table completion-all-sorted-completions-table as
> much as possible, and for filename completion, it caches the list of files in the base
> directory (file-name-directory).

This patch unfortunately got no response when it was posted two years
ago, and it no longer applies cleanly to Emacs 28.

I'm not very familiar with the completion functions, but I think your
changes make conceptual sense, at least.  Perhaps Stefan can provide
some feedback here?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




This bug report was last modified 3 years and 303 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.