From: Katsumi Yamaoka Date: Thu, 22 Oct 2015 00:08:23 +0000 (+0000) Subject: Remove fboundp checks from mailcap-mime-data X-Git-Tag: emacs-25.0.90~1066 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2ab48bafa3e8c3c686dcadfb5d2410178e9dd269;p=emacs.git Remove fboundp checks from mailcap-mime-data * lisp/gnus/mailcap.el (mailcap-mime-data): Remove fboundp checks. (mailcap-viewer-passes-test): Do it instead. Thanks to Stefan Monnier. --- diff --git a/lisp/gnus/mailcap.el b/lisp/gnus/mailcap.el index d8881104af8..11a071b2542 100644 --- a/lisp/gnus/mailcap.el +++ b/lisp/gnus/mailcap.el @@ -96,11 +96,9 @@ This is a compatibility function for different Emacsen." (type . "application/vnd.ms-excel")) ("x-x509-ca-cert" (viewer . ssl-view-site-cert) - (test . (fboundp 'ssl-view-site-cert)) (type . "application/x-x509-ca-cert")) ("x-x509-user-cert" (viewer . ssl-view-user-cert) - (test . (fboundp 'ssl-view-user-cert)) (type . "application/x-x509-user-cert")) ("octet-stream" (viewer . mailcap-save-binary-file) @@ -129,23 +127,18 @@ This is a compatibility function for different Emacsen." (type . "application/x-tar")) ("x-latex" (viewer . tex-mode) - (test . (fboundp 'tex-mode)) (type . "application/x-latex")) ("x-tex" (viewer . tex-mode) - (test . (fboundp 'tex-mode)) (type . "application/x-tex")) ("latex" (viewer . tex-mode) - (test . (fboundp 'tex-mode)) (type . "application/latex")) ("tex" (viewer . tex-mode) - (test . (fboundp 'tex-mode)) (type . "application/tex")) ("texinfo" (viewer . texinfo-mode) - (test . (fboundp 'texinfo-mode)) (type . "application/tex")) ("zip" (viewer . mailcap-save-binary-file) @@ -155,13 +148,11 @@ This is a compatibility function for different Emacsen." ("pdf" (viewer . pdf-view-mode) (type . "application/pdf") - (test . (and (fboundp 'pdf-view-mode) - (eq window-system 'x)))) + (test . (eq window-system 'x))) ("pdf" (viewer . doc-view-mode) (type . "application/pdf") - (test . (and (fboundp 'doc-view-mode) - (eq window-system 'x)))) + (test . (eq window-system 'x))) ("pdf" (viewer . "gv -safer %s") (type . "application/pdf") @@ -202,7 +193,6 @@ This is a compatibility function for different Emacsen." ("copiousoutput")) ("sieve" (viewer . sieve-mode) - (test . (fboundp 'sieve-mode)) (type . "application/sieve")) ("pgp-keys" (viewer . "gpg --import --interactive --verbose") @@ -223,7 +213,6 @@ This is a compatibility function for different Emacsen." (type . "message/rfc822")) ("rfc-*822" (viewer . vm-mode) - (test . (fboundp 'vm-mode)) (type . "message/rfc822")) ("rfc-*822" (viewer . view-mode) @@ -260,18 +249,15 @@ This is a compatibility function for different Emacsen." ("text" ("plain" (viewer . view-mode) - (test . (fboundp 'view-mode)) (type . "text/plain")) ("plain" (viewer . fundamental-mode) (type . "text/plain")) ("enriched" (viewer . enriched-decode) - (test . (fboundp 'enriched-decode)) (type . "text/enriched")) ("dns" (viewer . dns-mode) - (test . (fboundp 'dns-mode)) (type . "text/dns"))) ("video" ("mpeg" @@ -288,8 +274,7 @@ This is a compatibility function for different Emacsen." ("archive" ("tar" (viewer . tar-mode) - (type . "archive/tar") - (test . (fboundp 'tar-mode))))) + (type . "archive/tar")))) "The mailcap structure is an assoc list of assoc lists. 1st assoc list is keyed on the major content-type 2nd assoc list is keyed on the minor content-type (which can be a regexp) @@ -310,9 +295,9 @@ attribute name (viewer, test, etc). This looks like: FLAG) Where VIEWERINFO specifies how the content-type is viewed. Can be -a string, in which case it is run through a shell, with -appropriate parameters, or a symbol, in which case the symbol is -`funcall'ed, with the buffer as an argument. +a string, in which case it is run through a shell, with appropriate +parameters, or a symbol, in which case the symbol is `funcall'ed if +and only if it exists as a function, with the buffer as an argument. TESTINFO is a test for the viewer's applicability, or nil. If nil, it means the viewer is always valid. If it is a Lisp function, it is @@ -658,10 +643,12 @@ to supply to the test." (let* ((test-info (assq 'test viewer-info)) (test (cdr test-info)) (otest test) - (viewer (cdr (assoc 'viewer viewer-info))) + (viewer (cdr (assq 'viewer viewer-info))) (default-directory (expand-file-name "~/")) status parsed-test cache result) - (cond ((setq cache (assoc test mailcap-viewer-test-cache)) + (cond ((not (or (stringp viewer) (fboundp viewer))) + nil) ; Non-existent Lisp function + ((setq cache (assoc test mailcap-viewer-test-cache)) (cadr cache)) ((not test-info) t) ; No test clause (t