emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[nongnu] elpa/rust-mode 610fe1f 305/486: Address review comments


From: ELPA Syncer
Subject: [nongnu] elpa/rust-mode 610fe1f 305/486: Address review comments
Date: Sat, 7 Aug 2021 09:25:41 -0400 (EDT)

branch: elpa/rust-mode
commit 610fe1fb69f072b2a13c907d03a547a07b993c8c
Author: Christian Howe <cjhowe7@gmail.com>
Commit: Christian Howe <cjhowe7@gmail.com>

    Address review comments
---
 rust-mode.el | 38 ++++++++++++++++++++------------------
 1 file changed, 20 insertions(+), 18 deletions(-)

diff --git a/rust-mode.el b/rust-mode.el
index a2b5fc5..aafb9a8 100644
--- a/rust-mode.el
+++ b/rust-mode.el
@@ -1195,24 +1195,26 @@ This is written mainly to be used as 
`end-of-defun-function' for Rust."
   (with-current-buffer (get-buffer-create "*rustfmt*")
     (erase-buffer)
     (insert-buffer-substring buf)
-    (let ((tmpf (make-temp-file "rustfmt")))
-      (let ((ret (call-process-region (point-min) (point-max) rust-rustfmt-bin
-                                      t `(t ,tmpf) nil)))
-        (cond
-         ((zerop ret)
-          (if (not (string= (buffer-string)
-                            (with-current-buffer buf (buffer-string))))
-              (copy-to-buffer buf (point-min) (point-max)))
-          (kill-buffer))
-         ((= ret 3)
-          (if (not (string= (buffer-string)
-                            (with-current-buffer buf (buffer-string))))
-              (copy-to-buffer buf (point-min) (point-max)))
-          (erase-buffer)
-          (insert-file-contents tmpf)
-          (error "Rustfmt could not format some lines, see *rustfmt* buffer 
for details"))
-         (t
-          (error "Rustfmt failed, see *rustfmt* buffer for details")))))))
+    (let* ((tmpf (make-temp-file "rustfmt"))
+           (ret (call-process-region (point-min) (point-max) rust-rustfmt-bin
+                                     t `(t ,tmpf) nil)))
+      (unwind-protect
+          (cond
+           ((zerop ret)
+            (if (not (string= (buffer-string)
+                              (with-current-buffer buf (buffer-string))))
+                (copy-to-buffer buf (point-min) (point-max)))
+            (kill-buffer))
+           ((= ret 3)
+            (if (not (string= (buffer-string)
+                              (with-current-buffer buf (buffer-string))))
+                (copy-to-buffer buf (point-min) (point-max)))
+            (erase-buffer)
+            (insert-file-contents tmpf)
+            (error "Rustfmt could not format some lines, see *rustfmt* buffer 
for details"))
+           (t
+            (error "Rustfmt failed, see *rustfmt* buffer for details"))))
+      (delete-file tmpf))))
 
 (defconst rust--format-word 
"\\b\\(else\\|enum\\|fn\\|for\\|if\\|let\\|loop\\|match\\|struct\\|unsafe\\|while\\)\\b")
 (defconst rust--format-line "\\([\n]\\)")



reply via email to

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