(interactive "P")
(let ((entity (get-text-property (point) 'mime-view-entity)))
(if entity
- (let ((situation (list (cons 'mode (or mode "play")))))
+ (let ((situation
+ (get-text-property (point) 'mime-view-situation)))
+ (or mode
+ (setq mode "play"))
+ (setq situation
+ (if (assq 'mode situation)
+ (put-alist 'mode mode (copy-alist situation))
+ (cons (cons 'mode mode)
+ situation)))
(if ignore-examples
(setq situation
(cons (cons 'ignore-examples ignore-examples)
;; )
(t
(mime-show-echo-buffer "No method are specified for %s\n"
- (mime-entity-type/subtype entity))
+ (mime-type/subtype-string
+ (cdr (assq 'type situation))
+ (cdr (assq 'subtype situation))))
+ (if (y-or-n-p "Do you want to save current entity to disk?")
+ (mime-save-content entity situation))
))
))
)
t)))
(setq rest (cdr rest))))
- (if type
- (mime-play-entity
- entity
- (put-alist 'type type
- (put-alist 'subtype subtype
- (del-alist 'method
- (copy-alist situation))))
- 'mime-detect-content)
- ))
- )
+ (setq situation (del-alist 'method (copy-alist situation)))
+ (mime-play-entity entity
+ (if type
+ (put-alist 'type type
+ (put-alist 'subtype subtype
+ situation))
+ situation)
+ 'mime-detect-content)))
;;; @ mail/news message
(kill-buffer (current-buffer))
)))
)))
- (if (and total (> total 0))
+ (if (and total (> total 0)
+ (>= (length (directory-files root-dir nil "^[0-9]+$" t))
+ total))
(catch 'tag
(save-excursion
(set-buffer (get-buffer-create mime-temp-buffer-name))
(and (file-exists-p file)
(delete-file file)
))
- (save-window-excursion
- (setq major-mode 'mime-show-message-mode)
- (mime-view-buffer (current-buffer) nil mother)
- )
(let ((pwin (or (get-buffer-window mother)
(get-largest-window)))
- (pbuf (save-excursion
- (set-buffer full-buf)
- mime-preview-buffer)))
+ (pbuf (mime-display-message
+ (mime-open-entity 'buffer (current-buffer))
+ nil mother nil 'mime-show-message-mode)))
(set-window-buffer pwin pbuf)
(select-window pwin)
)))))