+2000-09-13 21:41:25 ShengHuo ZHU <zsh@cs.rochester.edu>
+
+ * gnus-art.el (gnus-article-setup-buffer): Set
+ gnus-article-mime-handles to nil.
+ * gnus-sum.el (gnus-summary-exit): Ditto.
+ (gnus-summary-exit-no-update): Ditto.
+ (gnus-summary-show-article): Ditto.
+ (gnus-summary-save-parts): Use gnus-article-mime-handles if
+ dissected.
+ * mm-partial.el (mm-partial-find-parts): Remove redundancy.
+
2000-09-13 16:59:33 ShengHuo ZHU <zsh@cs.rochester.edu>
* gnus-sum.el (gnus-summary-sort): Sort loose threads too.
(when (gnus-buffer-live-p gnus-article-buffer)
(save-excursion
(set-buffer gnus-article-buffer)
- (mm-destroy-parts gnus-article-mime-handles)))
+ (mm-destroy-parts gnus-article-mime-handles)
+ (setq gnus-article-mime-handles nil)))
(gnus-kill-save-kill-buffer)
(gnus-async-halt-prefetch)
(let* ((group gnus-newsgroup-name)
(when (gnus-buffer-live-p gnus-article-buffer)
(save-excursion
(set-buffer gnus-article-buffer)
- (mm-destroy-parts gnus-article-mime-handles)))
+ (mm-destroy-parts gnus-article-mime-handles)
+ (setq gnus-article-mime-handles nil)))
;; If we have several article buffers, we kill them at exit.
(unless gnus-single-article-buffer
(gnus-kill-buffer gnus-article-buffer)
(when (gnus-buffer-live-p gnus-article-buffer)
(save-excursion
(set-buffer gnus-article-buffer)
- (mm-destroy-parts gnus-article-mime-handles)))
+ (mm-destroy-parts gnus-article-mime-handles)
+ (setq gnus-article-mime-handles nil)))
(gnus-summary-select-article nil 'force))))
(gnus-summary-goto-subject gnus-current-article)
(gnus-summary-position-point))
(gnus-summary-select-article))
(save-excursion
(set-buffer gnus-article-buffer)
- (let ((handles (or (mm-dissect-buffer) (mm-uu-dissect))))
+ (let ((handles (or gnus-article-mime-handles
+ (mm-dissect-buffer) (mm-uu-dissect))))
(when handles
(gnus-summary-save-parts-1 type dir handles reverse)
- (mm-destroy-parts handles))))))
+ (unless gnus-article-mime-handles ;; Don't destroy this case.
+ (mm-destroy-parts handles)))))))
(defun gnus-summary-save-parts-1 (type dir handle reverse)
(if (stringp (car handle))
(let ((headers (save-excursion
(set-buffer gnus-summary-buffer)
gnus-newsgroup-headers))
- phandles handles header)
+ phandles header)
(while (setq header (pop headers))
(unless (eq (aref header 0) art)
(mm-with-unibyte-buffer
gnus-newsgroup-name)
(when (search-forward id nil t)
(let ((nhandles (mm-dissect-buffer)) nid)
- (setq handles gnus-article-mime-handles)
(if (consp (car nhandles))
(mm-destroy-parts nhandles)
(setq nid (cdr (assq 'id