# HG changeset patch # User Katsumi Yamaoka # Date 1295567007 0 # Node ID 1b25cd6a6e36b139d6e204df3c72b1237464a21f # Parent 75fb060ecbc3913abcbb0189d662ae9d3396e3f6 mm-decode.el (mm-inline-media-tests): Add text/x-sh. gnus-art.el (gnus-mime-inline-part): Use mm-display-inline rather than mm-insert-inline to insert inline part: this respect mm-inline-media-tests displayers. mm-view.el (mm-display-shell-script-inline): New function. mm-decode.el (mm-inline-media-tests): Add x-shellscript and x-sh. mm-uu.el (mm-uu-type-alist): Add org block. (mm-uu-org-src-code-block-extract): New function. mm-view.el (mm-display-org-inline): New function. mm-decode.el (mm-automatic-display): Add text/org. mailcap.el (mailcap-mime-extensions): Add .org. diff -r 75fb060ecbc3 -r 1b25cd6a6e36 lisp/gnus/ChangeLog --- a/lisp/gnus/ChangeLog Thu Jan 20 17:36:12 2011 -0500 +++ b/lisp/gnus/ChangeLog Thu Jan 20 23:43:27 2011 +0000 @@ -4,6 +4,27 @@ the temp buffer. * message.el (message-mailer-swallows-blank-line): Use with-temp-buffer. +2011-01-20 Julien Danjou + + * mm-decode.el (mm-inline-media-tests): Add text/x-sh. + + * gnus-art.el (gnus-mime-inline-part): Use mm-display-inline rather + than mm-insert-inline to insert inline part: this respect + mm-inline-media-tests displayers. + + * mm-view.el (mm-display-shell-script-inline): New function. + + * mm-decode.el (mm-inline-media-tests): Add x-shellscript and x-sh. + + * mm-uu.el (mm-uu-type-alist): Add org block. + (mm-uu-org-src-code-block-extract): New function. + + * mm-view.el (mm-display-org-inline): New function. + + * mm-decode.el (mm-automatic-display): Add text/org. + + * mailcap.el (mailcap-mime-extensions): Add .org. + 2011-01-19 Katsumi Yamaoka * gnus-art.el (gnus-article-highlight): Remove argument passed to diff -r 75fb060ecbc3 -r 1b25cd6a6e36 lisp/gnus/gnus-art.el --- a/lisp/gnus/gnus-art.el Thu Jan 20 17:36:12 2011 -0500 +++ b/lisp/gnus/gnus-art.el Thu Jan 20 23:43:27 2011 +0000 @@ -5249,15 +5249,7 @@ (if (mm-handle-undisplayer handle) (mm-remove-part handle)))) (forward-line 2) - (mm-insert-inline - handle - (if (or coding-system - (and charset - (setq coding-system - (mm-charset-to-coding-system charset)) - (not (eq coding-system 'ascii)))) - (mm-decode-coding-string contents coding-system) - (mm-string-to-multibyte contents))) + (mm-display-inline handle) (goto-char b))))) (defun gnus-mime-set-charset-parameters (handle charset) diff -r 75fb060ecbc3 -r 1b25cd6a6e36 lisp/gnus/mailcap.el --- a/lisp/gnus/mailcap.el Thu Jan 20 17:36:12 2011 -0500 +++ b/lisp/gnus/mailcap.el Thu Jan 20 23:43:27 2011 +0000 @@ -910,7 +910,8 @@ (".zip" . "application/zip") (".ai" . "application/postscript") (".jpe" . "image/jpeg") - (".jpeg" . "image/jpeg")) + (".jpeg" . "image/jpeg") + (".org" . "text/org")) "An alist of file extensions and corresponding MIME content-types. This exists for you to customize the information in Lisp. It is merged with values from mailcap files by `mailcap-parse-mimetypes'.") diff -r 75fb060ecbc3 -r 1b25cd6a6e36 lisp/gnus/mm-decode.el --- a/lisp/gnus/mm-decode.el Thu Jan 20 17:36:12 2011 -0500 +++ b/lisp/gnus/mm-decode.el Thu Jan 20 23:43:27 2011 +0000 @@ -237,7 +237,11 @@ (lambda (handle) (fboundp 'diff-mode))) ("application/emacs-lisp" mm-display-elisp-inline identity) ("application/x-emacs-lisp" mm-display-elisp-inline identity) + ("application/x-shellscript" mm-display-shell-script-inline identity) + ("application/x-sh" mm-display-shell-script-inline identity) + ("text/x-sh" mm-display-shell-script-inline identity) ("text/dns" mm-display-dns-inline identity) + ("text/org" mm-display-org-inline identity) ("text/html" mm-inline-text-html (lambda (handle) @@ -313,7 +317,8 @@ "application/pkcs7-signature" "application/x-pkcs7-mime" "application/pkcs7-mime" ;; Mutt still uses this even though it has already been withdrawn. - "application/pgp\\'") + "application/pgp\\'" + "text/org") "A list of MIME types to be displayed automatically." :type '(repeat regexp) :group 'mime-display) diff -r 75fb060ecbc3 -r 1b25cd6a6e36 lisp/gnus/mm-uu.el --- a/lisp/gnus/mm-uu.el Thu Jan 20 17:36:12 2011 -0500 +++ b/lisp/gnus/mm-uu.el Thu Jan 20 23:43:27 2011 +0000 @@ -186,7 +186,15 @@ "^\\\\end{document}" mm-uu-latex-extract nil - mm-uu-latex-test)) + mm-uu-latex-test) + (org-src-code-block + "^[ \t]*#\\+begin_" + "^[ \t]*#\\+end_" + mm-uu-org-src-code-block-extract) + (org-meta-line + "^[ \t]*#\\+[[:alpha:]]+: " + "$" + mm-uu-org-src-code-block-extract)) "A list of specifications for non-MIME attachments. Each element consist of the following entries: label, start-regexp, end-regexp, extract-function, test-function. @@ -383,6 +391,10 @@ (list mm-dissect-disposition (cons 'filename file-name)))) +(defun mm-uu-org-src-code-block-extract () + (mm-make-handle (mm-uu-copy-to-buffer start-point end-point) + '("text/org"))) + (defvar gnus-newsgroup-name) (defun mm-uu-emacs-sources-test () diff -r 75fb060ecbc3 -r 1b25cd6a6e36 lisp/gnus/mm-view.el --- a/lisp/gnus/mm-view.el Thu Jan 20 17:36:12 2011 -0500 +++ b/lisp/gnus/mm-view.el Thu Jan 20 23:43:27 2011 +0000 @@ -632,6 +632,14 @@ (defun mm-display-dns-inline (handle) (mm-display-inline-fontify handle 'dns-mode)) +(defun mm-display-org-inline (handle) + "Show an Org mode text from HANDLE inline." + (mm-display-inline-fontify handle 'org-mode)) + +(defun mm-display-shell-script-inline (handle) + "Show an shell script from HANDLE inline." + (mm-display-inline-fontify handle 'shell-script-mode)) + ;; id-signedData OBJECT IDENTIFIER ::= { iso(1) member-body(2) ;; us(840) rsadsi(113549) pkcs(1) pkcs7(7) 2 } (defvar mm-pkcs7-signed-magic