branch: externals/doc-view-follow commit 183f05b957c170a1933d019c434c1b419240fd4c Author: Paul Nelson <ultr...@gmail.com> Commit: Paul Nelson <ultr...@gmail.com>
Improve clarity of window ordering function * doc-dual-view.el (doc-dual-view--order-windows): Rewrite to use more descriptive variable names and explicit access to window edge positions. --- doc-dual-view.el | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/doc-dual-view.el b/doc-dual-view.el index 6910a7ba93..bd11db2e57 100644 --- a/doc-dual-view.el +++ b/doc-dual-view.el @@ -70,12 +70,17 @@ redisplay-func)." (defun doc-dual-view--order-windows (windows) "Order WINDOWS based on their position, leftmost (or topmost if equal) first." - (sort windows (lambda (a b) - (let ((edges-a (window-edges a)) - (edges-b (window-edges b))) - (or (< (car edges-a) (car edges-b)) - (and (= (car edges-a) (car edges-b)) - (< (cadr edges-a) (cadr edges-b)))))))) + (sort windows + (lambda (window-a window-b) + (let* ((edges-a (window-edges window-a)) + (edges-b (window-edges window-b)) + (left-a (nth 0 edges-a)) + (left-b (nth 0 edges-b)) + (top-a (nth 1 edges-a)) + (top-b (nth 1 edges-b))) + (or (< left-a left-b) + (and (= left-a left-b) + (< top-a top-b))))))) (defun doc-dual-view--sync-pages (&rest _args) "Sync pages between windows showing the same document."