From b82adee1f64231236d50b48662d3419417ba5d48 Mon Sep 17 00:00:00 2001 From: Johan Claesson Date: Sun, 18 Aug 2019 15:49:24 -0700 Subject: [PATCH] Invalidate dir-locals-directory-cache when writing dir-local file * 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 | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lisp/files-x.el b/lisp/files-x.el index b71e9204f32..6b04518fe40 100644 --- a/lisp/files-x.el +++ b/lisp/files-x.el @@ -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") -- 2.39.2