X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fmm-uu.el;h=881f37cb97e9a90ff96709623d98ba1f2bbc504f;hb=4258e532258754537d9751a3de585c8710ea9a9e;hp=ad47246f3e2a42fca9c9a177c62b53da1beea784;hpb=4fa70bf433d57ed7d2113a36c4c4565487843388;p=gnus diff --git a/lisp/mm-uu.el b/lisp/mm-uu.el index ad47246f3..881f37cb9 100644 --- a/lisp/mm-uu.el +++ b/lisp/mm-uu.el @@ -1,7 +1,7 @@ ;;; mm-uu.el --- Return uu stuff as mm handles ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006 Free Software Foundation, Inc. +;; 2005, 2006, 2007 Free Software Foundation, Inc. ;; Author: Shenghuo Zhu ;; Keywords: postscript uudecode binhex shar forward gnatsweb pgp @@ -68,9 +68,6 @@ decoder, such as hexbin." (defvar mm-uu-yenc-decode-function 'yenc-decode-region) -(defvar mm-uu-pgp-beginning-signature - "^-----BEGIN PGP SIGNATURE-----") - (defvar mm-uu-beginning-regexp nil) (defvar mm-dissect-disposition "inline" @@ -184,7 +181,7 @@ This can be either \"inline\" or \"attachment\".") ;; http://www.slrn.org/manual/slrn-manual-6.html#ss6.81 "^#v\\+" "^#v\\-$" - (lambda () (mm-uu-verbatim-marks-extract 0 0 1 -1)) + (lambda () (mm-uu-verbatim-marks-extract 0 0)) nil) (LaTeX "^\\([\\\\%][^\n]+\n\\)*\\\\documentclass.*[[{%]" @@ -196,7 +193,10 @@ This can be either \"inline\" or \"attachment\".") Each element consist of the following entries: label, start-regexp, end-regexp, extract-function, test-function. -After modifying this list you must run \\[mm-uu-configure].") +After modifying this list you must run \\[mm-uu-configure]. + +You can disable elements from this list by customizing +`mm-uu-configure-list'.") (defcustom mm-uu-configure-list '((shar . disabled)) "A list of mm-uu configuration. @@ -475,21 +475,14 @@ apply the face `mm-uu-extract'." (progn (mml2015-clean-buffer) (let ((coding-system-for-write (or gnus-newsgroup-charset - 'iso-8859-1))) + 'iso-8859-1)) + (coding-system-for-read (or gnus-newsgroup-charset + 'iso-8859-1))) (funcall (mml2015-clear-verify-function)))) (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)))) - (goto-char (point-min)) - (if (search-forward "\n\n" nil t) - (delete-region (point-min) (point))) - (if (re-search-forward mm-uu-pgp-beginning-signature nil t) - (delete-region (match-beginning 0) (point-max))) - (goto-char (point-min)) - (while (re-search-forward "^- " nil t) - (replace-match "" t t) - (forward-line 1))) + (format "Clear verification not supported by `%s'.\n" mml2015-use))))) (list (mm-make-handle buf mm-uu-text-plain-type)))) (defun mm-uu-pgp-signed-extract () @@ -544,15 +537,19 @@ apply the face `mm-uu-extract'." 'gnus-info) "OK"))) (progn - ;; Remove leading blank lines. - (goto-char (point-min)) - (when (looking-at "\n+") - (delete-region (point-min) (match-end 0))) ;; Decode charset. - (when (and charset - (setq charset (mm-charset-to-coding-system charset)) - (not (eq charset 'ascii))) - (mm-decode-coding-region (point-min) (point-max) charset)) + (if (and (or charset + (setq charset gnus-newsgroup-charset)) + (setq charset (mm-charset-to-coding-system charset)) + (not (eq charset 'ascii))) + ;; Assume that buffer's multibyteness is turned off. + ;; See `mml2015-pgg-clear-decrypt'. + (insert (mm-decode-coding-string (prog1 + (buffer-string) + (erase-buffer) + (mm-enable-multibyte)) + charset)) + (mm-enable-multibyte)) (list (mm-make-handle buf mm-uu-text-plain-type))) (list (mm-make-handle buf '("application/pgp-encrypted")))))))