|
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
[Prev in Thread] | Current Thread | [Next in Thread] |