branch: master
commit 5174ca24c6fcf5a4a6bfe3288a3032d76a3eab4a
Author: Oleh Krehel <[email protected]>
Commit: Oleh Krehel <[email protected]>
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)