[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/jinx ddec95d110 2/2: jinx--nearest-overlay: Check overl
From: |
ELPA Syncer |
Subject: |
[elpa] externals/jinx ddec95d110 2/2: jinx--nearest-overlay: Check overlay visibility |
Date: |
Sun, 26 Mar 2023 14:58:11 -0400 (EDT) |
branch: externals/jinx
commit ddec95d110e5424529e0b04a1524003ba85e3148
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
jinx--nearest-overlay: Check overlay visibility
---
jinx.el | 23 +++++++++++++----------
1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/jinx.el b/jinx.el
index bacb1f753f..6cbe136fef 100644
--- a/jinx.el
+++ b/jinx.el
@@ -469,8 +469,7 @@ Return list of overlays, see `jinx--get-overlays'."
(setq start (jinx--check-region start end)
end (cdr start) start (car start))
(message "Done")
- (or (jinx--get-overlays start end)
- (error "No misspelled word found"))))
+ (jinx--get-overlays start end)))
(defun jinx--annotate-suggestion (word)
"Annotate WORD during completion."
@@ -598,12 +597,14 @@ Return list of overlays, see `jinx--get-overlays'."
(defun jinx--nearest-overlay ()
"Find nearest misspelled word."
- (let* ((overlays (or (jinx--get-overlays (window-start) (window-end))
- (jinx--force-overlays (window-start) (window-end))))
- (nearest (car overlays)))
- (dolist (ov (cdr overlays) nearest)
- (when (< (abs (- (overlay-start ov) (point)))
- (abs (- (overlay-start nearest) (point))))
+ (let ((overlays (or (jinx--get-overlays (window-start) (window-end))
+ (jinx--force-overlays (window-start) (window-end))))
+ nearest)
+ (dolist (ov overlays nearest)
+ (when (and (not (invisible-p (overlay-start ov)))
+ (or (not nearest)
+ (< (abs (- (overlay-start ov) (point)))
+ (abs (- (overlay-start nearest) (point))))))
(setq nearest ov)))))
;;;; Public commands
@@ -620,11 +621,13 @@ If predicate argument ALL is given correct all
misspellings."
(cl-letf (((symbol-function #'jinx--timer-handler) #'ignore)) ;;
Inhibit
(if all
(dolist (overlay
- (sort (jinx--force-overlays (point-min) (point-max))
+ (sort (or (jinx--force-overlays (point-min)
(point-max))
+ (user-error "No misspellings in whole
buffer"))
(lambda (a b) (< (overlay-start a)
(overlay-start b)))))
(when (overlay-buffer overlay) ;; Could be already deleted
(jinx--correct overlay 'recenter)))
- (jinx--correct (jinx--nearest-overlay))))))
+ (jinx--correct (or (jinx--nearest-overlay)
+ (user-error "No misspelling in visible
text")))))))
(jit-lock-refontify)))
;;;###autoload