From: Juri Linkov Date: Thu, 3 Nov 2022 17:35:45 +0000 (+0200) Subject: Fix overlays order in Flyspell (bug#58970) X-Git-Tag: emacs-29.0.90~1616^2~331 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=651bf0a99923e5eff279e9f9649aaed3d2f05c71;p=emacs.git Fix overlays order in Flyspell (bug#58970) 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'. --- diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el index a66b72cfd06..11039f29630 100644 --- a/lisp/textmodes/flyspell.el +++ b/lisp/textmodes/flyspell.el @@ -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