summaryrefslogtreecommitdiff
path: root/lisp/textmodes/ispell.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/textmodes/ispell.el')
-rw-r--r--lisp/textmodes/ispell.el21
1 files changed, 16 insertions, 5 deletions
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index 498def0b966..f67fae8bcfa 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -1075,9 +1075,11 @@ of `ispell-dictionary-base-alist' elements."
(dolist ( tmp-path (list ispell-aspell-dict-dir
ispell-aspell-data-dir ))
;; Try xx.dat first, strip out variant, country code, etc,
- ;; then try xx_YY.dat (without stripping country code).
+ ;; then try xx_YY.dat (without stripping country code),
+ ;; then try xx-alt.dat, for deu-alt etc.
(dolist (tmp-regexp (list "^[[:alpha:]]+"
- "^[[:alpha:]_]+"))
+ "^[[:alpha:]_]+"
+ "^[[:alpha:]]+-\\(alt\\|old\\)"))
(let ((fullpath
(concat tmp-path "/"
(and (string-match tmp-regexp dict-name)
@@ -2986,10 +2988,14 @@ Keeps argument list for future Ispell invocations for no async support."
(or ispell-local-dictionary ispell-dictionary "default"))
(sit-for 0)
(setq ispell-library-directory (ispell-check-version)
+ ;; Assign a non-nil value to ispell-process-directory
+ ;; before calling ispell-start-process, since that
+ ;; function needs it to set default-directory when
+ ;; ispell-async-processp is nil.
+ ispell-process-directory default-directory
ispell-process (ispell-start-process)
ispell-filter nil
- ispell-filter-continue nil
- ispell-process-directory default-directory)
+ ispell-filter-continue nil)
(unless (equal ispell-process-directory (expand-file-name "~/"))
;; At this point, `ispell-process-directory' will be "~/" unless using
@@ -3015,7 +3021,12 @@ Keeps argument list for future Ispell invocations for no async support."
(if (and (or (featurep 'xemacs)
(and (boundp 'enable-multibyte-characters)
enable-multibyte-characters))
- (fboundp 'set-process-coding-system))
+ (fboundp 'set-process-coding-system)
+ ;; Evidently, some people use the synchronous mode even
+ ;; when async subprocesses are supported, in which case
+ ;; set-process-coding-system is bound, but
+ ;; ispell-process is not a process object.
+ ispell-async-processp)
(set-process-coding-system ispell-process (ispell-get-coding-system)
(ispell-get-coding-system)))
;; Get version ID line