Add new ispell-change-dictionary-hook (Bug#1110)

* lisp/textmodes/ispell.el (ispell-change-dictionary-hook): New hook.
(ispell-change-dictionary): Call new hook (bug#1110).
This commit is contained in:
Stefan Kangas 2019-06-27 20:02:56 +02:00 committed by Lars Ingebrigtsen
parent f9744d23e5
commit b98b843a5b
2 changed files with 15 additions and 2 deletions

View file

@ -1630,6 +1630,14 @@ When non-nil, watch whether the bookmark file has changed on disk.
This library generates manual C++ template instantiations. It should
no longer be useful on modern compilers, which do this automatically.
** Ispell
---
*** New hook 'ispell-change-dictionary-hook'.
This runs after changing the dictionary and could be used to
automatically spellcheck a buffer when changing language without
needing to advice 'ispell-change-dictionary'.
* New Modes and Packages in Emacs 27.1

View file

@ -2973,6 +2973,9 @@ With CLEAR, buffer session localwords are cleaned."
(message "Ispell process killed")
nil))
(defvar ispell-change-dictionary-hook nil
"Hook run after changing dictionary.")
;; ispell-change-dictionary is set in some people's hooks. Maybe this should
;; call ispell-init-process rather than wait for a spell checking command?
@ -2998,7 +3001,8 @@ By just answering RET you can find out what the current dictionary is."
(ispell-internal-change-dictionary)
(message "Using %s dictionary"
(or (and (not arg) ispell-local-dictionary)
ispell-dictionary "default")))
ispell-dictionary "default"))
(run-hooks 'ispell-change-dictionary-hook))
((equal dict (or (and (not arg) ispell-local-dictionary)
ispell-dictionary "default"))
;; Specified dictionary is the default already. Could reload
@ -3020,7 +3024,8 @@ By just answering RET you can find out what the current dictionary is."
(setq ispell-buffer-session-localwords nil)
(message "%s Ispell dictionary set to %s"
(if arg "Global" "Local")
dict))))
dict)
(run-hooks 'ispell-change-dictionary-hook))))
(defun ispell-internal-change-dictionary ()
"Update the dictionary and the personal dictionary used by Ispell.