Subject: bug#44698: 27.1; dir-locals.el stay on file-local-variables-alist when using vc-mode

From: Lars Ingebrigtsen <[email-masked]>
Date: Tue, 07 Jun 2022 13:05:52 +0200

Miguel Ángel Arruga Vivas <[email-masked]> writes:

> While using vc-mode, the dir-locals.el variables under 'nil' mode are
> accumulated on file-local-variables-alist and they still apply after
> exiting the scope of the file.  The attached script can be used to
> reproduce it (Emacs 27.1, on GNU Guix
> f6e031ab36fd99ad3536caabfdaefcc2b5f606a1).
>
> It generates a temporary folder with two example git repositories, an
> offending dir-locals.el[1], launches an emacs with -Q and the shows
> the steps to follow:
>
> 1. Open p1/file and accept the .dir-locals.el variables.
> 2. Call vc-print-log
> 3. Check the file-local-variables-alist
> 4. Open p2/file (this one doesn't have .dir-locals.el).
> 5. Call vc-print-log again, the message is shown again.
>
> Best regards,
> Miguel
>
> [1] It contains: ((nil . ((eval (message "Eval called")))))

(I'm going through old bug reports that unfortunately weren't resolved
at the time.)

I tried to reproduce this with both Emacs 27.1 and Emacs 29, and I was
unable to -- in step 5), there's no message, and p2/file does not have
anything in file-local-variables-alist.

Are you still seeing this problem in recent Emacs versions?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no