emacs-devel
[Top][All Lists]
Advanced

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

Re: Setting `minibuffer-completion-table` buffer-locally


From: Daniel Mendler
Subject: Re: Setting `minibuffer-completion-table` buffer-locally
Date: Sat, 24 Apr 2021 13:08:35 +0200

On 4/24/21 4:56 AM, Stefan Monnier wrote:
Following a long discussion in bug#45474, I'm warming up to the idea to
install the patch below which changes `completing-read(-default)` such
that it sets the `minibuffer-completion-*` variables buffer-locally in
the mini-buffer instead of let-binding them globally.

I am in favor of such a change. In the completion systems or packages centered around completion I am involved with (Selectrum, Vertico, Marginalia, Consult, Embark, ...) we always followed the style of encapsulating minibuffer-local state inside the minibuffer. Let-binding the built-in table always seemed odd. I don't expect breakage from these packages. If some issues occur despite my expectations we will fix them promptly. It is no problem to fix issues in a backward compatible way by always accessing the minibuffer-completion-table via the minibuffer, if for some reason the variable is accessed from the context of another buffer.

Daniel



reply via email to

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