branch: master commit 5174ca24c6fcf5a4a6bfe3288a3032d76a3eab4a Author: Oleh Krehel <ohwoeo...@gmail.com> Commit: Oleh Krehel <ohwoeo...@gmail.com>
ace-window.el (aw-generic): handle zero-length read-only buffers better Possible fix for #10. --- ace-window.el | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ace-window.el b/ace-window.el index 8f212f6..67cc7cb 100644 --- a/ace-window.el +++ b/ace-window.el @@ -160,11 +160,21 @@ HANDLER is a function that takes a window argument." (visual-area-list (sort (aw-list-visual-area) 'aw-visual-area<))) + (unless (<= (length visual-area-list) 2) + (setq visual-area-list + (cl-remove-if (lambda (va) + (let ((b (aj-visual-area-buffer va))) + (with-current-buffer b + (and buffer-read-only + (= 0 (buffer-size b)))))) + visual-area-list))) (cl-case (length visual-area-list) (0) (1 - (when (aw-ignored-p (selected-window)) - (other-window 1))) + (if (aw-ignored-p (selected-window)) + (other-window 1) + ;; don't get stuck in an empty read-only buffer + (select-window (aj-visual-area-window (car visual-area-list))))) (2 (if (aw-ignored-p (selected-window)) (other-window 1)