summaryrefslogtreecommitdiff
path: root/lisp/textmodes/flyspell.el
diff options
context:
space:
mode:
authorJuri Linkov <juri@linkov.net>2022-11-03 19:35:45 +0200
committerJuri Linkov <juri@linkov.net>2022-11-03 19:35:45 +0200
commit651bf0a99923e5eff279e9f9649aaed3d2f05c71 (patch)
tree525c37cb3d4d356787740db8f3217563648640e4 /lisp/textmodes/flyspell.el
parenta66280162f907a09be23922cc80ac352392adac6 (diff)
downloademacs-651bf0a99923e5eff279e9f9649aaed3d2f05c71.tar.gz
emacs-651bf0a99923e5eff279e9f9649aaed3d2f05c71.tar.bz2
emacs-651bf0a99923e5eff279e9f9649aaed3d2f05c71.zip
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'.
Diffstat (limited to 'lisp/textmodes/flyspell.el')
-rw-r--r--lisp/textmodes/flyspell.el4
1 files changed, 3 insertions, 1 deletions
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