From 08dd9f431367713667b1124e633c2ff97697a390 Mon Sep 17 00:00:00 2001 From: Katsumi Yamaoka Date: Thu, 10 Jun 2010 05:32:19 +0000 Subject: [PATCH] (gnus-mime-buttonized-part-id): New internal variable. (gnus-article-edit-part): Bind it to make last part that is substituted or deleted visible. (gnus-mime-display-single): Buttonize part of which id equals to gnus-mime-buttonized-part-id. --- lisp/ChangeLog | 8 ++++++++ lisp/gnus-art.el | 16 +++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 339c7d75a..0e98d68d4 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2010-06-10 Katsumi Yamaoka + + * gnus-art.el (gnus-mime-buttonized-part-id): New internal variable. + (gnus-article-edit-part): Bind it to make last part that is substituted + or deleted visible. + (gnus-mime-display-single): Buttonize part of which id equals to + gnus-mime-buttonized-part-id. + 2010-06-10 Dan Christensen * gnus-util.el (gnus-user-date): Use gnus-date-get-time. diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index 2707b5113..6b20fa678 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -4896,6 +4896,10 @@ General format specifiers can also be used. See Info node (t (gnus-article-goto-part n))))) +(defvar gnus-mime-buttonized-part-id nil + "ID of a mime part that should be buttonized. +`gnus-mime-save-part-and-strip' and `gnus-mime-delete-part' bind it.") + (eval-when-compile (defsubst gnus-article-edit-part (handles &optional current-id) "Edit an article in order to delete a mime part. @@ -4938,10 +4942,15 @@ and `gnus-mime-delete-part', and not provided at run-time normally." ,(gnus-group-read-only-p) ,gnus-summary-buffer no-highlight)) t) - (gnus-article-edit-done) + ;; Force buttonizing this part. + (let ((gnus-mime-buttonized-part-id current-id)) + (gnus-article-edit-done)) (gnus-configure-windows 'article) (when (and current-id (integerp gnus-auto-select-part)) - (gnus-article-jump-to-part (+ current-id gnus-auto-select-part))))) + (gnus-article-jump-to-part + (min (max (+ current-id gnus-auto-select-part) 1) + (with-current-buffer gnus-article-buffer + (length gnus-article-mime-handle-alist))))))) (defun gnus-mime-replace-part (file) "Replace MIME part under point with an external body." @@ -5844,7 +5853,8 @@ If displaying \"text/html\" is discouraged \(see ((or (bobp) (eq (char-before (1- (point))) ?\n)) 0) (t 1)))) (when (or (not display) - (not (gnus-unbuttonized-mime-type-p type))) + (not (gnus-unbuttonized-mime-type-p type)) + (eq id gnus-mime-buttonized-part-id)) (gnus-insert-mime-button handle id (list (or display (and not-attachment text)))) (gnus-article-insert-newline) -- 2.25.1