bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#48572: 28.0.50; Add `passthrough` completion style to minibuffer.el


From: Daniel Mendler
Subject: bug#48572: 28.0.50; Add `passthrough` completion style to minibuffer.el
Date: Sun, 23 May 2021 21:58:35 +0200


On 5/23/21 5:50 PM, Stefan Monnier via Bug reports for GNU Emacs, the
Swiss army knife of text editors wrote:
>>> Clearly, this is not right: passthrough completion should pass the `str`
>>> and `point` info to the completion table.  The completion table may opt
>>> to ignore that information, but we shouldn't prevent them from using it.
>>> I expect most passthrough uses will want to use `str`.
>>
>> I see what you mean. In my use case I didn't use an improperly
>> implemented completion table which does not ignore . However the
>> question is then if this "passthrough" style is really needed since if
>> you don't ignore the input, it is mostly equivalent to the emacs21 style.
> 
> The "passthrough" (elsewhere called "backend") completion-style is
> definitely something we need to add, yes.  But what it should do is pass
> all the args from `completion-all/try-completions` to the table and let
> the table do *all* the work, i.e. let the completion table implement the
> completion-style methods.  But we shouldn't call `all-completions` or
> `try-completions` for that.  Instead we should call the completion-table
> directly, as is done for the `completion-boundaries` method.

But `all-completions` and `try-completion` already calls the table
directly if the table is indeed a table.

Basically `all-completions/try-completion` themselves are already
"passthrough" modulo some calling convention.

Am I missing something?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]