From: Johan Claesson Date: Sun, 18 Aug 2019 22:49:24 +0000 (-0700) Subject: Invalidate dir-locals-directory-cache when writing dir-local file X-Git-Tag: emacs-27.0.90~1570 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b82adee1f64231236d50b48662d3419417ba5d48;p=emacs.git 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). --- 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")