From: Agustín Martín Date: Fri, 16 Jan 2009 14:04:35 +0000 (+0000) Subject: Protect against declare-function undefined in xemacs. X-Git-Tag: emacs-pretest-23.0.90~416 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=034dc2a3e804d283319e12f110bd5715c2909f68;p=emacs.git 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 --git a/lisp/ChangeLog b/lisp/ChangeLog index 3b5aeefc7ed..4699cd0fd92 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -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 --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index c31e965c9f0..49b6bee1258 100644 --- a/lisp/textmodes/ispell.el +++ b/lisp/textmodes/ispell.el @@ -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 @@ Must be greater than 1." :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 @@ Internal use.") (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 @@ Internal use.") (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