Function: ispell-hunspell-fill-dictionary-entry

ispell-hunspell-fill-dictionary-entry is a byte-compiled function defined in ispell.el.gz.

Signature

(ispell-hunspell-fill-dictionary-entry DICT)

Documentation

Fill uninitialized entries in ispell-dictionary-alist for DICT and aliases.

Value of those entries will be extracted from Hunspell affix file and used for all uninitialized dicts using that affix file.

Source Code

;; Defined in /usr/src/emacs/lisp/textmodes/ispell.el.gz
(defun ispell-hunspell-fill-dictionary-entry (dict)
  "Fill uninitialized entries in `ispell-dictionary-alist' for DICT and aliases.
Value of those entries will be extracted from Hunspell affix file and used for
all uninitialized dicts using that affix file."
  (if (cadr (assoc dict ispell-dictionary-alist))
      (message "ispell-hfde: Non void entry for %s. Skipping.\n" dict)
    (let ((dict-alias
           (cadr (assoc dict ispell-dicts-name2locale-equivs-alist)))
	  (use-for-dicts (list dict))
	  (dict-args-cdr (cdr (ispell-parse-hunspell-affix-file dict)))
	  newlist)
      ;; Get a list of uninitialized dicts using the same affix file.
      (dolist (dict-equiv-alist-entry ispell-dicts-name2locale-equivs-alist)
	(let ((dict-equiv-key (car dict-equiv-alist-entry))
	      (dict-equiv-value (cadr dict-equiv-alist-entry)))
	  (if (or (member dict dict-equiv-alist-entry)
		  (member dict-alias dict-equiv-alist-entry))
	      (dolist (tmp-dict (list dict-equiv-key dict-equiv-value))
		(if (cadr (assoc tmp-dict ispell-dictionary-alist))
		    (ispell-print-if-debug
                     "ispell-hfde: %s already expanded; skipping.\n" tmp-dict)
		  (cl-pushnew tmp-dict use-for-dicts :test #'equal))))))
      (ispell-print-if-debug
       "ispell-hfde: Filling %s entry.  Use for %s.\n" dict use-for-dicts)
      ;; The final loop.
      (dolist (entry ispell-dictionary-alist)
	(cl-pushnew (if (member (car entry) use-for-dicts)
                        (cons (car entry) dict-args-cdr)
                      entry)
                    newlist :test #'equal))
      (setq ispell-dictionary-alist newlist))))