Mercurial > emacs
changeset 68169:c8f233733d78
(ispell-init-process): Include the used dictionary in ispell process
start message.
(ispell-internal-change-dictionary): When flyspell-mode is active and
dictionary is changed, make sure ispell process is restarted and
flyspell word cache cleared out for the current buffer.
(ispell-change-dictionary): Make sure flyspell word cache is cleared
out in all buffers with active flyspell mode when dictionary is globally
changed. Call ispell-internal-change-dictionary after dictionary change.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Fri, 13 Jan 2006 10:45:29 +0000 |
parents | b5a63fe8bdf9 |
children | c49519c91e45 |
files | lisp/textmodes/ispell.el |
diffstat | 1 files changed, 17 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/textmodes/ispell.el Fri Jan 13 09:56:23 2006 +0000 +++ b/lisp/textmodes/ispell.el Fri Jan 13 10:45:29 2006 +0000 @@ -202,6 +202,7 @@ ;;; Code: (defvar mail-yank-prefix) +(eval-when-compile (defvar flyspell-word-cache-word)) ;;; Custom.el macros require recompiling this when they are not present. ;;; Add in backward compatible custom support. @@ -2504,7 +2505,8 @@ (setq ispell-filter nil ispell-filter-continue nil) ;; may need to restart to select new personal dictionary. (ispell-kill-ispell t) - (message "Starting new Ispell process...") + (message "Starting new Ispell process [%s] ..." + (or ispell-local-dictionary ispell-dictionary "default")) (sit-for 0) (setq ispell-library-directory (ispell-check-version) ispell-process-directory default-directory @@ -2619,6 +2621,14 @@ (setq ispell-local-dictionary dict) (setq ispell-local-dictionary-overridden t)) (error "Undefined dictionary: %s" dict)) + ;; For global setting clear out flyspell word cache when needed + (when (and arg + (featurep 'flyspell)) + (dolist (buf (buffer-list)) + (with-current-buffer buf + (when flyspell-mode + (setq flyspell-word-cache-word nil))))) + (ispell-internal-change-dictionary) (message "%s Ispell dictionary set to %s" (if arg "Global" "Local") dict)))) @@ -2630,8 +2640,12 @@ (let ((dict (or ispell-local-dictionary ispell-dictionary))) (unless (equal ispell-current-dictionary dict) (ispell-kill-ispell t) - (setq ispell-current-dictionary dict)))) - + (setq ispell-current-dictionary dict) + ;; If needed, start ispell process and clear out flyspell word cache + (when (and (featurep 'flyspell) + flyspell-mode) + (ispell-init-process) + (setq flyspell-word-cache-word nil))))) ;;; Spelling of comments are checked when ispell-check-comments is non-nil.