* gnus-art.el (gnus-display-mime): Use it.
* mm-partial.el (mm-partial-find-parts): Use it.
* gnus-sum.el (gnus-article-loose-mime): Rename from
gnus-article-no-strict-mime.
(gnus-summary-save-parts): Use it.
+2002-02-18 ShengHuo ZHU <zsh@cs.rochester.edu>
+
+ * mm-decode.el (mm-dissect-buffer): Add loose-mime parameter.
+
+ * gnus-art.el (gnus-display-mime): Use it.
+
+ * mm-partial.el (mm-partial-find-parts): Use it.
+
+ * gnus-sum.el (gnus-article-loose-mime): Rename from
+ gnus-article-no-strict-mime.
+ (gnus-summary-save-parts): Use it.
+
2002-02-18 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-fun.el (gnus-convert-gray-x-face-to-xpm): Remove unused
2002-02-18 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-fun.el (gnus-convert-gray-x-face-to-xpm): Remove unused
;; We have to do this since selecting the window
;; may change the point. So we set the window point.
(set-window-point window point)))
;; We have to do this since selecting the window
;; may change the point. So we set the window point.
(set-window-point window point)))
- (let* ((handles (or ihandles (mm-dissect-buffer
- gnus-article-no-strict-mime)
+ (let* ((handles (or ihandles (mm-dissect-buffer
+ nil gnus-article-loose-mime)
(mm-uu-dissect)))
buffer-read-only handle name type b e display)
(when (and (not ihandles)
(mm-uu-dissect)))
buffer-read-only handle name type b e display)
(when (and (not ihandles)
:group 'gnus-summary
:type 'string)
:group 'gnus-summary
:type 'string)
-(defcustom gnus-article-no-strict-mime nil
- "If non-nil, don't require strict MIME.
+(defcustom gnus-article-loose-mime nil
+ "If non-nil, don't require MIME-Version header.
Some brain-damaged MUA/MTA, e.g. Lotus Domino 5.0.6 clients, does not
supply the MIME-Version header or deliberately strip it From the mail.
Set it to non-nil, Gnus will treat some articles as MIME even if
Some brain-damaged MUA/MTA, e.g. Lotus Domino 5.0.6 clients, does not
supply the MIME-Version header or deliberately strip it From the mail.
Set it to non-nil, Gnus will treat some articles as MIME even if
(save-excursion
(set-buffer gnus-article-buffer)
(let ((handles (or gnus-article-mime-handles
(save-excursion
(set-buffer gnus-article-buffer)
(let ((handles (or gnus-article-mime-handles
- (mm-dissect-buffer
- gnus-article-no-strict-mime)
+ (mm-dissect-buffer nil gnus-article-loose-mime)
(mm-uu-dissect))))
(when handles
(gnus-summary-save-parts-1 type dir handles reverse)
(mm-uu-dissect))))
(when handles
(gnus-summary-save-parts-1 type dir handles reverse)
(message "Destroying external MIME viewers")
(mm-destroy-parts mm-postponed-undisplay-list)))
(message "Destroying external MIME viewers")
(mm-destroy-parts mm-postponed-undisplay-list)))
-(defun mm-dissect-buffer (&optional no-strict-mime)
+(defun mm-dissect-buffer (&optional no-strict-mime loose-mime)
"Dissect the current buffer and return a list of MIME handles."
(save-excursion
(let (ct ctl type subtype cte cd description id result from)
(save-restriction
(mail-narrow-to-head)
(when (or no-strict-mime
"Dissect the current buffer and return a list of MIME handles."
(save-excursion
(let (ct ctl type subtype cte cd description id result from)
(save-restriction
(mail-narrow-to-head)
(when (or no-strict-mime
(mail-fetch-field "mime-version"))
(setq ct (mail-fetch-field "content-type")
ctl (ignore-errors (mail-header-parse-content-type ct))
(mail-fetch-field "mime-version"))
(setq ct (mail-fetch-field "content-type")
ctl (ignore-errors (mail-header-parse-content-type ct))
gnus-newsgroup-name)
(when (search-forward id nil t)
(let ((nhandles (mm-dissect-buffer
gnus-newsgroup-name)
(when (search-forward id nil t)
(let ((nhandles (mm-dissect-buffer
- gnus-article-no-strict-mime)) nid)
+ nil gnus-article-loose-mime)) nid)
(if (consp (car nhandles))
(mm-destroy-parts nhandles)
(setq nid (cdr (assq 'id
(if (consp (car nhandles))
(mm-destroy-parts nhandles)
(setq nid (cdr (assq 'id