X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=tm-play.el;h=67fa3928b05deca342a70651904c2a9cb921ea5c;hb=53ab6c426401d04d0d0ce99d6df144187be6ba01;hp=d4e092e15570be7046acd2612be7d37a7e78b4ae;hpb=34f7fd72edf87445ea4ff9fbb8776f99ea914fa0;p=elisp%2Ftm.git diff --git a/tm-play.el b/tm-play.el index d4e092e..67fa392 100644 --- a/tm-play.el +++ b/tm-play.el @@ -8,7 +8,7 @@ ;;; Maintainer: MORIOKA Tomohiko ;;; Created: 1995/9/26 (separated from tm-view.el) ;;; Version: -;;; $Id: tm-play.el,v 7.12 1996/01/25 08:29:22 morioka Exp $ +;;; $Id: tm-play.el,v 7.18 1996/05/11 10:09:00 morioka Exp $ ;;; Keywords: mail, news, MIME, multimedia ;;; ;;; This file is part of tm (Tools for MIME). @@ -31,7 +31,12 @@ (require 'tm-view) +(defvar mime-viewer/external-progs "/usr/local/share/tm" + "*Directory containing tm external methods.") +(add-to-list 'exec-path mime-viewer/external-progs) + + ;;; @ content decoder ;;; @@ -62,6 +67,13 @@ (params (mime::content-info/parameters cinfo)) (encoding (mime::content-info/encoding cinfo)) ) + ;; Check for VM + (if (< beg (point-min)) + (setq beg (point-min)) + ) + (if (< (point-max) end) + (setq end (point-max)) + ) (if ctype (let (method cal ret) (setq cal (append (list (cons 'type ctype) @@ -120,6 +132,7 @@ ) (goto-char b) (write-region b end file) + (message "External method is starting...") (setq cal (put-alist 'name (replace-as-filename name) cal)) (setq cal (put-alist 'file file cal)) @@ -130,7 +143,34 @@ (mime-article/make-method-args cal (cdr (cdr method))) )) - (apply (function start-process) args) + (let ((process-environment + (let* ((rest process-environment) + (dest (cons nil nil)) + (prest dest) + (path nil) + cell) + (while (and (setq cell (car rest)) + (not + (if (string-match "^PATH=" cell) + (setq path + (format + "PATH=%s:%s" + mime-viewer/external-progs + (substring cell (match-end 0)) + ))))) + (setcar prest cell) + (setcdr prest (cons nil nil)) + (setq rest (cdr rest) + prest (cdr prest)) + ) + (setcar + prest + (or path + (format "PATH=%s" mime-viewer/external-progs))) + (setcdr prest (cdr rest)) + dest))) + (apply (function start-process) args) + ) (mime-article/show-output-buffer) )) )))) @@ -204,7 +244,7 @@ (substring ret (match-beginning 0)(match-end 0)) )) )) - "")) + )) (defun mime-article/get-filename (param) (replace-as-filename (mime-article/get-original-filename param))