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.