summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorAgustín Martín <agustin.martin@hispalinux.es>2009-01-08 18:46:23 +0000
committerAgustín Martín <agustin.martin@hispalinux.es>2009-01-08 18:46:23 +0000
commit57bf8fd484529fa00911843b04198b3e8c97e88c (patch)
tree82c6924c6de463c27ebccc03cd8619cc7169bd43 /lisp
parentae52547107f82e5780f1d66258e2ecb917008c2c (diff)
downloademacs-57bf8fd484529fa00911843b04198b3e8c97e88c.tar.gz
emacs-57bf8fd484529fa00911843b04198b3e8c97e88c.tar.bz2
emacs-57bf8fd484529fa00911843b04198b3e8c97e88c.zip
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
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog12
-rw-r--r--lisp/textmodes/flyspell.el9
-rw-r--r--lisp/textmodes/ispell.el46
3 files changed, 42 insertions, 25 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index bebf2dd2b99..294cd7cb2ae 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,15 @@
+2009-01-08 Agustín Martín <agustin.martin@hispalinux.es>
+
+ * 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 <rgm@gnu.org>
* calendar/cal-menu.el (cal-menu-scroll-menu): Remove entries that don't
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index 764f2dc0178..28340b6e857 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -1526,7 +1526,6 @@ The buffer to mark them in is `flyspell-large-region-buffer'."
(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 @@ The buffer to mark them in is `flyspell-large-region-buffer'."
;; 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 --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index ffc54c88176..de451133569 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -708,14 +708,25 @@ LANGUAGE.aff file \(e.g., english.aff\).")
(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-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.
-
+(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 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 @@ Otherwise returns the library directory name, if that is defined."
;; 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 @@ Otherwise returns the library directory name, if that is defined."
(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 @@ aspell is used along with Emacs).")
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 @@ aspell is used along with Emacs).")
;; 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 @@ When asynchronous processes are not supported, `run' is always returned."
"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 @@ Keeps argument list for future ispell invocations for no async support."
;; 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))