Revision: emacs@sv.gnu.org/gnus--devo--0--patch-25
[gnus] / lisp / mm-partial.el
index d05283c..93ba296 100644 (file)
@@ -1,5 +1,7 @@
 ;;; mm-partial.el --- showing message/partial
-;; Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
 ;; Keywords: message partial
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 
 ;;; Code:
 
-(eval-when-compile
-  (require 'cl))
+(eval-when-compile (require 'cl))
 
 (require 'gnus-sum)
 (require 'mm-util)
 (require 'mm-decode)
 
 (defun mm-partial-find-parts (id &optional art)
-  (let ((headers (save-excursion
-                  (set-buffer gnus-summary-buffer)
+  (let ((headers (with-current-buffer gnus-summary-buffer
                   gnus-newsgroup-headers))
        phandles header)
     (while (setq header (pop headers))
@@ -43,7 +43,8 @@
          (gnus-request-article-this-buffer (aref header 0)
                                            gnus-newsgroup-name)
          (when (search-forward id nil t)
-           (let ((nhandles (mm-dissect-buffer)) nid)
+           (let ((nhandles (mm-dissect-buffer
+                            nil gnus-article-loose-mime)) nid)
              (if (consp (car nhandles))
                  (mm-destroy-parts nhandles)
                (setq nid (cdr (assq 'id
@@ -66,7 +67,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing."
        gnus-displaying-mime handles buffer)
     (unless (mm-handle-cache handle)
       (unless id
-       (error "Can not find message/partial id."))
+       (error "Can not find message/partial id"))
       (setq phandles
            (sort (cons handle
                        (mm-partial-find-parts
@@ -96,7 +97,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing."
          (if ntotal
              (if total
                  (unless (eq total ntotal)
-                 (error "The numbers of total are different."))
+                 (error "The numbers of total are different"))
                (setq total ntotal)))
          (unless (< nn n)
            (unless (eq nn n)
@@ -149,4 +150,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing."
                  (error nil))
                (delete-region ,(point-min-marker) ,(point-max-marker))))))))))
 
-;; mm-partial.el ends here
+(provide 'mm-partial)
+
+;;; arch-tag: 460e7424-05f2-4a1d-a0f2-70ec081eff7d
+;;; mm-partial.el ends here