]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix outgoing mime type regression (Bug#62815)
authorAndrew G Cohen <cohen@andy.bu.edu>
Sun, 30 Apr 2023 01:55:42 +0000 (09:55 +0800)
committerAndrew G Cohen <cohen@andy.bu.edu>
Mon, 8 May 2023 00:28:52 +0000 (08:28 +0800)
* lisp/net/mailcap.el (mailcap-mime-extensions,
mailcap-parse-mimetype-file, mailcap-mime-types): Don't regexp-quote
mimetypes in a context where they should be strings.
(mailcap--regexp-quote-type): Remove.

(cherry picked from commit 605414d018da47f99dec5019142f584b6eb174c8)

lisp/net/mailcap.el

index 722e98be2fca2464325164165e9201c6e7cd352a..be13272f3b062f98443bd24600176883b6351375 100644 (file)
@@ -979,7 +979,7 @@ If NO-DECODE is non-nil, don't decode STRING."
     (".vox"   . "audio/basic")
     (".vrml"  . "x-world/x-vrml")
     (".wav"   . "audio/x-wav")
-    (".xls"   . "application/vnd\\.ms-excel")
+    (".xls"   . "application/vnd.ms-excel")
     (".wrl"   . "x-world/x-vrml")
     (".xbm"   . "image/xbm")
     (".xpm"   . "image/xpm")
@@ -1051,8 +1051,7 @@ If FORCE, re-parse even if already parsed."
        (setq save-pos (point))
        (skip-chars-forward "^ \t\n")
        (downcase-region save-pos (point))
-       (setq type (mailcap--regexp-quote-type
-                    (buffer-substring save-pos (point))))
+       (setq type (buffer-substring save-pos (point)))
        (while (not (eolp))
          (skip-chars-forward " \t")
          (setq save-pos (point))
@@ -1065,12 +1064,6 @@ If FORCE, re-parse even if already parsed."
         (setq mailcap-mime-extensions (append extns mailcap-mime-extensions)
               extns nil)))))
 
-(defun mailcap--regexp-quote-type (type)
-  (if (not (string-search "/" type))
-      type
-    (pcase-let ((`(,major ,minor) (split-string type "/")))
-      (concat major "/" (regexp-quote minor)))))
-
 (defun mailcap-extension-to-mime (extn)
   "Return the MIME content type of the file extensions EXTN."
   (mailcap-parse-mimetypes)
@@ -1107,7 +1100,7 @@ For instance, `image/png' will result in `png'."
         (dolist (info (cdr data))
           (setq type (cdr (assq 'type (cdr info))))
           (unless (string-search "*" type)
-            (push type res))))
+            (push (string-replace "\\" "" type) res))))
       (nreverse res)))))
 
 ;;;