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

From: Miguel Ángel Arruga Vivas <[email-masked]>
Date: Mon, 16 Nov 2020 21:30:43 +0100

Hi,

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")))))