Meadow での fiber を用いた再生

[email protected] (ARISAWA Akihiro)
Newsgroups gmane.mail.emacs.mime.japanese
Message-ID <m3zndyjab1.wl%[email protected]>
;; もう一件、mime-play での問題を忘れないうちに。

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

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

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

-- 
有沢 明宏
mime-play.el_fiber.patch (text/plain, 1.6 KB)
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)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.