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

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

[nongnu] elpa/htmlize 5ea2cc3 113/134: Let `overlays-at' sort the overla


From: ELPA Syncer
Subject: [nongnu] elpa/htmlize 5ea2cc3 113/134: Let `overlays-at' sort the overlays. (#9)
Date: Sat, 7 Aug 2021 09:17:18 -0400 (EDT)

branch: elpa/htmlize
commit 5ea2cc33c32d08088f4aee607a425114bca3accc
Author: Hrvoje Niksic <hniksic@gmail.com>
Commit: Hrvoje Niksic <hniksic@gmail.com>

    Let `overlays-at' sort the overlays. (#9)
---
 htmlize.el | 26 ++++----------------------
 1 file changed, 4 insertions(+), 22 deletions(-)

diff --git a/htmlize.el b/htmlize.el
index 71bf0fb..683c06a 100644
--- a/htmlize.el
+++ b/htmlize.el
@@ -1381,29 +1381,11 @@ property and by buffer overlays that specify `face'."
                  ;; Collect overlays at point that specify `face'.
                  (delete-if-not (lambda (o)
                                   (overlay-get o 'face))
-                                (overlays-at (point))))
+                                (nreverse
+                                  (if (>= emacs-major-version 25)
+                                      (overlays-at (point) t)
+                                    (overlays-at (point))))))
                 list face-prop)
-            ;; Sort the overlays so the smaller (more specific) ones
-            ;; come later.  The number of overlays at each one
-            ;; position should be very small, so the sort shouldn't
-            ;; slow things down.
-            (setq overlays (sort* overlays
-                                  ;; Sort by ascending...
-                                  #'<
-                                  ;; ...overlay size.
-                                  :key (lambda (o)
-                                         (- (overlay-end o)
-                                            (overlay-start o)))))
-            ;; Overlay priorities, if present, override the above
-            ;; established order.  Larger overlay priority takes
-            ;; precedence and therefore comes later in the list.
-            (setq overlays (stable-sort
-                            overlays
-                            ;; Reorder (stably) by acending...
-                            #'<
-                            ;; ...overlay priority.
-                            :key (lambda (o)
-                                   (or (overlay-get o 'priority) 0))))
             (dolist (overlay overlays)
               (setq face-prop (overlay-get overlay 'face)
                      list (nconc (htmlize-decode-face-prop face-prop) list)))



reply via email to

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