;;; mm-uu.el --- Return uu stuff as mm handles
-;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
;; Keywords: postscript uudecode binhex shar forward gnatsweb pgp
mm-uu-diff-extract
nil
mm-uu-diff-test)
+ (diff
+ "^=== modified file "
+ nil
+ mm-uu-diff-extract
+ nil
+ mm-uu-diff-test)
+ (git-format-patch
+ "^diff --git "
+ "^-- "
+ mm-uu-diff-extract
+ nil
+ mm-uu-diff-test)
(message-marks
;; Text enclosed with tags similar to `message-mark-insert-begin' and
;; `message-mark-insert-end'. Don't use those variables to avoid
;; dependency on `message.el'.
"^-+[8<>]*-\\{9,\\}[a-z ]+-\\{9,\\}[a-z ]+-\\{9,\\}[8<>]*-+$"
"^-+[8<>]*-\\{9,\\}[a-z ]+-\\{9,\\}[a-z ]+-\\{9,\\}[8<>]*-+$"
- (lambda () (mm-uu-verbatim-marks-extract -1 0 1 -1))
+ (lambda () (mm-uu-verbatim-marks-extract 0 0 1 -1))
nil)
;; Omitting [a-z8<] leads to false positives (bogus signature separators
;; and mailing list banners).
nil)
(verbatim-marks
;; slrn-style verbatim marks, see
- ;; http://www.slrn.org/manual/slrn-manual-6.html#ss6.81
+ ;; http://slrn.sourceforge.net/docs/slrn-manual-6.html#process_verbatim_marks
"^#v\\+"
"^#v\\-$"
(lambda () (mm-uu-verbatim-marks-extract 0 0))
"^\\\\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.
(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/x-org")))
+
(defvar gnus-newsgroup-name)
(defun mm-uu-emacs-sources-test ()
(defun mm-uu-forward-extract ()
(mm-make-handle (mm-uu-copy-to-buffer
- (progn (goto-char start-point) (forward-line) (point))
+ (progn
+ (goto-char start-point)
+ (forward-line)
+ (skip-chars-forward "\n")
+ (point))
(progn (goto-char end-point) (forward-line -1) (point)))
'("message/rfc822" (charset . gnus-decoded))))
(when (and mml2015-use (null (mml2015-clear-verify-function)))
(mm-set-handle-multipart-parameter
mm-security-handle 'gnus-details
- (format "Clear verification not supported by `%s'.\n" mml2015-use)))
+ (gnus-format-message
+ "Clear verification not supported by `%s'.\n" mml2015-use)))
(mml2015-extract-cleartext-signature))
(list (mm-make-handle buf mm-uu-text-plain-type)))))
(goto-char text-start)
(re-search-forward "." start-point t)))
(push
- (mm-make-handle (mm-uu-copy-to-buffer text-start start-point)
- mm-uu-text-plain-type)
+ (mm-make-handle
+ (mm-uu-copy-to-buffer
+ text-start
+ ;; A start-separator is likely accompanied by
+ ;; a leading newline.
+ (if (and (eq (char-before start-point) ?\n)
+ (eq (char-before (1- start-point)) ?\n))
+ (1- start-point)
+ start-point))
+ mm-uu-text-plain-type)
result))
(push
(funcall (mm-uu-function-extract entry))
result)
(goto-char (setq text-start end-point))))
(when result
- (if (and (> (point-max) (1+ text-start))
- (save-excursion
- (goto-char text-start)
- (re-search-forward "." nil t)))
- (push
- (mm-make-handle (mm-uu-copy-to-buffer text-start (point-max))
- mm-uu-text-plain-type)
- result))
+ (goto-char text-start)
+ (when (re-search-forward "." nil t)
+ (push (mm-make-handle
+ (mm-uu-copy-to-buffer
+ ;; An end-separator is likely accompanied by
+ ;; a trailing newline.
+ (if (eq (char-after text-start) ?\n)
+ (1+ text-start)
+ text-start)
+ (point-max))
+ mm-uu-text-plain-type)
+ result))
(setq result (cons "multipart/mixed" (nreverse result))))
result)))
;; Mutt still uses application/pgp even though
;; it has already been withdrawn.
(string-match "\\`text/\\|\\`application/pgp\\'" type)
+ (equal (car (mm-handle-disposition handle))
+ "inline")
(setq
children
(with-current-buffer buffer