1 (defvar riece-mcat-alist
2 '(("Japanese" . riece-mcat-japanese)))
4 (defun riece-mcat (string)
5 (let ((entry (assoc current-language-environment riece-mcat-alist)))
8 (or (cdr (assoc string (symbol-value (intern
9 (concat (symbol-name (cdr entry))
13 (defun riece-mcat-extract-from-form (form)
14 (if (and form (listp form))
15 (if (eq (car form) 'riece-mcat)
17 (delq nil (apply #'nconc
18 (mapcar #'riece-mcat-extract-from-form form))))))
20 (defun riece-mcat-extract (files alist)
21 (let (message-list pointer)
24 (set-buffer (find-file-noselect (car files)))
25 (goto-char (point-min))
27 (while (progn (skip-chars-forward " \t\n\f")
33 (riece-mcat-extract-from-form
34 (read (current-buffer)))))))
35 (setq files (cdr files)))
36 (setq message-list (sort message-list #'string-lessp)
39 (if (equal (car pointer)
41 (setcdr pointer (nth 2 pointer))
42 (unless (assoc (car pointer) alist)
43 (setq alist (cons (list (car pointer)) alist))))
44 (setq pointer (cdr pointer)))