changeset 69395:973779d570da

(ispell-find-aspell-dictionaries): Add aliases before merging elements from the standard ispell-dictionary-alist. (ispell-aspell-add-aliases): Add aliases to the passed dictionary alist, and return the new alist.
author Eli Zaretskii <eliz@gnu.org>
date Sat, 11 Mar 2006 15:36:15 +0000
parents 8255fc213e0f
children 8770c74755a4
files lisp/textmodes/ispell.el
diffstat 1 files changed, 10 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/textmodes/ispell.el	Sat Mar 11 15:29:52 2006 +0000
+++ b/lisp/textmodes/ispell.el	Sat Mar 11 15:36:15 2006 +0000
@@ -899,14 +899,15 @@
 	 (found
 	  (delq nil 
 		(mapcar #'ispell-aspell-find-dictionary dictionaries))))
+    ;; Ensure aspell's alias dictionary will override standard
+    ;; definitions.
+    (setq found (ispell-aspell-add-aliases found))
     ;; Merge into FOUND any elements from the standard ispell-dictionary-alist
     ;; which have no element in FOUND at all.    
     (dolist (dict ispell-dictionary-alist)
       (unless (assoc (car dict) found)
 	(setq found (nconc found (list dict)))))
     (setq ispell-dictionary-alist found)
-
-    (ispell-aspell-add-aliases)
     ;; Add a default entry
     (let* ((english-dict (assoc "en" ispell-dictionary-alist))
 	   (default-dict
@@ -973,8 +974,9 @@
       (file-error
        nil))))
 
-(defun ispell-aspell-add-aliases ()
-  "Find aspell's dictionary aliases and add them to `ispell-dictionary-alist'."
+(defun ispell-aspell-add-aliases (alist)
+  "Find aspell's dictionary aliases and add them to dictionary ALIST.
+Return the new dictionary alist."
   (let ((aliases (file-expand-wildcards
 		  (concat (or ispell-aspell-dict-dir
 			      (setq ispell-aspell-dict-dir
@@ -987,11 +989,12 @@
 	(when (search-forward-regexp "^add \\([^.]+\\)\\.multi" nil t)
 	  (let* ((aliasname (file-name-sans-extension
 			     (file-name-nondirectory alias-file)))
-		 (already-exists-p (assoc aliasname ispell-dictionary-alist))
+		 (already-exists-p (assoc aliasname alist))
 		 (realname (match-string 1))
-		 (realdict (assoc realname ispell-dictionary-alist)))
+		 (realdict (assoc realname alist)))
 	    (when (and realdict (not already-exists-p))
-	      (push (cons aliasname (cdr realdict)) ispell-dictionary-alist))))))))
+	      (push (cons aliasname (cdr realdict)) alist))))))
+    alist))
 
 (defun ispell-valid-dictionary-list ()
   "Returns a list of valid dictionaries.