branch: externals/dape
commit 7b6734d7704733c1c8a59a3ecb59c4d165b14558
Author: Daniel Pettersson <dan...@dpettersson.net>
Commit: Daniel Pettersson <dan...@dpettersson.net>

    Skip writing breakpoints file if nothing has changed
    
    Fixes #197
---
 dape.el | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/dape.el b/dape.el
index 16fefc8948..5267d323e4 100644
--- a/dape.el
+++ b/dape.el
@@ -3264,14 +3264,20 @@ Will use `dape-default-breakpoints-file' if FILE is 
nil."
      ";; Load breakpoints with `dape-breakpoint-load'\n\n")
     (cl-loop for breakpoint in dape--breakpoints
              for path = (dape--breakpoint-path breakpoint)
-             for line = (dape--breakpoint-line breakpoint)
              when path collect
-             (list path line
+             (list path
+                   (dape--breakpoint-line breakpoint)
                    (dape--breakpoint-type breakpoint)
                    (dape--breakpoint-value breakpoint))
              into serialized finally do
              (prin1 serialized (current-buffer)))
-    (write-file file)))
+    ;; Skip write if nothing has changed since last save
+    (unless (equal (buffer-string)
+                   (with-temp-buffer
+                     (insert-file-contents file)
+                     (buffer-string)))
+      (write-region (point-min) (point-max) file nil
+                    (unless (called-interactively-p 'interactive) 'quiet)))))
 
 
 ;;; Source buffers

Reply via email to