(mime-playback-entity): Add DOC-string.
[elisp/semi.git] / mailcap.el
index fcc47b5..f3b82ce 100644 (file)
@@ -61,9 +61,9 @@
          (forward-char)
          (let ((subtype (mailcap-look-at-token)))
            (if subtype
-               (cons (cons 'type type)
+               (cons (cons 'type (intern type))
                      (unless (string= subtype "*")
-                       (list (cons 'subtype subtype))
+                       (list (cons 'subtype (intern subtype)))
                        ))))))))
 
 
@@ -166,6 +166,21 @@ order.  Otherwise result is not sorted."
            (t entries)
            ))))
 
+(defvar mailcap-file "~/.mailcap"
+  "*File name of user's mailcap file.")
+
+(defun mailcap-parse-file (&optional filename order)
+  "Parse FILENAME as a mailcap, and return the result.
+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."
+  (or filename
+      (setq filename mailcap-file))
+  (with-temp-buffer
+    (insert-file-contents filename)
+    (mailcap-parse-buffer (current-buffer) order)
+    ))
+
 
 ;;; @ end
 ;;;