branch: externals/bufferlo
commit 0936cf6948e227d197723d47a1d16d483e4b861b
Author: Florian Rommel <m...@florommel.de>
Commit: Florian Rommel <m...@florommel.de>

    Continue on errors when killing buffers
    
    This prevents bufferlo-kill-buffers and related functions from
    aborting due to errors when killing individual buffers.
---
 bufferlo.el | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/bufferlo.el b/bufferlo.el
index 971878e498..a306c99951 100644
--- a/bufferlo.el
+++ b/bufferlo.el
@@ -1565,18 +1565,21 @@ If INVERT is non-nil, return the non-exclusive buffers 
instead."
 
 (defun bufferlo--kill-buffer (buffer)
   "Kill BUFFER respecting `bufferlo-kill-modified-buffers-policy'."
-  (pcase bufferlo-kill-modified-buffers-policy
-    ('retain-modified
-     (unless (buffer-modified-p buffer)
-       (kill-buffer buffer)))
-    ('retain-modified-kill-without-file-name
-     (if (not (buffer-file-name buffer))
-         (bufferlo--kill-buffer-forced buffer)
-       (unless (buffer-modified-p buffer)
-         (kill-buffer buffer))))
-    ('kill-modified
-     (bufferlo--kill-buffer-forced buffer))
-    (_ (kill-buffer buffer))))
+  (condition-case-unless-debug err
+      (pcase bufferlo-kill-modified-buffers-policy
+        ('retain-modified
+         (unless (buffer-modified-p buffer)
+           (kill-buffer buffer)))
+        ('retain-modified-kill-without-file-name
+         (if (not (buffer-file-name buffer))
+             (bufferlo--kill-buffer-forced buffer)
+           (unless (buffer-modified-p buffer)
+             (kill-buffer buffer))))
+        ('kill-modified
+         (bufferlo--kill-buffer-forced buffer))
+        (_ (kill-buffer buffer)))
+    (error (message "Bufferlo could not kill buffer \"%s\": %S"
+                    (buffer-name buffer) (error-message-string err)))))
 
 (defun bufferlo-kill-buffers (&optional killall frame tabnum internal-too)
   "Kill the buffers of the frame/tab-local buffer list.

Reply via email to