Meadow での fiber を用いた再生

ARISAWA Akihiro ari @ mbf.sphere.ne.jp
2003年 12月 13日 (土) 01:00:18 JST


;; もう一件、mime-play での問題を忘れないうちに。

Meadow にて mailcap で fiber を使うように設定した場合に、
mime-play で添付ファイルを再生すると表示中のファイルを消そうとして
エラーになってしまいます。

再生直後にはファイルを消さないようにするユーザオプションが
あればと思うのですがいかがでしょうか。

;; こちらは、反応がなければ 1.14.6 のリリース後ということに。

-- 
有沢 明宏

-------------- next part --------------
Index: mime-play.el
===================================================================
RCS file: /cvs/root/semi/mime-play.el,v
retrieving revision 1.85.2.14
diff -u -r1.85.2.14 mime-play.el
--- mime-play.el	7 Dec 2003 00:39:37 -0000	1.85.2.14
+++ mime-play.el	12 Dec 2003 15:21:06 -0000
@@ -43,6 +43,11 @@
   :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.")
 
@@ -160,13 +165,19 @@
       (set-process-sentinel process 'mime-mailcap-method-sentinel))))
 
 (defun mime-mailcap-method-sentinel (process event)
-  (let ((file (cdr (assq process mime-mailcap-method-filename-alist))))
-    (when (file-exists-p file)
-      (ignore-errors
-	(delete-file file)
-	(delete-directory (file-name-directory file)))))
-  (remove-alist 'mime-mailcap-method-filename-alist process)
-  (message "%s %s" process event))
+  (when mime-play-delete-file-immediately
+    (let ((file (cdr (assq process mime-mailcap-method-filename-alist))))
+      (if (file-exists-p file)
+	  (delete-file file)))
+    (remove-alist 'mime-mailcap-method-filename-alist process))
+  (message (format "%s %s" process event)))
+
+(defun mime-mailcap-delete-played-files ()
+  (dolist (elem mime-mailcap-method-filename-alist)
+    (when (file-exists-p (cdr elem))
+      (delete-file (cdr elem)))))
+
+(add-hook 'kill-emacs-hook 'mime-mailcap-delete-played-files)
 
 (defvar mime-echo-window-is-shared-with-bbdb
   (module-installed-p 'bbdb)


More information about the Emacs-mime-ja mailing list