# HG changeset patch # User Eli Zaretskii # Date 1142091375 0 # Node ID 973779d570dacf78925072d58605f1f4a6b8d5a6 # Parent 8255fc213e0f8f0f2ba8ea89d3ae172fc96ea406 (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. diff -r 8255fc213e0f -r 973779d570da lisp/textmodes/ispell.el --- 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.