mailcap search path
Daiki Ueno
ueno @ ueda.info.waseda.ac.jp
2000年 1月 12日 (水) 02:43:09 JST
RFC 1524 の "Location of the Mailcap File(s)" によると、
UNIX 上では、mailcap の検索パスを指定できることになっていますが、
mime-view.el では、mailcap-file (~/.mailcap) だけを参照するようです。
そこで、ding の mailcap.el から該当部分を切り取って、以下のようなもの
を書いてみました。
;; 汚い部分なので、どこに入れるべきかは判りかねます。^_^;;
(defcustom mailcap-files
(if (memq system-type '(ms-dos ms-windows windows-nt))
'("~/mail.cap" "~/etc/mail.cap" "~/.mailcap")
'("~/.mailcap" "/etc/mailcap" "/usr/etc/mailcap"
"/usr/local/etc/mailcap"))
"*Search path of mailcap files."
:group 'mime
:type '(repeat file))
(defun mailcap-parse-files (&optional path order)
"Parse out all mailcaps specified in a unix-style path string PATH.
If optional argument ORDER is a function, result is sorted by it.
If optional argument ORDER is not specified, result is sorted original
order. Otherwise result is not sorted."
(let ((mailcap-files
(if (or path (setq path (getenv "MAILCAPS")))
(split-string path
(if (memq system-type
'(ms-dos ms-windows windows-nt))
";"
":"))
mailcap-files))
entries)
(dolist (file mailcap-files)
(if (file-readable-p file)
(setq entries (nconc entries (mailcap-parse-file file t)))))
(cond ((functionp order) (sort entries order))
((null order) (nreverse entries))
(t entries))))
--
Daiki Ueno (ueno @ ueda.info.waseda.ac.jp)
More information about the Emacs-mime-ja
mailing list