From: Simen Heggestøyl Date: Tue, 2 Jun 2020 17:20:14 +0000 (+0200) Subject: Write project list to file only when changed X-Git-Tag: emacs-28.0.90~7230 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9afcf2bd39ceb2988ed516efa0a474137fb30f74;p=emacs.git 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. --- 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.