diff options
Diffstat (limited to 'lisp/textmodes/ispell.el')
-rw-r--r-- | lisp/textmodes/ispell.el | 21 |
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 |