emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 9afcf2b: Write project list to file only when changed


From: Simen Heggestøyl
Subject: master 9afcf2b: Write project list to file only when changed
Date: Tue, 2 Jun 2020 13:28:44 -0400 (EDT)

branch: master
commit 9afcf2bd39ceb2988ed516efa0a474137fb30f74
Author: Simen Heggestøyl <simenheg@gmail.com>
Commit: Simen Heggestøyl <simenheg@gmail.com>

    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.
---
 lisp/progmodes/project.el | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el
index 3149189..0051a84 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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]