From: Eli Zaretskii Date: Sat, 9 Dec 2006 13:02:32 +0000 (+0000) Subject: (flyspell-hack-local-variables-hook): New. Force buffer local defs evaluation X-Git-Tag: emacs-pretest-22.0.92~216 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c1ac9f5e5409f1f55b7267f3a077608b70ab2409;p=emacs.git (flyspell-hack-local-variables-hook): New. Force buffer local defs evaluation on local variables loading. (flyspell-mode-on, flyspell-mode-off): Use it in `hack-local-variables-hook'. --- diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el index c96d660794d..7badf21d966 100644 --- a/lisp/textmodes/flyspell.el +++ b/lisp/textmodes/flyspell.el @@ -541,6 +541,11 @@ in your .emacs file. (member (or ispell-local-dictionary ispell-dictionary) flyspell-dictionaries-that-consider-dash-as-word-delimiter))))) +(defun flyspell-hack-local-variables-hook () + ;; When local variables are loaded, see if the dictionary context + ;; has changed. + (flyspell-accept-buffer-local-defs 'force)) + (defun flyspell-kill-ispell-hook () (setq flyspell-last-buffer nil) (dolist (buf (buffer-list)) @@ -579,6 +584,9 @@ in your .emacs file. (add-hook 'pre-command-hook (function flyspell-pre-command-hook) t t) ;; we bound flyspell action to after-change hook (add-hook 'after-change-functions 'flyspell-after-change-function nil t) + ;; we bound flyspell action to hack-local-variables-hook + (add-hook 'hack-local-variables-hook + (function flyspell-hack-local-variables-hook) t t) ;; set flyspell-generic-check-word-predicate based on the major mode (let ((mode-predicate (get major-mode 'flyspell-mode-predicate))) (if mode-predicate @@ -684,6 +692,8 @@ not the very same deplacement command." (remove-hook 'post-command-hook (function flyspell-post-command-hook) t) (remove-hook 'pre-command-hook (function flyspell-pre-command-hook) t) (remove-hook 'after-change-functions 'flyspell-after-change-function t) + (remove-hook 'hack-local-variables-hook + (function flyspell-hack-local-variables-hook) t) ;; we remove all the flyspell hilightings (flyspell-delete-all-overlays) ;; we have to erase pre cache variables