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

Reply via email to