]> git.eshelyaron.com Git - emacs.git/commitdiff
lisp/net/mailcap.el (mailcap-file-name-to-mime-type): New function.
authorLars Ingebrigtsen <larsi@gnus.org>
Mon, 25 Dec 2017 10:29:41 +0000 (11:29 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Mon, 25 Dec 2017 15:05:06 +0000 (16:05 +0100)
* lisp/net/mailcap.el (mailcap-file-name-to-mime-type): New function.

etc/NEWS
lisp/net/mailcap.el

index 1f8fe67152f64da318459cbe1ef255d17b351fd7..64c74c0d56e0ace67fa8735b3c3ffb95f2f9852a 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -210,6 +210,11 @@ a multibyte string even if its second argument is an ASCII character.
 'json-insert', 'json-parse-string', and 'json-parse-buffer'.  These
 are implemented in C using the Jansson library.
 
+---
+** The new function `mailcap-file-name-to-mime-type' has been added.
+It's a simple convenience function for looking up MIME types based on
+file name extensions.
+
 \f
 * Changes in Emacs 27.1 on Non-Free Operating Systems
 
index be1a171cd487b05b8b01cc86523c8c049d814020..197d233ddad740f436f9f1e7575771291464794f 100644 (file)
@@ -1006,6 +1006,14 @@ If FORCE, re-parse even if already parsed."
       (setq extn (concat "." extn)))
   (cdr (assoc (downcase extn) mailcap-mime-extensions)))
 
+(defun mailcap-file-name-to-mime-type (file-name)
+  "Return the MIME content type based on the FILE-NAME's extension.
+For instance, \"foo.png\" will result in \"image/png\"."
+  (mailcap-extension-to-mime
+   (if (string-match "\\(\\.[^.]+\\)\\'" file-name)
+       (match-string 1 file-name)
+     "")))
+
 (defun mailcap-mime-types ()
   "Return a list of MIME media types."
   (mailcap-parse-mimetypes)