If it helps, I've a working copy of Stefan's idea over at github.com/joaotavora/sly. Indeed it's called backend there, and it's been working fine for some years to let Sly's completion providing backend do the flex or prefix heavy lifting, while still appearing as a normal completion table to Emacs frontends, such as icomplete, vanilla, company-capf and even Helm. A first approach could be just to copy that over to Emacs minubuffer.el. João On Sun, May 23, 2021, 16:51 Stefan Monnier 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. > > > Stefan > >