Subject: bug#62065: 30.0.50; No prompt to confirm unsafe local variables when eglot-ensure used in major mode hook

From: João Távora <[email-masked]>
Date: Sat, 11 Mar 2023 11:13:43 +0000

Eli Zaretskii <[email-masked]> writes:

>> From: Matt Wittmann <[email-masked]>
>> Date: Wed, 8 Mar 2023 12:59:03 -0800
>> 
>> When attempting to autostart eglot in Python buffers using
>> 
>>     (add-hook 'python-mode-hook #'eglot-ensure)
>> 
>> and working in a directory that has unsafe local variables in
>> .dir-locals.el, I do not get a minibuffer prompt to confirm whether I
>> want to apply unsafe changes.
>> 
>> Steps to reproduce:
>> 
>> With the following in ./.dir-locals.el:
>> 
>>     ((python-mode . ((eval . (setq foo 42)))))
>> 
>> run
>> 
>>     emacs -Q --eval "(add-hook 'python-mode-hook #'eglot-ensure)" test.py
>> 
>> Expected behavior: A buffer named *Local Variables* is displayed with a
>> message asking to confirm whether to apply changes, and a minibuffer
>> prompt is focused (this is the behavior of `emacs -Q test.py`)
>> 
>> Actual behavior: *Local Variables* is created but not displayed. There
>> is no minibuffer prompt.
>
> João, any comments?

No, not yet.  I haven't tried to reproduce it yet, nor do I understand
what is going on.

But the main question to ask is: is the '(setq foo 42)' getting
evaluated without the user's consent?

João