]> git.eshelyaron.com Git - emacs.git/commitdiff
Invalidate dir-locals-directory-cache when writing dir-local file
authorJohan Claesson <johanclaesson@bredband.net>
Sun, 18 Aug 2019 22:49:24 +0000 (15:49 -0700)
committerLars Ingebrigtsen <larsi@gnus.org>
Sun, 18 Aug 2019 22:49:29 +0000 (15:49 -0700)
* lisp/files-x.el (modify-dir-local-variable): Remove file from
the cache when writing to ensure that we load the new version
later (bug#13860).

lisp/files-x.el

index b71e9204f324d09cde948bbb4422c595338d49a7..6b04518fe40d7dd496e110ac59f8ada296fd9f70 100644 (file)
@@ -491,6 +491,13 @@ from the MODE alist ignoring the input argument VALUE."
                (cons `(,mode . ((,variable . ,value)))
                      variables))))
 
+      ;; Invalidate cache (may be needed if this .dir-locals.el file
+      ;; will be written with the same timestamp as is already present
+      ;; in the cache, see bug#13860).
+      (setq dir-locals-directory-cache
+            (assoc-delete-all (file-name-directory variables-file)
+                              dir-locals-directory-cache))
+
       ;; Insert modified alist of directory-local variables.
       (insert ";;; Directory Local Variables\n")
       (insert ";;; For more information see (info \"(emacs) Directory Variables\")\n\n")