More accurate highlighting of mis-spellings in Flyspell
* lisp/textmodes/flyspell.el (flyspell-word): Highlight only the misspelled word, not any extra characters after it. (Bug#5575)
This commit is contained in:
parent
089e0c4c55
commit
528e15775e
1 changed files with 20 additions and 7 deletions
|
@ -1263,14 +1263,27 @@ spell-check."
|
|||
(t
|
||||
(setq flyspell-word-cache-result nil)
|
||||
;; Highlight the location as incorrect,
|
||||
;; including offset specified in POSS.
|
||||
;; including offset specified in POSS
|
||||
;; and only for the length of the
|
||||
;; misspelled word specified by POSS.
|
||||
(if flyspell-highlight-flag
|
||||
(flyspell-highlight-incorrect-region
|
||||
(if (and (consp poss)
|
||||
(integerp (nth 1 poss)))
|
||||
(+ start (nth 1 poss) -1)
|
||||
start)
|
||||
end poss)
|
||||
(let ((hstart start)
|
||||
(hend end)
|
||||
offset misspelled)
|
||||
(when (consp poss)
|
||||
(setq misspelled (car poss)
|
||||
offset (nth 1 poss))
|
||||
(if (integerp offset)
|
||||
(setq hstart (+ start offset -1)))
|
||||
;; POSS includes the misspelled
|
||||
;; word; use that to figure out
|
||||
;; how many characters to highlight.
|
||||
(if (stringp misspelled)
|
||||
(setq hend
|
||||
(+ hstart
|
||||
(length misspelled)))))
|
||||
(flyspell-highlight-incorrect-region
|
||||
hstart hend poss))
|
||||
(flyspell-notify-misspell word poss))
|
||||
nil))))
|
||||
;; return to original location
|
||||
|
|
Loading…
Add table
Reference in a new issue