Hi Stefan,
Stefan Monnier <[email protected]> writes:
> Great, thank you.
Sure, you're welcome.
> Probably something that changed in Corfu,
Many thanks for looking at this. Tassilo kindly reminded me that we
don't need Corfu to exhibit the issue[1]. The following setup is enough
after 'emacs -Q':
(progn
(setq tab-always-indent 'complete)
(package-initialize t)
(package-activate 'auctex) )
Candidates are then shown in the Completions buffer, and not in a child
frame.
> but the underlying problem is most likely the following:
>
> With `\setlength{}`, `LaTeX--arguments-completion-at-point` returns
> (POS POS TABLE) where POS is the position of point and TABLE contains
> things like `\columnsep`.
> But with `\setlength{\}` (and with point right after the `\`),
> `LaTeX--arguments-completion-at-point` return (POS+1 POS+1 OTHER-TABLE)
> where OTHER-TABLE contains things like `columnsep`, i.e. now the
> backslash is *not* part of the completion any more.
You can find my analysis in this message[2].
> So from the point of view of the UI, it looks like after TAB inserted
> `\` we ended up in a new completion field, rather than continuing the
> previous completion.
Agreed. And this is a change of behavior in Emacs, it used to be
different.
Best, Arash
Footnotes:
[1] https://lists.gnu.org/archive/html/emacs-devel/2025-10/msg00703.html
[2] https://lists.gnu.org/archive/html/emacs-devel/2025-10/msg00705.html