Function: mailcap-add-mailcap-entry
mailcap-add-mailcap-entry is a byte-compiled function defined in
mailcap.el.gz.
Signature
(mailcap-add-mailcap-entry MAJOR MINOR INFO &optional STORAGE)
Source Code
;; Defined in /usr/src/emacs/lisp/net/mailcap.el.gz
(defun mailcap-add-mailcap-entry (major minor info &optional storage)
(let* ((storage (or storage 'mailcap--computed-mime-data))
(old-major (assoc major (symbol-value storage))))
(if (null old-major) ; New major area
(set storage
(cons (cons major (list (cons minor info)))
(symbol-value storage)))
(let ((cur-minor (assoc minor old-major)))
(cond
((or (null cur-minor) ; New minor area, or
(assq 'test info)) ; Has a test, insert at beginning
(setcdr old-major
(cons (cons minor info) (cdr old-major))))
((and (not (assq 'test info)) ; No test info, replace completely
(not (assq 'test cur-minor))
(equal (assq 'viewer info) ; Keep alternative viewer
(assq 'viewer cur-minor)))
(setcdr cur-minor info))
(t
(setcdr old-major
(setcdr old-major
(cons (cons minor info) (cdr old-major))))))))))