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."

Reply via email to