lisp/gnus/gnus-art.el (gnus-mime-buttonize-attachments-in-header): Improve criterion that finds parts to display

This commit is contained in:
Katsumi Yamaoka 2014-06-05 22:43:36 +00:00
parent 04ee0de0d1
commit dd97cafcf2
2 changed files with 24 additions and 9 deletions

View file

@ -3,6 +3,8 @@
* gnus-art.el (gnus-article-edit-part): Don't modifiy markers.
(gnus-article-read-summary-keys):
Don't bug out when there is no article in the summary buffer.
(gnus-mime-buttonize-attachments-in-header):
Improve criterion that finds parts to display.
* gnus-art.el (gnus-mm-display-part):
* mm-decode.el (mm-shr):

View file

@ -4994,6 +4994,9 @@ and `gnus-mime-delete-part', and not provided at run-time normally."
',gnus-newsgroup-ignored-charsets))
(mbl mml-buffer-list))
(setq mml-buffer-list nil)
;; A new text must be inserted before deleting existing ones
;; at the end so as not to move existing markers of which
;; the insertion type is t.
(delete-region
(point-min)
(prog1
@ -6370,7 +6373,7 @@ in the body. Use `gnus-header-face-alist' to highlight buttons."
(setcar handle (caar handle))))
flat)
flat))))
(let ((case-fold-search t) buttons st handle)
(let ((case-fold-search t) buttons handle type st)
(save-excursion
(save-restriction
(widen)
@ -6390,14 +6393,24 @@ in the body. Use `gnus-header-face-alist' to highlight buttons."
(unless (and interactive buttons)
;; Find buttons.
(setq buttons nil)
(dolist (handle (flattened-alist))
(when (and (not (stringp (cadr handle)))
(or (equal (car (mm-handle-disposition
(cdr handle)))
"attachment")
(not (and (mm-inlinable-p (cdr handle))
(mm-inlined-p (cdr handle))))))
(push handle buttons)))
(dolist (button (flattened-alist))
(setq handle (cdr button)
type (mm-handle-media-type handle))
(when (or (and (if (gnus-buffer-live-p gnus-summary-buffer)
(with-current-buffer gnus-summary-buffer
gnus-inhibit-images)
gnus-inhibit-images)
(string-match "\\`image/" type))
(mm-inline-override-p handle)
(and (mm-handle-disposition handle)
(not (equal (car (mm-handle-disposition handle))
"inline"))
(not (mm-attachment-override-p handle)))
(not (mm-automatic-display-p handle))
(not (or (and (mm-inlinable-p handle)
(mm-inlined-p handle))
(mm-automatic-external-display-p type))))
(push button buttons)))
(when buttons
;; Add header buttons.
(article-goto-body)