# HG changeset patch # User Agustin Martin # Date 1232114675 0 # Node ID f58b15c9942be838b109d8e9a84566dc420c012d # Parent 697ebfc08dae82bdc3b56bf337e61abd11e83e03 Protect against declare-function undefined in xemacs. (ispell-program-name): Search also for hunspell when setting default. (ispell-find-aspell-dictionaries): Better error message. Use correct dictionary alist for default. Better fallback default dictionary. diff -r 697ebfc08dae -r f58b15c9942b lisp/ChangeLog --- a/lisp/ChangeLog Fri Jan 16 12:36:20 2009 +0000 +++ b/lisp/ChangeLog Fri Jan 16 14:04:35 2009 +0000 @@ -1,3 +1,11 @@ +2009-01-16 Agustín Martín + + * textmodes/ispell.el: Protect against declare-function undefined + in xemacs. + (ispell-program-name): Search also for hunspell when setting default. + (ispell-find-aspell-dictionaries): Better error message. Use correct + dictionary alist for default. Better fallback default dictionary. + 2009-01-16 Ulrich Mueller * international/quail.el (quail-insert-kbd-layout): Delete diff -r 697ebfc08dae -r f58b15c9942b lisp/textmodes/ispell.el --- a/lisp/textmodes/ispell.el Fri Jan 16 12:36:20 2009 +0000 +++ b/lisp/textmodes/ispell.el Fri Jan 16 14:04:35 2009 +0000 @@ -198,6 +198,9 @@ ;;; Compatibility code for xemacs and (not too) older emacsen: +(eval-and-compile ;; Protect against declare-function undefined in xemacs + (unless (fboundp 'declare-function) (defmacro declare-function (&rest r)))) + (declare-function ispell-check-minver "ispell" (v1 v2)) (if (fboundp 'version<=) @@ -328,7 +331,9 @@ :group 'ispell) (defcustom ispell-program-name - (or (locate-file "aspell" exec-path exec-suffixes 'file-executable-p) + (or (locate-file "aspell" exec-path exec-suffixes 'file-executable-p) + (locate-file "ispell" exec-path exec-suffixes 'file-executable-p) + (locate-file "hunspell" exec-path exec-suffixes 'file-executable-p) "ispell") "Program invoked by \\[ispell-word] and \\[ispell-region] commands." :type 'string @@ -911,8 +916,8 @@ (defun ispell-find-aspell-dictionaries () "Find Aspell's dictionaries, and record in `ispell-dictionary-alist'." - (unless ispell-really-aspell - (error "This function only works with aspell")) + (unless (and ispell-really-aspell ispell-encoding8-command) + (error "This function only works with aspell >= 0.60.")) (let* ((dictionaries (split-string (with-temp-buffer @@ -932,10 +937,10 @@ (setq found (nconc found (list dict))))) (setq ispell-aspell-dictionary-alist found) ;; Add a default entry - (let* ((english-dict (assoc "en" ispell-dictionary-alist)) + (let* ((english-dict (assoc "en" ispell-aspell-dictionary-alist)) (default-dict (cons nil (or (cdr english-dict) - (cdr (car ispell-dictionary-base-alist)))))) + '("[[:alpha:]]" "[^[:alpha:]]" "[']" nil ("-B") nil utf-8))))) (push default-dict ispell-aspell-dictionary-alist)))) (defvar ispell-aspell-data-dir nil