]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix overlays order in Flyspell (bug#58970)
authorJuri Linkov <juri@linkov.net>
Thu, 3 Nov 2022 17:35:45 +0000 (19:35 +0200)
committerJuri Linkov <juri@linkov.net>
Thu, 3 Nov 2022 17:35:45 +0000 (19:35 +0200)
Flyspell relies on the sorting order of overlays from 'overlays-in'
that returned the overlays sorted by decreased 'overlay-start'.
But after the recent merge of the noverlay branch, the order was reversed.
So need to change the order back to the expected by Flyspell.

* lisp/textmodes/flyspell.el (flyspell-auto-correct-previous-word):
Sort overlays returned from 'overlays-in' descending by 'overlay-start'.

lisp/textmodes/flyspell.el

index a66b72cfd067c89c05d8611fc513d9dfa99eea50..11039f2963032aed1521728b83610cb4c637f281 100644 (file)
@@ -2131,7 +2131,9 @@ But don't look beyond what's visible on the screen."
          ;; only reset if a new overlay exists
          (setq flyspell-auto-correct-previous-pos nil)
 
-         (let ((overlay-list (overlays-in (point-min) position))
+         (let ((overlay-list (seq-sort-by
+                               #'overlay-start #'>
+                               (overlays-in (point-min) position)))
                (new-overlay 'dummy-value))
 
            ;; search for previous (new) flyspell overlay