emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ispell.el doesn't work any more


From: Stefan Monnier
Subject: Re: ispell.el doesn't work any more
Date: Tue, 13 Sep 2005 10:59:03 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

>> I don't know why older Aspell's are no good for us.  Magnus, can you
>> please comment on that?

> The main cause is that aspell >= 0.60 consistently supports UTF-8,
> which simplifies the automatic dictionary detection.  Supporting
> aspell 0.50 would involve either looking for "charset" declarations in
> in ispell-aspell-find-dictionary, or disabling the dictionary finding
> and relying on the value of ispell-dictionary-alist.

> The latter would be something like this patch:

IIUC, this patch would let older aspell use the old elisp code (which
worked just fine, except it wasn't able to figure out which dictionaries
are installed, so it used a default heuristic list)?
Sounds good to me,


        Stefan


> --- 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))


> Other than that, minor details and risk of bit rot.  E.g. 0.50 accepts
> "-l" as an alias of "list", while 0.60 does not (this was fixed in
> flyspell a couple of months ago).

> Magnus

> _______________________________________________
> Emacs-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/emacs-devel




reply via email to

[Prev in Thread] Current Thread [Next in Thread]