branch: externals/bufferlo
commit 0936cf6948e227d197723d47a1d16d483e4b861b
Author: Florian Rommel <[email protected]>
Commit: Florian Rommel <[email protected]>
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.