diff options
author | Simen Heggestøyl <simenheg@gmail.com> | 2020-06-02 19:20:14 +0200 |
---|---|---|
committer | Simen Heggestøyl <simenheg@gmail.com> | 2020-06-02 19:27:55 +0200 |
commit | 9afcf2bd39ceb2988ed516efa0a474137fb30f74 (patch) | |
tree | 3956ad12964ed5c0a2dd472dd7886f020873c87a | |
parent | e7065459d96498163e737c0c8e45e5dc2412f181 (diff) | |
download | emacs-9afcf2bd39ceb2988ed516efa0a474137fb30f74.tar.gz |
Write project list to file only when changed
* lisp/progmodes/project.el (project--add-to-project-list-front):
Write the project list to file only when it has changed.
-rw-r--r-- | lisp/progmodes/project.el | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index 314918901ea..0051a84ff84 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -771,14 +771,15 @@ Arguments the same as in `compile'." (write-region nil nil filename nil 'silent)))) (defun project--add-to-project-list-front (pr) - "Add project PR to the front of the project list and save it. -Return PR." + "Add project PR to the front of the project list. +Save the result to disk if the project list was changed." (project--ensure-read-project-list) - (let ((dir (project-root pr))) + (let* ((dir (project-root pr)) + (do-write (not (equal (car project--list) dir)))) (setq project--list (delete dir project--list)) - (push dir project--list)) - (project--write-project-list) - pr) + (push dir project--list) + (when do-write + (project--write-project-list)))) (defun project--remove-from-project-list (pr-dir) "Remove directory PR-DIR from the project list. |