emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/mmm-mode 552d740 09/12: mmm-sort-overlays: Sort by nest


From: Dmitry Gutov
Subject: [elpa] externals/mmm-mode 552d740 09/12: mmm-sort-overlays: Sort by nesting when no priorities
Date: Sun, 24 May 2020 20:16:10 -0400 (EDT)

branch: externals/mmm-mode
commit 552d7401c96f756bd55c205c60df2532bf65c919
Author: Dmitry Gutov <address@hidden>
Commit: Dmitry Gutov <address@hidden>

    mmm-sort-overlays: Sort by nesting when no priorities
    
    And we stopped setting priority in mmm-make-region some time ago
---
 mmm-region.el | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/mmm-region.el b/mmm-region.el
index 8b8d8bd..a8238eb 100644
--- a/mmm-region.el
+++ b/mmm-region.el
@@ -146,10 +146,16 @@ attention is paid to stickiness."
                 (min stop (point-max))))))
 
 (defun mmm-sort-overlays (overlays)
-  "Sort OVERLAYS in order of decreasing priority."
+  "Sort OVERLAYS in order of decreasing priority or nesting."
   (sort (copy-sequence overlays)
-        (lambda (x y) (> (or (overlay-get x 'priority) 0)
-                    (or (overlay-get y 'priority) 0)))))
+        (lambda (x y)
+          (let ((prio-x (overlay-get x 'priority))
+                (prio-y (overlay-get y 'priority)))
+            (if (or prio-x prio-y)
+                (> (or prio-x 0)
+                   (or prio-y 0))
+              (> (overlay-start x)
+                 (overlay-start y)))))))
 
 ;;}}}
 ;;{{{ Current Submode



reply via email to

[Prev in Thread] Current Thread [Next in Thread]