Subject: bug#53242: [PATCH] unify reads from local_var_alist

From: Sergey Vinokurov <[email-masked]>
Date: Sat, 15 Jan 2022 11:41:02 +0000

On 15/01/2022 07:32, Eli Zaretskii wrote:
>> My argument is that at this point we don't care whether user is able
>> to interrupt basic operations of reading and writing buffer-local
>> variables.
> 
> "We" might not care, but the user could very much care.  We in effect
> locked the users without no way to handle these situations.
> 
>> Even if we use Fassq and the user could interrupt, nothing is gained
>> in my opinion - any command that involves reading or writing
>> buffer-local variables will still remain slow.
> 
> The commands will remain slow, but the users could stop Emacs from
> wasting their time.  Now they cannot.  Saying that "we don't care"
> means we don't  care about our users, which is certainly not true.

I agree with your position but see a more further-reaching conclusion. 
If there's a risk of the list being really long the Emacs can employ a 
different data structure, e.g. a hash table, to make reads and writes of 
variables fast regardless of the number of entries. In my opinion such a 
change would serve users even better as there would be no need to 
interrupt any slow operations because there would be none.