-(defvar mime-acting-situation-example-list nil)
-
-(defvar mime-acting-situation-example-list-max-size 16)
-
-(defun mime-save-acting-situation-examples ()
- (let* ((file mime-acting-situation-examples-file)
- (buffer (get-buffer-create " *mime-example*")))
- (unwind-protect
- (save-excursion
- (set-buffer buffer)
- (setq buffer-file-name file)
- (erase-buffer)
- (insert ";;; " (file-name-nondirectory file) "\n")
- (insert "\n;; This file is generated automatically by "
- mime-view-version "\n\n")
- (insert ";;; Code:\n\n")
- (pp `(setq mime-acting-situation-example-list
- ',mime-acting-situation-example-list)
- (current-buffer))
- (insert "\n;;; "
- (file-name-nondirectory file)
- " ends here.\n")
- (save-buffer))
- (kill-buffer buffer))))
-
-(add-hook 'kill-emacs-hook 'mime-save-acting-situation-examples)
-
-(defun mime-reduce-acting-situation-examples ()
- (let* ((rest mime-acting-situation-example-list)
- (min-example (car rest))
- (min-score (cdr min-example)))
- (while rest
- (let* ((example (car rest))
- (score (cdr example)))
- (cond ((< score min-score)
- (setq min-score score
- min-example example)
- )
- ((= score min-score)
- (if (<= (length (car example))(length (car min-example)))
- (setq min-example example)
- ))
- ))
- (setq rest (cdr rest)))
- (setq mime-acting-situation-example-list
- (delq min-example mime-acting-situation-example-list))
- (setq min-example (car min-example))
- (let ((examples mime-acting-situation-example-list)
- (max-score 0)
- max-examples)
- (while examples
- (let* ((ret (mime-compare-situation-with-example min-example
- (caar examples)))
- (ret-score (car ret)))
- (cond ((> ret-score max-score)
- (setq max-score ret-score
- max-examples (list (cdr ret)))
- )
- ((= ret-score max-score)
- (setq max-examples (cons (cdr ret) max-examples))
- )))
- (setq examples (cdr examples)))
- (while max-examples
- (let* ((example (car max-examples))
- (cell (assoc example mime-acting-situation-example-list)))
- (if cell
- (setcdr cell (1+ (cdr cell)))
- (setq mime-acting-situation-example-list
- (cons (cons example 0)
- mime-acting-situation-example-list))
- ))
- (setq max-examples (cdr max-examples))
- ))))
+(defcustom mime-save-directory "~/"
+ "*Name of the directory where MIME entity will be saved in.
+If t, it means current directory."
+ :group 'mime-view
+ :type '(choice (const :tag "Current directory" t)
+ (directory)))
+
+(defcustom mime-play-delete-file-immediately t
+ "If non-nil, delete played file immediately."
+ :group 'mime-view
+ :type 'boolean)
+
+(defvar mime-play-find-every-situations t
+ "*Find every available situations if non-nil.")
+
+(defvar mime-play-messages-coding-system nil
+ "Coding system to be used for external MIME playback method.")