# HG changeset patch # User Agustin Martin # Date 1231440383 0 # Node ID 34edfe1ce29460dcba0e20b5d898c7b29cd42c59 # Parent 55aea246d3190eeb4fd40cb66b9102d125771c11 ispell.el (ispell-encoding8-command): New variable (ispell-aspell-supports-utf8): Mark as obsoleted by ispell-encoding8-command (ispell-check-version): Set ispell-encoding8-command (ispell-check-spellchecker-params, ispell-start-process): Use ispell-encoding8-command flyspell.el (flyspell-large-region): Use ispell-encoding8-command diff -r 55aea246d319 -r 34edfe1ce294 lisp/ChangeLog --- a/lisp/ChangeLog Thu Jan 08 18:45:08 2009 +0000 +++ b/lisp/ChangeLog Thu Jan 08 18:46:23 2009 +0000 @@ -1,3 +1,15 @@ +2009-01-08 Agustín Martín + + * textmodes/ispell.el (ispell-encoding8-command): New variable + (ispell-aspell-supports-utf8): Mark as obsoleted by + ispell-encoding8-command + (ispell-check-version): Set ispell-encoding8-command + (ispell-check-spellchecker-params, ispell-start-process): Use + ispell-encoding8-command + + * textmodes/flyspell.el (flyspell-large-region): Use + ispell-encoding8-command + 2009-01-08 Glenn Morris * calendar/cal-menu.el (cal-menu-scroll-menu): Remove entries that don't diff -r 55aea246d319 -r 34edfe1ce294 lisp/textmodes/flyspell.el --- a/lisp/textmodes/flyspell.el Thu Jan 08 18:45:08 2009 +0000 +++ b/lisp/textmodes/flyspell.el Thu Jan 08 18:46:23 2009 +0000 @@ -1526,7 +1526,6 @@ (or ispell-local-pdict ispell-personal-dictionary)) (let ((args (ispell-get-ispell-args)) (encoding (ispell-get-coding-system)) - encoding-command c) (if (and ispell-current-dictionary ; use specified dictionary (not (member "-d" args))) ; only define if not overridden @@ -1542,15 +1541,11 @@ ;; If we are using recent aspell or hunspell, make sure we use the right encoding ;; for communication. ispell or older aspell/hunspell does not support this - (if (or (and ispell-really-aspell - ispell-aspell-supports-utf8 - (setq encoding-command "--encoding=")) - (and ispell-really-hunspell - (setq encoding-command "-i "))) + (if ispell-encoding8-command (setq args (append args (list - (concat encoding-command + (concat ispell-encoding8-command (symbol-name encoding)))))) diff -r 55aea246d319 -r 34edfe1ce294 lisp/textmodes/ispell.el --- a/lisp/textmodes/ispell.el Thu Jan 08 18:45:08 2009 +0000 +++ b/lisp/textmodes/ispell.el Thu Jan 08 18:46:23 2009 +0000 @@ -708,14 +708,25 @@ (defvar ispell-really-aspell nil) ; Non-nil if aspell extensions should be used (defvar ispell-really-hunspell nil) ; Non-nil if hunspell extensions should be used +(defvar ispell-encoding8-command nil + "Command line option prefix to select UTF-8 if supported, nil otherwise. +If UTF-8 if supported by spellchecker and is selectable from the command line +this variable will contain \"--encoding=\" for aspell and \"-i \" for hunspell, +so UTF-8 or other mime charsets can be selected. That will be set for hunspell +>=1.1.6 or aspell >= 0.60 in `ispell-check-version'. + +For aspell non-nil means to try to automatically find aspell dictionaries. +Earlier aspell versions do not consistently support UTF-8. Handling +this would require some extra guessing in `ispell-aspell-find-dictionary'.") (defvar ispell-aspell-supports-utf8 nil - "Non-nil means to try to automatically find aspell dictionaries. -This is set to t in `ispell-check-version' for aspell >= 0.60. - -Earlier aspell versions do not consistently support UTF-8. Handling -this would require some extra guessing in `ispell-aspell-find-dictionary'.") - + "Non nil if aspell has consistent command line UTF-8 support. Obsolete. +ispell.el and flyspell.el will use for this purpose the more generic +variable `ispell-encoding8-command' for both aspell and hunspell. Is left +here just for backwards compatibility.") + +(make-obsolete-variable 'ispell-aspell-supports-utf8 + 'ispell-encoding8-command "23.1") ;;; ********************************************************************** @@ -790,7 +801,8 @@ ;; Make sure these variables are (re-)initialized to the default value (setq ispell-really-aspell nil ispell-aspell-supports-utf8 nil - ispell-really-hunspell nil) + ispell-really-hunspell nil + ispell-encoding8-command nil) (goto-char (point-min)) (or (setq ispell-really-aspell @@ -819,11 +831,14 @@ (ispell-really-aspell (if (ispell-check-minver aspell-minver ispell-really-aspell) (if (ispell-check-minver aspell8-minver ispell-really-aspell) - (setq ispell-aspell-supports-utf8 t)) + (progn + (setq ispell-aspell-supports-utf8 t) + (setq ispell-encoding8-command "--encoding="))) (setq ispell-really-aspell nil))) (ispell-really-hunspell - (or (ispell-check-minver hunspell8-minver ispell-really-hunspell) - (setq ispell-really-hunspell nil)))))) + (if (ispell-check-minver hunspell8-minver ispell-really-hunspell) + (setq ispell-encoding8-command "-i ") + (setq ispell-really-hunspell nil)))))) result)) (defun ispell-call-process (&rest args) @@ -1029,7 +1044,7 @@ t) (error nil)) ispell-really-aspell - ispell-aspell-supports-utf8 + ispell-encoding8-command ;; XEmacs does not like [:alpha:] regexps. (string-match "^[[:alpha:]]+$" "abcde")) (unless ispell-aspell-dictionary-alist @@ -1041,7 +1056,7 @@ ;; of the original list that are not present there. Allow distro info. (let ((found-dicts-alist (if (and ispell-really-aspell - ispell-aspell-supports-utf8) + ispell-encoding8-command) ispell-aspell-dictionary-alist nil)) ispell-base-dicts-override-alist ; Override only base-dicts-alist @@ -2524,7 +2539,6 @@ "Start the ispell process, with support for no asynchronous processes. Keeps argument list for future ispell invocations for no async support." (let ((default-directory default-directory) - encoding-command args) (unless (and (file-directory-p default-directory) (file-readable-p default-directory)) @@ -2548,15 +2562,11 @@ ;; If we are using recent aspell or hunspell, make sure we use the right encoding ;; for communication. ispell or older aspell/hunspell does not support this - (if (or (and ispell-really-aspell - ispell-aspell-supports-utf8 - (setq encoding-command "--encoding=")) - (and ispell-really-hunspell - (setq encoding-command "-i "))) + (if ispell-encoding8-command (setq args (append args (list - (concat encoding-command + (concat ispell-encoding8-command (symbol-name (ispell-get-coding-system))))))) (setq args (append args ispell-extra-args))