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).
This commit is contained in:
Johan Claesson 2019-08-18 15:49:24 -07:00 committed by Lars Ingebrigtsen
parent f9464020d4
commit b82adee1f6

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