Fix excluded faces being spell-fu checked anyway
Due to spell-fu--faces-at-point conducting face detection that doesn't penetrate overlays. This should be PRed/reported upstream at some point.
This commit is contained in:
parent
d4eb7e31ac
commit
699e18b7f1
1 changed files with 15 additions and 0 deletions
|
@ -135,7 +135,22 @@
|
|||
(cmds! (memq 'spell-fu-incorrect-face (face-at-point nil t))
|
||||
#'+spell/correct))
|
||||
|
||||
;; TODO PR this fix upstream!
|
||||
(defadvice! +spell--fix-face-detection-a (orig-fn &rest args)
|
||||
"`spell-fu--faces-at-point' uses face detection that won't penetrary
|
||||
overlays (like `hl-line'). This makes `spell-fu-faces-exclude' demonstrably less
|
||||
useful when it'll still spellcheck excluded faces on any line that `hl-line' is
|
||||
displayed on, even momentarily."
|
||||
:around #'spell-fu--faces-at-point
|
||||
(letf! (defun get-char-property (pos prop &optional obj)
|
||||
(or (plist-get (text-properties-at pos) prop)
|
||||
(funcall get-char-property pos prop obj)))
|
||||
(apply orig-fn args)))
|
||||
|
||||
(defadvice! +spell--create-word-dict-a (_word words-file _action)
|
||||
"Prevent `spell-fu--word-add-or-remove' from throwing non-existant
|
||||
directory errors when writing a personal dictionary file (by creating the
|
||||
directory first)."
|
||||
:before #'spell-fu--word-add-or-remove
|
||||
(unless (file-exists-p words-file)
|
||||
(make-directory (file-name-directory words-file) t)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue