--- orig/lisp/textmodes/ispell.el +++ mod/lisp/textmodes/ispell.el @@ -719,6 +719,12 @@ (defvar ispell-really-aspell nil) ; Non-nil if aspell 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. + +Earlier aspell versions do not consistently support UTF-8. Handling +this would require some extra guessing in `ispell-aspell-find-dictionary'.") @@ -815,8 +821,9 @@ (let (case-fold-search) (setq ispell-really-aspell (and (search-forward-regexp "(but really Aspell \\(.*\\))" nil t) - (if (version< (match-string 1) "0.60") - (error "aspell version 0.60 or greater is required") + (progn + (setq ispell-aspell-supports-utf8 + (not (version< (match-string 1) "0.60"))) t))))) (kill-buffer (current-buffer))) result)) @@ -972,7 +979,8 @@ (condition-case () (progn (ispell-check-version) t) (error nil)) - ispell-really-aspell) + ispell-really-aspell + ispell-aspell-supports-utf8) (ispell-find-aspell-dictionaries)) (let ((dicts (append ispell-local-dictionary-alist ispell-dictionary-alist)) (dict-list (cons "default" nil))