It decodes the entity to call internal or external method. The method
is selected from variable `mime-acting-condition'. If MODE is
specified, play as it. Default MODE is \"play\"."
- (let ((ret
- (mime-unify-situations (mime-entity-situation entity situation)
- mime-acting-condition
- mime-acting-situation-example-list
- 'method ignored-method
- mime-play-find-every-situations))
- method)
+ (let* ((entity-situation (mime-entity-situation entity situation))
+ (ret (mime-unify-situations entity-situation
+ mime-acting-condition
+ mime-acting-situation-example-list
+ 'method ignored-method
+ mime-play-find-every-situations))
+ method menu s)
(setq mime-acting-situation-example-list (cdr ret)
ret (car ret))
(cond ((cdr ret)
- (setq ret (mime-popup-menu-select
- (cons
- "Methods"
- (mapcar
- (lambda (situation)
- (vector
- (format "%s"
- (cdr (assq 'method situation)))
- situation t))
- ret))))
- (setq ret (mime-sort-situation ret))
+ (while ret
+ (or (vassoc (setq method
+ (format "%s"
+ (cdr (assq 'method
+ (setq s (pop ret))))))
+ menu)
+ (push (vector method s t) menu)))
+ (setq ret (mime-sort-situation
+ (mime-menu-select "Play entity with: "
+ (cons "Methods" menu))))
(add-to-list 'mime-acting-situation-example-list (cons ret 0)))
(t
(setq ret (car ret))))
;; (mime-activate-external-method entity ret)
;; )
(t
- (mime-show-echo-buffer "No method are specified for %s\n"
+ (mime-show-echo-buffer "No method is specified for %s\n"
(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))))))
+ (cdr (assq 'type entity-situation))
+ (cdr (assq 'subtype entity-situation))))
+ (when (y-or-n-p "Do you want to save current entity to disk?")
+ (message "")
+ (mime-save-content entity entity-situation))))))
;;; @ external decoder
(directory (cdr (assoc "directory" cal)))
(name (cdr (assoc "name" cal)))
(pathname (concat "/anonymous@" site ":" directory)))
- (message (concat "Accessing " (expand-file-name name pathname) " ..."))
+ (message (concat "Accessing " (expand-file-name name pathname) "..."))
(funcall mime-raw-dired-function pathname)
(goto-char (point-min))
(search-forward name)))
(defun mime-view-message/external-url (entity cal)
(let ((url (cdr (assoc "url" cal))))
- (message (concat "Accessing " url " ..."))
+ (message (concat "Accessing " url "..."))
(funcall mime-raw-browse-url-function url)))